/* =====================================================================
   comparendoia.css · marca ComparendoIA (07-10-2026)
   Cabecera y pie de las páginas públicas del localizador + el home «Tu comparendo tiene salida» + la landing de
   ciudad/zona (theme/curso/ciudad.php, 08-10-2026: mismo sistema; las piezas del funnel comparten los ajustes del home).
   Referencia visual aprobada por el dueño: prototipo X6EJmzgJJCgCZae4y28YJE.
   Paleta (22-10-2026, pedido de Neo, manual de marca): amarillos, verdes y oscuros; el naranja «solo en lo escasamente
   mínimo». Los tokens conservan el nombre histórico --czia-amber* (antes naranja de tránsito, 09-10) y guardan la familia
   amarilla: #FFD400 relleno, #FFE14A hover, #725800 acento de texto, #5E4800 texto sobre lavado, #FFF9D9/#FFF0A6 lavados.
   Verde (11-10-2026, pedido de Neo): solo para ahorro y verificado (--czia-verde*); nunca en botones ni enlaces.
   En modo claro no hay fondos negros: hero, «Sin estafas» y cierre usan superficies claras (tokens --czia-osc-*) y lo
   que era tinta (botones, chips, estados activos) usa el relleno --czia-fuerte (tinta). En oscuro vuelven la tinta y el amarillo.
   La jerarquía de las 3 salidas se hace con tratamiento (fuerte / amarillo suave / neutro). Claro y oscuro con tokens: html.czia-modo-light|dark según la
   elección guardada (auth/switch_mode; sin elección, claro). html.czia-modo-auto (seguir a prefers-color-scheme) queda
   listo pero header.php no lo emite todavía: en oscuro el wizard (curso.css) aún tiene textos ilegibles.
   Todo lleva prefijo czia-.
   Contraste (WCAG AA, medido): el texto va en --czia-fg / --czia-muted / --czia-amber-deep #725800 (≥ 6,2:1 en todas las
   superficies claras). El amarillo #FFD400 solo como relleno con texto en tinta (13,4:1) o como borde/decoración: el
   blanco sobre amarillo no llega. Con texto blanco, el relleno es --czia-fuerte (tinta #15161A, 16:1).
   ===================================================================== */

/* ---------- fuentes autoalojadas (OFL 1.1; licencias junto a los archivos) ---------- */
@font-face{
  font-family:"Bricolage Grotesque";
  src:url("../fonts/comparendoia/bricolage-grotesque-latin.woff2") format("woff2");
  font-weight:500 800; font-stretch:100%; font-style:normal; font-display:swap;
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face{
  font-family:"Figtree";
  src:url("../fonts/comparendoia/figtree-latin.woff2") format("woff2");
  font-weight:400 700; font-style:normal; font-display:swap;
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}

/* [RENDIMIENTO] 22-10-2026 · las fuentes de respaldo con las métricas de las de la marca (ascent/descent/line-gap/size-adjust,
   medidas con fontTools sobre los woff2: Figtree 400 mide igual de ancho que Arial, 0,457 em; Bricolage 800 un 0,9 % menos que
   Arial Bold). Mientras llegan Figtree y Bricolage (font-display:swap) el texto se pinta con el mismo tamaño: sin salto al
   cambiar de fuente y el LCP del titular queda en el primer pintado. Android no tiene Arial: cae a Roboto con las mismas alturas. */
@font-face{ font-family:"Figtree Fallback"; src:local("Arial"),local("Liberation Sans"),local("Roboto"); font-weight:400; ascent-override:95%; descent-override:25%; line-gap-override:0%; size-adjust:100%; }
@font-face{ font-family:"Figtree Fallback"; src:local("Arial Bold"),local("Arial-BoldMT"),local("Liberation Sans Bold"),local("Roboto Bold"); font-weight:600 700; ascent-override:95%; descent-override:25%; line-gap-override:0%; size-adjust:95.3%; }
@font-face{ font-family:"Bricolage Fallback"; src:local("Arial Bold"),local("Arial-BoldMT"),local("Liberation Sans Bold"),local("Roboto Bold"); font-weight:500 800; ascent-override:93%; descent-override:27%; line-gap-override:0%; size-adjust:99.1%; }

/* ---------- tokens ---------- */
:root{
  --czia-bg:#F8F6F4; --czia-surface:#FFFFFF; --czia-surface-2:#F2EDE9;
  --czia-fg:#15161A; --czia-muted:#5C5651;
  --czia-line:rgba(40,22,12,.10); --czia-line-2:rgba(40,22,12,.17);
  --czia-ink:#0E0F12; --czia-ink-2:#17181D; --czia-ink-fg:#F4F2EC; --czia-ink-muted:rgba(244,242,236,.72); --czia-ink-line:rgba(255,255,255,.12);
  /* familia amarilla del manual de marca (nombre histórico «amber»; 22-10-2026, Neo: amarillos, verdes y oscuros; el naranja
     solo en lo mínimo): relleno #FFD400 (tinta encima 13,4:1) · hover #FFE14A · acento de texto #725800 (6,75:1 sobre blanco)
     · texto sobre lavado #5E4800 · lavados #FFF9D9 y #FFF0A6. El #D9A900 del manual solo decora (2,2:1: nunca texto). */
  --czia-amber:#FFD400; --czia-amber-2:#FFE14A; --czia-amber-deep:#725800; --czia-amber-ink:#5E4800; --czia-amber-wash:#FFF9D9; --czia-amber-wash-2:#FFF0A6;
  --czia-on-amber:#0E0F12;
  --czia-verde:#1A9B54; --czia-verde-deep:#13703D; --czia-verde-ink:#0E5A31; --czia-verde-wash:#E9F6EE; --czia-verde-wash-2:#D3EEDD; --czia-on-verde:#0E0F12; --czia-verde-claro:#5BD38C;
  /* relleno «fuerte» (lo que antes era tinta): botones secundarios, chips, insignias y estados activos */
  --czia-fuerte:#15161A; --czia-fuerte-2:#0E0F12; --czia-on-fuerte:#FFFFFF;
  /* superficies que en oscuro son tinta (hero, «Sin estafas», cierre): en claro son claras (lavado amarillo) */
  --czia-osc-bg:#FFF9D9; --czia-osc-bg-2:#F8F6F4; --czia-osc-bg-3:#FFF0A6;
  --czia-osc-fg:#15161A; --czia-osc-titulo:#15161A; --czia-osc-muted:#5C5651;
  --czia-osc-line:rgba(114,88,0,.18); --czia-osc-tinte:rgba(255,255,255,.72); --czia-osc-acento:#725800; --czia-osc-brillo:rgba(255,212,0,.22);
  --czia-radio:18px; --czia-radio-s:12px; --czia-radio-l:26px;
  --czia-sombra:0 24px 60px rgba(14,15,18,.12); --czia-sombra-s:0 8px 24px rgba(14,15,18,.08);
  --czia-max:1180px;
  --czia-display:"Bricolage Grotesque","Bricolage Fallback",system-ui,-apple-system,"Segoe UI",sans-serif;
  --czia-body:"Figtree","Figtree Fallback",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
}
html.czia-modo-dark{
  --czia-bg:#0C0D10; --czia-surface:#15161B; --czia-surface-2:#1B1D23;
  --czia-fg:#F3F1EA; --czia-muted:rgba(243,241,234,.72);
  --czia-line:rgba(255,255,255,.10); --czia-line-2:rgba(255,255,255,.17);
  --czia-ink:#070809; --czia-ink-2:#101217;
  --czia-amber-deep:#FFE14A; --czia-amber-ink:#FFF0A6; --czia-amber-wash:rgba(255,212,0,.14); --czia-amber-wash-2:rgba(255,212,0,.22);
  --czia-verde:#2BB673; --czia-verde-deep:#5BD38C; --czia-verde-ink:#A7E9C3; --czia-verde-wash:rgba(43,182,115,.14); --czia-verde-wash-2:rgba(43,182,115,.22);
  --czia-fuerte:#FFD400; --czia-fuerte-2:#FFE14A; --czia-on-fuerte:#0E0F12;
  --czia-osc-bg:var(--czia-ink); --czia-osc-bg-2:var(--czia-ink-2); --czia-osc-bg-3:var(--czia-ink-2);
  --czia-osc-fg:var(--czia-ink-fg); --czia-osc-titulo:#FFFFFF; --czia-osc-muted:var(--czia-ink-muted);
  --czia-osc-line:var(--czia-ink-line); --czia-osc-tinte:rgba(255,255,255,.05); --czia-osc-acento:#FFE14A; --czia-osc-brillo:rgba(255,212,0,.18);
  --czia-sombra:0 24px 60px rgba(0,0,0,.5); --czia-sombra-s:0 8px 24px rgba(0,0,0,.4);
  color-scheme:dark;
}
@media (prefers-color-scheme:dark){
  html.czia-modo-auto{
    --czia-bg:#0C0D10; --czia-surface:#15161B; --czia-surface-2:#1B1D23;
    --czia-fg:#F3F1EA; --czia-muted:rgba(243,241,234,.72);
    --czia-line:rgba(255,255,255,.10); --czia-line-2:rgba(255,255,255,.17);
    --czia-ink:#070809; --czia-ink-2:#101217;
    --czia-amber-deep:#FFE14A; --czia-amber-ink:#FFF0A6; --czia-amber-wash:rgba(255,212,0,.14); --czia-amber-wash-2:rgba(255,212,0,.22);
    --czia-verde:#2BB673; --czia-verde-deep:#5BD38C; --czia-verde-ink:#A7E9C3; --czia-verde-wash:rgba(43,182,115,.14); --czia-verde-wash-2:rgba(43,182,115,.22);
    --czia-fuerte:#FFD400; --czia-fuerte-2:#FFE14A; --czia-on-fuerte:#0E0F12;
    --czia-osc-bg:var(--czia-ink); --czia-osc-bg-2:var(--czia-ink-2); --czia-osc-bg-3:var(--czia-ink-2);
    --czia-osc-fg:var(--czia-ink-fg); --czia-osc-titulo:#FFFFFF; --czia-osc-muted:var(--czia-ink-muted);
    --czia-osc-line:var(--czia-ink-line); --czia-osc-tinte:rgba(255,255,255,.05); --czia-osc-acento:#FFE14A; --czia-osc-brillo:rgba(255,212,0,.18);
    --czia-sombra:0 24px 60px rgba(0,0,0,.5); --czia-sombra-s:0 8px 24px rgba(0,0,0,.4);
    color-scheme:dark;
  }
}
/* la cabecera es fija arriba: los saltos a anclas no quedan debajo de ella */
html[class*="czia-modo-"]{ scroll-padding-top:84px; }

/* ---------- ámbito (especificidad baja con :where para no pisar los componentes del funnel) ---------- */
/* [22-10-2026, Neo] en macOS, Safari y Chrome pintan el texto con antialiasing en gris (-webkit-font-smoothing) y Firefox solo
   obedece -moz-osx-font-smoothing: sin ella Firefox usa el antialiasing subpíxel y las letras se ven más gruesas que en Safari.
   Las dos propiedades, juntas, en todo el frente del funnel (modo claro u oscuro), el wizard y los avisos incluidos. */
html[class*="czia-modo-"] body, .czia{ -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale; }
.czia{ font-family:var(--czia-body); color:var(--czia-fg); font-size:16px; line-height:1.55; }
:where(.czia) h1, :where(.czia) h2, :where(.czia) h3{ font-family:var(--czia-display); font-weight:700; line-height:1.03; letter-spacing:-.02em; text-wrap:balance; margin:0; color:inherit; }
:where(.czia) a{ color:inherit; }
:where(.czia) a:hover{ color:inherit; }
:where(.czia) :focus-visible{ outline:3px solid var(--czia-amber-deep); outline-offset:2px; }
.czia-sobre-oscuro :focus-visible{ outline-color:var(--czia-osc-acento); }
.czia-wrap{ max-width:var(--czia-max); margin:0 auto; padding-inline:20px; }
.czia-eyebrow{ display:inline-block; font-size:12.5px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--czia-muted); }

