/* ═══════════════════════════════════════════════════════════════════════════
   EL TICKET ÚNICO DE LA WEB (2-nov-2026) — la hoja de /web/ticket.js
   Una sola estructura para el pase de pasadías y paquetes y para «Tu viaje» de
   destino abierto. Cambia el COLOR de la cabecera según la sección, con la paleta
   del manual (estilo.css): pasadía = monte (verde), paquete = ámbar (rosa),
   destino abierto = violeta. Lo que paga es verde en las tres (regla del dueño
   del 15-oct: «lo que sea acción para pagar, un color verde llamativo»).
   Aquí no puede ir una comilla invertida: la hoja es un fichero propio, pero el
   mismo cuidado que en viaje.js no sobra.
   ═══════════════════════════════════════════════════════════════════════════ */
.tk{--tk-tinta:#151514; --tk-papel:#FFFCF7; --tk-suave:#F4EFE6; --tk-linea:rgba(21,21,20,.1); --tk-gris:#6E6D68;
  --tk-verde:#1DAA7B; --tk-pagar:linear-gradient(135deg, #3CD29E 0%, #1DAA7B 52%, #12895F 100%); --tk-pagar-sombra:rgba(23,160,110,.75);
  --tk-acento:#874292; --tk-acento-suave:#F3E8F5; --tk-corte:var(--vj-fondo, var(--oa-papel, #F7F3EC));
  --tk-cab:radial-gradient(80% 120% at 105% -10%, rgba(255,255,255,.18), transparent 60%), linear-gradient(140deg, #874292 0%, #5B2563 100%);
  --tk-display:var(--display, 'Bricolage Grotesque', system-ui, sans-serif); --tk-mono:'DM Mono', ui-monospace, Menlo, monospace;
  position:relative; display:block; box-sizing:border-box; width:100%; min-width:0; padding:0; border:0; border-radius:26px;
  background:var(--tk-papel); color:var(--tk-tinta); font-family:var(--cuerpo, inherit); text-align:left;
  box-shadow:0 40px 70px -44px rgba(18,18,17,.55), 0 2px 6px -2px rgba(18,18,17,.08), 0 0 0 1px rgba(21,21,20,.07)}
.tk *, .tk *::before, .tk *::after{box-sizing:border-box}
.tk svg{display:block; flex:none}
.tk--pasadia{--tk-acento:#2C8C76; --tk-acento-suave:#E3F4EF;
  --tk-cab:radial-gradient(80% 120% at 105% -10%, rgba(255,255,255,.22), transparent 60%), linear-gradient(140deg, #3FB499 0%, #22806B 100%)}
.tk--paquete{--tk-acento:#C81E5F; --tk-acento-suave:#FDECF2;
  --tk-cab:radial-gradient(80% 120% at 105% -10%, rgba(255,255,255,.2), transparent 60%), linear-gradient(140deg, #E6276F 0%, #A8164E 100%)}
.tk--abierta{--tk-acento:#874292; --tk-acento-suave:#F3E8F5}
/* Una pieza del ticket suelta en otra pantalla (la tarjeta de Mi cuenta al final del reservador):
   lleva las variables de su sección, pero no el papel ni la sombra del ticket. */
.tk--suelto{background:transparent; box-shadow:none; border-radius:0; margin:14px 0 4px}

/* ── La cabecera COMPACTA (el dueño: «la cabecera de tu viaje puede ser más compacta»):
   ceja + sello en una línea, el título y los datos en una o dos líneas. ── */
.tk__cab{position:relative; overflow:hidden; padding:16px 20px 15px; border-radius:26px 26px 0 0; color:#FFFFFF; background:var(--tk-cab)}
.tk__cab::before{content:''; position:absolute; right:-40px; top:18px; width:150px; height:70px; pointer-events:none;
  border:1.5px dashed rgba(255,255,255,.22); border-bottom:0; border-radius:150px 150px 0 0}
.tk__cab > *{position:relative; z-index:1}
.tk__ceja{display:flex; align-items:center; justify-content:space-between; gap:10px; font-family:var(--tk-mono); font-size:.64rem;
  letter-spacing:.2em; text-transform:uppercase; color:rgba(255,255,255,.88)}
.tk__ceja > span:first-child{display:inline-flex; align-items:center; gap:7px}
.tk__ceja > span:first-child::before{content:''; width:6px; height:6px; border-radius:999px; background:#FFFFFF; flex:none}
.tk__sello{padding:3px 9px; border-radius:999px; background:rgba(255,255,255,.16); box-shadow:inset 0 0 0 1px rgba(255,255,255,.22);
  font-size:.62rem; letter-spacing:.1em; color:#FFFFFF; white-space:nowrap}
.tk__tit{margin:7px 0 2px; color:#FFFFFF; font-family:var(--tk-display); font-weight:700; font-size:1.42rem; line-height:1.12; letter-spacing:-.01em}
/* Una línea por dato (fechas y duración; viajeros): cortar en medio de un «·» se leía mal. */
.tk__datos{display:flex; flex-direction:column; gap:1px; margin:0; font-size:.84rem; line-height:1.4; color:rgba(255,255,255,.9)}
.tk__urg{display:flex; flex-wrap:wrap; gap:6px; margin:9px 0 0}
.tk__urg span{padding:3px 10px; border-radius:999px; background:rgba(0,0,0,.22); font-family:var(--tk-mono); font-size:.66rem; letter-spacing:.08em;
  text-transform:uppercase; color:#FFFFFF}

/* ── El cuerpo, el corte y el pie ── */
.tk__cuerpo{padding:8px 20px 6px}
.tk__corte{position:relative; height:26px}
.tk__corte::before, .tk__corte::after{content:''; position:absolute; top:0; width:26px; height:26px; border-radius:999px; background:var(--tk-corte);
  box-shadow:inset 0 0 0 1px rgba(21,21,20,.07)}
.tk__corte::before{left:-13px} .tk__corte::after{right:-13px}
.tk__corte i{position:absolute; left:22px; right:22px; top:12px; height:0; border-top:1.5px dashed rgba(21,21,20,.18)}
.tk__pie{padding:0 20px 18px}
.tk__barras{display:flex; flex-direction:column; align-items:center; gap:7px; padding:2px 20px 20px}
.tk__barras i{display:block; width:62%; height:28px; opacity:.72;
  background:repeating-linear-gradient(90deg, var(--tk-tinta) 0 2px, transparent 2px 4px, var(--tk-tinta) 4px 5px, transparent 5px 8px,
    var(--tk-tinta) 8px 11px, transparent 11px 12px, var(--tk-tinta) 12px 13px, transparent 13px 17px)}
.tk__barras span{font-family:var(--tk-mono); font-size:.56rem; letter-spacing:.34em; color:rgba(21,21,20,.4)}

/* ── Quiénes viajan: adultos y menores, y la edad de cada menor ── */
.tk-viajeros{display:flex; flex-direction:column; gap:8px; padding:6px 0 12px; border-bottom:1px solid var(--tk-linea)}
.tk-paso{display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:46px}
.tk-paso > span{display:flex; flex-direction:column; font-weight:650; font-size:.95rem; line-height:1.2}
.tk-paso > span small{font-weight:500; font-size:.74rem; color:var(--tk-gris)}
.tk-paso__ctl{display:flex; align-items:center; gap:4px; padding:3px; border-radius:999px; background:var(--tk-suave)}
.tk-paso__ctl b{min-width:30px; text-align:center; font-family:var(--tk-display); font-size:1.1rem; font-variant-numeric:tabular-nums}
.tk-paso__ctl button{display:grid; place-items:center; width:40px; height:40px; padding:0; border:0; border-radius:999px; background:#FFFFFF; color:var(--tk-tinta);
  cursor:pointer; box-shadow:0 1px 2px rgba(0,0,0,.08)}
.tk-paso__ctl button svg{width:18px; height:18px}
.tk-paso__ctl button:disabled{opacity:.35; cursor:default}
.tk-edades{display:grid; grid-template-columns:repeat(auto-fill, minmax(118px, 1fr)); gap:8px}
.tk-edad{display:flex; flex-direction:column; gap:3px; font-size:.74rem; font-weight:650; color:var(--tk-gris)}
.tk-edad select{min-height:44px; padding:0 10px; border:1.5px solid rgba(21,21,20,.16); border-radius:12px; background:#FFFFFF; color:var(--tk-tinta);
  font:inherit; font-size:.9rem; font-weight:600}
.tk-edad select.falta{border-color:var(--tk-acento); box-shadow:0 0 0 3px var(--tk-acento-suave)}

/* ── Las cuentas del pase (valor por persona, viajeros, detalle por edades) ── */
.tk-lineas{display:flex; flex-direction:column; gap:7px; padding:12px 0 4px; font-size:.9rem}
.tk-lineas > div{display:flex; justify-content:space-between; align-items:baseline; gap:12px}
.tk-lineas span{color:#4B4A46}
.tk-lineas b{font-weight:650; font-variant-numeric:tabular-nums; white-space:nowrap}
.tk-lineas .tk-lineas__falta{color:var(--tk-acento); font-weight:600}

/* ── El total ── */
.tk-total{display:block}
.tk-vig + .tk-total{margin-top:12px}
.tk-total > span{display:block; font-family:var(--tk-mono); font-size:.62rem; letter-spacing:.22em; text-transform:uppercase; color:var(--tk-gris)}
.tk-total > b{display:block; margin-top:5px; font-family:var(--tk-display); font-weight:700; font-size:2.1rem; line-height:1; letter-spacing:-.02em; color:var(--tk-tinta); font-variant-numeric:tabular-nums}
.tk-total > small{display:block; margin-top:6px; font-size:.78rem; color:var(--tk-gris)}
.tk-pp{display:inline-block; margin-top:8px; padding:4px 10px; border-radius:999px; background:var(--tk-suave); font-size:.76rem; font-weight:650; font-variant-numeric:tabular-nums}

/* ── La vigencia: «Precio garantizado 20 min», bien visible (el dueño: «más visible») ── */
.tk-vig{display:flex; align-items:flex-start; gap:10px; margin-top:12px; padding:11px 13px; border-radius:14px; background:#FFF6E6; color:#7A4A06;
  box-shadow:inset 0 0 0 1.5px #F6C76B}
.tk-vig__ic{display:grid; place-items:center; width:30px; height:30px; border-radius:999px; background:#F08517; color:#FFFFFF; flex:none}
.tk-vig__ic svg{width:17px; height:17px}
.tk-vig__txt{display:flex; flex-direction:column; gap:1px; min-width:0}
.tk-vig__txt b{font-family:var(--tk-display); font-weight:700; font-size:1rem; line-height:1.2; color:#5E3A05}
.tk-vig__txt small{font-size:.78rem; line-height:1.4}
.tk-vig__txt strong{font-variant-numeric:tabular-nums; font-size:.9rem}
.tk-vig--vencida{background:#FDECEC; color:#7A1F1F; box-shadow:inset 0 0 0 1.5px #F1A3A3}
.tk-vig--vencida .tk-vig__ic{background:#C7372F}
.tk-vig--vencida .tk-vig__txt b{color:#6B1717}
.tk-vig--ok{background:#EAF7F1; color:#1F5C49; box-shadow:inset 0 0 0 1.5px #A9DFCB}
.tk-vig--ok .tk-vig__ic{background:var(--tk-verde)}
.tk-vig--ok .tk-vig__txt b{color:#174B3B}

/* ── Los botones: uno principal (reservar, verde), uno secundario (guardar,
   contorno del color de la sección) y dos terciarios lado a lado ── */
.tk-acciones{display:flex; flex-direction:column; gap:10px; margin-top:16px}
.tk-accion{display:flex; align-items:center; gap:12px; width:100%; margin:0; padding:12px 14px; border:1.5px solid var(--tk-linea); border-radius:16px;
  background:#FFFFFF; color:var(--tk-tinta); font:inherit; text-align:left; cursor:pointer; box-shadow:none;
  transition:border-color .15s ease, box-shadow .15s ease, transform .15s ease, background .15s ease}
.tk-accion__txt{display:flex; flex-direction:column; gap:2px; min-width:0}
.tk-accion b{font-size:.92rem; font-weight:650; line-height:1.25; color:inherit}
.tk-accion small{font-size:.74rem; line-height:1.3; color:var(--tk-gris)}
.tk-accion__ic{flex:none; width:38px; height:38px; border-radius:12px; display:grid; place-items:center; background:var(--tk-suave); color:var(--tk-tinta)}
.tk-accion__ic svg{width:19px; height:19px}
.tk-accion:hover{border-color:var(--tk-tinta); transform:translateY(-1px)}
.tk-accion:focus-visible, .tk-cta:focus-visible, .tk-enlaces > *:focus-visible, .tk-detalle:focus-visible, .tk-quitar:focus-visible, .tk-volver:focus-visible{outline:3px solid rgba(47,107,255,.55); outline-offset:2px}
.tk-accion--reservar{position:relative; overflow:hidden; padding:16px 16px 16px 18px; border:0; color:#FFFFFF;
  background:radial-gradient(90% 140% at 100% 0%, rgba(255,255,255,.22), transparent 55%), var(--tk-pagar);
  box-shadow:0 18px 30px -16px var(--tk-pagar-sombra), inset 0 1px 0 rgba(255,255,255,.28)}
.tk-accion--reservar b{font-family:var(--tk-display); font-weight:700; font-size:1.1rem; color:#FFFFFF; text-wrap:balance; text-shadow:0 1px 1px rgba(0,0,0,.12)}
.tk-accion--reservar small{color:rgba(255,255,255,.92)}
.tk-accion--reservar .tk-accion__ic{order:2; margin-left:auto; width:40px; height:40px; border-radius:999px; background:#FFFFFF; color:#12895F;
  box-shadow:0 8px 18px -8px rgba(0,0,0,.35); transition:transform .2s ease}
.tk-accion--reservar:hover{transform:translateY(-2px); filter:saturate(1.08)}
.tk-accion--reservar:hover .tk-accion__ic{transform:translateX(3px)}
.tk-accion--espera{border:0; background:var(--tk-tinta); color:#FFFFFF}
.tk-accion--espera small{color:rgba(255,255,255,.75)}
.tk-accion--espera .tk-accion__ic{background:rgba(255,255,255,.14); color:#FFFFFF}
.tk-confianza{display:flex; align-items:center; justify-content:center; gap:6px; margin:-2px 0 2px; font-size:.72rem; color:var(--tk-gris)}
.tk-confianza svg{width:13px; height:13px; color:var(--tk-verde)}
.tk-accion--guardar{border-color:var(--tk-acento)}
.tk-accion--guardar .tk-accion__ic{background:var(--tk-acento-suave); color:var(--tk-acento)}
.tk-accion--guardar:hover{border-color:var(--tk-acento); box-shadow:0 12px 24px -18px rgba(21,21,20,.6)}
.tk-par{display:grid; grid-template-columns:1fr 1fr; gap:8px}
.tk-par .tk-accion{flex-direction:column; align-items:flex-start; gap:8px; padding:12px; border-color:transparent; background:var(--tk-suave)}
.tk-par .tk-accion__ic{width:32px; height:32px; border-radius:10px; background:#FFFFFF}
.tk-par .tk-accion__ic svg{width:17px; height:17px}
.tk-par .tk-accion b{font-size:.86rem}
.tk-par .tk-accion small{font-size:.72rem}
.tk-par .tk-accion:hover{border-color:var(--tk-linea); background:#FFFFFF}
/* «Detalle de la salida» (antes «Ver qué incluye y el plan del día»): solo pasadía y paquete. */
.tk-detalle{display:flex; align-items:center; justify-content:center; gap:8px; width:100%; min-height:46px; margin:0; padding:0 14px;
  border:1.5px dashed rgba(21,21,20,.28); border-radius:14px; background:transparent; color:var(--tk-tinta); font:inherit; font-size:.88rem; font-weight:650; cursor:pointer}
.tk-detalle svg{width:17px; height:17px; color:var(--tk-acento)}
.tk-detalle:hover{border-style:solid; border-color:var(--tk-tinta); background:#FFFFFF}

/* ── «Quitar» como botón de verdad (el dueño: «la opción quitar como botón real, más legible») ── */
.tk .tk-quitar{display:inline-flex; align-items:center; gap:6px; min-height:36px; margin:0; padding:0 12px; border:1.5px solid rgba(21,21,20,.2); border-radius:999px;
  background:#FFFFFF; color:var(--tk-tinta); font:inherit; font-size:.8rem; font-weight:650; cursor:pointer; text-decoration:none; transition:all .15s ease}
.tk .tk-quitar svg{width:14px; height:14px}
.tk .tk-quitar:hover{border-color:#C7372F; background:#FDECEC; color:#A3241E}

/* ── Los formularios cortos ── */
.tk-form{display:flex; flex-direction:column; gap:10px; margin-top:16px}
.tk-volver{display:inline-flex; align-items:center; gap:7px; align-self:flex-start; min-height:42px; margin:0; padding:0 15px;
  border:2px solid var(--tk-tinta); border-radius:999px; background:var(--tk-suave); font:inherit; font-size:.9rem; font-weight:700; color:var(--tk-tinta); cursor:pointer}
.tk-volver svg{width:16px; height:16px}
.tk-volver:hover{background:var(--tk-tinta); color:#FFFFFF}
.tk-form__tit{font-family:var(--tk-display); font-weight:700; font-size:1.2rem; line-height:1.2; letter-spacing:-.01em}
.tk-form__intro{margin:-4px 0 2px; font-size:.82rem; line-height:1.45; color:var(--tk-gris)}
.tk-form__intro b{color:var(--tk-tinta)}
.tk-campo{display:flex; flex-direction:column; gap:4px; font-size:.78rem; font-weight:650; color:#4B4A46}
.tk-campo small{font-weight:500; color:var(--tk-gris)}
.tk-campo input, .tk-campo textarea{width:100%; min-height:48px; padding:0 14px; border:1.5px solid rgba(21,21,20,.16); border-radius:13px;
  background:#FFFFFF; font:inherit; font-size:.95rem; font-weight:500; color:var(--tk-tinta); transition:border-color .15s ease, box-shadow .15s ease}
.tk-campo textarea{padding:11px 14px; min-height:76px; resize:vertical}
.tk-campo input::placeholder, .tk-campo textarea::placeholder{color:#A3A29C}
.tk-campo input:focus, .tk-campo textarea:focus{outline:none; border-color:var(--tk-tinta); box-shadow:0 0 0 4px var(--tk-acento-suave)}
.tk-campo input[aria-invalid="true"]{border-color:#C7372F}
.tk-trampa{position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden}
.tk-nota{margin:0; font-size:.76rem; line-height:1.45; color:var(--tk-gris)}
.tk-mal{margin:0; font-size:.84rem; font-weight:650; color:#B42318}
.tk-cta{display:flex; align-items:center; justify-content:center; gap:10px; width:100%; min-height:54px; margin:0; padding:0 18px; border:0; border-radius:16px;
  background:var(--tk-tinta); color:#FFFFFF; font-family:var(--tk-display); font-weight:700; font-size:1.02rem; cursor:pointer; text-decoration:none;
  box-shadow:0 16px 28px -18px rgba(21,21,20,.8), inset 0 1px 0 rgba(255,255,255,.08); transition:transform .15s ease}
.tk-cta svg{width:19px; height:19px}
.tk-cta:hover{transform:translateY(-1px); color:#FFFFFF}
.tk-cta:disabled{opacity:.55; cursor:default; transform:none}
.tk-cta--claro{background:#FFFFFF; color:var(--tk-tinta); box-shadow:none}
.tk-cta--claro:hover{color:var(--tk-tinta)}

/* ── Lo de después: hecho, la cotización en PDF, la cuenta ── */
.tk-listo{display:flex; flex-direction:column; gap:3px; margin-top:14px; padding:12px 14px 12px 46px; position:relative; border-radius:14px;
  background:#EEF8F4; font-size:.86rem; line-height:1.5; color:#24443B}
.tk-listo::before{content:'✓'; position:absolute; left:12px; top:12px; display:grid; place-items:center; width:24px; height:24px; border-radius:999px;
  background:var(--tk-verde); color:#FFFFFF; font-size:.8rem; font-weight:700}
.tk-listo b{font-family:var(--tk-display); font-size:1rem; color:var(--tk-tinta)}
.tk-doc{display:flex; flex-direction:column; gap:10px; margin-top:14px; padding:16px; border-radius:18px; background:var(--tk-suave)}
.tk-doc__tit{display:flex; align-items:center; gap:8px; font-family:var(--tk-display); font-weight:700; font-size:1.02rem}
.tk-doc__tit svg{width:20px; height:20px; color:var(--tk-acento)}
.tk-cta--pdf{background:var(--tk-acento)}
.tk-doc__par{display:grid; grid-template-columns:1fr 1fr; gap:8px}
.tk-doc__b{display:flex; align-items:center; justify-content:center; gap:7px; min-height:48px; padding:6px 10px; border-radius:13px; background:#FFFFFF;
  color:var(--tk-tinta); font-size:.84rem; font-weight:650; text-align:center; text-decoration:none; line-height:1.2}
.tk-doc__b svg{width:18px; height:18px}
.tk-doc__b:hover{box-shadow:0 10px 20px -14px rgba(21,21,20,.55); color:var(--tk-tinta)}
.tk-doc__b--wa{color:#128C4B; box-shadow:inset 0 0 0 1.5px #25D366}
.tk-doc__b--wa svg{color:#25D366}
.tk-enlaces{display:flex; justify-content:center; flex-wrap:wrap; gap:4px; margin-top:12px}
.tk-enlaces > *{display:inline-flex; align-items:center; gap:6px; min-height:42px; padding:0 12px; border:0; border-radius:999px; background:transparent;
  font:inherit; font-size:.84rem; font-weight:650; color:var(--tk-tinta); text-decoration:none; cursor:pointer}
.tk-enlaces > * svg{width:16px; height:16px; color:var(--tk-gris)}
.tk-enlaces > *:hover{background:var(--tk-suave); color:var(--tk-tinta)}
.tk-credencial{position:relative; overflow:hidden; margin-top:14px; padding:18px; border-radius:20px; color:#FFFFFF;
  background:radial-gradient(90% 120% at 100% 0%, rgba(63,180,153,.3), transparent 60%), radial-gradient(80% 100% at 0% 100%, rgba(230,39,111,.22), transparent 60%), var(--tk-tinta)}
.tk-credencial > b{display:flex; align-items:center; gap:8px; font-family:var(--tk-display); font-weight:700; font-size:1.02rem}
.tk-credencial > b svg{width:18px; height:18px; color:#9FE3CF}
.tk-credencial__datos{display:grid; grid-template-columns:1fr 1fr; gap:8px; margin-top:12px}
.tk-credencial__datos div{display:flex; flex-direction:column; gap:4px; padding:10px 12px; border-radius:12px; background:rgba(255,255,255,.07); box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}
.tk-credencial__datos span{font-family:var(--tk-mono); font-size:.58rem; letter-spacing:.12em; text-transform:uppercase; color:rgba(255,255,255,.6)}
.tk-credencial__datos strong{font-family:var(--tk-mono); font-size:.92rem; font-weight:500; letter-spacing:.04em; overflow-wrap:anywhere}
.tk-credencial p{margin:10px 0 0; font-size:.78rem; line-height:1.5; color:rgba(255,255,255,.75)}
.tk-credencial__tarjeta{display:block; width:100%; margin-top:14px; border-radius:14px; box-shadow:0 18px 30px -18px rgba(0,0,0,.8)}
.tk-credencial__acc{display:flex; flex-direction:column; gap:4px; margin-top:14px}
.tk-credencial__baja{display:inline-flex; align-items:center; justify-content:center; gap:6px; min-height:40px; border-radius:12px; color:rgba(255,255,255,.82);
  font-size:.82rem; font-weight:650; text-decoration:none}
.tk-credencial__baja svg{width:15px; height:15px}
.tk-credencial__baja:hover{color:#FFFFFF; background:rgba(255,255,255,.06)}

@media (max-width:420px){
  .tk__cab{padding:14px 16px 13px}
  .tk__cuerpo{padding:6px 16px 4px}
  .tk__pie{padding:0 16px 16px}
  .tk__tit{font-size:1.3rem}
  .tk-total > b{font-size:1.85rem}
}
@media (prefers-reduced-motion:reduce){ .tk-accion, .tk-cta, .tk-accion__ic{transition:none} }
.tk-cta--pagar{background:var(--tk-pagar); text-shadow:0 1px 1px rgba(0,0,0,.12); box-shadow:0 16px 28px -14px var(--tk-pagar-sombra), inset 0 1px 0 rgba(255,255,255,.28)}
.tk-cta--pagar:hover{filter:saturate(1.08)}

/* ── El reservador de pasadías y paquetes (reserva.js): la edad de cada menor (2-nov-2026).
   Va aquí y no en estilo.css porque esa hoja la comparten Mi cuenta y la entrada, y subir
   su versión en una sola página dejaría las otras con la copia vieja. ── */
.rs-edades{display:grid; grid-template-columns:repeat(auto-fill, minmax(150px, 1fr)); gap:8px}
.rs-edad select[aria-invalid="true"]{border-color:var(--ambar); box-shadow:0 0 0 3px rgba(230,39,111,.15)}

/* La cotización ya hecha (destino abierto): el título dice qué pasó y es más largo. */
.tk--listo .tk__tit{font-size:1.18rem; line-height:1.25}
.tk--listo .tk__cuerpo{padding-top:12px}
.tk--listo .tk__cuerpo > .tk-listo{margin-top:0}
