/* ============================================================
   Atlant — shared header/footer chrome for inner pages.
   SCOPED to .site-header / .site-footer so it never touches the
   existing Bootstrap page body. Safe to load alongside style.css.
   ============================================================ */
:root{ --accent:#E11414; --accent-deep:#B00F0F; }

.site-header,.site-footer{ font-family:'Hanken Grotesk',system-ui,-apple-system,sans-serif; }
.site-header *,.site-footer *{ box-sizing:border-box; }
.site-header a,.site-footer a{ text-decoration:none; }
.site-header img,.site-footer img{ display:block; max-width:100%; }

.site-header .navlink,.site-footer .navlink{ transition:color .15s; }
.site-header .navlink:hover,.site-footer .navlink:hover{ color:var(--accent); }
.site-header .btn-pri:hover{ filter:brightness(.92); }
.site-header .btn-ghost:hover{ background:var(--hero-chip); color:var(--hero-text); border-color:var(--hero-text); }

/* dropdowns */
.site-header .has-dd{ position:relative; }
.site-header .dd-menu{
  position:absolute; top:100%; left:50%; transform:translateX(-50%) translateY(10px);
  min-width:0; width:max-content; max-width:340px; background:var(--surface); border:1px solid var(--line); border-radius:14px;
  box-shadow:0 24px 50px -18px rgba(0,0,0,.28); padding:8px;
  opacity:0; visibility:hidden; transition:opacity .16s, transform .16s, visibility .16s;
  max-height:64vh; overflow:auto; z-index:70;
}
.site-header .has-dd:hover .dd-menu, .site-header .has-dd:focus-within .dd-menu{ opacity:1; visibility:visible; transform:translateX(-50%) translateY(2px); }
.site-header .dd-menu.dd-wide{ min-width:0; max-width:380px; }
.site-header .dd-menu.dd-wide .dd-inner{ columns:2; column-gap:6px; }
.site-header .dd-menu a{ display:block; padding:9px 12px; border-radius:8px; font-size:13.5px; font-weight:600; color:var(--text); white-space:nowrap; break-inside:avoid; }
.site-header .dd-menu a:hover{ background:var(--surface-2); color:var(--accent); }

/* mobile */
.site-header .mobile-bar{ display:none; }
.site-header .hamburger{ display:grid; place-items:center; width:44px; height:44px; border-radius:11px; border:1px solid var(--line-2); background:transparent; cursor:pointer; }
.site-header .hamburger span{ display:block; width:20px; height:2px; background:var(--text); position:relative; }
.site-header .hamburger span::before,.site-header .hamburger span::after{ content:""; position:absolute; left:0; width:20px; height:2px; background:var(--text); }
.site-header .hamburger span::before{ top:-6px; } .site-header .hamburger span::after{ top:6px; }
.site-header .mobile-menu{ display:none; background:var(--bg); border-bottom:1px solid var(--line); padding:10px 20px 18px; }
.site-header .mobile-menu.open{ display:block; }
.site-header .mobile-menu a{ display:block; padding:12px 6px; font-weight:600; font-size:16px; border-bottom:1px solid var(--line); color:var(--text); }
.site-header .mobile-menu .mm-actions{ display:flex; gap:10px; margin-top:14px; }
.site-header .mobile-menu .mm-actions a{ flex:1; text-align:center; border-bottom:none; border-radius:12px; padding:14px; font-weight:700; }

/* responsive */
@media (max-width:1023px){ .site-footer .footer-grid{ grid-template-columns:1fr 1fr !important; } }
@media (max-width:767px){
  .site-header .desktop-nav{ display:none !important; }
  .site-header .mobile-bar{ display:flex !important; }
  .site-header .util-bar{ display:none !important; }
  .site-footer .footer-grid{ grid-template-columns:1fr !important; }
}

/* new header is sticky (in flow); cancel the old fixed-header body padding */
body{ padding-top:0 !important; }
