/* ITZÁ — componentes compartidos del sitio (usa tokens.css antes) */
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
html.noanim{scroll-behavior:auto}
img{max-width:100%;display:block}
a{color:var(--itza-turquesa)}
section{padding:var(--sp-5) 5vw;position:relative;overflow:hidden}
.wrap{max-width:var(--ancho-max);margin:0 auto;position:relative;z-index:2}
h1{font-family:var(--itza-display);font-size:var(--fs-hero);line-height:1.05}
h2{font-family:var(--itza-display);font-size:var(--fs-h2);margin-bottom:var(--sp-3)}
h3{font-weight:700;font-size:var(--fs-h3);margin-bottom:var(--sp-2)}
p{max-width:68ch}

/* nav del sitio */
.nav{position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--itza-crema) 90%,transparent);backdrop-filter:blur(10px);border-bottom:1px solid rgba(58,18,41,.09);padding:14px 5vw;display:flex;align-items:center;gap:var(--sp-3);flex-wrap:wrap}
.nav .itza-lockup{font-size:1.7rem;margin-right:auto}
.nav a.lnk{font-size:var(--fs-small);font-weight:600;color:var(--itza-petroleo);text-decoration:none;opacity:.75}
.nav a.lnk:hover,.nav a.lnk.activo{opacity:1;color:var(--itza-turquesa)}
.nav .itza-cta{padding:10px 22px;font-size:var(--fs-small)}

/* héroes y tarjetas */
.hero-oscuro{background:var(--itza-petroleo-2);color:var(--itza-crema)}
.hero-oscuro .itza-kicker{color:var(--itza-agua)}
.hero-oscuro p{color:rgba(247,244,238,.82)}
.script{font-family:var(--itza-script);font-size:1.9em;line-height:1;
  color:var(--itza-orquidea);letter-spacing:0;text-transform:none}
.card{background:var(--itza-blanco);border-radius:var(--radio-m);padding:var(--sp-3);box-shadow:var(--sombra)}
.alt{background:var(--itza-crema-2)}
.grid{display:grid;gap:var(--sp-3)}
/* min(100%,Npx): en pantallas más angostas que N el track cede al 100%
   en vez de desbordar horizontalmente (teléfonos ≤340px) */
.g2{grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr))}
.g3{grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr))}
.g4{grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr))}
.tag{display:inline-block;font-size:var(--fs-small);background:var(--itza-agua);color:var(--itza-petroleo);font-weight:600;padding:4px 14px;border-radius:var(--radio-pill)}
.precio{font-family:var(--itza-display);font-size:1.8rem}
.precio small{font-size:.9rem;font-family:var(--itza-texto);opacity:.6}

/* chips de estado del perfil (llaves exactas del contrato) */
.chip{display:inline-block;font-size:.78rem;font-weight:700;padding:4px 12px;border-radius:var(--radio-pill)}
.chip.revision_medica{background:#F3E8FF;color:#6B4FA1}
.chip.pago_pendiente{background:#FFF2D9;color:#9A6B1F}
.chip.pagada,.chip.preparando{background:rgba(185,140,217,.22);color:#7B4FA1}
.chip.enviada{background:rgba(198,66,126,.14);color:var(--itza-turquesa)}
.chip.entregada{background:var(--itza-turquesa);color:#fff}
.chip.cancelada{background:#F3D6D6;color:#9A3B3B}

/* footer */
footer{background:var(--itza-petroleo-2);color:rgba(247,244,238,.72);padding:var(--sp-4) 5vw;font-size:var(--fs-small)}
footer .itza-lockup{color:var(--itza-crema);font-size:1.6rem;margin-bottom:var(--sp-2)}
footer a{color:var(--itza-agua)}
.leyenda{margin-top:var(--sp-2);opacity:.65;max-width:80ch}

/* quiz */
.paso{display:none}
.paso.activo{display:block}
.opciones{display:grid;gap:12px;margin:var(--sp-3) 0}
.opcion{border:1.5px solid rgba(58,18,41,.16);border-radius:var(--radio-s);padding:16px 18px;cursor:pointer;background:var(--itza-blanco);font-size:1rem;text-align:left;font-family:var(--itza-texto);transition:border-color .15s, background .15s}
.opcion:hover{border-color:var(--itza-turquesa)}
.opcion.sel{border-color:var(--itza-turquesa);background:rgba(244,203,221,.35)}
.barra{height:6px;background:rgba(58,18,41,.1);border-radius:99px;overflow:hidden;margin-bottom:var(--sp-3)}
.barra i{display:block;height:100%;background:var(--itza-grad-agua);transition:width .3s}
input[type=text],input[type=email],input[type=tel]{width:100%;padding:14px 16px;border:1.5px solid rgba(58,18,41,.18);border-radius:var(--radio-s);font-family:var(--itza-texto);font-size:1rem;background:var(--itza-blanco);color:var(--itza-petroleo)}
label{font-size:var(--fs-small);font-weight:600;display:block;margin:var(--sp-2) 0 6px}

/* ── móvil global ── */
@media (max-width:640px){
  section{padding:var(--sp-4) 5vw}
  .nav{gap:12px;padding:10px 4vw}
  .nav .itza-lockup{font-size:1.35rem}
  .nav a.lnk{font-size:.78rem}
  .nav .itza-cta{padding:8px 16px;font-size:.82rem}
  .precio{font-size:1.5rem}
  h2{text-wrap:balance}
}
