/* ============================================================================
   SITE CHROME — the shared SWiP EN header and footer.
   Loaded by every template right after swip-ui.css, so the chrome is
   byte-identical on the homepage and on every imported landing.
   Markup lives in sections/site-header.php and sections/site-footer.php.
   Components come from swip-ui.css; only chrome layout lives here.
   ========================================================================== */

/* ── Header ──────────────────────────────────────────────────────────────── */
.site-header{
  position:sticky; inset-block-start:0; z-index:var(--z-header);
  background:var(--bg); border-block-end:1px solid var(--border);
}
.site-header__inner{
  display:flex; align-items:center; gap:var(--sp-6);
  min-height:72px; padding-block:var(--sp-3);
}
.site-header__logo{
  display:inline-flex; align-items:center; min-height:44px;
  font-size:20px; font-weight:700; letter-spacing:-.02em;
  color:var(--text); text-decoration:none; margin-inline-end:auto;
}
.site-nav{display:flex; gap:var(--sp-5); align-items:center;}
.site-nav a{
  font-size:16px; color:var(--text-2); text-decoration:none;
  padding-block:var(--sp-2);
}
.site-nav a:hover{color:var(--text); text-decoration:underline; text-underline-offset:3px;}
.site-header__actions{display:flex; gap:var(--sp-3); align-items:center;}
.nav-toggle,.nav-signin{display:none;}
@media (max-width:1024px){
  .site-nav{display:none;}
  .site-nav.is-open{
    display:flex; flex-direction:column; align-items:flex-start;
    position:absolute; inset-inline:0; inset-block-start:100%;
    background:var(--bg); padding:var(--sp-6); gap:var(--sp-2);
    box-shadow:var(--shadow-lg);
  }
  .site-nav.is-open a{display:flex; align-items:center; min-height:44px;}
  .site-header__inner{position:relative;}
  .nav-toggle{display:inline-flex;}
  .nav-signin{display:flex;}
  .site-header__actions .btn--secondary:not(.nav-toggle){display:none;}
}

/* ── Footer ──────────────────────────────────────────────────────────────── */
.site-footer{background:var(--n1); color:var(--text-inverse); padding-block:var(--sp-16);}
.site-footer a{color:var(--n5); text-decoration:none;}
.site-footer a:hover{color:var(--text-inverse); text-decoration:underline; text-underline-offset:3px;}
.footer__grid{display:grid; gap:var(--sp-8); grid-template-columns:repeat(auto-fit,minmax(min(180px,100%),1fr));}
/* Contacts column is wider: it carries the legal address, not a link list */
@media (min-width:1024px){
  .footer__grid{grid-template-columns:repeat(2,minmax(140px,1fr)) minmax(300px,1.5fr);}
}
.footer__col h2{font-size:12px; font-weight:600; letter-spacing:.08em; text-transform:uppercase; color:var(--n5); margin:0 0 var(--sp-4);}
.footer__col ul{margin:0; padding:0; list-style:none; display:flex; flex-direction:column; gap:var(--sp-2);}
.footer__address{
  font-style:normal; font-size:14px; line-height:1.45; color:var(--n5);
  margin:0 0 var(--sp-4);
}
.footer__address strong{color:var(--text-inverse); font-weight:600;}
.footer__col li{display:flex; align-items:center;}
@media (max-width:768px){
  .footer__col li{min-height:44px;}
  .footer__col li > *{display:flex; align-items:center; min-height:44px;}
}
.footer__legal{
  display:flex; flex-wrap:wrap; gap:var(--sp-6); justify-content:space-between;
  align-items:center;
  margin-block-start:var(--sp-12); padding-block-start:var(--sp-8);
  border-block-start:1px solid var(--n3); font-size:14px; color:var(--n5);
}
@media (max-width:768px){
  .footer__legal a{display:inline-flex; align-items:center; min-height:44px;}
}