/* dark.css (tema) pinta h1–h6 con #ddd !important en modo oscuro: los títulos propios conservan su color */
.czia-hero__h1, .czia-seg__h, .czia-segitem__h, .czia-cta__h{ color:var(--czia-osc-titulo)!important; }
.czia-h2, .czia-ia__h, .czia-salida__h, .czia-step__h, .czia-calc__h{ color:var(--czia-fg)!important; }

/* ---------- logo «c·» (include/czia_logo.php, SVG exacto) + logotipo comparendoia ---------- */
.czia-mk{ display:block; flex:none; width:32px; height:32px; }
.czia-mk svg{ display:block; width:100%; height:100%; }
.czia-mk--22{ width:22px; height:22px; }
.czia-brand{ display:inline-flex; align-items:center; gap:11px; text-decoration:none; color:var(--czia-fg); }
.czia-brand:hover{ text-decoration:none; color:var(--czia-fg); }
.czia-brand .czia-mk{ filter:drop-shadow(0 4px 10px rgba(217,169,0,.30)); }
.czia-wm{ font-family:var(--czia-display); font-weight:800; letter-spacing:-.02em; font-size:19px; line-height:1; color:var(--czia-fg); }
.czia-wm em{ font-style:normal; color:var(--czia-amber-deep); }
html.czia-modo-dark .czia-wm em{ color:var(--czia-amber); }
.czia-sobre-oscuro .czia-wm em{ color:var(--czia-osc-acento); }
@media (prefers-color-scheme:dark){ html.czia-modo-auto .czia-wm em{ color:var(--czia-amber); } }

/* ---------- botones y chips ---------- */
.czia-btn{ display:inline-flex; align-items:center; justify-content:center; gap:9px; border:0; cursor:pointer;
  font-family:var(--czia-body); font-weight:700; font-size:16px; line-height:1.2; text-decoration:none; white-space:nowrap;
  padding:14px 22px; border-radius:14px; transition:transform .14s ease, box-shadow .14s ease, background-color .14s ease; }
.czia-btn:hover, .czia-btn:focus{ text-decoration:none; }
.czia-btn:active{ transform:translateY(1px); }
.czia-btn svg{ flex:none; width:18px; height:18px; }
.czia-btn--amber, .czia-btn--amber:hover, .czia-btn--amber:focus{ color:var(--czia-on-amber); }
.czia-btn--amber{ background:var(--czia-amber); box-shadow:0 12px 30px rgba(217,169,0,.30); }
.czia-btn--amber:hover, .czia-btn--amber:focus-visible{ background:var(--czia-amber-2); }
.czia-btn--ink, .czia-btn--ink:hover, .czia-btn--ink:focus{ color:var(--czia-on-fuerte); }
.czia-btn--ink{ background:var(--czia-fuerte); }
.czia-btn--ink:hover, .czia-btn--ink:focus-visible{ background:var(--czia-fuerte-2); }
.czia-btn--ghost, .czia-btn--ghost:hover, .czia-btn--ghost:focus{ color:var(--czia-fg); }
.czia-btn--ghost{ background:transparent; border:1px solid var(--czia-line-2); }
.czia-btn--ghost:hover{ border-color:var(--czia-fg); }
.czia-sobre-oscuro .czia-btn--ghost, .czia-sobre-oscuro .czia-btn--ghost:hover, .czia-sobre-oscuro .czia-btn--ghost:focus{ color:var(--czia-osc-fg); border-color:var(--czia-osc-line); }
.czia-sobre-oscuro .czia-btn--ghost:hover{ border-color:var(--czia-osc-fg); }
.czia-btn--lg{ padding:17px 26px; font-size:17px; }
.czia-btn--sm{ padding:11px 16px; font-size:14.5px; border-radius:12px; }
.czia-btn--block{ width:100%; }
.czia-chip{ display:inline-flex; align-items:center; gap:7px; padding:7px 13px; border-radius:999px; font-size:13.5px; font-weight:700; line-height:1.2; }
.czia-chip--amber{ background:var(--czia-amber-wash); color:var(--czia-amber-ink); }
.czia-chip--ink{ background:var(--czia-fuerte); color:var(--czia-on-fuerte); }
.czia-chip--soft{ background:var(--czia-surface-2); color:var(--czia-muted); border:1px solid var(--czia-line); }
.czia-wa{ display:inline-grid; place-items:center; width:44px; height:44px; border-radius:12px; border:1px solid var(--czia-line-2); color:var(--czia-fg); flex:none; }
.czia-wa:hover{ border-color:var(--czia-fg); color:var(--czia-fg); }
.czia-sobre-oscuro .czia-wa, .czia-sobre-oscuro .czia-wa:hover{ border-color:var(--czia-osc-line); color:var(--czia-osc-fg); }

/* ---------- cabecera (curso_nav.php) ---------- */
.czia-nav, #navbar.czia-nav{ position:sticky; top:0; z-index:1030; box-shadow:none; background:var(--czia-bg);
  background:color-mix(in srgb, var(--czia-bg) 92%, transparent); -webkit-backdrop-filter:blur(12px); backdrop-filter:blur(12px);
  border-bottom:1px solid var(--czia-line); }
