/* cancun100-modal · panel de reserva (ORDEN-PANEL-FIJO-1). Base comun a las tres skins: solo tokens del tema.
   Las skins (panel-marco/nueva/cyber.css) redefinen los tokens --p-* dentro de #reservar. */
#reservar .c100p{--p-bg:var(--s);--p-tx:var(--tx);--p-mu:var(--mu);--p-dim:var(--dim);--p-rl:var(--rl);--p-rl2:var(--rl2);--p-el:var(--el);--p-ac:var(--ac);--p-onac:var(--onac);--p-ai:var(--ai);--p-btn:var(--ac);--p-onbtn:var(--onac);--p-r:var(--r);--p-cab:var(--p-bg);--p-oncab:var(--p-tx);--p-pie:var(--p-el);--p-onpie:var(--p-tx);
  position:relative;display:flex;flex-direction:column;min-height:0;max-height:inherit;color:var(--p-tx);background:var(--p-bg);font-family:var(--ui);font-size:var(--fs-sm);line-height:1.45}
#reservar .c100p *{box-sizing:border-box}
#reservar{container-type:inline-size}
#reservar .c100p button{font-family:inherit;color:inherit}
/* Respaldo sin JS: precio y WhatsApp. Con JS, el formulario. */
#reservar .c100p__sin{padding:20px 22px;display:flex;flex-direction:column;gap:10px}
#reservar .c100p__sin b{font-size:30px;font-weight:800;letter-spacing:-.03em}
#reservar .c100p--js .c100p__sin{display:none}
#reservar .c100p__form{display:flex;flex-direction:column;min-height:0;max-height:inherit}
/* Escritorio (ORDEN-PANEL-RESERVA-ABIERTO-1, A-PAN1): abierto y completo, en una sola columna. Sin alto maximo, sin
   desplazamiento interno, sin secciones plegadas y sin pegarse: se va con la pagina. El lugar y la rejilla los pone el tema. */
