/* OneHoster core styles: layout primitives only. Site design goes in site.css. */

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;font-family:var(--oh-font-body),system-ui,sans-serif;color:var(--oh-text);background:#fff;line-height:1.7}
h1,h2,h3,h4,h5,h6{font-family:var(--oh-font-heading),var(--oh-font-body),sans-serif;color:var(--oh-heading);line-height:1.25;margin:0 0 .6em}
a{color:var(--oh-primary);text-decoration:none;transition:color .2s}
a:hover{color:var(--oh-accent)}
img{max-width:100%;height:auto}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}
.oh-skip-link:focus{clip:auto;width:auto;height:auto;z-index:100000;top:8px;left:8px;padding:10px 16px;background:#fff}

.oh-container{width:100%;max-width:var(--oh-container);margin:0 auto;padding:0 20px}
.oh-btn{display:inline-block;padding:12px 26px;border-radius:6px;background:var(--oh-accent);color:#fff;font-weight:600;border:0;cursor:pointer}
.oh-btn:hover{background:var(--oh-primary);color:#fff}

/* Header */
.oh-header{background:#fff;position:relative;z-index:50}
.oh-header.oh-sticky{position:sticky;top:0}
.admin-bar .oh-header.oh-sticky{top:32px}
.oh-topbar{background:var(--oh-secondary);color:#fff;font-size:14px}
.oh-topbar .oh-container{display:flex;gap:24px;justify-content:flex-end;padding-top:6px;padding-bottom:6px}
.oh-topbar a{color:#fff}
.oh-header-row{display:flex;align-items:center;gap:24px;min-height:80px}
.oh-logo img{max-height:56px;width:auto;display:block}
.oh-logo-text{font-size:24px;font-weight:700;color:var(--oh-heading)}
.oh-nav{margin-inline-start:auto}
.oh-menu,.oh-footer-menu,.oh-socials{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px 24px}
.oh-menu a{color:var(--oh-heading);font-weight:500;padding:8px 0;display:block}
.oh-menu .current-menu-item>a,.oh-menu a:hover{color:var(--oh-primary)}
.oh-menu li{position:relative}
.oh-menu .sub-menu{list-style:none;margin:0;padding:8px 0;position:absolute;top:100%;inset-inline-start:0;min-width:200px;background:#fff;box-shadow:0 10px 30px rgba(0,0,0,.08);opacity:0;visibility:hidden;transition:.2s}
.oh-menu li:hover>.sub-menu,.oh-menu li:focus-within>.sub-menu{opacity:1;visibility:visible}
.oh-menu .sub-menu a{padding:8px 18px}
.oh-menu-toggle{display:none;margin-inline-start:auto;background:none;border:0;width:44px;height:44px;cursor:pointer}
.oh-burger,.oh-burger::before,.oh-burger::after{display:block;width:24px;height:2px;background:var(--oh-heading);position:relative;transition:.2s}
.oh-burger::before,.oh-burger::after{content:"";position:absolute;inset-inline-start:0}
.oh-burger::before{top:-7px}.oh-burger::after{top:7px}

/* Content */
.oh-page-title{background:var(--oh-light);padding:48px 0}
.oh-page-title .oh-title{margin:0}
.oh-main{padding-top:48px;padding-bottom:64px}
.oh-has-sidebar{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:48px}
.oh-card{margin-bottom:32px;border-radius:10px;overflow:hidden;box-shadow:0 6px 24px rgba(0,0,0,.06)}
.oh-card-body{padding:20px 24px}
.oh-404{text-align:center;padding:40px 0}
.oh-404-code{font-size:120px;color:var(--oh-primary);margin:0}
.oh-builder-page .oh-content>.oh-container{max-width:none;padding:0}

/* Footer */
.oh-footer{background:var(--oh-secondary);color:rgba(255,255,255,.8)}
.oh-footer a{color:#fff}
.oh-footer-widgets{padding:56px 0}
.oh-footer-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px}
.oh-footer-bottom{border-top:1px solid rgba(255,255,255,.1);padding:18px 0;font-size:14px}
.oh-footer-row{display:flex;flex-wrap:wrap;gap:16px;align-items:center;justify-content:space-between}
.oh-copyright{margin:0}

@media (max-width:1024px){
	.oh-has-sidebar{grid-template-columns:1fr}
	.oh-footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:768px){
	.admin-bar .oh-header.oh-sticky{top:0}
	.oh-menu-toggle{display:block}
	.oh-nav{position:absolute;top:100%;inset-inline:0;background:#fff;box-shadow:0 10px 30px rgba(0,0,0,.08);display:none;padding:12px 20px}
	.oh-nav.is-open{display:block}
	.oh-menu{flex-direction:column}
	.oh-menu .sub-menu{position:static;opacity:1;visibility:visible;box-shadow:none;padding-inline-start:16px}
	.oh-header-cta{display:none}
	.oh-footer-grid{grid-template-columns:1fr}
}