.czia-nav__in{ display:flex; align-items:center; gap:18px; min-height:66px; }
.czia-nav__links{ display:flex; gap:22px; margin-left:10px; }
.czia-nav__links a{ color:var(--czia-muted); text-decoration:none; font-weight:600; font-size:14.5px; white-space:nowrap; }
.czia-nav__links a:hover{ color:var(--czia-fg); text-decoration:none; }
.czia-nav__cta{ margin-left:auto; display:flex; gap:8px; align-items:center; }
.czia-nav__login, .czia-nav__login:hover{ color:var(--czia-fg); }
.czia-nav__login{ text-decoration:none; font-weight:700; font-size:14.5px; padding:10px 8px; white-space:nowrap; }
.czia-nav__login:hover{ text-decoration:underline; text-underline-offset:4px; }
.czia-modo{ display:inline-grid; place-items:center; width:40px; height:40px; border-radius:12px; color:var(--czia-muted); text-decoration:none; font-size:17px; flex:none; }
.czia-modo svg{ width:20px; height:20px; }
.czia-menu > summary svg{ width:24px; height:24px; }
.czia-modo:hover{ color:var(--czia-fg); background:var(--czia-surface-2); text-decoration:none; }
.czia-modo--a-claro{ display:none; }
html.czia-modo-dark .czia-modo--a-claro{ display:inline-grid; } html.czia-modo-dark .czia-modo--a-oscuro{ display:none; }
@media (prefers-color-scheme:dark){ html.czia-modo-auto .czia-modo--a-claro{ display:inline-grid; } html.czia-modo-auto .czia-modo--a-oscuro{ display:none; } }
.czia-menu{ position:relative; display:none; }
.czia-menu > summary{ list-style:none; display:grid; place-items:center; width:44px; height:44px; border-radius:12px; border:1px solid var(--czia-line-2); cursor:pointer; color:var(--czia-fg); font-size:22px; }
.czia-menu > summary::-webkit-details-marker{ display:none; }
.czia-menu[open] > summary{ background:var(--czia-surface-2); }
.czia-menu__panel{ position:absolute; right:0; top:calc(100% + 10px); width:min(280px, calc(100vw - 32px)); background:var(--czia-surface); border:1px solid var(--czia-line); border-radius:var(--czia-radio-s); box-shadow:var(--czia-sombra); padding:8px; display:flex; flex-direction:column; }
.czia-menu__panel a:not(.czia-btn){ display:block; padding:11px 12px; border-radius:10px; color:var(--czia-fg); text-decoration:none; font-weight:600; font-size:15px; }
.czia-menu__panel a:not(.czia-btn):hover{ background:var(--czia-surface-2); color:var(--czia-fg); }
.czia-menu__panel .czia-btn{ margin:4px 0 6px; }
.czia-menu__panel hr{ border:0; border-top:1px solid var(--czia-line); margin:6px 4px; }
/* [SEO · INTENCIÓN] 22-10-2026 · desplegables de la cabecera (Ciudades, Preguntas): <details> nativos, operables con teclado */
.czia-desp{ position:relative; }
.czia-desp > summary{ list-style:none; display:inline-flex; align-items:center; gap:5px; min-height:32px; cursor:pointer; color:var(--czia-muted); font-weight:600; font-size:14.5px; white-space:nowrap; }
.czia-desp > summary::-webkit-details-marker{ display:none; }
.czia-desp > summary::after{ content:""; width:6px; height:6px; margin:-3px 0 0 1px; border-right:1.5px solid currentColor; border-bottom:1.5px solid currentColor; transform:rotate(45deg); transition:transform .15s; }
.czia-desp > summary:hover, .czia-desp[open] > summary{ color:var(--czia-fg); }
.czia-desp[open] > summary::after{ transform:rotate(-135deg); margin-top:3px; }
.czia-desp__panel{ position:absolute; left:-14px; top:calc(100% + 12px); min-width:250px; max-height:calc(100vh - 80px); overflow:auto; padding:10px; background:var(--czia-surface); border:1px solid var(--czia-line); border-radius:var(--czia-radio-s); box-shadow:var(--czia-sombra); z-index:1040; }
/* el de ciudades: ancho fijo centrado bajo «Ciudades» (cabe desde 1121px, donde aparecen los enlaces) y las zonas en cuatro
   columnas que se reparten solas sin partir una zona, así la de más municipios no estira el panel */
.czia-desp--ciudades .czia-desp__panel{ width:720px; left:50%; transform:translateX(-50%); }
.czia-nav__links .czia-desp__panel a{ display:block; padding:8px 12px; border-radius:10px; color:var(--czia-fg); font-weight:600; font-size:14.5px; white-space:nowrap; }
.czia-nav__links .czia-desp__panel a:hover{ background:var(--czia-surface-2); color:var(--czia-fg); }
.czia-desp--ciudades .czia-desp__panel a{ white-space:normal; }
.czia-desp__cols{ column-count:4; column-gap:14px; }
.czia-desp__grupo{ break-inside:avoid; padding-bottom:4px; }
.czia-desp__t{ margin:0; padding:10px 12px 4px; font-size:11.5px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--czia-muted); }
.czia-desp__pie{ margin:8px 0 0; padding-top:8px; border-top:1px solid var(--czia-line); }
/* grupos plegables del menú compacto */
.czia-menu__panel{ max-height:calc(100vh - 90px); overflow:auto; }
.czia-menu__grupo > summary{ list-style:none; display:flex; justify-content:space-between; align-items:center; padding:11px 12px; border-radius:10px; cursor:pointer; color:var(--czia-fg); font-weight:600; font-size:15px; }
.czia-menu__grupo > summary::-webkit-details-marker{ display:none; }
.czia-menu__grupo > summary::after{ content:""; width:7px; height:7px; border-right:1.5px solid currentColor; border-bottom:1.5px solid currentColor; transform:rotate(45deg); margin-right:6px; transition:transform .15s; }
.czia-menu__grupo[open] > summary{ background:var(--czia-surface-2); }
.czia-menu__grupo[open] > summary::after{ transform:rotate(-135deg); }
.czia-menu__sub{ padding:2px 0 6px 10px; }
.czia-menu__panel .czia-menu__sub a:not(.czia-btn){ padding:9px 12px; font-weight:500; font-size:14.5px; }
.czia-menu__sub .czia-desp__t{ padding-top:8px; }
@media (max-width:1120px){ .czia-nav__links{ display:none; } .czia-menu{ display:block; } }
@media (max-width:760px){ .czia-nav__login, .czia-nav__salir{ display:none; } }
@media (max-width:620px){ .czia-nav__cta > .czia-btn, .czia-nav__cta > .czia-wa{ display:none; } .czia-wm{ font-size:18px; } }

/* ---------- pie (curso_pie.php) ---------- */
.czia-pie{ border-top:1px solid var(--czia-line); background:var(--czia-bg); padding-block:40px 44px; color:var(--czia-muted); font-size:14px; }
.czia-pie__in{ display:flex; flex-wrap:wrap; gap:14px 24px; justify-content:space-between; align-items:center; }
.czia-pie .czia-wm{ font-size:17px; }
.czia-pie__tag{ color:var(--czia-muted); }
.czia-pie__links{ display:flex; flex-wrap:wrap; gap:8px 22px; margin:24px 0 0; padding:0; list-style:none; }
.czia-pie__links a{ color:var(--czia-fg); text-decoration:none; font-weight:600; font-size:14px; }
.czia-pie__links a:hover{ color:var(--czia-fg); text-decoration:underline; text-underline-offset:4px; }
.czia-pie__legal{ max-width:46rem; color:var(--czia-muted); font-size:12.5px; line-height:1.6; margin:18px 0 0; }
.czia-pie__copy{ color:var(--czia-muted); font-size:12.5px; margin:12px 0 0; }

/* ---------- elementos flotantes del tema en las páginas del localizador ---------- */
html[class*="czia-modo-"] .scroll-to-top{ background:var(--czia-surface); border:1px solid var(--czia-line-2); box-shadow:var(--czia-sombra-s); color:var(--czia-fg); }
html[class*="czia-modo-"] .scroll-to-top i, html[class*="czia-modo-"] .scroll-to-top:hover i{ color:var(--czia-fg); }
html[class*="czia-modo-"] .scroll-to-top:hover{ background:var(--czia-surface-2); }
html[class*="czia-modo-"] #installPwa{ background:var(--czia-fuerte)!important; border-color:var(--czia-fuerte)!important; color:var(--czia-on-fuerte)!important; }
/* índice lateral de las páginas legales: queda debajo de la cabecera fija */
html[class*="czia-modo-"] .cz-legal-side{ top:90px; }
/* tarjeta del diagnóstico CXLEX: es blanca también en modo oscuro; su texto heredado se queda oscuro */
html[class*="czia-modo-"] .cxl-card{ color:#10293f; color-scheme:light; }

/* ===================================================================== */
/* ---------- home (theme/curso/home.php) ---------- */
.czia-home, .czia-ciudad{ background:var(--czia-bg); }
:is(.czia-home,.czia-ciudad) section{ position:relative; padding:0; }

/* hero */
.czia-hero{ background:var(--czia-osc-bg) linear-gradient(180deg,var(--czia-osc-bg) 0%,var(--czia-osc-bg-2) 100%); color:var(--czia-osc-fg); overflow:hidden; border-bottom:1px solid var(--czia-line); }
.czia-hero::before{ content:""; position:absolute; inset:0; pointer-events:none; background:
  radial-gradient(60% 55% at 82% 18%,var(--czia-osc-brillo),transparent 70%),
  radial-gradient(50% 45% at 8% 92%,rgba(255,212,0,.10),transparent 70%); }
/* móvil: texto → consulta → salidas y confianza (la consulta queda en la primera pantalla);
   escritorio: texto y confianza a la izquierda, consulta a la derecha */
.czia-hero__in{ position:relative; display:grid; grid-template-columns:minmax(0,1fr); grid-template-areas:"intro" "consulta" "extra"; gap:18px; padding-block:22px 40px; }
.czia-hero__intro{ grid-area:intro; }
.czia-hero__extra{ grid-area:extra; }
.czia-hero #cz-consulta{ grid-area:consulta; }
@media (min-width:980px){
  .czia-hero__in{ grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr); grid-template-areas:"intro consulta" "extra consulta"; column-gap:44px; row-gap:0; padding-block:70px 78px; }
  .czia-hero__intro{ align-self:end; }
  .czia-hero__extra{ align-self:start; padding-top:22px; }
  .czia-hero #cz-consulta{ align-self:center; }
}
.czia-hero__kick{ display:inline-flex; align-items:center; gap:9px; padding:6px 14px 6px 7px; border-radius:999px;
  border:1px solid var(--czia-osc-line); background:var(--czia-osc-tinte); font-weight:600; font-size:13px; color:var(--czia-osc-muted); }
