:root{--azul:#071F3A;--azul2:#0d3560;--acento:#f5a300;--fondo:#f4f6fa;--tarjeta:#fff;--texto:#14213d;--suave:#5b6b82;--borde:#dde3ee;--ok:#0a7d4b;--error:#b3261e;--radio:12px}
*{box-sizing:border-box}
html{font-size:16px}
body{margin:0;font-family:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;background:var(--fondo);color:var(--texto);line-height:1.45}
a{color:var(--azul2)}
h1{font-size:1.4rem;margin:.2rem 0 1rem}h2{font-size:1.1rem;margin:1.4rem 0 .6rem}
.suave{color:var(--suave);font-size:.9rem}
code{background:#eef2f8;padding:.1rem .35rem;border-radius:6px;font-size:.82rem;word-break:break-all}
.barra{position:sticky;top:0;z-index:5;display:flex;align-items:center;gap:.75rem;background:var(--azul);color:#fff;padding:.6rem 1rem}
.marca{color:#fff;text-decoration:none;font-weight:800;letter-spacing:.04em}.marca small{font-weight:400;opacity:.7;margin-left:.4rem}
.hamburguesa{font-size:1.5rem;cursor:pointer;line-height:1;padding:.25rem .5rem;border-radius:8px;min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center}
.salir{margin-left:auto;display:flex;align-items:center;gap:.6rem}.quien{display:none;font-size:.9rem;opacity:.85}
.menu{display:none;flex-direction:column;background:var(--azul2);padding:.5rem}
.menu a{color:#fff;text-decoration:none;padding:.85rem 1rem;border-radius:8px}
.menu a.activo{background:rgba(255,255,255,.14);font-weight:700}
.menu-toggle:checked ~ .menu{display:flex}
.contenido{max-width:960px;margin:0 auto;padding:1rem 1rem 3rem}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:.55rem 1.1rem;border-radius:10px;border:1px solid transparent;font:inherit;font-weight:600;cursor:pointer;text-decoration:none}
.btn-primario{background:var(--azul);color:#fff}.btn-primario:hover{background:var(--azul2)}
.btn-claro{background:#fff;color:var(--azul);border-color:var(--borde)}
.btn-sm{min-height:38px;padding:.3rem .8rem;font-size:.9rem}
.formulario{display:flex;flex-direction:column;gap:.9rem;max-width:520px;background:var(--tarjeta);padding:1.1rem;border-radius:var(--radio);border:1px solid var(--borde)}
.formulario label{display:flex;flex-direction:column;gap:.3rem;font-weight:600;font-size:.92rem}
.formulario .check{flex-direction:row;align-items:center;gap:.5rem}
input,select{font:inherit;padding:.65rem .75rem;border:1px solid var(--borde);border-radius:10px;background:#fff;min-height:44px;width:100%}
input[type=checkbox]{width:auto;min-height:0}
input:focus-visible,select:focus-visible,.btn:focus-visible,a:focus-visible,.chip:focus-visible{outline:3px solid var(--acento);outline-offset:2px}
.aviso{padding:.8rem 1rem;border-radius:10px;margin-bottom:1rem;border:1px solid}
.aviso-ok{background:#e7f6ee;border-color:#b6e2cb;color:#064d2e;word-break:break-word}
.aviso-error{background:#fdecea;border-color:#f3c0bb;color:var(--error)}
.aviso-info{background:#e8f1fb;border-color:#bcd4f1;color:#0d3560}
.tarjetas{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.75rem}
.tarjeta{background:var(--tarjeta);border:1px solid var(--borde);border-radius:var(--radio);padding:1rem;text-decoration:none;color:inherit;display:flex;flex-direction:column}
.tarjeta b{font-size:1.8rem;color:var(--azul)}.tarjeta span{color:var(--suave)}
.lista-tarjetas{display:flex;flex-direction:column;gap:.6rem}
.fila{background:var(--tarjeta);border:1px solid var(--borde);border-radius:var(--radio);padding:.8rem 1rem;display:flex;flex-wrap:wrap;gap:.6rem;justify-content:space-between;align-items:center}
.fila-col{flex-direction:column;align-items:stretch}.fila-sup{display:flex;justify-content:space-between;gap:.6rem;align-items:center;flex-wrap:wrap}
.fila.apagado{opacity:.6}.acciones{display:flex;gap:.4rem;flex-wrap:wrap}
.etiqueta{display:inline-block;background:#eef2f8;color:var(--azul2);border-radius:999px;padding:.05rem .6rem;font-size:.75rem;font-weight:700;vertical-align:middle}
.cabecera{display:flex;justify-content:space-between;align-items:center;gap:1rem}.cabecera h1{margin:0}
.buscar{margin:1rem 0}.chips{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.6rem}
.chip{border:1px solid var(--borde);background:#fff;color:var(--suave);border-radius:999px;padding:.4rem .9rem;font:inherit;font-size:.85rem;cursor:pointer;min-height:38px}
.chip.on{background:var(--azul);border-color:var(--azul);color:#fff}
.detalle{display:block;margin-top:.3rem}.paginacion{display:flex;gap:1rem;align-items:center;justify-content:center;margin-top:1rem}
.simple{background:linear-gradient(160deg,var(--azul),var(--azul2));min-height:100vh}
.caja-centro{max-width:440px;margin:0 auto;padding:2rem 1rem;background:transparent}
.simple .formulario{max-width:none}.simple h1,.simple p{color:#fff}.simple .formulario h2{color:var(--texto)}
.logo{font-size:2rem;font-weight:800;letter-spacing:.08em;color:#fff;text-align:center;margin-top:2rem}.simple .suave{color:#cfd9ea;text-align:center}
@media(min-width:900px){
  .hamburguesa{display:none}.quien{display:inline}
  body:not(.simple){display:grid;grid-template-columns:230px 1fr;grid-template-rows:auto 1fr}
  .barra{grid-column:1/3}.menu{display:flex;grid-row:2;height:calc(100vh - 56px);min-height:0;overflow-y:auto;overscroll-behavior:contain;position:sticky;top:56px;align-self:start;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.35) transparent}.menu::-webkit-scrollbar{width:8px}.menu::-webkit-scrollbar-thumb{background:rgba(255,255,255,.3);border-radius:8px}.menu::-webkit-scrollbar-thumb:hover{background:rgba(255,255,255,.5)}.menu>a{flex:0 0 auto}
  .contenido{grid-row:2;grid-column:2;width:100%;margin:0;max-width:none;padding:1.5rem 2rem}
}
/* Catálogo */
textarea{font:inherit;padding:.65rem .75rem;border:1px solid var(--borde);border-radius:10px;background:#fff;width:100%;min-height:90px;resize:vertical}
.formulario-ancho{max-width:none}.espacio{margin-top:.8rem}
.filtros{display:flex;flex-wrap:wrap;gap:.5rem;margin:1rem 0}.filtros input,.filtros select{flex:1 1 180px;width:auto}
.etq-ok{background:#e7f6ee;color:#064d2e}.etq-error{background:#fdecea;color:var(--error)}.etq-adv{background:#fff4d6;color:#7a5200}
.lista-simple{margin:.4rem 0 0;padding-left:1.1rem}.precio{font-weight:800;color:var(--azul);white-space:nowrap;text-align:right}
a.fila{text-decoration:none;color:inherit}a.fila:hover,a.tarjeta:hover{border-color:var(--azul2)}
.barra-guardar{position:sticky;bottom:0;background:linear-gradient(transparent,var(--tarjeta) 30%);padding:1rem 0 .2rem}
.tabla-responsive{overflow-x:auto}.tabla{width:100%;border-collapse:collapse;background:#fff;font-size:.9rem}
.tabla th,.tabla td{padding:.55rem .6rem;border-bottom:1px solid var(--borde);text-align:left;vertical-align:top}
@media(max-width:700px){.tabla thead{display:none}.tabla tr{display:block;background:#fff;border:1px solid var(--borde);border-radius:var(--radio);margin-bottom:.6rem;padding:.4rem .6rem}
  .tabla td{display:flex;justify-content:space-between;gap:1rem;border:0;padding:.25rem 0}.tabla td::before{content:attr(data-etq);color:var(--suave);font-weight:600}}
/* Medios */
.galeria{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.7rem}
.foto{margin:0;background:#fff;border:1px solid var(--borde);border-radius:var(--radio);overflow:hidden}
.foto.portada{border-color:var(--ok);box-shadow:0 0 0 2px var(--ok)}
.foto img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;background:#eef2f8}
.foto figcaption{padding:.4rem .5rem}.foto .acciones{margin-top:.3rem}.foto .btn-sm{min-height:34px;padding:.2rem .5rem}
/* Cotizador */
.cot-form{display:flex;flex-direction:column;gap:1rem}.cot-bloque{background:#fff;border:1px solid var(--borde);border-radius:var(--radio);padding:1rem;display:flex;flex-direction:column;gap:.8rem}
.cot-bloque h2{margin:0}.cot-bloque label{display:flex;flex-direction:column;gap:.3rem;font-weight:600;font-size:.92rem}.cot-bloque label.check{flex-direction:row;align-items:center;gap:.5rem}
.cot-fechas,.cot-pax,.edades{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:.6rem}
.hab{border:1px solid var(--borde);border-radius:10px;padding:.7rem;background:#f8fafd;display:flex;flex-direction:column;gap:.5rem}.hab-cab{display:flex;justify-content:space-between;align-items:center}
.tasa-chips{margin:.5rem 0}.lista-chequeo{max-height:320px;overflow:auto;display:flex;flex-direction:column;gap:.5rem}.hotel-chk{border:1px solid var(--borde);border-radius:10px;padding:.5rem .7rem}
.res-cab{display:flex;justify-content:space-between;align-items:center;gap:1rem}.ops{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:.8rem}
.op{background:#fff;border:1px solid var(--borde);border-top:4px solid var(--azul2);border-radius:var(--radio);padding:.9rem}.op h3{margin:0 0 .2rem;font-size:1.05rem}
.op-total{font-size:1.7rem;font-weight:800;color:var(--azul);margin:.4rem 0}.op summary{cursor:pointer;color:var(--azul2);font-weight:600;min-height:44px;display:flex;align-items:center}
.det-hab{border-top:1px dashed var(--borde);padding:.45rem 0;font-size:.9rem}.per{padding:.2rem 0 .2rem .7rem;color:var(--suave)}.per b{display:block;color:var(--texto)}
.compartir{background:#fff;border:1px solid var(--borde);border-radius:var(--radio);padding:1rem;margin-top:1rem;display:flex;flex-direction:column;gap:.7rem}.aviso-adv{background:#fff4d6;border-color:#f0d58a;color:#6b4800}
.chip-check{display:inline-flex}.chip-check input{position:absolute;opacity:0;width:1px;height:1px}
.chip-check span{border:1px solid var(--borde);background:#fff;color:var(--suave);border-radius:999px;padding:.45rem .9rem;cursor:pointer;min-height:38px;display:inline-flex;align-items:center;font-size:.9rem}
.chip-check input:checked + span{background:var(--azul);border-color:var(--azul);color:#fff}.chip-check input:focus-visible + span{outline:3px solid var(--acento);outline-offset:2px}
.en-linea{flex-direction:row!important;align-items:center;gap:.5rem!important}
/* Portal y marca */
.marca-logo{height:34px;width:auto;display:block;max-width:180px;object-fit:contain}
.barra{background:var(--azul);color:var(--sobre-azul,#fff)}.barra .marca,.barra .quien{color:var(--sobre-azul,#fff)}
.marca-mini{display:flex;align-items:center;gap:.7rem}.muestra{width:36px;height:36px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;color:#fff;font-weight:800;background:var(--azul)}
.logo-actual{background:#f4f6fa;border:1px dashed var(--borde);border-radius:10px;padding:.6rem;display:inline-block}
input[type=color]{padding:.15rem;height:46px;cursor:pointer}
/* Promociones */
.promo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1rem}
.promo-card{display:block;border:1px solid var(--borde);border-radius:12px;overflow:hidden;background:#fff;color:inherit;text-decoration:none}
.promo-card img,.promo-sin-flyer{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}
.promo-sin-flyer{display:flex;align-items:center;justify-content:center;background:var(--azul);color:var(--sobre-azul,#fff);font-size:3rem;font-weight:800}
.promo-cuerpo{padding:.7rem .8rem}.promo-precio{font-weight:800;color:var(--azul);font-size:1.15rem;margin:.2rem 0}
/* ===== Experiencia tipo app (teléfono / PWA) ===== */
html{-webkit-text-size-adjust:100%}body{overscroll-behavior-y:none;-webkit-tap-highlight-color:transparent}
.tabbar{display:none}
@media(max-width:899px){
  .barra{padding:calc(.3rem + env(safe-area-inset-top)) .75rem .3rem;gap:.5rem;min-height:46px}
  .hamburguesa{min-width:40px;min-height:40px;font-size:1.35rem}.marca-logo{height:28px}.barra .btn{min-height:34px;padding:.2rem .7rem}
  .contenido{padding:.7rem .75rem calc(5.2rem + env(safe-area-inset-bottom))}
  h1{font-size:1.2rem;margin:.1rem 0 .6rem}h2{font-size:1rem;margin:1rem 0 .4rem}
  .menu-toggle:checked ~ .menu{position:fixed;left:.6rem;right:.6rem;top:calc(50px + env(safe-area-inset-top));z-index:30;max-height:calc(100vh - 150px);overflow:auto;border-radius:14px;box-shadow:0 12px 30px rgba(0,0,0,.35)}
  body.con-tabbar .hamburguesa{display:none}
  .tabbar{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;position:fixed;left:0;right:0;bottom:0;z-index:25;background:#fff;border-top:1px solid var(--borde);padding:.25rem .2rem calc(.25rem + env(safe-area-inset-bottom));box-shadow:0 -4px 14px rgba(7,31,58,.08)}
  .tabbar a,.tabbar label{display:flex;flex-direction:column;align-items:center;gap:.1rem;color:var(--suave);text-decoration:none;font-size:.7rem;font-weight:700;padding:.3rem 0;border-radius:10px;cursor:pointer}
  .tabbar svg{width:23px;height:23px;fill:currentColor}.tabbar .activo{color:var(--azul)}.tabbar .activo svg{fill:var(--azul)}
  .tabbar .activo span{border-bottom:2px solid var(--acento)}
  .formulario{padding:.8rem;gap:.7rem}input,select{min-height:42px;padding:.5rem .65rem}.btn{min-height:42px;padding:.45rem .9rem}
  .aviso{padding:.6rem .8rem;margin-bottom:.7rem}
}
/* ===== Cotizador compacto ===== */
.cot-top{display:flex;align-items:center;gap:.5rem .8rem;flex-wrap:wrap;margin-bottom:.5rem}.cot-top h1{margin:0}
.cot-tasas{display:flex;gap:.4rem;font-size:.75rem;color:var(--suave);margin-left:auto}.cot-tasas span{background:#eef2f8;border-radius:999px;padding:.15rem .6rem}.cot-tasas b{color:var(--azul)}
.cot-form{gap:.55rem}.cot-bloque{padding:.7rem;gap:.55rem;border-radius:14px}
.cot-bloque label{gap:.15rem;font-size:.78rem;color:var(--suave);font-weight:700;text-transform:uppercase;letter-spacing:.03em}
.cot-bloque input,.cot-bloque select{min-height:40px;padding:.4rem .6rem;color:var(--texto);font-weight:600;text-transform:none;letter-spacing:0}
.cot-fila{display:flex;gap:.6rem;align-items:flex-end}.cot-fila .cot-destino{flex:1}.cot-fila2{display:grid;grid-template-columns:2fr 1fr;gap:.5rem}
.enlace{background:none;border:0;color:var(--azul2);font:inherit;font-size:.85rem;font-weight:700;cursor:pointer;padding:.5rem .3rem;min-height:40px}
.seg{display:flex;gap:.3rem;background:#eef2f8;padding:.2rem;border-radius:12px;flex-wrap:nowrap;overflow-x:auto}.seg .chip{flex:1 1 auto;white-space:nowrap;border:0;background:transparent;min-height:34px;padding:.3rem .7rem;text-align:center}
.seg .chip.on{background:var(--azul);color:var(--sobre-azul,#fff);box-shadow:0 1px 3px rgba(0,0,0,.2)}
.cot-fechas{display:grid;grid-template-columns:1fr 1fr auto;gap:.5rem;align-items:end}.noches{font-size:.85rem;font-weight:800;color:var(--azul);background:#e8f1fb;border-radius:10px;padding:.55rem .6rem;white-space:nowrap}
.hab{padding:.4rem .5rem;gap:.35rem;background:#f8fafd;border-radius:12px}.hab-fila{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.hab-n{min-width:3.3rem;font-size:.85rem;color:var(--azul)}
.cont{display:flex;align-items:center;gap:.3rem;background:#fff;border:1px solid var(--borde);border-radius:999px;padding:.1rem .25rem .1rem .6rem}.cont span{font-size:.7rem;color:var(--suave);font-weight:700;text-transform:uppercase;margin-right:.1rem}
.cont button{width:34px;height:34px;border-radius:50%;border:0;background:#eef2f8;color:var(--azul);font-size:1.2rem;font-weight:800;cursor:pointer;line-height:1}.cont button:active{background:var(--acento)}.cont b{min-width:1.2rem;text-align:center}
.edades{display:flex;gap:.4rem;align-items:center;flex-wrap:wrap}.edades input{width:60px;text-align:center}
.cot-mas summary{cursor:pointer;color:var(--azul2);font-weight:700;font-size:.9rem;min-height:36px;display:flex;align-items:center}.cot-mas[open] summary{margin-bottom:.4rem}
.cot-filtros{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.5rem;margin-bottom:.5rem}
.cot-barra{position:sticky;bottom:calc(4.4rem + env(safe-area-inset-bottom));z-index:12;display:flex;align-items:center;gap:.6rem;background:rgba(255,255,255,.96);backdrop-filter:blur(6px);border:1px solid var(--borde);border-radius:16px;padding:.45rem .5rem .45rem .8rem;box-shadow:0 6px 20px rgba(7,31,58,.18)}
.cot-resumen{flex:1;font-size:.82rem;font-weight:700;color:var(--azul);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cot-barra .btn{min-width:110px}
@media(min-width:900px){.cot-barra{bottom:.8rem}}
#cot-resultados{margin-top:.8rem}.res-cab{display:flex;justify-content:space-between;align-items:center;gap:.8rem}.res-cab h2{margin:0}.res-cab .seg{width:auto}
.res-msg{margin:.3rem 0 .5rem}
.cot-share{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center;background:#fff;border:1px solid var(--borde);border-radius:14px;padding:.5rem;margin-bottom:.6rem}.cot-share input{flex:1 1 150px;min-height:38px;width:auto}.cot-share .btn{min-height:38px}
.ops{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:.6rem}
.op{padding:.7rem .8rem;border-top-width:3px;display:flex;flex-direction:column;gap:.15rem}.op-cab{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap}.op-cab h3{margin:0;font-size:1rem;flex:1 1 auto}
.op-n{background:var(--azul);color:var(--sobre-azul,#fff);border-radius:8px;min-width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:800}
.op-plan{margin:0;font-size:.82rem}.op-viaje{margin:.2rem 0;font-size:.82rem;background:#f4f7fb;border-radius:8px;padding:.3rem .5rem}.op-viaje b{color:var(--azul);margin-right:.25rem}
.op-precio{display:flex;align-items:baseline;gap:.6rem;flex-wrap:wrap;margin:.1rem 0}.op-total{font-size:1.55rem;font-weight:800;color:var(--azul);margin:0}.op-bs{font-size:.85rem;color:var(--suave);font-weight:600}
.op summary{min-height:36px;font-size:.88rem}
/* ajustes del cotizador compacto */
[hidden]{display:none!important}
.cot-fechas{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:.4rem .5rem}.cot-fechas input{min-width:0;padding:.4rem .4rem;font-size:.9rem}
.noches{grid-column:1/3;justify-self:start;padding:.2rem .6rem;font-size:.8rem;border-radius:999px}
.hab-fila{display:grid;grid-template-columns:auto minmax(0,1fr) minmax(0,1fr) auto;gap:.35rem;align-items:center}.hab-n{min-width:0}
.cont{justify-content:space-between;padding:.1rem .2rem .1rem .5rem;gap:.15rem}.cont span{font-size:.62rem;margin:0}.cont button{width:32px;height:32px}
.cot-top{flex-wrap:nowrap}.cot-top .btn{white-space:nowrap}.cot-tasas{flex-wrap:wrap;justify-content:flex-end}
.cot-barra{bottom:calc(.6rem + env(safe-area-inset-bottom))}
@media(max-width:899px){body.con-tabbar .cot-barra{bottom:calc(4.4rem + env(safe-area-inset-bottom))}}
/* tarifa por noche en la tarjeta */
.op-noches-cab{font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;font-weight:700;margin-top:.2rem}
.op-noches{display:flex;flex-direction:column;gap:.15rem;margin:.1rem 0 .2rem}
.op-per{display:grid;grid-template-columns:auto 1fr auto;gap:.5rem;align-items:baseline;font-size:.82rem;background:#f4f7fb;border-radius:8px;padding:.2rem .5rem}
.op-per .per-f{font-weight:700;color:var(--azul)}.op-per .per-t{color:var(--suave);text-transform:capitalize;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.op-per b{white-space:nowrap}
.cot-tasas{gap:.5rem}.cot-tasas .tasa{font-size:.8rem;padding:.2rem .7rem}.cot-tasas .tasa-fecha{margin-left:1rem;font-size:.75rem;color:var(--suave);align-self:center;white-space:nowrap}
/* iconos del menú */
.menu a{display:flex;align-items:center;gap:.7rem}.ico{width:20px;height:20px;flex:0 0 20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;opacity:.9}
.menu a.activo .ico{stroke:var(--acento);opacity:1}
/* cotizador en pantallas anchas: aprovechar el ancho */
@media(min-width:760px){
  .cot-viaje{flex-direction:row;align-items:flex-end;gap:1rem}.cot-viaje .cot-fila{flex:1 1 45%;max-width:520px}.cot-viaje .seg{flex:0 1 auto;margin-bottom:.1rem}
  #sec-alojamiento{display:grid;grid-template-columns:minmax(260px,340px) minmax(0,1fr);grid-template-areas:"fechas habs" "fechas add" "mas mas";column-gap:1.2rem;row-gap:.5rem;align-items:start}
  #sec-alojamiento .cot-fechas{grid-area:fechas}#sec-alojamiento #habitaciones{grid-area:habs}#sec-alojamiento #agregar-hab{grid-area:add;justify-self:start}#sec-alojamiento .cot-mas{grid-area:mas}
  #habitaciones{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:.4rem}
  .cot-fila2{max-width:640px}.cot-filtros{max-width:760px}
}
@media(min-width:1100px){.ops{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.cot-barra{max-width:760px}}
/* paquete */
.chip-paquete{margin-left:auto;background:var(--acento)!important;color:var(--sobre-acento,#14213d)!important;font-weight:800}.seg .chip-paquete.on{box-shadow:0 0 0 2px var(--azul)}
.cot-paq-ayuda{margin:.1rem 0 0;font-size:.82rem}
.op-paq{background:#fffaf0;border:1px solid #f0d9a8;border-radius:10px;padding:.35rem .6rem;margin:.2rem 0}.paq-fila{display:flex;justify-content:space-between;gap:.6rem;font-size:.84rem;padding:.12rem 0}
.paq-fila b{white-space:nowrap}.paq-nota{color:var(--suave);font-size:.78rem}
/* selector de servicios: sin recortes, con "Armar paquete" visible */
.seg{flex-wrap:wrap;overflow:visible}.seg .chip{flex:1 1 auto}
.chip-paquete{margin-left:0;flex:1 1 100%!important;order:5}
.cot-paq-ayuda{flex:1 1 100%}
@media(min-width:760px){.cot-viaje{flex-wrap:wrap}.cot-viaje .seg{flex:0 1 auto}.chip-paquete{flex:0 0 auto!important;margin-left:.3rem}.cot-viaje .cot-paq-ayuda{order:9}}
@media(max-width:759px){.cot-top{flex-wrap:wrap;justify-content:space-between}.cot-tasas{order:3;flex:1 1 100%;justify-content:flex-start;margin-left:0}.cot-tasas .tasa-fecha{margin-left:auto}}
/* excursiones: lista con casillas, filtros y mini resumen */
.exc-cab{display:flex;justify-content:space-between;align-items:center;gap:.6rem}.exc-cab h2{margin:0}
.exc-filtros{display:grid;grid-template-columns:2fr 1fr auto;gap:.5rem;align-items:end}.exc-solo{white-space:nowrap;padding-bottom:.55rem}
.exc-lista{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:.5rem;max-height:480px;overflow:auto;padding:.1rem}
.exc-item{border:1px solid var(--borde);border-radius:12px;padding:.5rem .65rem;background:#fff;display:flex;flex-direction:column;gap:.25rem}.exc-item.on{border-color:var(--azul);box-shadow:0 0 0 1px var(--azul);background:#f6f9fd}
.exc-nombre{display:flex!important;flex-direction:row!important;align-items:center;gap:.5rem!important;text-transform:none!important;letter-spacing:0!important;color:var(--texto)!important;font-size:.95rem!important;cursor:pointer}.exc-nombre input{width:20px;height:20px;min-height:0}
.exc-info{font-size:.78rem}.exc-pax{display:flex;justify-content:space-between;align-items:center;gap:.5rem;font-size:.82rem;border-top:1px dashed var(--borde);padding-top:.3rem}
.exc-nota{font-size:.78rem;margin:.1rem 0 0}
.cot-detalle{padding:.5rem .8rem}.cot-detalle summary{cursor:pointer;font-weight:800;color:var(--azul);min-height:34px;display:flex;align-items:center}
.cot-detalle dl{margin:.2rem 0 0;display:grid;gap:0}.det-f{display:grid;grid-template-columns:7.5rem 1fr;gap:.6rem;padding:.3rem 0;border-bottom:1px dashed var(--borde);font-size:.88rem}.det-f dt{font-weight:700}.det-f dd{margin:0}
.det-av{margin-top:.4rem;background:#fff4d6;border:1px solid #f0d58a;color:#6b4800;border-radius:10px;padding:.35rem .6rem;font-size:.82rem;font-weight:600}
.srv-total{background:#fff;border:1px solid var(--borde);border-radius:14px;padding:.6rem .9rem;margin-top:.6rem;display:flex;flex-direction:column;gap:.1rem}.op-total small{font-size:.8rem;font-weight:700;color:var(--suave)}
@media(max-width:759px){.exc-filtros{grid-template-columns:1fr}.exc-lista{max-height:60vh}.det-f{grid-template-columns:6rem 1fr}}

/* Galería de fotos de promociones */
.promo-galeria-admin{display:flex;flex-wrap:wrap;gap:12px;margin:8px 0 16px}
.promo-galeria-admin figure{margin:0;display:flex;flex-direction:column;gap:6px;align-items:flex-start}
.promo-galeria-admin img{border-radius:8px;max-width:100%;object-fit:cover}
.promo-galeria-admin figcaption{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.promo-miniaturas{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0}.promo-miniaturas img{border-radius:6px}

/* Tarjetas visuales de promociones y excursiones */
.pv-filtros{background:#fff;border:1px solid var(--borde);border-radius:12px;padding:.8rem;margin:.6rem 0 1rem}
.pv-barra{display:flex;gap:.5rem;margin-bottom:.5rem}.pv-buscar{flex:1;min-width:0;padding:.55rem .7rem;border:1px solid var(--borde);border-radius:8px}.pv-toggle{display:none}
.pv-chips{display:flex;flex-wrap:wrap;gap:.4rem}
.pv-chip{border:1px solid var(--borde);background:#fff;color:var(--azul);border-radius:999px;padding:.3rem .75rem;font-weight:600;font-size:.85rem;cursor:pointer}
.pv-chip small{opacity:.6;font-weight:500}.pv-chip.on{background:var(--azul);color:#fff;border-color:var(--azul)}
.pv-limpiar{border-style:dashed}
.pv-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1rem}
.pv-card{background:#fff;border:1px solid var(--borde);border-radius:12px;overflow:hidden;display:flex;flex-direction:column}
.pv-card[hidden]{display:none!important}.pv-apagada{opacity:.6}
.pv-img{display:block;background:#eef1f6}.pv-img img,.pv-img .promo-sin-flyer{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}
.pv-cuerpo{padding:.7rem .8rem;display:flex;flex-direction:column;gap:.35rem;flex:1}
.pv-cuerpo h3{margin:0;font-size:1rem;line-height:1.2}.pv-lugar{font-size:.8rem}
.pv-badges{display:flex;flex-wrap:wrap;gap:.3rem}
.pv-b{font-size:.7rem;font-weight:700;border-radius:999px;padding:.15rem .55rem;background:#eef1f6;color:#344}
.pv-b-tipo{background:#fdecd6;color:#8a4b00}.pv-b-res{background:#e4f0ff;color:#0b4a8f}.pv-b-nino{background:#fff2c7;color:#7a5a00}.pv-b-ok{background:#dff5e6;color:#0b6b2e}.pv-b-off{background:#f1e4e4;color:#8a1f1f}
.pv-fechas{display:grid;gap:.3rem}.pv-fechas div{border:1px solid var(--borde);border-radius:8px;padding:.3rem .5rem;font-size:.8rem}
.pv-fechas span{display:block;font-size:.65rem;text-transform:uppercase;color:#667}
.pv-acciones{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:auto;padding-top:.4rem}.pv-acciones form{display:contents}
.pv-acciones .btn{flex:1 1 auto;text-align:center}
.btn-verde{background:#128c4a;color:#fff}.btn-verde:hover{background:#0e7a3f}
@media(max-width:760px){.pv-toggle{display:inline-block}.pv-chips{display:none}.pv-filtros.abierto .pv-chips{display:flex}.pv-barra{margin-bottom:.3rem}}

/* Formulario compacto de promociones */
.pv-form{gap:.55rem;padding:.9rem 1rem}.pv-form h2{margin:.5rem 0 0;font-size:.8rem;text-transform:uppercase;letter-spacing:.06em;color:#667;border-bottom:1px solid var(--borde);padding-bottom:.2rem}
.pv-form label{font-size:.8rem;gap:.15rem}.pv-form input,.pv-form select,.pv-form textarea{min-height:34px;padding:.3rem .55rem;font-size:.92rem}.pv-form textarea{min-height:92px}
.pv-g{display:grid;gap:.55rem .7rem;grid-template-columns:1fr}
.pv-pub{align-items:end}.pv-pub .check{min-height:34px}.pv-nota{margin:0;font-size:.8rem}
@media(min-width:640px){.pv-g2{grid-template-columns:1fr 1fr}.pv-g3{grid-template-columns:repeat(3,1fr)}.pv-g4{grid-template-columns:repeat(4,1fr)}}
@media(max-width:639px){.pv-g4,.pv-g3{grid-template-columns:1fr 1fr}.pv-form input,.pv-form select{min-height:40px}}


/* Cuentas de pago */
.cc-barra{display:flex;flex-direction:column;gap:.5rem;margin:.6rem 0 1rem}.cc-cab{display:flex;justify-content:space-between;align-items:center;gap:.6rem}.cc-cab h2{margin:.4rem 0}
.cc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:1rem}
.cc-card{background:#fff;border:1px solid var(--borde);border-radius:12px;padding:.8rem .9rem;display:flex;flex-direction:column;gap:.5rem}.cc-card[hidden]{display:none!important}
.cc-card header{display:flex;justify-content:space-between;align-items:center;gap:.5rem;border-bottom:2px solid #f28c28;padding-bottom:.4rem}.cc-card h3{margin:0;font-size:1rem}
.cc-card dl{margin:0;display:grid;gap:.25rem}.cc-fila{display:flex;justify-content:space-between;gap:.8rem;padding:.3rem .4rem;border-radius:8px;background:#f3f6f8;cursor:pointer}
.cc-fila:hover,.cc-fila:focus{background:#e6eef7;outline:none}.cc-fila dt{color:#667;font-size:.78rem;margin:0}.cc-fila dd{margin:0;font-weight:700;font-size:.88rem;text-align:right;overflow-wrap:anywhere}
.cc-cond{margin:0;font-size:.8rem}.cc-acc{display:flex;gap:.4rem;margin-top:auto}.cc-acc .btn{flex:1;text-align:center}
.cc-ok{outline:2px solid #128c4a}.cc-aviso{position:fixed;left:50%;bottom:76px;transform:translateX(-50%);background:#071f3a;color:#fff;padding:.5rem 1rem;border-radius:999px;font-weight:700;z-index:50}.cc-aviso[hidden]{display:none}

/* Buscador del menú (atajo "/") */
.menu-buscar{padding:.2rem .3rem .5rem;position:sticky;top:0;background:var(--azul2);z-index:1}
.menu-buscar input{min-height:36px;padding:.35rem .7rem;border-radius:999px;border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.1);color:#fff;font-size:.9rem}
.menu-buscar input::placeholder{color:rgba(255,255,255,.65)}.menu-buscar input:focus-visible{background:#fff;color:var(--texto)}.menu-buscar input:focus-visible::placeholder{color:#7b8aa3}
.menu a[hidden],.menu-vacio[hidden]{display:none}.menu-vacio{color:rgba(255,255,255,.7);font-size:.85rem;padding:.5rem 1rem;margin:0}

/* Alquiler en el panel: flota en tarjetas compactas, formularios más densos */
.al-flota{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:.7rem}
.al-card{background:var(--tarjeta);border:1px solid var(--borde);border-radius:var(--radio);overflow:hidden;display:flex;flex-direction:column}.al-card.apagado{opacity:.6}
.al-foto{display:block;text-decoration:none}.al-foto>span{position:relative;display:block;aspect-ratio:16/10;overflow:hidden;background:#e4eaf4}
.al-foto>span:before{content:"";position:absolute;inset:-14%;background:var(--foto) center/cover no-repeat;filter:blur(14px) saturate(1.1);opacity:.9}
.al-foto img{position:relative;width:100%;height:100%;object-fit:contain;display:block}.al-sin{display:flex!important;align-items:center;justify-content:center;font-size:2.2rem}
.al-datos{padding:.5rem .7rem .2rem;display:grid;gap:.05rem;font-size:.88rem;min-width:0}.al-datos b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.98rem}.al-datos .suave{font-size:.8rem}
.al-precio{font-weight:800;color:var(--azul)}.al-precio small{font-weight:600;color:var(--suave)}
.al-btns{display:flex;gap:.3rem;padding:.4rem .7rem .7rem;margin-top:auto}.al-btns .btn{min-height:32px;padding:.15rem .6rem;font-size:.82rem}.al-btns form{display:contents}
.al-g{grid-template-columns:repeat(2,1fr)}@media(min-width:900px){.al-g{grid-template-columns:repeat(4,1fr)}.al-c2{grid-column:span 2}.al-c3{grid-column:span 3}}
.al-foto-campo{display:flex;gap:.6rem;align-items:flex-end;min-width:0}.al-foto-campo label{flex:1;min-width:0}.al-foto-campo img{border-radius:8px;background:#f1f4f9;border:1px solid var(--borde)}
.al-pie{display:flex;gap:1.2rem;align-items:center;flex-wrap:wrap}.al-pie .btn{margin-left:auto;min-width:130px}
.al-h{font-size:1rem;margin:1rem 0 .3rem}
.al-temporadas{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:.5rem}
.al-temp{display:flex;justify-content:space-between;align-items:center;gap:.5rem;background:var(--tarjeta);border:1px solid var(--borde);border-radius:var(--radio);padding:.45rem .7rem;font-size:.88rem}.al-temp form{margin:0}.al-temp .btn{min-height:30px;padding:.1rem .55rem}
.al-temp-nueva{grid-column:1/-1;display:grid;gap:.4rem;grid-template-columns:2fr 1fr 1fr 1fr auto;align-items:center;background:#f8fafd;border:1px dashed var(--borde);border-radius:var(--radio);padding:.5rem}.al-temp-nueva input{min-height:34px;padding:.25rem .5rem;font-size:.9rem}
@media(max-width:760px){.al-temp-nueva{grid-template-columns:1fr 1fr}.al-temp-nueva input:first-child{grid-column:1/-1}.al-temp-nueva .btn{grid-column:1/-1}}
.al-2col{display:grid;gap:0 1.2rem;grid-template-columns:1fr}@media(min-width:1100px){.al-2col{grid-template-columns:1fr 1fr}}.al-2col section{min-width:0}
.al-lista{gap:.4rem}.al-lista .fila{padding:.4rem .6rem;gap:.35rem}.al-lista .fila input,.al-lista .fila select{min-height:32px;padding:.2rem .45rem;font-size:.88rem;width:auto;flex:1 1 90px}.al-lista .fila input[name=nombre]{flex:2 1 160px}.al-lista .btn{min-height:32px;padding:.15rem .6rem;font-size:.82rem}
.aviso-flotante{animation:aviso-in .2s ease}@keyframes aviso-in{from{opacity:0;transform:translateY(-4px)}}
.m-reset{margin-top:1rem;border-top:1px solid #eee;padding-top:.6rem}.m-reset summary{cursor:pointer;color:#b3261e;font-weight:700;font-size:.85rem}.m-reset form{display:grid;gap:.5rem;max-width:460px;margin-top:.5rem}

/* Alertas en la barra superior */
.alertas-barra{display:flex;gap:.4rem;margin-left:.4rem;margin-right:auto}.alerta-pill{display:inline-flex;align-items:center;gap:.3rem;background:#eb6834;color:#fff;text-decoration:none;font-weight:700;font-size:.82rem;padding:.25rem .7rem;border-radius:999px;animation:alerta-pulso 2s ease-in-out 3}.alerta-pill b{font-size:.95rem}.alerta-pill:hover{background:#d4571f}
@keyframes alerta-pulso{50%{box-shadow:0 0 0 6px rgba(235,104,52,.35)}}@media(prefers-reduced-motion:reduce){.alerta-pill{animation:none}}
@media(max-width:560px){.alerta-pill{font-size:.75rem;padding:.2rem .5rem}.alertas-barra{margin-right:.3rem}}
@media(max-width:560px){.alerta-pill .al-t{display:none}.barra .marca small{display:none}.alerta-pill{font-size:.85rem;padding:.25rem .6rem}}

/* Elegir hoteles: buscador, elegidos arriba, grupos y plan automático o "Seleccione plan" */
.hl-elegidos{position:sticky;top:0;z-index:2;background:#fff;border:1px solid var(--borde);border-radius:12px;padding:.5rem .6rem;margin-bottom:.5rem}.hl-elegidos .el-tit{font-size:.75rem;font-weight:800;color:var(--suave);text-transform:uppercase;letter-spacing:.03em;margin-bottom:.3rem}
.el-chips{display:flex;flex-wrap:wrap;gap:.35rem}.el-chip{border:0;background:var(--azul,#0b3c7a);color:#fff;border-radius:999px;padding:.3rem .65rem;font-size:.8rem;cursor:pointer;max-width:100%;text-align:left;line-height:1.25}.el-chip b{font-weight:800}
#buscar-hotel{width:100%;box-sizing:border-box;font-size:1rem;padding:.65rem .8rem;border-radius:12px}
.hl-info{display:flex;justify-content:space-between;gap:.5rem;font-size:.78rem;margin:.35rem 0}
.hl-lista{max-height:min(55vh,420px);overflow:auto;border:1px solid var(--borde);border-radius:12px;background:#fff;-webkit-overflow-scrolling:touch}
.hl-letra{position:sticky;top:0;background:#eef3f9;color:var(--azul,#0b3c7a);font-weight:800;font-size:.8rem;padding:.25rem .75rem;display:flex;justify-content:space-between;z-index:1}.hl-letra span{font-weight:600;color:var(--suave)}
.hl-fila{display:grid;grid-template-columns:1fr auto 1.6rem;align-items:center;gap:.5rem;width:100%;min-height:46px;border:0;border-bottom:1px solid var(--borde);background:#fff;padding:.45rem .75rem;text-align:left;font:inherit;cursor:pointer;color:var(--texto)}
.hl-fila:active{background:#f1f5fa}.hl-fila.on,.hl-multi.on>.hl-cab{background:#e8f1fb}
.hl-nom{font-weight:700;overflow-wrap:anywhere}.hl-plan{font-size:.78rem;color:var(--suave);text-align:right;max-width:9.5rem;line-height:1.2}.hl-multi:not(.on) .hl-plan{color:#b45309;font-weight:700}
.hl-ck{font-weight:800;color:var(--azul,#0b3c7a);text-align:center}
.hl-planes{display:flex;flex-wrap:wrap;gap:.4rem;padding:.5rem .75rem .65rem;background:#f8fafc;border-bottom:1px solid var(--borde)}.hl-planes .chip{min-height:38px}
@media(max-width:560px){.hl-lista{max-height:50vh}.hl-plan{max-width:7.5rem}}

.aviso-lista{margin:.3rem 0 .4rem 1.1rem;padding:0}.aviso-lista li{margin:.1rem 0}#aviso-fiestas{margin:.5rem 0}

/* Suplementos especiales (cenas) en el cotizador */
.op-sup{margin:.5rem 0;border:1px dashed var(--borde);border-radius:10px;padding:.5rem .7rem;background:#fbfcfe}
.sup-linea{padding:.4rem 0;border-bottom:1px solid var(--borde)}.sup-linea:last-of-type{border-bottom:0}
.sup-cab{display:flex;flex-wrap:wrap;gap:.35rem;align-items:center}.sup-monto{margin-left:auto;font-weight:800}.sup-opc .sup-monto{color:var(--suave)}
.sup-rev{margin:.3rem 0;font-size:.82rem}.sup-sel{margin-top:.3rem}
.sup-resumen{margin-top:.4rem;border-top:1px solid var(--borde);padding-top:.4rem}.sup-resumen div{display:flex;justify-content:space-between;gap:.5rem;font-size:.9rem}.sup-final{font-weight:800;font-size:1rem!important;margin-top:.2rem}

.cot-fotos{margin:.5rem 0}
.op-info{display:flex;gap:.6rem;align-items:flex-start;margin-bottom:.4rem}.op-info img{width:132px;height:88px;object-fit:cover;border-radius:8px;flex:none}.op-info p{margin:0;font-size:.82rem;color:#475569;line-height:1.35}
@media(max-width:560px){.op-info{flex-direction:column}.op-info img{width:100%;height:150px}}

.plan-pill{display:inline-block;white-space:nowrap;background:#f59e0b;color:#fff;font-weight:800;font-size:.76rem;line-height:1.5;border-radius:999px;padding:2px 12px}
.op-cab .etiqueta{white-space:nowrap}

/* Menú del panel agrupado por categorías */
.menu-grupo{margin:.15rem 0}
.menu-grupo>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;padding:.55rem 1rem;border-radius:8px;color:rgba(255,255,255,.72);font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;user-select:none}
.menu-grupo>summary::-webkit-details-marker{display:none}
.menu-grupo>summary::after{content:"";width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(-45deg);transition:transform .15s;opacity:.7}
.menu-grupo[open]>summary::after{transform:rotate(45deg)}
.menu-grupo>summary:hover{background:rgba(255,255,255,.07);color:#fff}
.menu-grupo[open]>summary{color:#fff}
.menu-grupo>a{padding:.55rem 1rem .55rem 1.3rem;font-size:.93rem}
.menu-grupo[hidden]{display:none}
@media(prefers-reduced-motion:reduce){.menu-grupo>summary::after{transition:none}}

/* Navegación del teléfono unificada: barra inferior + hoja "Más" (Master, agentes y aliados) */
.mas-hoja,.mas-fondo{display:none}
.tarjeta .ico{width:26px;height:26px;flex:0 0 26px;color:var(--azul);margin-bottom:.25rem}
.tarjetas-ico .tarjeta{display:flex;flex-direction:column;gap:.15rem}
.inicio-grupo{font-size:.72rem!important;letter-spacing:.12em;text-transform:uppercase;color:var(--suave);margin:1.1rem 0 .4rem!important}
@media(max-width:899px){
  .mas-toggle:checked ~ .mas-fondo{display:block;position:fixed;inset:0;background:rgba(7,31,58,.45);z-index:23}
  .mas-toggle:checked ~ .mas-hoja{display:block;position:fixed;left:0;right:0;bottom:calc(3.9rem + env(safe-area-inset-bottom));z-index:24;max-height:72vh;overflow-y:auto;overscroll-behavior:contain;background:#fff;border-radius:18px 18px 0 0;padding:.5rem .9rem 1rem;box-shadow:0 -10px 30px rgba(7,31,58,.25)}
  .mas-asa{width:42px;height:4px;border-radius:99px;background:#d3dae6;margin:.1rem auto .6rem}
  .mas-buscar{position:sticky;top:0;width:100%;margin-bottom:.4rem;min-height:40px;border-radius:999px;background:#eef2f8;border:1px solid var(--borde);padding:.4rem .9rem;z-index:1}
  .mas-grupo{margin:.6rem 0}.mas-grupo h3{font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--suave);margin:.2rem 0 .35rem}
  .mas-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.45rem}
  .mas-grid a{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:.3rem;text-align:center;text-decoration:none;color:var(--texto);background:#f4f6fb;border:1px solid var(--borde);border-radius:12px;padding:.6rem .25rem;font-size:.72rem;font-weight:700;line-height:1.15;min-height:68px}
  .mas-grid a .ico{width:22px;height:22px;color:var(--azul);stroke:var(--azul)}
  .mas-grid a.activo{background:#e6eefb;border-color:var(--azul)}
  .mas-grid a[hidden],.mas-grupo[hidden],.mas-vacio[hidden]{display:none}
  .mas-vacio{color:var(--suave)!important}
  .mas-toggle:checked ~ .tabbar .tab-mas{color:var(--azul)}.mas-toggle:checked ~ .tabbar .tab-mas svg{fill:var(--azul)}
  .menu{display:none!important}
}