@media (min-width:1000px){#reservar{display:flex;flex-direction:column;align-self:start}
  #reservar .c100p,#reservar .c100p__form{max-height:none}
  #reservar .c100p .c100p__cuerpo{flex:none;overflow:visible}
  #reservar .c100p .c100p__mas>summary{display:none}
  /* A-PAN1b: un solo acomodo para tour, combo y paquete en las tres máscaras, con las medidas del paquete. La máscara
     pone el color; la medida es esta. (.c100p.c100p[data-skin] pesa más que las reglas de cada máscara, que cargan después.) */
  #reservar .c100p.c100p[data-skin] .c100p__cuerpo{gap:14px;padding:20px 24px}
  #reservar .c100p.c100p[data-skin] .c100p__sec--fecha .c100p__fila{gap:7px;overflow-x:auto;scrollbar-width:thin}
  #reservar .c100p.c100p[data-skin] .c100p__chip--dia{flex:1 1 0;min-width:44px;min-height:58px;padding:6px 2px;border-radius:12px}
  #reservar .c100p.c100p[data-skin] .c100p__chip--dia b{font-size:18px}
  #reservar .c100p.c100p[data-skin] .c100p__chip--dia small{margin:0 0 1px;font-size:10px;white-space:nowrap}
  #reservar .c100p.c100p[data-skin] .c100p__cal-btn{align-self:stretch;width:100%;justify-content:center;min-height:44px;border-radius:14px}
  #reservar .c100p.c100p[data-skin] .c100p__pax{border:0;border-radius:0;background:transparent}
  #reservar .c100p.c100p[data-skin] .c100p__pax-fila{display:grid;grid-template-columns:minmax(0,1fr) 44px 36px 44px;align-items:center;column-gap:8px;padding:6px 0}
  #reservar .c100p.c100p[data-skin] .c100p__pax-fila small{display:block}
  #reservar .c100p.c100p[data-skin] .c100p__pm{width:44px;height:44px;padding:0;border-radius:12px;border-width:1.5px}
  #reservar .c100p.c100p[data-skin] .c100p__n{width:36px}
  #reservar .c100p.c100p[data-skin] .c100p__btn{min-height:var(--c100-btn-alto,52px);border-radius:16px;font-size:var(--c100-btn-fuente,1rem)}
}
#reservar .c100p__cab{flex:none;position:relative;padding:20px 22px 16px;border-bottom:1px solid var(--p-rl);background:var(--p-cab);color:var(--p-oncab);display:flex;flex-direction:column;gap:4px}
#reservar .c100p__cab>div{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}
#reservar .c100p__cab .c100p__rot{font-family:var(--mo-f);font-size:var(--fs-xs);opacity:.8}
#reservar .c100p__desde{font-size:32px;font-weight:800;letter-spacing:-.03em;line-height:1.05}
#reservar .c100p__sub{font-size:var(--fs-sm);opacity:.8}
#reservar .c100p__cab s{opacity:.7;font-family:var(--mo-f);font-size:15px}
#reservar .c100p__cab-sub{font-size:13px;font-weight:600;color:var(--p-ai)}
#reservar .c100p__cab>.c100p__pase{display:none}
#reservar .c100p__cerrar{position:absolute;top:14px;right:14px;width:40px;height:40px;border-radius:var(--p-r);border:1px solid var(--p-rl);background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center}
#reservar .c100p__cuerpo{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:16px 22px;display:flex;flex-direction:column;gap:15px}
#reservar .c100p__sec{display:flex;flex-direction:column;gap:8px}
#reservar .c100p__rot{font-family:var(--mo-f);font-size:var(--fs-xs);color:var(--p-mu);letter-spacing:.02em}
#reservar .c100p__fila{display:flex;gap:7px}
#reservar .c100p__chip{flex:1 1 0;min-width:0;min-height:44px;padding:9px 6px;border-radius:var(--p-r);border:1px solid var(--p-rl);background:transparent;cursor:pointer;text-align:center;transition:border-color .12s var(--ez),background .12s var(--ez)}
#reservar .c100p__chip:hover{border-color:var(--p-ac)}
#reservar .c100p__chip[aria-pressed=true]{border:1.5px solid var(--p-ac);background:var(--p-el)}
#reservar .c100p__chip:disabled{opacity:.35;cursor:default}
#reservar .c100p__chip b{display:block;font-size:var(--fs-sm);font-weight:700}
#reservar .c100p__chip small{display:block;font-family:var(--mo-f);font-size:var(--fs-xs);color:var(--p-mu);margin-top:2px}
#reservar .c100p__chip[aria-pressed=true] small{color:var(--p-ai)}
#reservar .c100p__chip i{display:none}
#reservar .c100p__chip--dia b{font-size:15px}
#reservar .c100p__chip--dia small{margin:0 0 1px;font-family:var(--ui);font-size:10px}
#reservar .c100p__nota{font-size:var(--fs-xs);color:var(--p-dim)}
#reservar .c100p__dif{font-size:var(--fs-xs);color:var(--p-mu)}
#reservar .c100p__cal-btn{align-self:flex-start;display:inline-flex;align-items:center;gap:7px;min-height:44px;padding:.5rem .85rem;border-radius:var(--p-r);border:1.5px solid var(--p-rl);background:transparent;font-size:var(--fs-xs);font-weight:800;cursor:pointer}
#reservar .c100p__cal-btn svg{stroke:var(--p-ac)}
#reservar .c100p__cal{border:1px solid var(--p-rl);border-radius:var(--p-r);background:var(--p-bg);padding:10px}
#reservar .c100p__cal-cab{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px;font-weight:700}
#reservar .c100p__cal-nav{width:44px;height:44px;border-radius:9px;border:1px solid var(--p-rl);background:transparent;cursor:pointer;font-size:16px}
#reservar .c100p__cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}
#reservar .c100p__cal-grid span{font-family:var(--mo-f);font-size:10px;color:var(--p-mu);text-align:center;padding:2px 0}
#reservar .c100p__cal-grid button{aspect-ratio:1;border-radius:9px;border:1px solid transparent;background:transparent;cursor:pointer;font-weight:700;font-size:var(--fs-sm)}
#reservar .c100p__cal-grid button:hover:not(:disabled){border-color:var(--p-ac)}
#reservar .c100p__cal-grid button:disabled{color:var(--p-dim);cursor:default;font-weight:400}
#reservar .c100p__cal-grid button[aria-pressed=true]{border:1.5px solid var(--p-ac);background:var(--p-el);color:var(--p-ai)}
#reservar .c100p__pax{border-radius:var(--p-r);border:1px solid var(--p-rl);background:var(--p-bg);overflow:hidden}
#reservar .c100p__pax-fila{display:flex;align-items:center;gap:10px;padding:8px 12px;border-bottom:1px solid var(--p-rl2)}
#reservar .c100p__pax-fila:last-child{border-bottom:0}
#reservar .c100p__pax-fila>span{flex:1 1 auto;min-width:0}
#reservar .c100p__pax-fila b{display:block;font-size:var(--fs-sm);font-weight:700}
#reservar .c100p__pax-fila small{display:block;font-size:var(--fs-xs);color:var(--p-mu)}
#reservar .c100p__n{font-family:var(--mo-f);font-size:15px;font-weight:700;width:22px;text-align:center}
#reservar .c100p__pm{width:44px;height:44px;border-radius:10px;border:1px solid var(--p-rl);background:transparent;font-size:18px;line-height:1;cursor:pointer}
#reservar .c100p__pm--mas{border-color:var(--p-ac);color:var(--p-ai)}
#reservar .c100p__pm:disabled{opacity:.35;cursor:default}
#reservar .c100p__mas{border:0}
#reservar .c100p__mas>summary{list-style:none;cursor:pointer;font-family:var(--mo-f);font-size:var(--fs-xs);color:var(--p-mu);padding:6px 0}
#reservar .c100p__mas>summary::-webkit-details-marker{display:none}
#reservar .c100p:not([data-skin=nueva]) .c100p__mas>summary{display:none}
#reservar .c100p__mas>.c100p__sec{margin-top:10px}
#reservar .c100p__des{border:1px solid var(--p-rl);border-radius:var(--p-r);background:var(--p-bg);padding:4px 12px}
#reservar .c100p__des>div{display:flex;justify-content:space-between;gap:10px;padding:7px 0;border-bottom:1px solid var(--p-rl2);font-size:var(--fs-sm)}
#reservar .c100p__des>div:last-child{border-bottom:0}
#reservar .c100p__des b{font-family:var(--mo-f);font-weight:700;white-space:nowrap}
#reservar .c100p__des-desc span{color:var(--p-ai)}
#reservar .c100p__pie{flex:none;padding:14px 22px 18px;border-top:1px solid var(--p-rl);background:var(--p-pie);color:var(--p-onpie);display:flex;flex-direction:column;gap:10px}
#reservar .c100p__tot{display:flex;align-items:flex-end;gap:10px}
#reservar .c100p__tot>div:first-child{flex:1 1 auto;min-width:0}
#reservar .c100p__tot-res{font-size:12px;opacity:.75}
#reservar .c100p__tot-n{font-family:var(--mo-f);font-size:26px;font-weight:700;line-height:1.15;letter-spacing:-.02em}
#reservar .c100p__tot-n small{font-size:13px;opacity:.7;font-weight:500}
#reservar .c100p__usd{text-align:right;padding-bottom:3px}
#reservar .c100p__usd small{display:block;font-size:var(--fs-xs);opacity:.7}
#reservar .c100p__usd b{font-family:var(--mo-f);font-size:13px;opacity:.85;font-weight:500}
#reservar .c100p__err{font-size:var(--fs-xs);font-weight:700;border-left:2px solid var(--p-ac);padding-left:8px}
#reservar .c100p__err:empty{display:none}
/* Auditoría de botones 3D (B, RESPUESTAS 12:49): alto, letra, peso, relleno y canto de las variables comunes de B (respaldo entre paréntesis) */
#reservar .c100p__btn{width:100%;min-height:var(--c100-btn-alto,52px);padding:.7rem var(--c100-btn-pl,22px);border-radius:var(--p-r);border:0;background:var(--p-btn);color:var(--p-onbtn);font-size:var(--c100-btn-fuente,1rem);font-weight:var(--c100-btn-peso,800);cursor:pointer;box-shadow:0 var(--c100-btn-canto,5px) 0 var(--c100p-canto,var(--goedge,transparent));transition:transform 150ms ease,box-shadow 150ms ease}
/* BOTONES 3D (Marco 19:02/19:07, regla del tema tarjeta-2.css): canto de 3 px en reposo; hover solo con ratón (sube 2 px y el canto crece 2);
   al presionar baja hasta la base y el canto se va (80 ms); con movimiento reducido, solo brillo. El color del canto lo da cada skin (--c100p-canto). */