.czia-hero__h1{ font-size:clamp(2rem,1.1rem + 4.2vw,4.3rem); color:var(--czia-osc-titulo); margin:16px 0 0!important; }
@media (min-width:980px){ .czia-hero__h1{ margin-top:20px!important; } }
/* móvil: directo al grano; el cajón de la consulta entra completo en la primera pantalla */
@media (max-width:600px){ .czia-hero__kick{ display:none; } .czia-hero__h1{ margin-top:0!important; } .czia-hero__lead{ font-size:15.5px; margin-top:10px; } }
.czia-hero__h1 mark{ background:none; color:var(--czia-osc-acento); padding:0; }
.czia-hero__lead{ color:var(--czia-osc-muted); font-size:clamp(1.02rem,.95rem + .4vw,1.2rem); max-width:34rem; margin:18px 0 0; }
.czia-hero__lead b{ color:var(--czia-osc-titulo); font-weight:600; }
.czia-salidas-mini{ display:flex; flex-wrap:wrap; gap:9px; margin:0; padding:0; list-style:none; }
.czia-salida-mini{ display:inline-flex; align-items:center; gap:8px; padding:9px 14px; border-radius:12px;
  background:var(--czia-osc-tinte); border:1px solid var(--czia-osc-line); font-size:13.5px; font-weight:600; color:var(--czia-osc-fg); }
.czia-salida-mini svg{ width:16px; height:16px; flex:none; color:var(--czia-osc-acento); }
.czia-salidas-mini--linea{ flex-wrap:nowrap; }
.czia-salidas-mini--linea .czia-salida-mini{ white-space:nowrap; }
@media (max-width:600px){
  .czia-salidas-mini--linea{ gap:6px; }
  .czia-salidas-mini--linea .czia-salida-mini{ flex:1 1 auto; justify-content:center; gap:6px; padding:9px clamp(6px,2.4vw,12px); font-size:clamp(11.5px,3.4vw,13.5px); }
  .czia-salidas-mini--linea .czia-salida-mini svg{ width:15px; height:15px; }
}
@media (max-width:339px){ .czia-salidas-mini--linea .czia-salida-mini svg{ display:none; } }

/* tarjeta de la IA = la puerta real de la consulta (#cz-consulta → wizard → SIMIT) */
.czia-card{ background:var(--czia-surface); border:1px solid var(--czia-line); border-radius:var(--czia-radio-l); box-shadow:var(--czia-sombra); padding:24px; color:var(--czia-fg); }
/* sello «Vigila Mintransporte» (pedido del dueño, 07-10-2026): rótulo a la izquierda, logos oficiales a la derecha */
.czia-vigila{ display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:8px 12px; padding-bottom:12px; margin-bottom:14px; border-bottom:1px solid var(--czia-line); }
.czia-vigila__t{ display:inline-flex; align-items:center; gap:8px; font-size:12px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; white-space:nowrap; color:var(--czia-fg); }
.czia-vigila__t svg{ width:17px; height:17px; flex:none; color:var(--czia-fg); }
.czia-vigila__img{ display:block; flex:none; height:28px; width:auto; max-width:100%; }
@media (max-width:480px){ .czia-vigila{ gap:6px 10px; } .czia-vigila__t{ font-size:11px; letter-spacing:.05em; gap:6px; } .czia-vigila__t svg{ width:15px; height:15px; } .czia-vigila__img{ height:20px; } }
.czia-ia__h{ font-size:1.45rem; margin:0 0 14px!important; }
.czia-campo{ display:flex; gap:10px; }
.czia-campo select, .czia-campo input{ font-family:var(--czia-body); font-size:16px; border:1.5px solid var(--czia-line-2); border-radius:13px; height:54px; background:var(--czia-surface); color:var(--czia-fg); }
.czia-campo select{ flex:none; width:96px; padding:0 10px; font-weight:700; }
.czia-campo input{ flex:1; min-width:0; width:100%; padding:14px 15px; }
.czia-campo select:focus, .czia-campo input:focus{ outline:none; border-color:var(--czia-amber); box-shadow:0 0 0 4px var(--czia-amber-wash); }
.czia-campo input::placeholder{ color:var(--czia-muted); opacity:1; }
@media (max-width:420px){ .czia-campo select{ width:80px; padding:0 6px 0 10px; } .czia-campo input{ padding:14px 12px; } }
@media (max-width:380px){ .czia-campo{ gap:8px; } .czia-campo select{ width:72px; } .czia-campo input{ padding:14px 10px; } .czia-ia__h{ font-size:1.16rem!important; } }
.czia-ia .czia-btn--block{ margin-top:12px; }
.czia-aviso{ display:flex; gap:7px; align-items:flex-start; font-size:12.5px; line-height:1.45; color:var(--czia-muted); margin:12px 0 0; }
.czia-aviso svg{ width:15px; height:15px; flex:none; margin-top:1px; color:var(--czia-amber-deep); }
.czia-ia #cz-h-res{ margin-top:12px; }
.czia-ia #cz-h-res:empty{ margin-top:0; }
.czia-ia .czh-box.is-warn{ background:var(--czia-amber-wash); color:var(--czia-amber-ink); }
.czia-ia__alt{ display:block; margin-top:14px; padding-top:14px; border-top:1px dashed var(--czia-line-2); font-size:13.5px; font-weight:600; color:var(--czia-fg); text-decoration:underline; text-decoration-color:var(--czia-amber); text-underline-offset:4px; }
.czia-ia__alt:hover{ color:var(--czia-fg); text-decoration-thickness:2px; }
/* móvil: la tarjeta más compacta para que el documento y el botón entren en la primera pantalla (el subtítulo repite la bajada) */
@media (max-width:480px){ .czia-hero .czia-card{ padding:18px; } .czia-ia__h{ font-size:1.28rem; margin-bottom:12px!important; } .czia-ia .czia-btn--block{ margin-top:10px; } .czia-aviso{ margin-top:10px; } .czia-ia__alt{ margin-top:12px; padding-top:12px; } }

/* secciones */
:is(.czia-home,.czia-ciudad) .czia-sec{ padding-block:clamp(56px,6vw,96px); }
:is(.czia-home,.czia-ciudad) .czia-sec--alt{ background:var(--czia-surface-2); }
:is(.czia-home,.czia-ciudad) .czia-sec--pegada{ padding-top:0; }
.czia-sec__head{ max-width:40rem; margin-bottom:38px; }
.czia-sec__head--centro{ margin-inline:auto; text-align:center; }
.czia-h2{ font-size:clamp(2rem,1.3rem + 2.6vw,3.1rem); margin-top:10px!important; }
.czia-sec__lead{ color:var(--czia-muted); font-size:17px; margin:14px 0 0; }

