/* Global header / footer / cookie banner (see /js/site-chrome.js). Plain CSS so it works on every page. */
:root{ --sc-primary:#5B45D6; --sc-primary-dark:#4B3BC4; --sc-logo:#4B3BC4; --sc-ink:#17142A; --sc-muted:#5b5b66; --sc-faint:#9090a8; --sc-border:#e6e6ec; --sc-ice:#F4F7FA; }

/* header */
.site-nav{ position:sticky; top:0; z-index:60; background:rgba(244,247,250,.85); -webkit-backdrop-filter:saturate(160%) blur(12px); backdrop-filter:saturate(160%) blur(12px); border-bottom:1px solid transparent; transition:border-color .2s ease, box-shadow .2s ease; font-family:'Clear Sans', Inter, system-ui, sans-serif; }
.site-nav.scrolled{ border-bottom-color:var(--sc-border); box-shadow:0 4px 18px rgba(16,16,40,.05); }
.site-nav *{ box-sizing:border-box; }
.sn-inner{ max-width:72rem; margin:0 auto; padding:0 1.5rem; height:4rem; display:flex; align-items:center; justify-content:space-between; gap:1rem; }
.sn-brand{ display:inline-flex; align-items:center; gap:.625rem; text-decoration:none; flex-shrink:0; user-select:none; -webkit-user-select:none; }
.sn-brand img{ height:1.6rem; width:auto; display:block; }
.sn-brand span{ font-family:'Clear Sans', Inter, sans-serif; font-size:1.125rem; line-height:1; font-weight:700; color:var(--sc-logo); letter-spacing:-.02em; }
.sn-brand sup{ font-size:10px; font-weight:600; vertical-align:super; line-height:0; }
.sn-links{ display:none; align-items:center; gap:.25rem; }
.nav-link{ font-size:.9rem; font-weight:600; color:var(--sc-muted); padding:.45rem .75rem; border-radius:8px; text-decoration:none; transition:color .15s ease, background .15s ease; }
.nav-link:hover, .nav-link.is-active{ color:var(--sc-primary-dark); background:rgba(91,69,214,.07); }
.sn-right{ display:flex; align-items:center; gap:.75rem; }
.lang-switch{ display:flex; align-items:center; gap:.375rem; font-size:.875rem; font-weight:600; color:var(--sc-faint); }
.lang-switch a{ color:var(--sc-faint); text-decoration:none; transition:color .15s ease; }
.lang-switch a:hover{ color:var(--sc-primary); }
.lang-switch a.lang-active{ color:var(--sc-ink); pointer-events:none; }
.sn-lang-desk{ display:none; }
.nav-burger{ width:2.4rem; height:2.4rem; border-radius:8px; display:inline-flex; align-items:center; justify-content:center; color:var(--sc-ink); border:1px solid var(--sc-border); background:#fff; cursor:pointer; padding:0; }
.nav-mobile{ display:none; padding:0 1.5rem 1.25rem; background:var(--sc-ice); border-top:1px solid var(--sc-border); }
.nav-mobile.open{ display:block; }
.m-link{ display:block; padding:.75rem 0; font-weight:600; color:var(--sc-ink); border-bottom:1px solid var(--sc-border); text-decoration:none; }
.m-link.is-active{ color:var(--sc-primary-dark); }
.sn-lang-mob{ padding-top:1rem; }
@media (min-width:640px){ .sn-lang-desk{ display:flex; } }
@media (min-width:768px){ .sn-links{ display:flex; } .nav-burger, .nav-mobile.open{ display:none; } }

/* footer */
.site-footer{ padding:2rem 1.5rem; border-top:1px solid rgba(91,69,214,.12); background:var(--sc-ice); font-family:'Clear Sans', Inter, system-ui, sans-serif; }
.sf-inner{ max-width:64rem; margin:0 auto; display:flex; flex-direction:column; gap:1.5rem; }
.sf-top{ display:flex; flex-direction:column; align-items:center; justify-content:space-between; gap:1rem; }
.sf-brand img{ height:1.3rem; }
.sf-brand span{ font-size:.875rem; }
.sf-socials{ display:flex; flex-wrap:wrap; justify-content:center; gap:.5rem; }
.sf-social{ width:2rem; height:2rem; border-radius:999px; display:flex; align-items:center; justify-content:center; background:#fff; border:1px solid var(--sc-border); transition:opacity .15s ease; }
.sf-social:hover{ opacity:.8; }
.sf-social img{ width:16px; height:16px; display:block; }
.sf-links{ display:flex; flex-wrap:wrap; justify-content:center; gap:.5rem 1rem; font-size:.75rem; }
.sf-links a{ color:var(--sc-faint); text-decoration:none; transition:color .15s ease; }
.sf-links a:hover{ color:var(--sc-primary); }
.sf-copy{ text-align:center; font-size:.75rem; color:var(--sc-faint); }
@media (min-width:640px){ .sf-top{ flex-direction:row; } }

/* cookie banner */
.cookie-banner{ position:fixed; left:0; bottom:0; width:100%; z-index:999; background:#fff; border-top:1px solid #e5e7eb; padding:1rem; display:flex; flex-direction:column; align-items:center; justify-content:space-between; gap:.75rem; box-shadow:0 10px 30px rgba(20,16,60,.08); font-family:'Clear Sans', Inter, system-ui, sans-serif; box-sizing:border-box; }
.cookie-banner[hidden]{ display:none; }
.cookie-banner > span{ font-size:.875rem; color:#17142A; line-height:1.5; }
.cb-actions{ display:flex; gap:.5rem; flex-shrink:0; }
.cb-actions button{ padding:.5rem 1rem; border-radius:.5rem; font-size:.875rem; font-weight:600; cursor:pointer; font-family:inherit; }
.cb-accept{ background:var(--sc-primary); color:#fff; border:0; }
.cb-decline{ background:#f3f4f6; color:#1f2937; border:1px solid #e5e7eb; }
@media (min-width:640px){ .cookie-banner{ flex-direction:row; } }