@media (hover:hover) and (pointer:fine){#reservar .c100p__btn:not([disabled]):hover{transform:translateY(-2px);box-shadow:0 calc(var(--c100-btn-canto,5px) + 2px) 0 var(--c100p-canto,var(--goedge,transparent))}}
#reservar .c100p__btn:not([disabled]):active{transform:translateY(var(--c100-btn-canto,5px));box-shadow:0 0 0 var(--c100p-canto,var(--goedge,transparent));transition-duration:80ms}
@media (prefers-reduced-motion:reduce){#reservar .c100p__btn,#reservar .c100p__btn:not([disabled]):hover,#reservar .c100p__btn:not([disabled]):active{transform:none;transition:none;box-shadow:0 var(--c100-btn-canto,5px) 0 var(--c100p-canto,var(--goedge,transparent))}#reservar .c100p__btn:not([disabled]):hover{filter:brightness(1.04)}#reservar .c100p__btn:not([disabled]):active{filter:brightness(.9)}}
#reservar .c100p__btn[disabled]{opacity:.55;cursor:not-allowed}
#reservar .c100p__btn2{width:100%;min-height:44px;padding:.6rem 1rem;border-radius:var(--p-r);border:1.5px solid var(--p-rl);background:transparent;color:var(--p-mu);font-size:var(--fs-sm);font-weight:800;cursor:not-allowed;display:flex;align-items:center;justify-content:center;gap:8px}
#reservar .c100p__btn2 small{font-family:var(--mo-f);font-size:var(--fs-xs);font-weight:500;opacity:.7}
#reservar .c100p__wa{display:flex;align-items:center;justify-content:center;min-height:44px;border-radius:var(--p-r);border:1px solid var(--p-rl);color:inherit;text-decoration:none;font-size:var(--fs-sm);font-weight:700}
#reservar .c100p__sellos{font-family:var(--mo-f);font-size:10px;opacity:.7;text-align:center;letter-spacing:.02em}
/* Movil: el mismo nodo es la hoja que abre el dock. Un solo formulario en el DOM. */
@media (max-width:999px){
  #reservar{display:none}
  #reservar.c100p--abierta{display:block;position:fixed;left:0;right:0;bottom:0;z-index:400;max-height:92dvh;border-radius:22px 22px 0 0;overflow:hidden;box-shadow:0 -20px 60px rgba(0,0,0,.35)}
  #reservar.c100p--abierta::before{content:"";position:fixed;inset:0;z-index:-1;background:rgba(0,0,0,.55)}
  #reservar.c100p--abierta .c100p,#reservar.c100p--abierta .c100p__form{max-height:92dvh}
  body.c100p-hoja{overflow:hidden}
  #reservar.c100p--abierta .c100p__cab{padding-right:64px}
  @media (prefers-reduced-motion:no-preference){#reservar.c100p--abierta{animation:c100p-sube .28s var(--ez)}@keyframes c100p-sube{from{transform:translateY(24px);opacity:0}to{transform:none;opacity:1}}}
}
/* El dialogo (temas sin panel): el mismo formulario dentro de <dialog>. */
.c100m{position:fixed;inset:0 0 0 auto;margin:0;padding:0;border:0;width:100%;max-width:100%;height:100dvh;max-height:100dvh;background:var(--s);color:var(--tx);display:none;flex-direction:column;overflow:hidden}
.c100m[open]{display:flex}
.c100m::backdrop{background:var(--g);opacity:.55}
@media (min-width:768px){.c100m{width:420px;border-left:1px solid var(--gBr)}}
.c100m .c100p__cab,.c100m .c100p__cuerpo,.c100m .c100p__pie{padding-left:22px;padding-right:22px}
/* A-S2: la oferta del nivel (el precio de siempre tachado). M26: «Agregar otro tour» y su confirmacion. */
#reservar .c100p__oferta{margin:0 0 4px;padding:8px 12px;border-radius:var(--p-r);background:var(--p-el);border:1.5px solid var(--p-ac);font-weight:700}
#reservar .c100p__oferta b{color:var(--p-ai)}#reservar .c100p__oferta s{color:var(--p-mu);font-weight:500;margin:0 4px}#reservar .c100p__oferta span{color:var(--p-mu);font-weight:500;font-size:var(--fs-xs)}
#reservar .c100p__btn3{display:flex;align-items:center;justify-content:center;width:100%;min-height:var(--c100-btn-alto-chico,44px);margin-top:8px;padding:.6rem var(--c100-btn-pl-chico,16px);border-radius:var(--p-r);border:1.5px solid var(--p-ac);background:transparent;color:var(--p-tx);font-size:var(--c100-btn-fuente-chico,.875rem);font-weight:800;cursor:pointer;text-decoration:none}
#reservar .c100p__btn3[disabled]{opacity:.55;cursor:progress}
#reservar .c100p__agregado{display:grid;gap:8px;padding:12px;border-radius:var(--p-r);border:1.5px solid var(--ok,#3BE08A);outline:none}
#reservar .c100p__agregado .c100p__btn--a{display:flex;align-items:center;justify-content:center;text-decoration:none}
/* A-PAN1: un dato que falta (el nombre de un tour) es hueco rojo, nunca la clave. */
#reservar .c100-hueco{background:var(--hueco,#E5484D);color:#fff;padding:0 4px;border-radius:4px;font-weight:700}
/* Escritorio: sin boton de cerrar (no hay hoja que cerrar). Va al final para ganar la cascada. */
@media (min-width:1000px){#reservar .c100p .c100p__cerrar{display:none}}
/* A-MOD1: la hoja por pasos en el teléfono (tour y combo). Estructura y medidas; el color lo pone la máscara (B-MOD1).
   Nada de desplazamiento interno: cada paso cabe en la hoja (360 × 640 incluido). */
@media (max-width:999px){
  #reservar .c100p--pasos .c100p__cuerpo{overflow:visible;flex:none}
  #reservar .c100p--pasos .c100p__cab--paso{padding:14px 64px 8px 18px;gap:2px}
  #reservar .c100p--pasos .c100p__cab--paso .c100p__desde{font-size:26px}
  #reservar .c100p--pasos .c100p__cab--paso .c100p__cab-sub{font-size:12px}
  #reservar .c100p__pasos-n{display:grid;gap:6px;padding:4px 18px 0}
  #reservar .c100p__pasos{display:grid;grid-template-columns:repeat(var(--n),1fr);gap:6px}
  #reservar .c100p__pasos i{height:5px;border-radius:3px;background:var(--p-rl)}
  #reservar .c100p__pasos i.on{background:var(--p-ac)}
  #reservar .c100p__cuerpo--paso{padding:12px 18px 8px;gap:10px}
  #reservar .c100p__pt h3{margin:0;font-size:17px;font-weight:800;letter-spacing:-.02em;line-height:1.2}
  #reservar .c100p--pasos .c100p__chip--dia{min-height:54px}
  #reservar .c100p--pasos .c100p__cal-btn{align-self:stretch;justify-content:center;min-height:44px}
  #reservar .c100p--pasos .c100p__cal{padding:6px}
  #reservar .c100p--pasos .c100p__cal-cab{margin-bottom:2px}
  #reservar .c100p--pasos .c100p__cal-nav{width:40px;height:36px}
  #reservar .c100p--pasos .c100p__cal-grid button{aspect-ratio:auto;height:34px}
  #reservar .c100p__nivs{display:grid;gap:8px}
  #reservar .c100p__niv{display:flex;justify-content:space-between;align-items:center;gap:10px;min-height:54px;padding:9px 14px;border-radius:var(--p-r);border:1px solid var(--p-rl);background:transparent;text-align:left;cursor:pointer}
  #reservar .c100p__niv[aria-pressed=true]{border:2px solid var(--p-ac);background:var(--p-el)}
  #reservar .c100p__niv b{display:block;font-weight:800}
  #reservar .c100p__niv small{display:block;font-size:var(--fs-xs);color:var(--p-mu)}
  #reservar .c100p__niv em{font-style:normal;font-family:var(--mo-f);font-weight:700;white-space:nowrap}
  #reservar .c100p--pasos .c100p__pax-fila{padding:6px 12px}
  #reservar .c100p__rsm{display:flex;justify-content:space-between;align-items:flex-end;gap:10px;margin:0 18px;padding-top:8px;border-top:1px solid var(--p-rl);font-size:13px;font-weight:700}
  #reservar .c100p__rsm>span{min-width:0}
  #reservar .c100p__rsm b{font-size:18px;font-weight:800;white-space:nowrap}
  #reservar .c100p__rsm b small{font-size:11px;font-weight:700;opacity:.7}
  #reservar .c100p__nav{display:flex;gap:8px;align-items:center;padding:8px 18px 14px}
  #reservar .c100p__nav:empty{display:none}
  #reservar .c100p__nav .c100p__btn{flex:1;width:auto}
  #reservar .c100p__atras{min-height:44px;padding:8px 4px;border:0;background:none;color:var(--p-mu);font-weight:700;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
  #reservar .c100p__res{display:grid;gap:4px;padding:8px 12px;border:1px solid var(--p-rl);border-radius:var(--p-r)}
  #reservar .c100p__res>div{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:13px}
  #reservar .c100p__res>div>span{color:var(--p-mu);flex:none}
  #reservar .c100p__res button{min-height:32px;padding:0;border:0;background:none;font-weight:700;text-align:right;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
  #reservar .c100p__tot--paso{display:flex;justify-content:space-between;align-items:flex-end;gap:10px}
  #reservar .c100p__tot--paso .c100p__tot-n{font-size:28px}
  #reservar .c100p__tot--paso small{text-align:right;font-size:11px;opacity:.75}
  #reservar .c100p__acc{display:grid;gap:8px}
  #reservar .c100p__acc .c100p__btn{min-height:var(--c100-btn-alto-chico,44px);font-size:var(--c100-btn-fuente-chico,.875rem);padding-inline:var(--c100-btn-pl-chico,16px)}
  #reservar .c100p__btn2--dep{cursor:pointer;color:var(--p-tx);border:2px solid var(--p-tx);min-height:48px}
  #reservar .c100p__fila2{display:flex;gap:8px}
  #reservar .c100p__fila2 .c100p__btn3{flex:1;margin:0;gap:8px;min-height:48px}
  #reservar .c100p__wa--ico{flex:none;width:54px;min-height:48px}
  #reservar .c100p--pasos .c100p__sellos{padding:0 0 2px}
}
/* A-MOD1: pantallas bajas (≤ 700 px de alto, p. ej. 360 × 640): se compacta el paso, nunca se le pone scroll. */
@media (max-width:999px) and (max-height:700px){
  #reservar .c100p--pasos .c100p__cab--paso{padding-top:10px;padding-bottom:4px}
  #reservar .c100p--pasos .c100p__cab--paso .c100p__desde{font-size:22px}
  #reservar .c100p--pasos .c100p__cuerpo--paso{padding:8px 18px 4px;gap:7px}
  #reservar .c100p--pasos .c100p__res{padding:4px 10px;gap:0}
  #reservar .c100p--pasos .c100p__res button{min-height:28px}
  #reservar .c100p--pasos .c100p__tot--paso .c100p__tot-n{font-size:24px}
  #reservar .c100p--pasos .c100p__acc{gap:6px}
  #reservar .c100p--pasos .c100p__acc .c100p__btn{min-height:var(--c100-btn-alto-chico,44px);font-size:var(--c100-btn-fuente-chico,.875rem);padding-inline:var(--c100-btn-pl-chico,16px)}
  #reservar .c100p--pasos .c100p__btn2--dep,#reservar .c100p--pasos .c100p__fila2 .c100p__btn3,#reservar .c100p--pasos .c100p__wa--ico{min-height:42px}
  #reservar .c100p--pasos .c100p__cuerpo--paso[data-paso=pago] .c100p__sellos{display:none}
  #reservar .c100p--pasos .c100p__nav{padding-top:4px;padding-bottom:8px}
  #reservar .c100p--pasos .c100p__chip--dia{min-height:50px}
}
/* A-MOD1b (CORRECCION-MODAL-MOVIL-1) · un solo componente para tour, combo y paquete, en teléfono y escritorio.
   §2 Filas de personas: nombre y edad a la izquierda; menos · número · más en tres columnas fijas a la derecha.
   §3 Más y menos: el del tour individual (cuadrado suave, con borde del acento del tipo, sin relleno); el menos
      desactivado conserva tamaño y lugar y solo baja su opacidad. (.c100p.c100p[data-skin] pesa más que cada máscara.) */
#reservar .c100p.c100p[data-skin] .c100p__pax{border:0;border-radius:0;background:transparent;overflow:visible}
#reservar .c100p.c100p[data-skin] .c100p__pax-fila{display:grid;grid-template-columns:minmax(0,1fr) 44px 36px 44px;align-items:center;column-gap:8px;padding:6px 0;border-bottom:1px solid var(--p-rl2)}
#reservar .c100p.c100p[data-skin] .c100p__pax-fila:last-child{border-bottom:0}
#reservar .c100p.c100p[data-skin] .c100p__pax-fila>span:first-child{min-width:0}
#reservar .c100p.c100p[data-skin] .c100p__pm,#reservar .c100p.c100p[data-skin] .c100p__pm--mas{width:44px;height:44px;padding:0;border-radius:12px;border:1.5px solid var(--p-ac);background:transparent;color:var(--p-tx);font-size:18px;font-weight:800;line-height:1;box-shadow:none}
#reservar .c100p.c100p[data-skin] .c100p__pm:disabled{opacity:.35}
#reservar .c100p.c100p[data-skin] .c100p__n{width:36px;text-align:center}
/* §5 Un solo acento por tipo: el combo es rosa en las tres máscaras (indicador de pasos, botones, bordes, boleto). */
#reservar .c100p.c100p--combo[data-skin]{--p-ac:var(--go,#FF1B7F);--p-ai:var(--go,#FF1B7F);--p-btn:var(--go,#FF1B7F);--p-onbtn:#fff}
#reservar .c100p.c100p.c100p--combo[data-skin][data-nivel]{--lv:var(--go,#FF1B7F);--on:#fff}
@media (max-width:999px){
  /* §5 El nombre deja libre el ancho del botón de cerrar (pesa más que el relleno de la cabecera de cada máscara). */
  #reservar .c100p.c100p.c100p--pasos .c100p__cab--paso{padding:14px 64px 8px 18px}
  #reservar .c100p.c100p.c100p--pasos .c100p__cab--paso .c100p__cab-sub{overflow-wrap:anywhere}
  /* §1 El resumen de abajo con aire: nada toca el borde; el último renglón con 20 px + la zona segura. */
  #reservar .c100p--pasos .c100p__rsm{margin:0 18px}
  #reservar .c100p--pasos .c100p__rsm b{text-align:right}
  #reservar .c100p--pasos .c100p__rsm b small{display:block}
  #reservar .c100p--pasos .c100p__rsm:last-child,#reservar .c100p--pasos .c100p__nav:last-child{padding-bottom:calc(20px + env(safe-area-inset-bottom, 0px))}
}
@media (max-width:999px) and (max-height:700px){
  #reservar .c100p.c100p.c100p--pasos .c100p__cab--paso{padding-top:10px;padding-bottom:4px}
  #reservar .c100p--pasos .c100p__tot--paso .c100p__tot-n{font-size:22px}
  #reservar .c100p--pasos .c100p__acc .c100p__btn{min-height:var(--c100-btn-alto-chico,44px);font-size:var(--c100-btn-fuente-chico,.875rem);padding-inline:var(--c100-btn-pl-chico,16px)}
  #reservar .c100p--pasos .c100p__btn2--dep,#reservar .c100p--pasos .c100p__fila2 .c100p__btn3,#reservar .c100p--pasos .c100p__wa--ico{min-height:40px}
  #reservar .c100p--pasos .c100p__res button{min-height:26px}
  #reservar .c100p.c100p[data-skin].c100p--pasos .c100p__pax-fila{padding:4px 0}
  #reservar .c100p--pasos .c100p__pasos-n{padding-top:0;gap:4px}
  #reservar .c100p--pasos .c100p__cuerpo--paso{gap:6px}
  #reservar .c100p--pasos .c100p__tot--paso small{font-size:10px;line-height:1.3}
}
/* A-MOD1b §2: el mismo margen lateral (24 px) en los tres tipos y las tres máscaras también en el teléfono, para que
   menos, número y más caigan en la misma vertical en tour, combo y paquete. */
@media (max-width:999px){
  #reservar .c100p.c100p[data-skin] .c100p__cuerpo{padding-left:24px;padding-right:24px}
  #reservar .c100p.c100p.c100p--pasos .c100p__cab--paso{padding-left:24px}
  #reservar .c100p--pasos .c100p__pasos-n,#reservar .c100p--pasos .c100p__nav{padding-left:24px;padding-right:24px}
  #reservar .c100p--pasos .c100p__rsm{margin-left:24px;margin-right:24px}
}
/* A-MOD2 · piezas nuevas (estructura; el vestido es de B-MOD2): la estancia (llegada → salida), el aviso de tope,
   cuántos paquetes, la línea del depósito y la del traslado. */
#reservar .c100p__estancia{display:flex;flex-wrap:wrap;gap:4px 8px;align-items:baseline;font-size:var(--fs-sm)}
#reservar .c100p__estancia b{font-weight:800}
#reservar .c100p__tope{font-size:var(--fs-xs);color:var(--p-mu);margin-top:4px}
#reservar .c100p__npaq{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
#reservar .c100p__npaq button{min-height:44px;padding:6px 4px;border-radius:12px;border:1px solid var(--p-rl);background:transparent;font-size:var(--fs-xs);font-weight:800;cursor:pointer}
#reservar .c100p__npaq button[aria-pressed=true]{border:2px solid var(--p-ac);background:var(--p-el)}
#reservar .c100p__dep-nota{font-size:var(--fs-xs);color:var(--p-mu);text-align:center;margin-top:-2px}
#reservar .c100p__traslado{display:block;font-size:var(--fs-xs);color:inherit;text-align:center;text-decoration:none;opacity:.85}
#reservar .c100p__traslado code{font-family:var(--mo-f);font-weight:700;padding:1px 6px;border:1px dashed var(--p-ac);border-radius:6px}
@media (max-width:999px){#reservar .c100p--pasos .c100p__cuerpo--paso[data-paso=personas] .c100p__npaq button{min-height:40px}}
/* A-MOD2 · lo que vio B en 0.9.0:
   (1) el texto del botón principal con su color (#reservar .c100p button{color:inherit} pesaba más);
   (2) en la cabecera de paso el rótulo hereda el color de la cabecera (el pase del paquete va dentro);
   (3) en el último paso «Atrás» va junto al indicador y la hoja termina en su contenido. */
#reservar .c100p .c100p__btn{color:var(--p-onbtn)}
#reservar .c100p .c100p__cab--paso .c100p__rot{color:inherit}
#reservar .c100p__pasos-fila{display:flex;justify-content:space-between;align-items:center;gap:10px}
#reservar .c100p__atras--arriba{min-height:32px;padding:4px 0}
@media (max-width:999px){
  #reservar .c100p--pasos .c100p__cuerpo:last-child{padding-bottom:calc(20px + env(safe-area-inset-bottom, 0px))}
  #reservar .c100p.c100p[data-skin].c100p--pasos .c100p__cab--paso>.c100p__pase{display:flex;margin-bottom:4px}
}
@media (max-width:999px) and (max-height:700px){#reservar .c100p.c100p[data-skin].c100p--pasos .c100p__cab--paso>.c100p__pase{font-size:20px;gap:8px;margin-bottom:2px}}
/* A-MOD2: el paso de personas del paquete (con tope y selector de paquetes) en pantallas bajas. */
@media (max-width:999px) and (max-height:700px){
  #reservar .c100p--pasos .c100p__cuerpo--paso[data-paso=personas] .c100p__npaq button{min-height:36px}
  #reservar .c100p--pasos .c100p__cuerpo--paso[data-paso=personas] .c100p__tope{margin-top:0}
  #reservar .c100p.c100p[data-skin].c100p--pasos .c100p__cuerpo--paso[data-paso=personas] .c100p__pax-fila{padding:2px 0}
  #reservar .c100p.c100p[data-skin].c100p--pasos .c100p__cab--paso>.c100p__pase{font-size:18px}
}
/* A-MOD2: el rótulo del pase en la cabecera de paso, con el color del texto de la cabecera (no tenue). */
#reservar .c100p.c100p[data-skin].c100p--pasos .c100p__cab--paso>.c100p__pase,#reservar .c100p.c100p[data-skin].c100p--pasos .c100p__cab--paso>.c100p__pase small{color:var(--p-oncab);opacity:1}
@media (max-width:999px) and (max-height:700px){
  #reservar .c100p--pasos .c100p__nav .c100p__btn{min-height:var(--c100-btn-alto-chico,44px);font-size:var(--c100-btn-fuente-chico,.875rem);padding-inline:var(--c100-btn-pl-chico,16px)}
  #reservar .c100p--pasos .c100p__nav .c100p__atras{min-height:40px}
  #reservar .c100p.c100p.c100p--pasos .c100p__cab--paso{padding-top:8px;padding-bottom:2px}
  #reservar .c100p.c100p[data-skin].c100p--pasos .c100p__cab--paso>.c100p__pase small{font-size:10px}
}
/* A-MOD2: el acomodo de la hoja por pasos pesa más que el relleno, la separación y el botón de cada máscara
   (cyber ponía 20/24, 14 y 58 en el cuerpo y en «Continuar», y el paquete no cabía a 360 × 640). */
@media (max-width:999px){
  #reservar .c100p.c100p[data-skin].c100p--pasos .c100p__cuerpo--paso{padding:12px 24px 8px;gap:10px}
  #reservar .c100p.c100p[data-skin].c100p--pasos .c100p__nav .c100p__btn{min-height:var(--c100-btn-alto-chico,44px);font-size:var(--c100-btn-fuente-chico,.875rem);padding-inline:var(--c100-btn-pl-chico,16px)}
}
@media (max-width:999px) and (max-height:700px){
  #reservar .c100p.c100p[data-skin].c100p--pasos .c100p__cuerpo--paso{padding:8px 24px 4px;gap:6px}
  #reservar .c100p.c100p[data-skin].c100p--pasos .c100p__nav .c100p__btn{min-height:var(--c100-btn-alto-chico,44px);font-size:var(--c100-btn-fuente-chico,.875rem);padding-inline:var(--c100-btn-pl-chico,16px)}
}
