.container{max-width:var(--container-max);margin:0 auto;padding:0 var(--container-pad)}

/* === HEADER === */
.site-header{background:var(--color-primary);color:#fff;border-bottom:3px solid var(--color-accent)}
.site-header__inner{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-3) var(--container-pad);flex-wrap:wrap;position:relative}
.nav-toggle{display:none;background:transparent;border:0;color:#fff;padding:.4rem .5rem;cursor:pointer;border-radius:var(--radius-sm)}
.nav-toggle:hover{background:rgba(255,255,255,.1)}
.nav-toggle__bars{display:inline-block;width:22px;height:2px;background:currentColor;position:relative;vertical-align:middle}
.nav-toggle__bars::before,.nav-toggle__bars::after{content:"";position:absolute;left:0;width:22px;height:2px;background:currentColor}
.nav-toggle__bars::before{top:-7px}
.nav-toggle__bars::after{top:7px}
.site-logo{display:inline-flex;align-items:baseline;text-decoration:none;color:inherit;font-size:1.5rem;font-weight:700;letter-spacing:-.02em}
.site-logo__main{color:#fff}
.site-logo__accent{color:var(--color-accent);margin-left:.15em}
.site-nav{display:flex;gap:var(--space-3);flex-wrap:wrap;flex:1;justify-content:center}
.site-nav a{color:#fff;text-decoration:none;padding:.4rem .25rem;border-bottom:2px solid transparent;font-size:.95rem;font-weight:500}
.site-nav a:hover,.site-nav a.is-active{color:#fff;border-bottom-color:var(--color-accent)}
.site-header__lang{display:flex;gap:.5rem;font-size:.85rem;font-weight:600}
.site-header__lang a{color:rgba(255,255,255,.65);text-decoration:none;padding:.2rem .4rem;border-radius:var(--radius-sm)}
.site-header__lang a[aria-current="true"]{color:#fff;background:rgba(255,255,255,.12)}

/* === BREADCRUMBS === */
.crumbs{list-style:none;padding:var(--space-3) 0;margin:0;display:flex;gap:.4rem;flex-wrap:wrap;font-size:.875rem;color:var(--color-text-faint)}
.crumbs li:not(:last-child)::after{content:"›";margin-left:.4rem;color:var(--color-text-faint)}
.crumbs a{color:var(--color-text-soft);text-decoration:none}
.crumbs a:hover{color:var(--color-primary);text-decoration:underline}
.crumbs [aria-current="page"]{color:var(--color-text)}

/* === FOOTER === */
.site-footer{background:var(--color-bg-muted);border-top:1px solid var(--color-border);margin-top:var(--space-6);padding:var(--space-5) 0 var(--space-4)}
.site-footer__cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-4)}
.site-footer h4{font-size:.95rem;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-soft);margin:0 0 var(--space-3)}
.site-footer ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.4rem}
.site-footer a{color:var(--color-text);text-decoration:none;font-size:.9rem}
.site-footer a:hover{color:var(--color-primary);text-decoration:underline}
.site-footer__bottom{display:flex;justify-content:space-between;flex-wrap:wrap;gap:var(--space-3);padding-top:var(--space-4);margin-top:var(--space-4);border-top:1px solid var(--color-border);font-size:.85rem;color:var(--color-text-soft)}

/* responsive — hamburger menu */
@media (max-width:780px){
  .site-header__inner{gap:var(--space-2);justify-content:space-between}
  .nav-toggle{display:inline-block;order:2;margin-left:auto}
  .site-header__lang{order:3}
  .site-nav{position:absolute;top:100%;left:0;right:0;display:flex;flex-direction:column;flex:none;width:100%;gap:0;padding:var(--space-2) 0;background:var(--color-primary);border-top:1px solid rgba(255,255,255,.15);box-shadow:0 8px 24px rgba(0,0,0,.25);z-index:50;transform:translateY(-12px);opacity:0;visibility:hidden;pointer-events:none;transition:transform .22s ease,opacity .22s ease,visibility 0s linear .22s}
  .site-nav.is-open{transform:translateY(0);opacity:1;visibility:visible;pointer-events:auto;transition:transform .22s ease,opacity .22s ease,visibility 0s linear 0s}
  .site-nav a{padding:.85rem var(--space-3);border-bottom:1px solid rgba(255,255,255,.08);width:100%;font-size:1rem;display:block}
  .site-nav a:hover,.site-nav a.is-active{background:rgba(255,255,255,.08);border-bottom-color:rgba(255,255,255,.08);color:var(--color-accent)}
  .site-logo{font-size:1.25rem}
}
@media (max-width:380px){
  .site-logo__main, .site-logo__accent{font-size:.95em}
  .site-header__lang{font-size:.78rem}
}