/* las 3 salidas */
.czia-salidas{ display:grid; gap:18px; grid-template-columns:minmax(0,1fr); margin:0; padding:0; list-style:none; }
@media (min-width:760px){ .czia-salidas--3{ grid-template-columns:repeat(3,minmax(0,1fr)); } .czia-salidas--2{ grid-template-columns:repeat(2,minmax(0,1fr)); } }
.czia-salida{ background:var(--czia-surface); border:1px solid var(--czia-line); border-radius:var(--czia-radio); padding:26px 24px; display:flex; flex-direction:column; gap:14px; position:relative; min-width:0; }
.czia-salida--hero{ border-color:var(--czia-amber); box-shadow:0 0 0 1px var(--czia-amber), var(--czia-sombra-s); }
.czia-salida__n{ position:absolute; top:22px; right:24px; font-family:var(--czia-display); font-weight:800; font-size:15px; color:var(--czia-muted); }
.czia-ic{ width:50px; height:50px; border-radius:14px; display:grid; place-items:center; flex:none; }
.czia-ic svg{ width:26px; height:26px; }
.czia-ic--ink{ background:var(--czia-fuerte); color:var(--czia-on-fuerte); }
.czia-ic--amber{ background:var(--czia-amber-wash); color:var(--czia-amber-deep); }
.czia-ic--soft{ background:var(--czia-surface-2); color:var(--czia-fg); }
.czia-salida__h{ font-size:1.45rem; }
.czia-salida__p{ color:var(--czia-muted); font-size:14.5px; margin:0; }
.czia-salida__p b{ color:var(--czia-fg); }
.czia-salida ul{ margin:0; padding:0; list-style:none; display:flex; flex-direction:column; gap:8px; }
.czia-salida li{ display:flex; gap:9px; font-size:14px; align-items:flex-start; }
.czia-salida li svg{ width:17px; height:17px; flex:none; margin-top:2px; color:var(--czia-amber-deep); }
.czia-salida__nota{ color:var(--czia-muted); font-size:13px; margin:0; }
.czia-salida__pie{ margin-top:auto; display:flex; flex-direction:column; align-items:flex-start; gap:14px; padding-top:4px; }
.czia-salida__pie .czia-btn{ width:100%; }
.czia-cxl{ scroll-margin-top:90px; }
:is(.czia-home,.czia-ciudad) .czia-cxl .cxl{ margin:28px auto 0; padding:0; max-width:880px; }
:is(.czia-home,.czia-ciudad) .cxl-card{ border-radius:var(--czia-radio); border-color:var(--czia-line); box-shadow:var(--czia-sombra-s); }
:is(.czia-home,.czia-ciudad) .cxl-t .bi, :is(.czia-home,.czia-ciudad) .cxl-contacto-t .bi, :is(.czia-home,.czia-ciudad) .cxl-sello .bi{ color:var(--czia-amber-deep); }
:is(.czia-home,.czia-ciudad) .cxl-badge{ background:var(--czia-amber-wash); color:var(--czia-amber-ink); }
:is(.czia-home,.czia-ciudad) .cxl-btn{ background:var(--czia-amber); color:var(--czia-on-amber); }
:is(.czia-home,.czia-ciudad) .cxl-fila input:focus{ border-color:var(--czia-amber); box-shadow:0 0 0 3px rgba(255,212,0,.35); }

/* cómo funciona */
.czia-steps{ display:grid; gap:16px; grid-template-columns:minmax(0,1fr); margin:0; padding:0; list-style:none; }
@media (min-width:600px){ .czia-steps{ grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (min-width:1000px){ .czia-steps{ grid-template-columns:repeat(4,minmax(0,1fr)); } }
.czia-step{ padding:24px 20px; border-radius:var(--czia-radio); background:var(--czia-surface); border:1px solid var(--czia-line); }
.czia-step__n{ display:block; font-family:var(--czia-display); font-weight:800; font-size:40px; line-height:1; color:var(--czia-amber-deep); }
.czia-step__h{ font-size:1.1rem; margin:10px 0 6px!important; }
.czia-step__p{ color:var(--czia-muted); font-size:14px; margin:0; }

/* seguridad (bloque oscuro en modo oscuro; claro en modo claro) */
.czia-seg{ background:var(--czia-osc-bg); color:var(--czia-osc-fg); border:1px solid var(--czia-osc-line); border-radius:var(--czia-radio-l); overflow:hidden; position:relative; }
.czia-seg::before{ content:""; position:absolute; inset:0; pointer-events:none; background:radial-gradient(55% 60% at 85% 20%,var(--czia-osc-brillo),transparent 70%); }
.czia-seg__in{ position:relative; display:grid; grid-template-columns:minmax(0,1fr); gap:30px; padding:clamp(28px,4vw,54px); }
@media (min-width:900px){ .czia-seg__in{ grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); align-items:center; gap:48px; } }
.czia-seg .czia-eyebrow{ color:var(--czia-osc-acento); }
.czia-seg__h{ color:var(--czia-osc-titulo); font-size:clamp(1.9rem,1.3rem + 2vw,2.8rem); margin-top:10px!important; }
.czia-seg__lead{ color:var(--czia-osc-muted); margin:14px 0 0; font-size:16px; }
.czia-seg__grid{ display:grid; grid-template-columns:minmax(0,1fr); gap:14px; margin:0; padding:0; list-style:none; }
@media (min-width:560px){ .czia-seg__grid{ grid-template-columns:repeat(2,minmax(0,1fr)); } }
.czia-segitem{ background:var(--czia-osc-tinte); border:1px solid var(--czia-osc-line); border-radius:14px; padding:18px; }
.czia-segitem__ic{ width:38px; height:38px; border-radius:10px; display:grid; place-items:center; background:var(--czia-amber-wash-2); color:var(--czia-osc-acento); margin-bottom:11px; }
.czia-segitem__ic svg{ width:20px; height:20px; }
.czia-segitem__h{ font-size:1rem; color:var(--czia-osc-titulo); }
.czia-segitem__p{ color:var(--czia-osc-muted); font-size:13.5px; margin:5px 0 0; }
.czia-segitem__p a{ color:var(--czia-osc-titulo); text-decoration:underline; text-decoration-color:var(--czia-amber); text-underline-offset:3px; }
.czia-segitem__p a:hover{ color:var(--czia-osc-titulo); }

/* sede cercana: buscador real + ciudades reales + calculadora; la lista y el mapa reales aparecen al buscar */
.czia-cercana{ display:grid; grid-template-columns:minmax(0,1fr); gap:32px; align-items:start; }
@media (min-width:980px){ .czia-cercana{ grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:48px; } }
.czia-home #cz-form{ overflow:visible!important; width:auto; max-width:none; flex-wrap:wrap; margin-top:24px; background:var(--czia-surface); border:1px solid var(--czia-line); border-radius:16px; box-shadow:var(--czia-sombra-s); }
.czia-home #cz-form .btn{ border-radius:12px; font-family:var(--czia-body); font-weight:700; }
.czia-home #cz-form .cz-input-wrap{ flex:1 1 100%; order:-1; }
.czia-home #cz-form #cz-submit{ flex:1 1 auto; }
.czia-home #cz-form .btn-light{ background:var(--czia-surface-2); border-color:transparent; color:var(--czia-fg); }
.czia-home #cz-form .cz-input{ background:transparent; color:var(--czia-fg); }
.czia-home #cz-form .cz-input::placeholder{ color:var(--czia-muted); opacity:1; }
.czia-home #cz-form .cz-input-wrap .bi{ color:var(--czia-muted); }
.czia-ciudades{ margin-top:24px; }
.czia-ciudades__t{ font-size:13.5px; font-weight:700; color:var(--czia-muted); margin:0 0 10px; }
.czia-ciudades ul{ display:flex; flex-wrap:wrap; gap:8px; margin:0; padding:0; list-style:none; }
.czia-ciudades a{ display:inline-flex; align-items:baseline; gap:6px; padding:8px 13px; border-radius:999px; border:1px solid var(--czia-line-2); background:var(--czia-surface); text-decoration:none; font-weight:600; font-size:14px; color:var(--czia-fg); }
.czia-ciudades a:hover{ border-color:var(--czia-amber-deep); color:var(--czia-fg); text-decoration:none; }
.czia-ciudades small{ color:var(--czia-muted); font-size:12px; font-weight:600; }
.czia-calc{ background:var(--czia-surface); border:1px solid var(--czia-line); border-radius:var(--czia-radio-l); box-shadow:var(--czia-sombra-s); padding:24px; scroll-margin-top:90px; }
.czia-calc__h{ font-size:1.45rem; margin:12px 0 6px!important; }
.czia-calc__lead{ color:var(--czia-muted); font-size:14.5px; margin:0; }
.czia-tramos{ display:flex; flex-direction:column; gap:6px; margin:14px 0 18px; padding:0; list-style:none; font-size:14px; }
.czia-tramos li{ display:flex; gap:8px; align-items:flex-start; }
.czia-tramos svg{ width:17px; height:17px; flex:none; margin-top:2px; color:var(--czia-amber-deep); }
:is(.czia-home,.czia-ciudad) .czia-calc .cz-calc{ box-shadow:none; padding:0; background:transparent; border:0; border-radius:0; }
.czia-resultados{ margin-top:44px; scroll-margin-top:90px; }

/* cifras reales */
.czia-nums{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin:0; padding:0; list-style:none; }
@media (min-width:720px){ .czia-nums{ grid-template-columns:repeat(4,minmax(0,1fr)); } }
.czia-num{ padding:22px; border-radius:var(--czia-radio); background:var(--czia-surface); border:1px solid var(--czia-line); text-align:center; }
.czia-num b{ display:block; font-family:var(--czia-display); font-weight:800; font-size:clamp(2rem,1.4rem + 2vw,2.8rem); line-height:1.1; color:var(--czia-amber-deep); letter-spacing:-.02em; font-variant-numeric:tabular-nums; }
.czia-num span{ color:var(--czia-muted); font-size:13.5px; font-weight:600; }
.czia-fuente{ text-align:center; font-size:12.5px; color:var(--czia-muted); margin:18px 0 0; }

/* cierre */
.czia-cta{ background:var(--czia-osc-bg) linear-gradient(120deg,var(--czia-osc-bg),var(--czia-osc-bg-3)); color:var(--czia-osc-fg); border:1px solid var(--czia-osc-line); border-radius:var(--czia-radio-l); text-align:center; padding:clamp(40px,6vw,72px) 24px; position:relative; overflow:hidden; }
.czia-cta::before{ content:""; position:absolute; inset:0; pointer-events:none; background:radial-gradient(50% 80% at 50% 0,var(--czia-osc-brillo),transparent 70%); }
.czia-cta__in{ position:relative; max-width:44rem; margin:0 auto; }
.czia-cta__h{ color:var(--czia-osc-titulo); font-size:clamp(2rem,1.4rem + 2.4vw,3rem); }
.czia-cta__p{ color:var(--czia-osc-muted); margin:14px 0 0; font-size:17px; }
.czia-cta__btns{ display:flex; gap:12px; justify-content:center; flex-wrap:wrap; margin-top:28px; }

/* barra móvil: aparece cuando la tarjeta de la consulta ya salió de la pantalla (no tapa el hero) */
.czia-movil{ position:fixed; left:12px; right:12px; bottom:calc(10px + env(safe-area-inset-bottom,0px)); z-index:1035; display:none;
  gap:10px; padding:10px; background:var(--czia-surface); background:color-mix(in srgb,var(--czia-surface) 94%,transparent);
  -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px); border:1px solid var(--czia-line-2); border-radius:18px; box-shadow:var(--czia-sombra);
  transform:translateY(140%); visibility:hidden; transition:transform .25s ease, visibility 0s linear .25s; }
