/* ═══════════════════════════════════════════════════════════
   CHATZONA · Design System v5
   Importar primero en cada página: <link rel="stylesheet" href="assets/tokens.css">
═══════════════════════════════════════════════════════════ */

/* Fuentes: cargadas via <link> en czHead() para mejor rendimiento */

:root{
  /* Azules */
  --cz-blue-50:#EEF4FF; --cz-blue-100:#DBE7FE; --cz-blue-200:#B8CFFD;
  --cz-blue-300:#8AADF9; --cz-blue-500:#3A6FF0; --cz-blue-600:#2956D6;
  --cz-blue-700:#1E40B8; --cz-blue-900:#0E1F5C;
  /* Ámbar */
  --cz-amber-50:#FFFBEB; --cz-amber-400:#FBBF24; --cz-amber-500:#F59E0B; --cz-amber-600:#D97706;
  /* Tinta */
  --cz-ink:#0B1220; --cz-ink-800:#1E2637; --cz-ink-700:#2E3748;
  --cz-ink-500:#586175; --cz-ink-400:#7A8598; --cz-ink-300:#A7B0C2;
  --cz-ink-200:#D7DCE6; --cz-ink-100:#E9ECF3; --cz-ink-50:#F5F7FB;
  --cz-white:#FFFFFF;
  /* Estados */
  --cz-live:#10B981; --cz-live-bg:#D1FAE5;
  --cz-hot:#EF4444; --cz-hot-bg:#FEE2E2;
  /* Oscuros (sala, footer) */
  --cz-deep-bg:#0A1020; --cz-deep-surf:#131B2E; --cz-deep-line:#222B42;
  /* Type */
  --cz-fd:'Bricolage Grotesque',sans-serif;
  --cz-fu:'Plus Jakarta Sans',system-ui,sans-serif;
  --cz-fm:'JetBrains Mono','SF Mono',Menlo,monospace;
  /* Shadow */
  --cz-sh-xs:0 1px 2px rgba(11,18,32,.06);
  --cz-sh-sm:0 2px 6px rgba(11,18,32,.06),0 1px 2px rgba(11,18,32,.04);
  --cz-sh-md:0 8px 24px rgba(41,86,214,.10),0 2px 6px rgba(11,18,32,.05);
  --cz-sh-lg:0 20px 48px rgba(41,86,214,.14),0 4px 12px rgba(11,18,32,.06);
  --cz-sh-glow:0 0 0 4px rgba(41,86,214,.14);
  /* Radius */
  --cz-r-xs:6px; --cz-r-sm:10px; --cz-r-md:14px; --cz-r-lg:20px; --cz-r-xl:28px; --cz-r-pill:999px;

  /* ── Variables adicionales faltantes ── */
  --cz-blue:#2956D6;          /* alias --cz-blue-600 */
  --cz-blue-400:#5B8DF4;      /* between 300 and 500 */
  --cz-blue-d:#1E40B8;        /* hover blue = --cz-blue-700 */
  --cz-bg:#F5F7FB;            /* page background */
  --cz-amber:#F59E0B;         /* alias --cz-amber-500 */
  --cz-amber-300:#FCD34D;     /* between amber-400 and 200 */
  --cz-ink-600:#3D4C62;       /* between ink-500 and ink-700 */
  --cz-deep-700:#1A2540;      /* deep surface lighter */
  --cz-deep-800:#131B2E;      /* same as --cz-deep-surf */
  --cz-s2:var(--cz-sh-sm);    /* shadow alias */
  --cz-s3:var(--cz-sh-md);    /* shadow alias */

  /* ── Aliases v4 (compatibilidad con templates legados) ── */
  --blue:#2956D6;      --blue-d:#1E40B8;   --blue-l:#EEF4FF;
  --blue-m:#DBE7FE;    --blue-b:#8AADF9;
  --amber:#F59E0B;     --amber-d:#D97706;  --amber-l:#FFFBEB;
  --ink:#0B1220;       --ink-2:#2E3748;    --ink-3:#586175;
  --mid:#7A8598;       --soft:#A7B0C2;     --line:#E9ECF3;
  --bg:#F5F7FB;        --white:#FFFFFF;
  --green:#059669;     --red:#DC2626;
  --fh:'Bricolage Grotesque',sans-serif;
  --ff-head:'Bricolage Grotesque',sans-serif;
  --fb:'Plus Jakarta Sans',system-ui,sans-serif;
  --r:10px;            --rl:20px;
  --hdr-h:68px;
  --cz-green:#059669;  --cz-red:#DC2626;
  /* Aliases extra para compatibilidad con templates */
  --cz-font-head:'Bricolage Grotesque',sans-serif;
  --cz-font-body:'Plus Jakarta Sans',system-ui,sans-serif;
  /* font-head / font-body shorthand */
  --font-head:'Bricolage Grotesque',sans-serif;
  --font-body:'Plus Jakarta Sans',system-ui,sans-serif;
  /* Ink numbered variants */
  --ink-900:#0B1220;   --ink-800:#1E2637;
  --ink-700:#2E3748;   --ink-600:#3D4C62;
  --ink-500:#586175;   --ink-400:#7A8598;
  --ink-300:#A7B0C2;   --ink-200:#D7DCE6;
  --ink-100:#E9ECF3;   --ink-50:#F5F7FB;
  /* Blue numbered variants */
  --blue-50:#EEF4FF;   --blue-100:#DBE7FE;
  --blue-200:#B8CFFD;  --blue-300:#8AADF9;
  --blue-400:#5B8DF4;  --blue-500:#3A6FF0;
  --blue-600:#2956D6;  --blue-700:#1E40B8;
  --blue-800:#162E8A;  --blue-900:#0E1F5C;
  /* Radius shorthand */
  --r-xs:6px;    --r-sm:10px;   --r-md:14px;
  --r-lg:20px;   --r-xl:28px;   --r-full:999px;
  /* Green variants */
  --green-500:#10B981;  --green-700:#047857;
  --green-l:#D1FAE5;    --green-lt:#ECFDF5;
  /* Red variants */
  --red-l:#FEE2E2;      --red-lt:#FFF5F5;
  /* Orange / yellow */
  --orange:#F97316;     --orange-l:#FFEDD5;
  --yellow:#F59E0B;     --yellow-dk:#D97706;
  --yellow-l:#FEF3C7;
  /* Shadow shorthand */
  --shadow-xs:0 1px 2px rgba(11,18,32,.06);
  --shadow-sm:0 2px 6px rgba(11,18,32,.06),0 1px 2px rgba(11,18,32,.04);
  --shadow-md:0 8px 24px rgba(41,86,214,.10),0 2px 6px rgba(11,18,32,.05);
  --shadow-lg:0 20px 48px rgba(41,86,214,.14),0 4px 12px rgba(11,18,32,.06);
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:var(--cz-fu);background:var(--cz-ink-50);color:var(--cz-ink);line-height:1.5;-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:inherit;text-decoration:none}
button{font-family:inherit;cursor:pointer;border:0;background:none;color:inherit}
img{display:block;max-width:100%;height:auto}
input,select,textarea{font-family:inherit}
.cz-mono{font-family:var(--cz-fm)}
.cz-display{font-family:var(--cz-fd);letter-spacing:-0.5px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
@keyframes czPulse{0%,100%{opacity:1}50%{opacity:.45}}
.cz-pulse{animation:czPulse 2s ease-in-out infinite}
*:focus-visible{outline:2px solid var(--cz-blue-500);outline-offset:3px;border-radius:6px}

/* ── Container ── */
.cz-w{max-width:1240px;margin:0 auto;padding:0 24px}

/* ── Header unificado ── */
.cz-hdr{background:#fff;border-bottom:2.5px solid var(--cz-blue-600);position:sticky;top:0;z-index:50;box-shadow:0 1px 12px rgba(41,86,214,.08)}
.cz-hdr-in{height:68px;display:flex;align-items:center;gap:20px}
.cz-logo{display:flex;align-items:center;gap:10px;flex-shrink:0}
.cz-logo-mark{width:34px;height:34px;border-radius:50%;background:var(--cz-blue-600);display:flex;align-items:center;justify-content:center;font-family:var(--cz-fd);font-weight:800;font-size:13px;color:var(--cz-amber-400);letter-spacing:-.5px}
.cz-logo-word{font-family:var(--cz-fd);font-size:20px;font-weight:800;letter-spacing:-.6px;line-height:1}
.cz-logo-word .c{color:var(--cz-blue-700)}.cz-logo-word .z{color:var(--cz-amber-600)}
.cz-nav{display:flex;gap:2px;margin-left:8px;flex:1;min-width:0;overflow:visible}
.cz-nav a{padding:8px 14px;border-radius:10px;font-size:14px;font-weight:500;color:var(--cz-ink-500);transition:background .15s,color .15s;white-space:nowrap;flex-shrink:1}
.cz-nav a:hover{background:var(--cz-ink-50)}
.cz-nav a.on{background:var(--cz-blue-50);color:var(--cz-blue-700);font-weight:700}
.cz-live-pill{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border-radius:999px;background:var(--cz-live-bg);color:#047857;font-size:12px;font-weight:700}
.cz-live-pill .dot{width:7px;height:7px;border-radius:999px;background:var(--cz-live);animation:czPulse 2s infinite}
.cz-live-pill b{font-family:var(--cz-fm);font-weight:700}
.cz-cta{padding:10px 18px;background:var(--cz-blue-600);color:#fff;font-weight:700;font-size:14px;border-radius:10px;box-shadow:var(--cz-sh-md);transition:background .15s,transform .15s,box-shadow .15s;display:inline-flex;align-items:center;gap:6px;touch-action:manipulation}
.cz-cta:hover{background:var(--cz-blue-700);transform:translateY(-1px);box-shadow:var(--cz-sh-lg)}
.cz-burger{display:none;width:40px;height:40px;border-radius:10px;background:var(--cz-ink-50);align-items:center;justify-content:center;flex-direction:column;gap:4px;touch-action:manipulation}
.cz-burger span{width:18px;height:2px;background:var(--cz-ink-700);border-radius:2px}

/* ── Nav "Más" dropdown ── */
.cz-nav-more{position:relative}
.cz-nav-more-btn{padding:8px 14px;border-radius:10px;font-size:14px;font-weight:500;color:var(--cz-ink-500);transition:background .15s,color .15s;background:none;border:none;cursor:pointer;font-family:var(--cz-fu)}
.cz-nav-more-btn:hover,.cz-nav-more-btn.on{background:var(--cz-ink-50);color:var(--cz-ink)}
.cz-nav-dropdown{position:absolute;top:calc(100% + 8px);left:0;min-width:180px;background:#fff;border:1px solid var(--cz-ink-100);border-radius:12px;box-shadow:var(--cz-sh-lg);z-index:100;overflow:hidden;opacity:0;pointer-events:none;transform:translateY(-6px);transition:opacity .15s,transform .15s}
.cz-nav-more.open .cz-nav-dropdown{opacity:1;pointer-events:all;transform:translateY(0)}
.cz-nav-dropdown a{display:flex;align-items:center;gap:10px;padding:10px 16px;font-size:13.5px;font-weight:500;color:var(--cz-ink-700);transition:background .12s}
.cz-nav-dropdown a:hover,.cz-nav-dropdown a.on{background:var(--cz-blue-50);color:var(--cz-blue-700)}
.cz-nav-dropdown a span{font-size:16px}

/* ── Mobile nav overlay ── */
#cz-mob{position:fixed;inset:68px 0 0 0;background:#fff;z-index:49;overflow-y:auto;border-top:1px solid var(--cz-ink-100);padding:12px}
#cz-mob[hidden]{display:none!important}
.cz-mob-link{display:flex;align-items:center;gap:12px;padding:13px 14px;font-size:15px;font-weight:600;color:var(--cz-ink-700);border-radius:10px;transition:background .15s;text-decoration:none;touch-action:manipulation}
.cz-mob-link:hover,.cz-mob-link.on{background:var(--cz-blue-50);color:var(--cz-blue-700)}
.cz-mob-lang{font-size:14px;font-weight:500;color:var(--cz-ink-400);margin-top:8px;border-top:1px solid var(--cz-ink-100);padding-top:16px}

/* ── Badges ── */
.cz-badge{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:999px;font-size:11.5px;font-weight:700;letter-spacing:.2px}
.cz-badge .dot{width:6px;height:6px;border-radius:999px}
.cz-badge--live{background:var(--cz-live-bg);color:#047857}
.cz-badge--live .dot{background:var(--cz-live);animation:czPulse 2s infinite}
.cz-badge--hot{background:var(--cz-hot-bg);color:#991B1B}
.cz-badge--hot .dot{background:var(--cz-hot);animation:czPulse 2s infinite}
.cz-badge--new{background:var(--cz-amber-50);color:var(--cz-amber-600)}
.cz-badge--new .dot{background:var(--cz-amber-500)}
.cz-badge--mute{background:var(--cz-ink-50);color:var(--cz-ink-500)}
.cz-badge--mute .dot{background:var(--cz-ink-300)}

/* ── Stat inline ── */
.cz-stat{display:flex;flex-direction:column;gap:2px}
.cz-stat-n{font-family:var(--cz-fd);font-size:28px;font-weight:800;color:var(--cz-blue-700);letter-spacing:-1px;line-height:1}
.cz-stat-n.amber{color:var(--cz-amber-600)}
.cz-stat-l{font-size:11.5px;color:var(--cz-ink-500);letter-spacing:.3px;text-transform:uppercase;font-weight:600}

/* ── Room card ── */
.cz-room{background:#fff;border:1px solid var(--cz-ink-100);border-radius:14px;padding:18px;text-align:left;display:flex;flex-direction:column;gap:10px;transition:all .18s cubic-bezier(.2,.8,.2,1);cursor:pointer;color:inherit}
.cz-room:hover{border-color:var(--cz-blue-300);transform:translateY(-2px);box-shadow:var(--cz-sh-md)}
.cz-room-top{display:flex;align-items:center;gap:12px}
.cz-room-emoji{width:44px;height:44px;border-radius:12px;background:linear-gradient(135deg,var(--cz-blue-50),var(--cz-blue-100));display:flex;align-items:center;justify-content:center;font-size:22px;flex-shrink:0;transition:transform .25s}
.cz-room:hover .cz-room-emoji{transform:scale(1.08) rotate(-4deg)}
.cz-room-name{font-family:var(--cz-fd);font-weight:700;font-size:15px;letter-spacing:-.2px;transition:color .15s}
.cz-room:hover .cz-room-name{color:var(--cz-blue-700)}
.cz-room-meta{display:flex;align-items:center;gap:6px;margin-top:3px;font-size:11.5px;color:var(--cz-ink-500)}
.cz-room-meta .dot{width:5px;height:5px;border-radius:999px;background:var(--cz-live);animation:czPulse 2s infinite}
.cz-room-meta .n{font-family:var(--cz-fm)}
.cz-room-desc{font-size:13px;color:var(--cz-ink-500);line-height:1.5}
.cz-room-bar{height:3px;border-radius:999px;background:var(--cz-ink-100);overflow:hidden}
.cz-room-bar>i{display:block;height:100%;background:linear-gradient(to right,var(--cz-blue-500),var(--cz-blue-600));border-radius:999px}

/* ── Section head ── */
.cz-sh{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:20px;flex-wrap:wrap}
.cz-sh-kicker{font-size:11px;font-weight:700;color:var(--cz-blue-600);letter-spacing:2px;text-transform:uppercase;margin-bottom:8px;display:flex;align-items:center;gap:8px}
.cz-sh-kicker::before{content:'';display:block;width:16px;height:2px;background:var(--cz-blue-600);border-radius:999px}
.cz-sh-title{font-family:var(--cz-fd);font-size:30px;font-weight:800;letter-spacing:-.8px;line-height:1.1}
.cz-sh-link{font-size:13.5px;font-weight:600;color:var(--cz-blue-600);padding:8px 14px;border-radius:999px;background:var(--cz-blue-50);transition:all .15s;display:inline-flex;align-items:center;gap:6px}
.cz-sh-link:hover{background:var(--cz-blue-100);gap:9px}

/* ── Section ── */
.cz-sec{padding:56px 0}
.cz-sec--white{background:#fff;border-top:1px solid var(--cz-ink-100);border-bottom:1px solid var(--cz-ink-100)}

/* ── Input ── */
.cz-input{width:100%;padding:14px 16px;font-size:15px;background:var(--cz-ink-50);border:1.5px solid var(--cz-ink-200);border-radius:12px;outline:none;transition:border-color .15s,background .15s,box-shadow .15s;font-family:var(--cz-fu)}
.cz-input:focus{border-color:var(--cz-blue-500);background:#fff;box-shadow:var(--cz-sh-glow)}
.cz-input--mono{font-family:var(--cz-fm);font-size:16px}

/* ── Button ── */
.cz-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:14px 22px;border-radius:12px;font-weight:700;font-size:15px;font-family:var(--cz-fu);transition:all .2s;white-space:nowrap}
.cz-btn--primary{background:var(--cz-blue-600);color:#fff;box-shadow:0 8px 24px rgba(41,86,214,.35)}
.cz-btn--primary:hover{background:var(--cz-blue-700);transform:translateY(-2px);box-shadow:0 12px 32px rgba(41,86,214,.45)}
.cz-btn--ghost{background:#fff;color:var(--cz-blue-700);border:1.5px solid var(--cz-blue-200)}
.cz-btn--ghost:hover{background:var(--cz-blue-50);border-color:var(--cz-blue-500)}
.cz-btn--display{font-family:var(--cz-fd);font-weight:800;font-size:17px;padding:16px 22px}
.cz-btn--block{width:100%}

/* ── Chip ── */
.cz-chip{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border-radius:999px;border:1.5px solid var(--cz-ink-200);background:#fff;color:var(--cz-ink-700);font-size:13px;font-weight:500;cursor:pointer;transition:all .15s;font-family:inherit}
.cz-chip:hover{border-color:var(--cz-blue-300);background:var(--cz-blue-50)}
.cz-chip.on{border-color:var(--cz-blue-600);background:var(--cz-blue-50);color:var(--cz-blue-700);font-weight:700}

/* ── Card genérica ── */
.cz-card{background:#fff;border:1px solid var(--cz-ink-100);border-radius:14px;padding:18px}

/* ── Breadcrumb ── */
.cz-crumb{background:#fff;border-bottom:1px solid var(--cz-ink-100);padding:10px 0}
.cz-crumb-in{font-size:12.5px;color:var(--cz-ink-400);display:flex;align-items:center;gap:6px}
.cz-crumb a{color:var(--cz-blue-600)}
.cz-crumb .sep{color:var(--cz-ink-300)}
.cz-crumb .cur{color:var(--cz-ink)}

/* ── Footer ── */
.cz-foot{background:var(--cz-deep-bg);color:rgba(255,255,255,.6);padding:48px 0 0;margin-top:56px}
.cz-foot-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:48px;padding-bottom:32px;border-bottom:1px solid rgba(255,255,255,.08)}
.cz-foot-brand .cz-logo-mark{background:var(--cz-amber-500);color:var(--cz-blue-900)}
.cz-foot-brand .cz-logo-word .c{color:#fff}
.cz-foot-desc{font-size:13.5px;line-height:1.7;color:rgba(255,255,255,.5);margin-top:16px;max-width:280px}
.cz-foot-col h4{font-family:var(--cz-fd);font-size:12px;font-weight:700;color:#fff;text-transform:uppercase;letter-spacing:1.5px;margin-bottom:14px}
.cz-foot-col a{display:block;font-size:13px;color:rgba(255,255,255,.5);margin-bottom:9px;transition:color .15s}
.cz-foot-col a:hover{color:#fff}
.cz-foot-bot{padding:16px 24px;text-align:center;font-size:12px;color:rgba(255,255,255,.35)}

/* ── Mobile sticky CTA ── */
.cz-mcta{display:none;position:fixed;bottom:0;left:0;right:0;padding:12px;background:rgba(255,255,255,.95);backdrop-filter:blur(12px);border-top:1px solid var(--cz-ink-100);z-index:40}

/* ── Responsive ── */
@media(max-width:1180px){
  /* Compress nav items on intermediate desktop widths to prevent overflow */
  .cz-nav a,.cz-nav-more-btn{padding:8px 8px;font-size:13px}
  .cz-live-pill{display:none!important}
}
@media(max-width:960px){
  .cz-nav{display:none}
  .cz-burger{display:flex}
  .cz-hdr-in .cz-live-pill{display:none}
  .cz-foot-grid{grid-template-columns:1fr 1fr;gap:32px}
  /* WCAG 2.5.5 touch targets en zona tablet+mobile (nav ya es burger a 960px) */
  .cz-btn,.cz-cta{min-height:44px}
  .cz-burger{min-height:44px;min-width:44px}
}
@media(max-width:640px){
  .cz-sec{padding:40px 0}
  .cz-sh-title{font-size:24px}
  .cz-foot-grid{grid-template-columns:1fr}
  .cz-foot{margin-top:24px}
  .cz-mcta{display:flex}
  body{padding-bottom:76px}
  .cz-w{padding:0 16px}
  .cz-hdr-in{gap:10px}
  /* WCAG 2.5.5 — minimum touch target 44×44px */
  .cz-btn,.cz-chip,.cz-cta{min-height:44px}
  .cz-mob-link{min-height:48px}
  /* iOS: prevent zoom on input focus */
  input[type="text"],input[type="email"],input[type="search"],select,textarea{font-size:16px!important}
}
@media(max-width:400px){
  .cz-logo-word{display:none}
}

/* ═══════════════════════════════════════════════════════════
   WCAG 2.1 ACCESSIBILITY IMPROVEMENTS (2026-04-29)
═══════════════════════════════════════════════════════════ */

/* Focus Indicators - WCAG 2.4.7 */
:focus-visible {
  outline: 3px solid var(--cz-blue-500);
  outline-offset: 2px;
}

/* Buttons */
button:focus-visible {
  outline: 3px solid var(--cz-blue-500);
  outline-offset: 2px;
}

.cz-btn:focus-visible {
  outline: 3px solid var(--cz-blue-500);
  outline-offset: 2px;
}

/* Links */
a:focus-visible {
  outline: 3px solid var(--cz-blue-500);
  outline-offset: 2px;
}

/* Form inputs */
input:focus-visible,
textarea:focus-visible,
select:focus-visible {
  outline: 3px solid var(--cz-blue-500);
  outline-offset: 2px;
}

/* Improved button focus */
.cz-btn--primary:focus-visible {
  box-shadow: 0 0 0 4px rgba(41,86,214,.3), 0 8px 24px rgba(41,86,214,.35);
}

/* Color Contrast Improvements - WCAG 1.4.3 */
/* Footer text improved contrast (was .5, now .75) */
.cz-foot {
  color: rgba(255,255,255,.75);
}

.cz-foot-desc {
  color: rgba(255,255,255,.65);
}

/* Footer links improved contrast (was .35, now .7) */
.cz-foot-col a {
  color: rgba(255,255,255,.7);
}

.cz-foot-col a:hover {
  color: #fff;
}

.cz-foot-bot {
  color: rgba(255,255,255,.6);
}

/* Placeholder text contrast improvement — scoped to dark backgrounds only */
.cz-foot input::placeholder,
.cz-foot textarea::placeholder {
  color: rgba(255,255,255,.55);
  opacity: 1;
}
/* Default placeholder: medium-grey for light backgrounds */
input::placeholder,
textarea::placeholder {
  color: var(--cz-ink-400);
  opacity: 1;
}

/* Dark background text (footer) min AA compliance */
.cz-foot-brand .cz-logo-word {
  color: #fff;
}

/* Headings in footer */
.cz-foot-col h4 {
  color: #fff;
}

/* Skip to main link visible on focus - WCAG 2.4.1 */
.sr:focus {
  position: static;
  left: 0;
  top: 0;
  display: block;
  background: var(--cz-blue-600);
  color: #fff;
  padding: 12px 16px;
  text-decoration: none;
  z-index: 1000;
}

/* High Contrast Mode Support - WCAG 1.4.11 */
@media (prefers-contrast: more) {
  .cz-foot {
    color: rgba(255,255,255,.9);
  }

  .cz-foot-col a {
    color: rgba(255,255,255,.85);
  }

  .cz-btn--primary {
    box-shadow: 0 0 0 2px var(--cz-blue-700), 0 8px 24px rgba(41,86,214,.35);
  }
}

/* Reduced Motion Support - WCAG 2.3.3 */
@media (prefers-reduced-motion: reduce) {
  * {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}

/* Mobile Menu ARIA-based visibility - WCAG 2.1.1 */
#cz-mob[aria-hidden="true"] {
  display: none !important;
}

#cz-mob[aria-hidden="false"] {
  display: block;
}
