/* CALENDARIO DE LUJO de la portada (8 oct 2026, Carlos: "darle lujo al mas alto nivel"). Rango de fechas llegada/salida, dos meses, turquesa de la marca (#10b2c2), todo redondeado, sin negro. */
.reserva input[type="date"]{position:absolute;opacity:0;pointer-events:none;width:1px;height:1px;left:0;bottom:0}
.reserva label.cl-on{position:relative}
.reserva label.cl-on::after{display:none !important}
.reserva .cl-val{display:block;font-size:15px;font-weight:500;color:var(--tinta);line-height:1.3;min-height:20px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.reserva .cl-val.vacio{font-weight:400;color:#6a7478}
.reserva label.cl-activo{background:#eaf8fa}
.reserva label.cl-activo span:first-child{color:var(--brand-d)}

.cl-velo{position:fixed;inset:0;z-index:9990;background:rgba(4,14,18,.28);opacity:0;transition:opacity .35s ease}
.cl-velo.on{opacity:1}
.cl{position:absolute;z-index:9991;width:min(742px,calc(100vw - 24px));background:#fff;border-radius:30px;padding:22px 28px 16px;color:#0b0c0d;font-family:Poppins,Arial,sans-serif;
  box-shadow:0 50px 90px -30px rgba(4,14,18,.55),0 0 0 1px rgba(16,178,194,.14);opacity:0;transform:translateY(14px) scale(.985);transition:opacity .32s ease,transform .38s cubic-bezier(.2,.8,.2,1)}
.cl.on{opacity:1;transform:none}
.cl-cab{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin:0 0 10px}
.cl-tit{margin:0;font-weight:300;font-size:24px;letter-spacing:-.02em;line-height:1.1}
.cl-tit b{font-weight:600;color:#10b2c2}
.cl-sub{margin:3px 0 0;font-size:12.5px;color:#5d676c;font-weight:400}
.cl-x{flex:none;width:38px;height:38px;border-radius:50%;border:1px solid #e3eaec;background:#fff;color:#5d676c;cursor:pointer;display:grid;place-items:center;transition:border-color .2s,color .2s}
.cl-x:hover{border-color:#10b2c2;color:#10b2c2}
.cl-x svg{width:16px;height:16px}
.cl-meses{display:grid;grid-template-columns:1fr 1fr;gap:34px;position:relative}
.cl-mes-cab{display:flex;align-items:center;justify-content:space-between;height:40px;margin:0 0 10px}
.cl-mes-nom{font-size:17px;font-weight:500;letter-spacing:-.01em;text-transform:capitalize}
.cl-mes-nom i{font-style:normal;font-weight:400;color:#10b2c2;margin-left:6px}
.cl-nav{width:38px;height:38px;border-radius:50%;border:1px solid #e3eaec;background:#fff;color:#0b0c0d;cursor:pointer;display:grid;place-items:center;transition:border-color .2s,color .2s,transform .2s}
.cl-nav:hover:not(:disabled){border-color:#10b2c2;color:#10b2c2;transform:scale(1.06)}
.cl-nav:disabled{opacity:.25;cursor:default}
.cl-nav svg{width:16px;height:16px}
.cl-hueco{width:38px;height:38px}
.cl-sem,.cl-dias{display:grid;grid-template-columns:repeat(7,1fr)}
.cl-sem span{text-align:center;font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#8a979c;padding:6px 0 10px}
.cl-dias{row-gap:3px}
.cl-d{position:relative;height:40px;display:grid;place-items:center;font-size:14.5px;font-weight:400;cursor:pointer;border:0;background:none;padding:0;color:#0b0c0d;font-family:inherit;outline:none}
.cl-d::before{content:"";position:absolute;inset:0;margin:auto;width:38px;height:38px;border-radius:50%;background:transparent;transition:background .18s,transform .18s}
.cl-d span{position:relative;z-index:2}
.cl-d.vacia{pointer-events:none}
.cl-d.pasado{color:#c2cbce;cursor:default;pointer-events:none}
.cl-d.hoy span::after{content:"";position:absolute;left:50%;bottom:-7px;width:4px;height:4px;margin-left:-2px;border-radius:50%;background:#10b2c2}
.cl-d:not(.pasado):not(.vacia):hover::before{background:#eaf8fa}
.cl-d.dentro,.cl-d.previa{background:#e6f7f9}
.cl-d.previa{background:#f0fafb}
.cl-d.dentro::before,.cl-d.previa::before{background:transparent}
.cl-d.dentro:hover::before{background:#cdeef2}
.cl-d.ini,.cl-d.fin{color:#fff;font-weight:600}
.cl-d.ini::before,.cl-d.fin::before{background:#10b2c2;box-shadow:0 10px 22px -8px rgba(16,178,194,.7)}
.cl-d.ini{background:linear-gradient(90deg,transparent 50%,#e6f7f9 50%);border-radius:0}
.cl-d.fin{background:linear-gradient(90deg,#e6f7f9 50%,transparent 50%)}
.cl-d.ini.fin{background:none}
.cl-d.ini.sinfin{background:none}
.cl-d.previa-fin{background:linear-gradient(90deg,#f0fafb 50%,transparent 50%)}
.cl-d.fila-ini{border-radius:999px 0 0 999px}
.cl-d.fila-fin{border-radius:0 999px 999px 0}
.cl-pie{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:18px 0 0;padding-top:16px;border-top:1px solid #e3eaec;flex-wrap:wrap}
.cl-noches{font-size:14px;color:#5d676c}
.cl-noches b{color:#0b0c0d;font-weight:600}
.cl-acc{display:flex;align-items:center;gap:10px}
.cl-borrar{border:0;background:none;font:500 13px Poppins,Arial,sans-serif;color:#5d676c;text-decoration:underline;text-underline-offset:3px;cursor:pointer;padding:8px 10px}
.cl-borrar:hover{color:#10b2c2}
.cl-listo{border:0;border-radius:999px;background:#10b2c2;color:#fff;font:600 14px Poppins,Arial,sans-serif;padding:12px 34px;cursor:pointer;transition:transform .2s,box-shadow .2s,opacity .2s;box-shadow:0 14px 26px -14px rgba(16,178,194,.8)}
.cl-listo:hover{transform:translateY(-1px);box-shadow:0 18px 30px -14px rgba(16,178,194,.9)}
.cl-listo:disabled{opacity:.4;cursor:default;transform:none;box-shadow:none}
@media (max-width:760px){
  .cl{left:12px !important;right:12px;width:auto;padding:20px 16px 16px;border-radius:26px}
  .cl-meses{grid-template-columns:1fr}
  .cl-mes2{display:none}
  .cl-tit{font-size:21px}
  .cl-d{height:42px}
  .cl-pie{flex-direction:column;align-items:stretch;text-align:center}
  .cl-acc{justify-content:space-between}
}
@media (prefers-reduced-motion:reduce){.cl,.cl-velo{transition:opacity .2s}.cl{transform:none}}