.czia-movil .czia-btn{ flex:1; }
.czia-movil.is-on{ transform:translateY(0); visibility:visible; transition:transform .25s ease, visibility 0s; }
@media (max-width:720px){
  .czia-movil{ display:flex; }
  body.czia-con-barra{ padding-bottom:84px; }
  body.czia-con-barra .scroll-to-top{ bottom:96px!important; }
  body.czia-con-barra #installPwa{ bottom:140px!important; }
  body.czia-consulta-visible #installPwa{ display:none!important; }
}
body.cz-modal-open .czia-movil{ display:none; }
@media (prefers-reduced-motion:reduce){ .czia-movil, .czia-movil.is-on{ transition:none; } .czia-btn{ transition:none; } }

/* ---------- piezas del funnel dentro del home, con la paleta de la familia ---------- */
.czia-home, .czia-ciudad{ --cz-primary:var(--czia-amber-deep); --cz-ok:var(--czia-amber-deep); --cz-ok-soft:var(--czia-amber-wash); --cz-border:var(--czia-line-2); --cz-muted:var(--czia-muted); }
:is(.czia-home,.czia-ciudad) .btn-primary, :is(.czia-home,.czia-ciudad) .btn-primary:not(:disabled):not(.disabled):active{ background-color:var(--czia-amber)!important; border-color:var(--czia-amber)!important; color:var(--czia-on-amber)!important; font-weight:700; }
:is(.czia-home,.czia-ciudad) .btn-primary:hover, :is(.czia-home,.czia-ciudad) .btn-primary:focus-visible{ background-color:var(--czia-amber-2)!important; border-color:var(--czia-amber-2)!important; color:var(--czia-on-amber)!important; }
:is(.czia-home,.czia-ciudad) .btn-primary .bi{ color:inherit!important; }
:is(.czia-home,.czia-ciudad) .text-primary{ color:var(--czia-amber-deep)!important; }
:is(.czia-home,.czia-ciudad) .cz-chip.is-active, :is(.czia-home,.czia-ciudad) .cz-hora.is-active{ background:var(--czia-fuerte); border-color:var(--czia-fuerte); color:var(--czia-on-fuerte); }
:is(.czia-home,.czia-ciudad) .cz-card{ border-radius:var(--czia-radio); }
:is(.czia-home,.czia-ciudad) .cz-card:hover, :is(.czia-home,.czia-ciudad) .cz-card.is-active{ border-color:var(--czia-amber-deep); }
:is(.czia-home,.czia-ciudad) .cz-inst-sello{ color:var(--czia-amber-ink); background:var(--czia-amber-wash); border-color:rgba(114,88,0,.28); }
:is(.czia-home,.czia-ciudad) .cz-inst-sello .bi{ color:inherit; }
:is(.czia-home,.czia-ciudad) .cz-found{ background:var(--czia-amber-wash); border-color:rgba(114,88,0,.25); }
:is(.czia-home,.czia-ciudad) .cz-found > .bi, :is(.czia-home,.czia-ciudad) .cz-context .cz-loc .bi{ color:var(--czia-amber-deep); }
:is(.czia-home,.czia-ciudad) .cz-calc-tipo input:checked + span{ border-color:var(--czia-amber-deep); background:var(--czia-amber-wash); color:var(--czia-amber-ink); }
:is(.czia-home,.czia-ciudad) .cz-pct{ color:var(--czia-amber-deep)!important; }

/* ---------- tarjetas de centros (_resultados.php) en el home y en la ciudad: superficies con tokens (claro y oscuro) ---------- */
:is(.czia-home,.czia-ciudad) .cz-card{ background:var(--czia-surface); border-color:var(--czia-line); color:var(--czia-fg); box-shadow:var(--czia-sombra-s); }
:is(.czia-home,.czia-ciudad) .cz-card h3, :is(.czia-home,.czia-ciudad) .cz-card h3 a{ color:var(--czia-fg)!important; font-family:var(--czia-display); }
:is(.czia-home,.czia-ciudad) .cz-card .cz-thumb{ background:var(--czia-amber-wash); color:var(--czia-amber-deep); }
:is(.czia-home,.czia-ciudad) .cz-card .cz-num{ background:var(--czia-surface-2); color:var(--czia-fg); }
/* etiqueta «Cupo disponible»: blanco sobre el relleno «fuerte» (tinta #15161A) */
:is(.czia-home,.czia-ciudad) .cz-card .cz-badge{ background:var(--czia-fuerte); color:var(--czia-on-fuerte); }
:is(.czia-home,.czia-ciudad) .cz-card .cz-badge.is-warn{ background:var(--czia-amber-wash); color:var(--czia-amber-ink); }
:is(.czia-home,.czia-ciudad) .cz-slot{ background:var(--czia-surface); border-color:var(--czia-line-2); color:var(--czia-fg); }
:is(.czia-home,.czia-ciudad) .cz-slot small{ color:var(--czia-muted); }
:is(.czia-home,.czia-ciudad) .cz-slot:hover{ background:var(--czia-fuerte); border-color:var(--czia-fuerte); color:var(--czia-on-fuerte); }
:is(.czia-home,.czia-ciudad) .cz-slot:hover small{ color:var(--czia-on-fuerte); opacity:.85; }
:is(.czia-home,.czia-ciudad) .cz-slot.is-few{ border-color:rgba(114,88,0,.45); background:var(--czia-amber-wash); color:var(--czia-amber-ink); }
:is(.czia-home,.czia-ciudad) .cz-slot.is-few small{ color:var(--czia-amber-ink); }
:is(.czia-home,.czia-ciudad) .cz-next .bi{ color:var(--czia-amber-deep); }
:is(.czia-home,.czia-ciudad) .cz-card .btn-light{ background:var(--czia-surface-2); border-color:transparent; color:var(--czia-fg); }
:is(.czia-home,.czia-ciudad) .cz-card .btn-dark{ background:var(--czia-fuerte); border-color:var(--czia-fuerte); color:var(--czia-on-fuerte); }
:is(.czia-home,.czia-ciudad) .cz-empty{ border-color:var(--czia-line-2); color:var(--czia-muted); }
:is(.czia-home,.czia-ciudad) .cz-map{ border-radius:var(--czia-radio); border:1px solid var(--czia-line); box-shadow:var(--czia-sombra-s); }
:is(.czia-home,.czia-ciudad) .cz-hora{ background:var(--czia-surface); border-color:var(--czia-line-2); color:var(--czia-fg); }
:is(.czia-home,.czia-ciudad) .cz-hora span{ color:var(--czia-muted); }
:is(.czia-home,.czia-ciudad) .cz-hora.is-active span{ color:var(--czia-on-fuerte); opacity:.85; }
:is(.czia-home,.czia-ciudad) .cz-calc-result{ border-color:rgba(114,88,0,.28); }
/* la columna de la lista nunca empuja el ancho de la página (curso.css usa 1fr: su mínimo es el del contenido) */
@media (max-width:991.98px){ :is(.czia-home,.czia-ciudad) .cz-results-wrap{ grid-template-columns:minmax(0,1fr); } }
/* móvil: «Ver horarios» y «Agendar con mi cédula» en una fila sin partirse; el precio o la duración arriba */
@media (max-width:480px){
  :is(.czia-home,.czia-ciudad) .cz-card-foot{ flex-direction:column; align-items:stretch; gap:10px; }
  :is(.czia-home,.czia-ciudad) .cz-card-foot > .d-flex{ width:100%; flex-wrap:wrap; }   /* si no caben en una fila, el segundo baja */
  :is(.czia-home,.czia-ciudad) .cz-card-foot .btn{ flex:1 1 auto; white-space:nowrap; min-height:44px; display:inline-flex; align-items:center; justify-content:center; gap:6px; }
}
html.czia-modo-dark :is(.czia-home,.czia-ciudad) .cz-chip.is-active, html.czia-modo-dark :is(.czia-home,.czia-ciudad) .cz-hora.is-active{ background:var(--czia-amber-wash); border-color:var(--czia-amber); color:var(--czia-fg); }

