/* ========================================
   WalkMe · Cotizador del home "Reserva sola" (oct-2026)
   Modal de 3 pasos: Cotiza → Tu total → Tus datos (el 4º es cupon-tour.html).
   Usa los tokens de assets/styles.css (no redefine colores ni tipografías).
   Lo carga solo index.html / index-en.html junto con assets/cotizador-home.js.
   ======================================== */
.ch-lock{overflow:hidden}
/* Entrada/salida (plan 001): transiciones interrumpibles, mismo lenguaje que .qmodal en styles.css.
   El fondo se funde; la caja entra con escala .97→1 y curva tipo iOS; la salida es más rápida que la entrada. */
.ch-overlay{position:fixed;inset:0;z-index:2000;background:rgba(13,46,26,.82);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:16px;overflow-y:auto;opacity:0;transition:opacity .2s var(--ease-out)}
.ch-overlay[hidden]{display:none}
.ch-overlay.is-open{opacity:1;transition:opacity .28s var(--ease-ios)}
.ch-box *,.ch-box *::before,.ch-box *::after{box-sizing:border-box}
.ch-box{position:relative;box-sizing:border-box;background:var(--cream);color:var(--green);border-radius:26px;width:100%;max-width:520px;max-height:94vh;overflow-y:auto;overflow-x:hidden;padding:24px 20px 20px;box-shadow:0 30px 70px rgba(0,0,0,.55);transform:translateY(16px) scale(.97);opacity:0;transition:transform .2s var(--ease-out),opacity .2s var(--ease-out)}
.ch-overlay.is-open .ch-box{transform:none;opacity:1;transition:transform .32s var(--ease-ios),opacity .28s var(--ease-ios)}
/* Cambio de paso (Continuar / Atrás): el contenido nuevo sube 10px y aparece. Solo lo activa ir() en el JS. */
@keyframes chStep{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.ch-in.ch-enter{animation:chStep .22s var(--ease-out) both}
.ch-x{position:absolute;top:10px;right:10px;width:44px;height:44px;border:0;border-radius:50%;background:rgba(13,46,26,.08);color:var(--green);font-size:26px;line-height:1;cursor:pointer;transition:transform .16s var(--ease-out)}
.ch-x:hover{background:rgba(13,46,26,.16)}
.ch-x:active{transform:scale(.92);transition:transform .08s var(--ease-out)}
.ch-h{font-family:'TravelSoul','GTEesti',serif;font-size:clamp(30px,6vw,40px);line-height:1;margin:0 44px 4px 0;color:var(--pink)}
.ch-d{font-size:14px;opacity:.8;margin:0 0 14px;line-height:1.4}

/* Barra de pasos */
.ch-steps{display:flex;gap:6px;margin:4px 44px 16px 0;padding:0;list-style:none}
.ch-steps li{flex:1;font-size:11.5px;text-align:center;opacity:.55}
.ch-steps li::before{content:"";display:block;height:5px;border-radius:9px;background:rgba(13,46,26,.15);margin-bottom:5px}
.ch-steps li.on{opacity:1;font-weight:bold}
.ch-steps li.on::before,.ch-steps li.done::before{background:var(--orange)}
.ch-steps li.done{opacity:.8}
.ch-steps li button{display:block;width:100%;padding:0;border:0;background:none;font:inherit;color:inherit;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.ch-steps li button:hover{opacity:1;color:var(--orange)}
/* "← Regresar" arriba del título (pasos 2 y 3) */
.ch-atras{display:inline-flex;align-items:center;min-height:40px;margin:-6px 0 4px -10px;padding:0 10px;border:0;border-radius:20px;background:none;font:inherit;font-size:14px;font-weight:bold;color:var(--green);cursor:pointer;transition:transform .16s var(--ease-out)}
.ch-atras:active{transform:scale(.97);transition:transform .08s var(--ease-out)}
.ch-atras:hover{background:rgba(13,46,26,.08)}

/* Etiquetas de bloque */
.ch-l{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:bold;text-transform:uppercase;letter-spacing:.06em;opacity:.7;margin:18px 0 8px}
.ch-l svg{width:16px;height:16px;flex:none}
.ch-hint{font-size:12.5px;opacity:.72;line-height:1.4;margin:6px 0 0}

/* Experiencias */
.ch-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.ch-exp{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-height:64px;border:2px solid rgba(13,46,26,.15);border-radius:14px;background:#fff;padding:10px 12px;text-align:left;font:inherit;color:inherit;cursor:pointer;transition:border-color .2s,background .2s,transform .16s var(--ease-out)}
.ch-exp b{font-size:14.5px;line-height:1.2;padding-right:18px}
.ch-exp small{font-size:12.5px;opacity:.7}
.ch-exp[aria-pressed="true"]{border-color:var(--orange);background:#fff8ee}
.ch-exp[aria-pressed="true"]::after{content:"✓";position:absolute;top:7px;right:10px;color:var(--orange);font-weight:900}
.ch-exp:disabled{opacity:.4;cursor:not-allowed}
.ch-exp:not(:disabled):active{transform:scale(.98);transition:transform .08s var(--ease-out),border-color .2s,background .2s}
.ch-exp:focus-visible{outline:3px solid var(--pink);outline-offset:2px}
.ch-exp--joya{grid-column:1 / -1;background:var(--green);color:var(--yellow);border-color:var(--green)}
.ch-exp--joya small{color:#fff}
.ch-exp--joya[aria-pressed="true"]{background:var(--green-mid);border-color:var(--yellow)}
.ch-exp--joya[aria-pressed="true"]::after{color:var(--yellow)}
.ch-more{grid-column:1 / -1;display:block;width:100%;min-height:48px;margin-top:8px;padding:10px 16px;border:2px dashed rgba(13,46,26,.3);border-radius:14px;background:transparent;font:inherit;font-weight:bold;font-size:14.5px;line-height:1.3;text-align:center;color:var(--green);cursor:pointer;transition:transform .16s var(--ease-out)}
.ch-more:active{transform:scale(.97);transition:transform .08s var(--ease-out)}
.ch-more:hover{background:#fff}
.ch-tag{font-size:11px;font-weight:bold;text-transform:uppercase;letter-spacing:.05em;color:var(--orange);grid-column:1 / -1;margin:6px 0 -2px}

/* Zona 2×2 */
.ch-zonas{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.ch-zona{min-height:48px;border:2px solid rgba(13,46,26,.15);border-radius:14px;background:#fff;font:inherit;font-size:14.5px;color:inherit;cursor:pointer;padding:8px;transition:transform .16s var(--ease-out)}
.ch-zona:active{transform:scale(.97);transition:transform .08s var(--ease-out)}
.ch-zona[aria-pressed="true"]{background:var(--green);border-color:var(--green);color:#fff;font-weight:bold}

/* Personas */
.ch-pax{display:flex;align-items:center;justify-content:space-between;background:#fff;border:2px solid rgba(13,46,26,.15);border-radius:14px;padding:6px 8px 6px 14px;margin-bottom:8px;font-size:15px}
.ch-pax small{display:block;font-size:12px;opacity:.65}
.ch-stepper{display:inline-flex;align-items:center;gap:6px}
.ch-stepper button{width:44px;height:44px;border-radius:50%;border:2px solid var(--green);background:#fff;color:var(--green);font-size:24px;line-height:1;cursor:pointer;transition:transform .16s var(--ease-out)}
.ch-stepper button:hover{background:var(--yellow)}
.ch-stepper button:active{transform:scale(.92);transition:transform .08s var(--ease-out)}
.ch-stepper output{min-width:34px;text-align:center;font-family:'TravelSoul','GTEesti',serif;font-size:30px}

/* Fechas por experiencia */
.ch-fechas{display:flex;flex-direction:column;gap:8px}
.ch-fila{background:#fff;border-radius:14px;padding:12px;border:2px solid rgba(13,46,26,.1)}
.ch-fila > b{display:block;font-size:14.5px;margin-bottom:8px}
.ch-campos{display:grid;grid-template-columns:1fr;gap:8px}
.ch-campos label{display:block;font-size:12.5px;font-weight:bold}
.ch-campos input,.ch-campos select,.ch-f input{display:block;width:100%;height:48px;margin-top:4px;border:1.5px solid rgba(13,46,26,.28);border-radius:12px;padding:0 12px;font-size:16px;font-family:inherit;color:var(--green);background:#fff;min-width:0}
.ch-campos input[type="date"]{-webkit-appearance:none;appearance:none;box-sizing:border-box;max-width:100%;text-align:left;line-height:46px;padding-top:0;padding-bottom:0}
.ch-campos input[type="date"]::-webkit-date-and-time-value{text-align:left;margin:0}
.ch-campos input[type="date"]::-webkit-calendar-picker-indicator{opacity:.6}
.ch-campos input:focus,.ch-campos select:focus,.ch-f input:focus{outline:3px solid var(--pink);outline-offset:1px;border-color:var(--pink)}
.ch-vacio{font-size:14px;opacity:.7;background:#fff;border-radius:14px;padding:14px;text-align:center;margin:0}

/* Botones */
.ch-cta{display:flex;align-items:center;justify-content:center;width:100%;min-height:54px;margin-top:18px;border:0;border-radius:99px;background:var(--orange);color:#fff;font:inherit;font-weight:bold;font-size:17px;cursor:pointer;transition:transform .16s var(--ease-out)}
.ch-cta:not(:disabled):active{transform:scale(.97);transition:transform .08s var(--ease-out)}
.ch-cta:disabled{opacity:.55;cursor:wait}
.ch-back{display:block;margin:10px auto 0;min-height:44px;border:0;background:none;font:inherit;font-size:14px;color:var(--green);text-decoration:underline;text-underline-offset:3px;cursor:pointer;transition:transform .16s var(--ease-out)}
.ch-back:active{transform:scale(.97);transition:transform .08s var(--ease-out)}
.ch-send{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:14px}
.ch-send a{display:flex;align-items:center;justify-content:center;gap:6px;min-height:44px;border-radius:99px;border:1.5px solid rgba(13,46,26,.25);font-size:13.5px;font-weight:bold;color:var(--green);text-decoration:none;background:#fff;transition:transform .16s var(--ease-out)}
.ch-send a:active{transform:scale(.97);transition:transform .08s var(--ease-out)}
.ch-send a svg{width:18px;height:18px;flex:none}
.ch-send--main{margin-top:12px}
.ch-send--main a{min-height:56px;font-size:16px}
.ch-send a[data-enviar="wa"]{background:var(--wa);border-color:var(--wa);color:#fff}
.ch-falta{background:#fff1dc;color:#7a4300;border-radius:14px;padding:12px 14px;margin-top:12px;font-size:14px;line-height:1.4}
.ch-falta ul{margin:6px 0 0;padding-left:18px}
.ch-send-l{grid-column:1 / -1;text-align:center;font-size:12.5px;opacity:.7;margin:0}
.ch-lead{display:block;width:100%;height:48px;border:1.5px solid rgba(13,46,26,.28);border-radius:12px;padding:0 12px;font-size:16px;font-family:inherit;color:var(--green);background:#fff;min-width:0}
.ch-lead:focus{outline:3px solid var(--pink);outline-offset:1px;border-color:var(--pink)}
.ch-lead-hint{grid-column:1 / -1;text-align:center;font-size:12.5px;line-height:1.35;opacity:.75;margin:0}
.ch-lead-hint.ch-lead-err{opacity:1;color:#8c1236;font-weight:bold}
@media (max-width:380px){.ch-send{grid-template-columns:1fr}}

/* Total */
.ch-best{display:flex;gap:10px;align-items:center;background:#e7f4ea;border-radius:14px;padding:12px;font-size:14px;line-height:1.35;margin:4px 0 12px}
.ch-best svg{flex:none;width:28px;height:28px;color:#1a7d3c}
.ch-lineas{background:#fff;border-radius:16px;padding:6px 14px}
.ch-linea{padding:10px 0;border-bottom:1px solid rgba(13,46,26,.1)}
.ch-linea:last-child{border-bottom:0}
.ch-linea > b{display:block;font-size:15px;line-height:1.25}
.ch-linea .ch-cuando{display:block;font-size:12.5px;opacity:.7;margin:2px 0 4px}
.ch-pp{display:flex;justify-content:space-between;gap:10px;font-size:13.5px;opacity:.85}
.ch-imp{display:flex;justify-content:space-between;gap:10px;font-size:15px;margin-top:4px}
.ch-imp b{font-size:15.5px}
.ch-incl{font-size:12.5px;opacity:.75;margin:4px 0 0;line-height:1.4}
.ch-desc{display:flex;justify-content:space-between;gap:10px;font-size:14.5px;color:#1a7d3c;padding:10px 0;border-bottom:1px solid rgba(13,46,26,.1)}
.ch-tot{display:flex;justify-content:space-between;align-items:baseline;gap:10px;padding:12px 0 8px;font-size:20px;font-weight:bold;border-top:2px dashed rgba(13,46,26,.2)}
.ch-nota{font-size:13px;line-height:1.4;border-radius:12px;padding:10px 12px;margin:10px 0 0}
.ch-nota--info{background:#e9eefb}
.ch-nota--warn{background:#fff1dc;color:#7a4300}
.ch-nota--ok{background:#e7f4ea}
.ch-m0{margin:0}
.ch-nota--usd{background:#fff;border:1.5px dashed rgba(13,46,26,.3)}

/* Elegir cómo pagar */
.ch-opts{display:flex;flex-direction:column;gap:8px;border:0;margin:0;padding:0}
.ch-opt{display:flex;cursor:pointer}
.ch-opt input{position:absolute;opacity:0;pointer-events:none}
.ch-opt > span{flex:1;display:flex;align-items:center;gap:12px;border:2px solid rgba(13,46,26,.18);border-radius:16px;background:#fff;padding:12px 14px;transition:border-color .2s,background .2s,transform .16s var(--ease-out)}
.ch-opt:active > span{transform:scale(.98);transition:transform .08s var(--ease-out),border-color .2s,background .2s}
.ch-opt i{flex:none;width:44px;height:44px;border-radius:12px;display:grid;place-items:center;font-style:normal;font-weight:900;font-size:14px;color:#fff;background:var(--orange)}
.ch-opt i svg{width:24px;height:24px}
.ch-opt b{display:block;font-size:15px}
.ch-opt small{display:block;font-size:12.5px;opacity:.72;line-height:1.35}
.ch-opt input:checked + span{border-color:var(--green);background:#f3f8f2}
.ch-opt input:focus-visible + span{outline:3px solid var(--pink);outline-offset:2px}

/* Datos */
.ch-form{display:flex;flex-direction:column;gap:12px}
.ch-f span{display:block;font-weight:bold;font-size:14px}
.ch-hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.ch-hoy{display:flex;justify-content:space-between;align-items:baseline;background:#fff;border-radius:14px;padding:12px 14px;font-size:15px}
.ch-hoy b{font-size:20px;color:var(--pink)}
.ch-err{margin:12px 0 0;background:#fde8ee;color:#8c1236;border-radius:10px;padding:10px 12px;font-size:14px;font-weight:bold}
.ch-err[hidden]{display:none}
.ch-trust{display:flex;justify-content:space-around;gap:6px;text-align:center;font-size:11.5px;opacity:.75;margin-top:12px}
.ch-trust svg{display:block;width:22px;height:22px;margin:0 auto 3px}

@media (max-width:480px){
  .ch-overlay{padding:0;align-items:stretch}
  .ch-box{max-width:none;max-height:none;min-height:100%;border-radius:0;padding:18px 16px 24px;transform:translateY(100%);opacity:1}
  .ch-overlay.is-open .ch-box{transform:none}
}
/* Movimiento reducido: se queda el fundido, nada se desplaza */
@media (prefers-reduced-motion:reduce){
  .ch-box,.ch-overlay.is-open .ch-box{transform:none}
  .ch-in.ch-enter{animation:none}
}

/* Cobro fácil (31-oct-2026): precio de lista tachado, etiqueta de descuento, idioma del tour */
.ch-was{opacity:.55;text-decoration:line-through;font-size:14px}
.ch-etq{display:inline-block;margin-top:4px;padding:2px 10px;border-radius:999px;background:rgba(26,125,60,.12);color:#1a7d3c;font-size:13px;font-weight:bold}
.ch-lang{display:block;margin-top:4px}
.ch-lang select{display:block;width:100%;height:48px;margin-top:4px;border:1.5px solid rgba(13,46,26,.28);border-radius:12px;padding:0 12px;font-size:16px;font-family:inherit;color:var(--green);background:#fff}
