/* Shared site shell. Source of truth for every page. */
#site-header,#site-footer{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.65;--green:#9adf27}
#site-header *,#site-footer *{box-sizing:border-box}
#site-header .container,#site-footer .container{width:min(1180px,calc(100% - 40px));margin:auto}
#site-header{position:fixed;inset:0 0 auto;z-index:100;background:rgba(12,15,12,.96);color:#fff;border-bottom:1px solid rgba(255,255,255,.08);backdrop-filter:blur(14px)}
#site-header .nav{height:78px;min-height:78px;padding:0;display:flex;align-items:center;justify-content:space-between;gap:20px}
#site-header a,#site-footer a{color:inherit;text-decoration:none}
#site-header .brand,#site-footer .brand{display:inline-flex;align-items:center;justify-content:flex-start;min-width:0;margin:0}
#site-header .brand-logo{display:block;width:auto;height:78px;max-width:320px;object-fit:contain}
#site-header .navlinks{display:flex;gap:24px;color:#e4e8e1;font-size:.92rem;font-weight:750}
#site-header .navlinks a{display:inline-flex;align-items:center;min-height:44px}
#site-header .navlinks a:hover,#site-header a[aria-current="page"]{color:var(--green)}
#site-header .nav-actions{display:flex;gap:10px}
#site-header .btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:54px;padding:0 22px;border-radius:999px;font-weight:900;border:1px solid transparent;cursor:pointer;white-space:nowrap}
#site-header .btn-primary{background:var(--green);color:#0d120a}
#site-header .btn-ghost,#site-header .btn-secondary{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.23);color:#fff}
#site-header .mobile-nav{display:none;position:static;z-index:100}
#site-header .mobile-nav summary{list-style:none;width:48px;height:48px;padding:0;border:1px solid rgba(255,255,255,.13);border-radius:15px;background:rgba(255,255,255,.075);cursor:pointer;display:grid;place-items:center}
#site-header summary::-webkit-details-marker{display:none}
#site-header .native-menu-icon{width:22px;height:16px;position:relative;display:block}
#site-header .native-menu-icon span{position:absolute;left:0;width:22px;height:2px;border-radius:999px;background:#fff}
#site-header .native-menu-icon span:nth-child(1){top:0}
#site-header .native-menu-icon span:nth-child(2){top:7px}
#site-header .native-menu-icon span:nth-child(3){top:14px}
#site-header .mobile-nav[open] .native-menu-icon span:nth-child(1){top:7px;transform:rotate(45deg)}
#site-header .mobile-nav[open] .native-menu-icon span:nth-child(2){opacity:0}
#site-header .mobile-nav[open] .native-menu-icon span:nth-child(3){top:7px;transform:rotate(-45deg)}
#site-header .mobile-nav-panel{position:fixed;inset:78px 0 auto;z-index:99;padding:18px 18px 24px;background:#0d100d;border-top:1px solid rgba(255,255,255,.08);max-height:calc(100dvh - 78px);overflow-y:auto;display:grid;gap:18px;animation:none}
#site-header .mobile-nav:not([open]) .mobile-nav-panel{display:none!important}
#site-header .mobile-menu-links{display:grid;gap:8px}
#site-header .mobile-menu-links a{display:flex;align-items:center;justify-content:space-between;color:#fff;font-weight:850;padding:15px 16px;min-height:44px;border-radius:14px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.06)}
#site-header .mobile-menu-links a::after{content:"→";color:var(--green)}
#site-header .mobile-menu-actions{display:grid;grid-template-columns:1fr;gap:10px}
#site-header .mobile-menu-actions .btn{width:100%;min-height:52px}
#site-header .mobile-menu-contacts{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
#site-header .mobile-contact{min-height:58px;border-radius:16px;display:grid;place-items:center;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08);color:#fff}
#site-header .mobile-contact svg{width:25px;height:25px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
#site-header .mobile-menu-note{color:#b9c0b7;font-size:.88rem;text-align:center;margin:0}
#site-header a:focus-visible,#site-header summary:focus-visible,#site-footer a:focus-visible{outline:2px solid var(--green);outline-offset:4px}
#site-footer{background:#0b0e0b;color:#d8ded5;padding:52px 0 max(28px,env(safe-area-inset-bottom))}
#site-footer .footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:40px}
#site-footer .brand-logo{display:block;width:auto;height:78px;max-width:min(320px,100%);object-fit:contain}
#site-footer h4{font-size:1rem;color:#fff;margin:0 0 12px;font-weight:800}
#site-footer a:not(.brand){display:flex;align-items:center;min-height:44px;width:fit-content;margin:0;color:#b9c0b7}
#site-footer a:hover{color:var(--green)}
#site-footer .footer-bottom{border-top:1px solid rgba(255,255,255,.1);margin-top:36px;padding-top:20px;display:flex;justify-content:space-between;align-items:center;gap:16px;color:#a6aea3;font-size:.9rem}
#site-footer .footer-legal{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
#site-footer .footer-legal a{display:inline-flex;min-height:48px;min-width:48px;padding:10px 12px;margin:0;color:#b9c0b7;touch-action:manipulation}
/* A hidden chat card must never turn its fixed parent into an invisible hit area. */
.wa-widget{pointer-events:none!important}
.wa-widget .wa-fab,.wa-widget .wa-chat-card.active{pointer-events:auto!important}
.wa-widget .wa-chat-card:not(.active){pointer-events:none!important;visibility:hidden!important}
@media(max-width:1100px){#site-header .navlinks,#site-header .nav-actions{display:none}#site-header .mobile-nav{display:block!important}#site-header .brand-logo{height:60px;max-width:235px}}
@media(min-width:1101px){#site-header .mobile-nav{display:none!important}}
@media(max-width:980px){#site-footer .brand-logo{height:66px;max-width:250px}}
@media(max-width:650px){
 #site-header .container,#site-footer .container{width:calc(100% - 28px)}
 #site-header .brand-logo{height:50px;max-width:190px}
 #site-footer .footer-grid{grid-template-columns:1fr;gap:28px}
 #site-footer .brand-logo{height:58px;max-width:220px}
 #site-footer .footer-bottom{flex-direction:column;align-items:flex-start;gap:8px}
 #site-footer .footer-legal{gap:8px}
 /* Keep the legal links above the floating WhatsApp button even at 320px. */
 #site-footer{padding-bottom:calc(100px + env(safe-area-inset-bottom))}
}
body.legal-page{padding-top:78px}
@media(prefers-reduced-motion:reduce){#site-header *{animation:none!important;transition:none!important}}
@media(max-width:650px){.contact-info,.contact-form,.contact-card{min-width:0;overflow-wrap:anywhere}.legal-card{overflow-wrap:anywhere}}