/* ===================================================================== */
/* ---------- landing de ciudad / zona (theme/curso/ciudad.php) · 08-10-2026 ---------- */
/* hero: el del home con el titular de la ciudad; en móvil, migas en una línea y el cajón completo en la primera pantalla */
.czia-hero--ciudad .czia-hero__in{ padding-block:18px 34px; }
@media (min-width:980px){ .czia-hero--ciudad .czia-hero__in{ padding-block:46px 64px; } }
.czia-migas{ display:flex; flex-wrap:wrap; align-items:center; gap:4px 8px; margin:0 0 12px; font-size:13px; color:var(--czia-osc-muted); }
.czia-migas a{ color:var(--czia-osc-muted); text-decoration:none; }
.czia-migas a:hover{ color:var(--czia-osc-titulo); text-decoration:underline; text-underline-offset:3px; }
.czia-migas [aria-current]{ color:var(--czia-osc-titulo); font-weight:600; }
.czia-hero__h1--ciudad{ font-size:clamp(1.9rem,1.15rem + 3.2vw,3.6rem); margin-top:0!important; }
.czia-hero--ciudad .czia-hero__lead{ font-size:clamp(1rem,.96rem + .25vw,1.12rem); margin-top:14px; max-width:38rem; }
.czia-hero__prueba{ display:flex; gap:8px; align-items:flex-start; margin:12px 0 0; font-size:14px; color:var(--czia-osc-muted); }
.czia-hero__prueba svg{ width:17px; height:17px; flex:none; margin-top:2px; color:var(--czia-osc-acento); }
@media (max-width:600px){
  .czia-migas{ flex-wrap:nowrap; white-space:nowrap; overflow:hidden; font-size:12.5px; margin-bottom:8px; }
  .czia-migas [aria-current]{ overflow:hidden; text-overflow:ellipsis; min-width:0; }
  .czia-hero--ciudad .czia-hero__lead{ font-size:14.5px; margin-top:8px; line-height:1.45; }
  .czia-hero--ciudad .czia-hero__prueba{ display:none; }   /* se repite en el cierre: en móvil manda el cajón */
}

/* centros y cupos: barra de contexto, días, horas, lista y mapa (mismos ids que lee curso.js) */
.czia-ciudad .czia-sec--centros{ padding-block:28px 64px; }
@media (min-width:980px){ .czia-ciudad .czia-sec--centros{ padding-block:44px 88px; } }
.czia-ctx{ display:flex; flex-wrap:wrap; align-items:center; gap:8px 16px; margin:0 0 16px; padding:10px 10px 10px 18px; background:var(--czia-surface); border:1px solid var(--czia-line); border-radius:16px; box-shadow:var(--czia-sombra-s); }
.czia-ctx .cz-loc{ color:var(--czia-fg); font-weight:700; }
.czia-ctx .cz-change{ color:var(--czia-muted); font-weight:600; font-size:14px; }
.czia-ctx .cz-change:hover{ color:var(--czia-fg); }
.czia-ctx #cz-fecha-txt{ color:var(--czia-muted); }
.czia-ciudad .czia-ctx .czia-ctx__geo{ margin-left:auto; min-height:44px; padding:8px 14px; border-radius:12px; border:1px solid transparent; background:var(--czia-surface-2); color:var(--czia-fg); font-family:var(--czia-body); font-weight:700; font-size:14px; white-space:normal; text-align:left; box-shadow:none; }
.czia-ciudad .czia-ctx .czia-ctx__geo:hover{ border-color:var(--czia-line-2); background:var(--czia-surface-2); color:var(--czia-fg); }
.czia-ciudad .czia-ctx .czia-ctx__geo .bi{ color:var(--czia-amber-deep); }
@media (max-width:640px){ .czia-ciudad .czia-ctx{ padding:12px; } .czia-ciudad .czia-ctx .czia-ctx__geo{ margin-left:0; width:100%; justify-content:center; text-align:center; } }
.czia-ciudad #cz-fechas.cz-dias-inst{ gap:8px; margin:0 0 16px; }
.czia-ciudad #cz-fechas.cz-dias-inst .cz-chip{ min-width:84px; min-height:58px; border-radius:14px; border:1px solid var(--czia-line-2); background:var(--czia-surface); color:var(--czia-fg); }
.czia-ciudad #cz-fechas.cz-dias-inst .cz-chip small{ color:var(--czia-muted); }
.czia-ciudad #cz-fechas.cz-dias-inst .cz-chip:hover{ border-color:var(--czia-amber-deep); }
.czia-ciudad #cz-fechas.cz-dias-inst .cz-chip.is-active{ background:var(--czia-fuerte); border-color:var(--czia-fuerte); color:var(--czia-on-fuerte); box-shadow:none; }
.czia-ciudad #cz-fechas.cz-dias-inst .cz-chip.is-active small{ color:var(--czia-on-fuerte); opacity:.85; }
html.czia-modo-dark .czia-ciudad #cz-fechas.cz-dias-inst .cz-chip.is-active{ background:var(--czia-amber-wash); border-color:var(--czia-amber); color:var(--czia-fg); }
.czia-ciudad #cz-fechas.cz-dias-inst label.cz-chip input[type=date]{ color:inherit; }
.czia-ciudad .cz-found{ margin:0 0 16px; border-radius:16px; }
.czia-ciudad .cz-found-txt b{ color:var(--czia-fg); }
.czia-ciudad #cz-found-sub{ color:var(--czia-muted); }
.czia-ciudad .cz-cercana{ margin:0 0 16px; border-radius:16px; background:var(--czia-amber-wash); border:1px solid rgba(114,88,0,.25); color:var(--czia-fg); }
.czia-ciudad .cz-cercana-ico{ background:var(--czia-surface); color:var(--czia-amber-deep); }
.czia-horas{ margin:0 0 22px; }
.czia-ciudad .cz-h-inst{ color:var(--czia-muted); }
.czia-ciudad .cz-h-inst .bi{ color:var(--czia-amber-deep); }
.czia-ciudad .cz-hora{ border-radius:12px; min-height:52px; }
.czia-lista__head{ display:flex; flex-wrap:wrap; align-items:baseline; justify-content:space-between; gap:6px 14px; margin:0 0 14px; }
.czia-lista__h{ font-family:var(--czia-display); font-weight:700; font-size:clamp(1.3rem,1.1rem + .8vw,1.7rem); line-height:1.15; letter-spacing:-.01em; color:var(--czia-fg)!important; margin:0!important; }
.czia-lista__orden{ font-size:13px; color:var(--czia-muted); }
.czia-lista__crit{ text-decoration:underline dotted; text-underline-offset:3px; cursor:help; }

/* enlaces en píldora: zonas, municipios cercanos y del departamento */
.czia-enlaces{ margin-top:24px; }
.czia-enlaces--zonas{ margin-top:32px; }
.czia-enlaces__t{ font-size:12px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--czia-muted); margin:0 0 10px; }
.czia-enlaces ul{ display:flex; flex-wrap:wrap; gap:8px; margin:0; padding:0; list-style:none; }
.czia-enlaces a{ display:inline-flex; align-items:center; gap:6px; min-height:44px; padding:8px 14px; border-radius:999px; border:1px solid var(--czia-line-2); background:var(--czia-surface); text-decoration:none; font-weight:600; font-size:14px; color:var(--czia-fg); }
.czia-enlaces a:hover{ border-color:var(--czia-amber-deep); color:var(--czia-fg); text-decoration:none; }
.czia-enlaces a.is-active{ background:var(--czia-fuerte); border-color:var(--czia-fuerte); color:var(--czia-on-fuerte); }
.czia-enlaces small{ color:var(--czia-muted); font-size:12px; font-weight:600; }
.czia-enlaces a.is-active small{ color:var(--czia-on-fuerte); opacity:.85; }

/* dos columnas: contenido + lateral */
.czia-dos{ display:grid; grid-template-columns:minmax(0,1fr); gap:32px; align-items:start; }
@media (min-width:980px){ .czia-dos{ grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr); gap:56px; } }
.czia-dos__lado{ display:flex; flex-direction:column; gap:18px; min-width:0; }
.czia-h2--m{ font-size:clamp(1.6rem,1.2rem + 1.6vw,2.35rem); }
.czia-h3{ font-family:var(--czia-display); font-weight:700; font-size:1.4rem; line-height:1.1; letter-spacing:-.01em; color:var(--czia-fg)!important; margin:0 0 4px!important; }

/* guía del municipio, organismo y tabla de multas */
.czia-guia{ margin-top:18px; }
.czia-guia p{ margin:0 0 14px; font-size:16px; color:var(--czia-muted); }
.czia-guia p b{ color:var(--czia-fg); }
.czia-guia a, .czia-sec__lead a{ color:var(--czia-fg); font-weight:600; text-decoration:underline; text-decoration-color:var(--czia-amber); text-underline-offset:3px; }
.czia-guia p.czia-guia__editorial{ color:var(--czia-fg); font-size:17px; border-left:3px solid var(--czia-amber); padding-left:14px; }
.czia-caja{ background:var(--czia-surface); border:1px solid var(--czia-line); border-radius:var(--czia-radio); box-shadow:var(--czia-sombra-s); padding:20px; min-width:0; }
.czia-caja__t{ display:flex; gap:8px; align-items:center; margin:0 0 10px; font-size:12px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--czia-muted); }
.czia-caja__t .bi{ color:var(--czia-amber-deep); font-size:15px; }
.czia-caja__nombre{ display:block; font-size:17px; color:var(--czia-fg); }
.czia-caja__sub{ display:block; margin-top:2px; font-size:14px; color:var(--czia-muted); }
.czia-caja__links{ display:flex; flex-wrap:wrap; gap:4px 16px; margin-top:10px; font-size:14px; }
.czia-caja__links a{ display:inline-flex; align-items:center; gap:6px; min-height:36px; font-weight:600; color:var(--czia-fg); text-decoration:underline; text-decoration-color:var(--czia-amber); text-underline-offset:3px; }
.czia-caja__links a:hover{ color:var(--czia-fg); text-decoration-thickness:2px; }
.czia-caja__links a svg{ width:16px; height:16px; flex:none; }
.czia-cxlm:not(.is-abierto) .bi{ display:none; }
.czia-aviso-cia b svg{ width:16px; height:16px; vertical-align:-3px; margin-right:2px; }
.cz-cercana-ico svg{ width:22px; height:22px; }
.czia-caja__links .bi{ color:var(--czia-amber-deep); }
.czia-caja__nota{ margin:12px 0 0; font-size:12.5px; line-height:1.55; color:var(--czia-muted); }
.czia-caja__nota b{ color:var(--czia-fg); }
.czia-caja__nota a, .czia-nota a{ color:var(--czia-fg); text-decoration:underline; text-underline-offset:3px; }
.czia-tabla-wrap{ overflow-x:auto; -webkit-overflow-scrolling:touch; margin:0 -4px; }
.czia-tabla{ width:100%; border-collapse:collapse; font-size:14px; font-variant-numeric:tabular-nums; }
.czia-tabla th, .czia-tabla td{ padding:8px 6px; text-align:right; white-space:nowrap; border-bottom:1px solid var(--czia-line); color:var(--czia-fg); }
.czia-tabla thead th{ font-size:12px; font-weight:700; color:var(--czia-muted); }
.czia-tabla tbody th{ text-align:left; font-weight:400; }
.czia-tabla tbody th small{ color:var(--czia-muted); font-size:11.5px; }
.czia-tabla thead th:first-child{ text-align:left; }
.czia-tabla td.czia-tabla__ok{ font-weight:800; color:var(--czia-amber-ink); background:var(--czia-amber-wash); }
@media (max-width:480px){ .czia-tabla{ font-size:13px; } .czia-tabla th, .czia-tabla td{ padding:7px 4px; } .czia-tabla tbody th small{ display:block; font-size:11px; } }

/* descuento: plazos con fechas reales + calculadora */
.czia-plazos{ display:grid; grid-template-columns:minmax(0,1fr); gap:12px; margin:18px 0 0; padding:0; list-style:none; }
@media (min-width:560px){ .czia-plazos{ grid-template-columns:repeat(2,minmax(0,1fr)); } }
.czia-plazo{ display:flex; gap:14px; align-items:center; padding:16px; border-radius:var(--czia-radio); background:var(--czia-surface); border:1px solid var(--czia-line); }
.czia-plazo--1{ border-color:var(--czia-amber); box-shadow:0 0 0 1px var(--czia-amber); }
.czia-plazo__pct{ flex:none; font-family:var(--czia-display); font-weight:800; font-size:2rem; line-height:1; letter-spacing:-.02em; color:var(--czia-amber-deep); }
.czia-plazo__txt{ display:flex; flex-direction:column; font-size:14.5px; color:var(--czia-fg); }
.czia-plazo__txt span{ font-size:13px; color:var(--czia-muted); }
.czia-nota{ margin:14px 0 0; font-size:13.5px; color:var(--czia-muted); }
.czia-nota b{ color:var(--czia-fg); }
.czia-ciudad .czia-calc{ padding:22px; }
.czia-ciudad .czia-calc .czia-calc__h{ margin-bottom:14px!important; }

/* centros del municipio, aviso para centros y cómo funciona */
.czia-sedes{ display:flex; flex-direction:column; gap:10px; margin:18px 0; padding:0; list-style:none; }
.czia-sede{ display:flex; flex-direction:column; gap:3px; padding:16px 18px; background:var(--czia-surface); border:1px solid var(--czia-line); border-radius:var(--czia-radio); }
.czia-sede__n{ font-family:var(--czia-display); font-weight:700; font-size:1.1rem; color:var(--czia-fg); text-decoration:none; }
.czia-sede__n:hover{ color:var(--czia-fg); text-decoration:underline; text-decoration-color:var(--czia-amber); text-underline-offset:4px; }
.czia-sede__d{ font-size:14px; color:var(--czia-muted); }
.czia-sede__h{ font-size:13px; color:var(--czia-muted); }
.czia-aviso-cia{ display:flex; flex-direction:column; gap:4px; margin-top:4px; padding:16px 18px; border:1px dashed var(--czia-line-2); border-radius:var(--czia-radio); font-size:14px; color:var(--czia-muted); }
.czia-aviso-cia b{ color:var(--czia-fg); }
.czia-aviso-cia .bi{ color:var(--czia-amber-deep); }
.czia-aviso-cia a{ color:var(--czia-fg); font-weight:700; text-decoration:underline; text-decoration-color:var(--czia-amber); text-underline-offset:3px; }
.czia-pasos{ counter-reset:czia-paso; display:flex; flex-direction:column; gap:10px; margin:12px 0 0; padding:0; list-style:none; }
.czia-pasos li{ counter-increment:czia-paso; display:grid; grid-template-columns:40px minmax(0,1fr); column-gap:14px; row-gap:2px; padding:16px; background:var(--czia-surface); border:1px solid var(--czia-line); border-radius:var(--czia-radio); }
.czia-pasos li::before{ content:counter(czia-paso); grid-row:span 2; width:40px; height:40px; border-radius:12px; display:grid; place-items:center; background:var(--czia-fuerte); color:var(--czia-on-fuerte); font-family:var(--czia-display); font-weight:800; font-size:18px; }
.czia-pasos b{ font-size:15.5px; color:var(--czia-fg); }
.czia-pasos span{ font-size:14px; color:var(--czia-muted); }

/* preguntas frecuentes */
.czia-faq-wrap{ max-width:900px; }
.czia-faq{ display:flex; flex-direction:column; gap:10px; margin-top:22px; }
.czia-faq__item{ background:var(--czia-surface); border:1px solid var(--czia-line); border-radius:var(--czia-radio); }
.czia-faq__item > summary{ list-style:none; cursor:pointer; display:flex; justify-content:space-between; align-items:center; gap:14px; min-height:44px; padding:16px 20px; font-weight:700; font-size:16px; color:var(--czia-fg); }
.czia-faq__item > summary::-webkit-details-marker{ display:none; }
.czia-faq__item > summary::after{ content:"+"; flex:none; font-family:var(--czia-display); font-size:24px; line-height:1; color:var(--czia-amber-deep); transition:transform .2s ease; }
.czia-faq__item[open] > summary::after{ transform:rotate(45deg); }
.czia-faq__a{ padding:0 20px 18px; font-size:15px; color:var(--czia-muted); }
.czia-faq__a b{ color:var(--czia-fg); }
@media (prefers-reduced-motion:reduce){ .czia-faq__item > summary::after{ transition:none; } }

/* diagnóstico CXLEX y cierre */
.czia-ciudad .czia-sec--cxl{ padding-top:0; }
.czia-ciudad .czia-sec--cxl .czia-cxl .cxl{ margin-top:0; }
.czia-ciudad .czia-sec--cierre{ padding-top:0; }
.czia-cta__prueba{ display:flex; justify-content:center; gap:8px; margin:14px 0 0; font-size:14px; color:var(--czia-osc-muted); }
.czia-cta__prueba svg{ width:17px; height:17px; flex:none; margin-top:2px; color:var(--czia-osc-acento); }
.czia-cta__fila{ display:flex; flex-wrap:wrap; justify-content:center; gap:8px 20px; margin:22px 0 0; padding:0; list-style:none; font-size:13.5px; color:var(--czia-osc-muted); }
.czia-cta__fila li{ display:inline-flex; gap:7px; align-items:flex-start; text-align:left; }
.czia-cta__fila svg{ width:16px; height:16px; flex:none; margin-top:2px; color:var(--czia-osc-acento); }
