/* reservas-calendar-v105.css - calendario editorial standalone */
body.nt-booking-page:not(.is-embed){
  --booking-surface:rgba(18,6,37,.76);--booking-line:rgba(255,255,255,.18);
  --booking-text:#fff8ea;--booking-muted:rgba(255,248,234,.7);
  --booking-fuchsia:#e6007e;--booking-yellow:#ffd700;--booking-green:#1bc7a6;
  color:var(--booking-text);overflow-x:hidden;
  background:radial-gradient(circle at 12% 4%,rgba(230,0,126,.26),transparent 30rem),radial-gradient(circle at 88% 12%,rgba(255,159,28,.18),transparent 26rem),linear-gradient(180deg,#05030d 0%,#120625 56%,#071a15 120%)!important
}
body.nt-booking-page:not(.is-embed)::before{background:linear-gradient(180deg,rgba(5,3,13,.2),rgba(5,3,13,.74) 36%,rgba(5,3,13,.96)),url("../assets/recorridos/lunadas/hero-20260511-032136-bca9c4.webp") center 34%/cover no-repeat!important;opacity:.74}
body.nt-booking-page:not(.is-embed) button,body.nt-booking-page:not(.is-embed) input,body.nt-booking-page:not(.is-embed) select,body.nt-booking-page:not(.is-embed) textarea{touch-action:manipulation}
body.nt-booking-page:not(.is-embed) :focus-visible{outline:3px solid rgba(255,215,0,.88);outline-offset:3px}

body.nt-booking-page:not(.is-embed) .hero-bar{min-height:330px;padding:22px clamp(18px,4vw,48px) 62px!important;display:flex;align-items:flex-end;background:linear-gradient(90deg,rgba(5,3,13,.92),rgba(18,6,37,.68) 52%,rgba(5,3,13,.26)),url("../assets/recorridos/lunadas/hero-20260511-032136-bca9c4.webp") center 42%/cover no-repeat!important;border-bottom:1px solid rgba(255,255,255,.12)}
body.nt-booking-page:not(.is-embed) .hero-bar::after{background:linear-gradient(180deg,rgba(5,3,13,.08),rgba(5,3,13,.7)),radial-gradient(circle at 82% 28%,rgba(230,0,126,.34),transparent 30%)!important}
body.nt-booking-page:not(.is-embed) .hb-inner{width:min(100%,1240px);max-width:1240px!important}
.booking-topline{position:absolute;left:0;right:0;bottom:206px;display:flex;align-items:center;justify-content:space-between;gap:18px}
.booking-brand{display:inline-flex;align-items:center;min-height:48px;text-decoration:none}.booking-brand img{width:clamp(150px,18vw,220px);height:auto;display:block;filter:drop-shadow(0 12px 26px rgba(0,0,0,.42))}
.booking-hub-link{min-height:44px;display:inline-flex;align-items:center;justify-content:center;padding:10px 16px;border:1px solid rgba(255,255,255,.24);border-radius:999px;color:var(--booking-text);background:rgba(5,3,13,.48);backdrop-filter:blur(16px);text-decoration:none;font-weight:900;font-size:.78rem;transition:transform .2s ease,border-color .2s ease,background .2s ease}.booking-hub-link:hover{transform:translateY(-2px);border-color:var(--booking-yellow);background:rgba(18,6,37,.78)}
.booking-kicker{display:block;margin:0 0 8px;color:var(--booking-green);font-size:.72rem;font-weight:1000;letter-spacing:.18em;text-transform:uppercase}
body.nt-booking-page:not(.is-embed) .hero-title{max-width:880px;margin:0 0 10px;color:var(--booking-text)!important;font-size:clamp(3.5rem,8vw,7rem)!important;line-height:.82!important;letter-spacing:.01em}
body.nt-booking-page:not(.is-embed) .hero-sub{max-width:620px;color:rgba(255,248,234,.86)!important;font-size:clamp(.9rem,1.5vw,1.04rem);line-height:1.5}
.booking-signature{position:absolute;right:0;bottom:8px;margin:0;color:var(--booking-yellow);font-family:"Kalam","DM Sans",sans-serif;font-size:clamp(1rem,2vw,1.35rem);transform:rotate(-3deg)}

body.nt-booking-page:not(.is-embed) .steps-bar{position:sticky;top:10px;z-index:45;width:min(calc(100% - 28px),1180px);max-width:1180px!important;min-height:80px;display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr));margin:-38px auto 0!important;padding:10px 14px;color:var(--booking-text);border:1px solid var(--booking-line)!important;border-radius:22px!important;background:linear-gradient(135deg,rgba(18,6,37,.88),rgba(5,3,13,.78))!important;box-shadow:0 24px 70px rgba(0,0,0,.38),inset 0 1px 0 rgba(255,255,255,.1);backdrop-filter:blur(24px) saturate(1.2);overflow:visible}
body.nt-booking-page:not(.is-embed) .step-item{position:relative;min-width:0;padding:8px 10px;display:grid;grid-template-columns:36px minmax(0,1fr);align-items:center;gap:9px;color:var(--booking-muted)}
body.nt-booking-page:not(.is-embed) .step-item:not(:last-child)::after{content:"";position:absolute;top:50%;right:-5px;width:10px;height:1px;background:rgba(255,255,255,.22)}
body.nt-booking-page:not(.is-embed) .step-dot{width:36px;height:36px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.24);border-radius:50%;color:var(--booking-muted);background:rgba(255,255,255,.06);font-size:.72rem;font-weight:1000}
body.nt-booking-page:not(.is-embed) .step-item.active{color:var(--booking-text);background:rgba(230,0,126,.12);border-radius:16px}
body.nt-booking-page:not(.is-embed) .step-item.active .step-dot{color:#18051e!important;border-color:var(--booking-fuchsia);background:linear-gradient(135deg,var(--booking-fuchsia),var(--booking-yellow))!important;box-shadow:0 0 0 4px rgba(230,0,126,.14)}
body.nt-booking-page:not(.is-embed) .step-item.done .step-dot{color:#062018;border-color:var(--booking-green);background:var(--booking-green)}
.step-copy{min-width:0;display:grid;gap:2px}.step-label{color:inherit;font-size:.74rem;font-weight:1000;text-transform:uppercase;letter-spacing:.05em;white-space:normal}.step-hint{color:inherit;font-size:.58rem;font-weight:700;line-height:1.2;opacity:.72}

body.nt-booking-page:not(.is-embed) .shell{width:min(100%,1268px);max-width:1268px!important;padding:34px 24px 120px}
body.nt-booking-page:not(.is-embed) .view:not(#vCalendar){max-width:920px;margin-inline:auto}
body.nt-booking-page:not(.is-embed) .card,body.nt-booking-page:not(.is-embed) .day-panel-card,body.nt-booking-page:not(.is-embed) .booking-context{color:var(--booking-text);border:1px solid var(--booking-line)!important;background:linear-gradient(145deg,rgba(255,255,255,.1),rgba(255,255,255,.025)),var(--booking-surface)!important;box-shadow:0 26px 80px rgba(0,0,0,.32),inset 0 1px 0 rgba(255,255,255,.08)!important;backdrop-filter:blur(24px) saturate(1.18)}
body.nt-booking-page:not(.is-embed) .card-head h2,body.nt-booking-page:not(.is-embed) .cal-title,body.nt-booking-page:not(.is-embed) .day-panel-title,body.nt-booking-page:not(.is-embed) .month-name,body.nt-booking-page:not(.is-embed) .slot-name,body.nt-booking-page:not(.is-embed) .slot-price{color:var(--booking-text)!important;font-family:"Bebas Neue",Impact,"Arial Narrow",sans-serif}
body.nt-booking-page:not(.is-embed) .field label,body.nt-booking-page:not(.is-embed) .price-row strong,body.nt-booking-page:not(.is-embed) .participant-box h4,body.nt-booking-page:not(.is-embed) .waiver-card h3{color:#24104f!important}
.calendar-workspace{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(330px,.85fr);gap:18px;align-items:start}.calendar-main-column{min-width:0}.calendar-detail-column{position:sticky;top:108px;min-width:0}
body.nt-booking-page:not(.is-embed) #vCalendar .card{margin:0;padding:20px}.calendar-heading-tools{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.cal-view-toggle{display:inline-flex;padding:4px;border:1px solid var(--booking-line);border-radius:14px;background:rgba(255,255,255,.06)}.cal-view-btn{min-height:40px;padding:8px 13px;border:0;border-radius:10px;color:var(--booking-muted);background:transparent;font-size:.72rem;font-weight:1000}.cal-view-btn.active{color:#16051f;background:var(--booking-yellow)}
body.nt-booking-page:not(.is-embed) .btn-back,body.nt-booking-page:not(.is-embed) .cal-nav-btn{min-height:44px;color:var(--booking-text);border:1px solid var(--booking-line);background:rgba(255,255,255,.07)}body.nt-booking-page:not(.is-embed) .cal-nav{border-color:var(--booking-line);background:rgba(5,3,13,.24)}body.nt-booking-page:not(.is-embed) .cal-dow{color:var(--booking-muted)}body.nt-booking-page:not(.is-embed) .cal-grid{gap:7px}
body.nt-booking-page:not(.is-embed) .cal-day{min-height:82px;color:var(--booking-text);border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.035)}body.nt-booking-page:not(.is-embed) .cal-day:not(.empty):not(.past):hover,body.nt-booking-page:not(.is-embed) .cal-day:not(.empty):not(.past):focus-visible{border-color:rgba(255,215,0,.62)!important;background:rgba(255,215,0,.09)!important;transform:translateY(-2px)}body.nt-booking-page:not(.is-embed) .cal-day.past{color:rgba(255,248,234,.3);background:rgba(255,255,255,.018)}body.nt-booking-page:not(.is-embed) .cal-day.past .day-num{color:rgba(255,248,234,.32)!important}
body.nt-booking-page:not(.is-embed) .cal-day.status-open{background:rgba(27,199,166,.09);border-color:rgba(27,199,166,.32)}body.nt-booking-page:not(.is-embed) .cal-day.status-low,body.nt-booking-page:not(.is-embed) .cal-day.status-closing_soon,body.nt-booking-page:not(.is-embed) .cal-day.status-promo{background:rgba(255,215,0,.09);border-color:rgba(255,215,0,.36)}body.nt-booking-page:not(.is-embed) .cal-day.status-critical{background:rgba(255,159,28,.1);border-color:rgba(255,159,28,.48)}body.nt-booking-page:not(.is-embed) .cal-day.status-full,body.nt-booking-page:not(.is-embed) .cal-day.status-blocked,body.nt-booking-page:not(.is-embed) .cal-day.status-closed{background:rgba(255,255,255,.035);border-color:rgba(255,255,255,.12)}body.nt-booking-page:not(.is-embed) .cal-day.selected{border-color:var(--booking-fuchsia)!important;background:rgba(230,0,126,.18)!important;box-shadow:0 0 0 3px rgba(230,0,126,.16)!important}body.nt-booking-page:not(.is-embed) .day-num,body.nt-booking-page:not(.is-embed) .day-trip,body.nt-booking-page:not(.is-embed) .day-spots,body.nt-booking-page:not(.is-embed) .day-time{color:var(--booking-text)}body.nt-booking-page:not(.is-embed) .nt-open-request::after{color:#17061f;background:var(--booking-yellow)}body.nt-booking-page:not(.is-embed) .cal-legend{border-top-color:var(--booking-line)}body.nt-booking-page:not(.is-embed) .cal-legend-item{color:var(--booking-muted)}

body.nt-booking-page:not(.is-embed) .cal-legend{gap:8px 12px}body.nt-booking-page:not(.is-embed) .cal-legend-item{gap:5px}
.cal-grid.is-list-view{display:grid;grid-template-columns:1fr;gap:10px}.cal-list-empty{padding:28px 18px;text-align:center;color:var(--booking-muted);border:1px dashed var(--booking-line);border-radius:18px}.cal-list-slot{width:100%;min-height:76px;padding:13px 14px;display:grid;grid-template-columns:70px minmax(0,1fr) auto;align-items:center;gap:13px;text-align:left;color:var(--booking-text);border:1px solid var(--booking-line);border-radius:17px;background:rgba(255,255,255,.055)}.cal-list-slot:hover{border-color:rgba(255,215,0,.62);background:rgba(255,215,0,.07)}.cal-list-date{display:grid;text-align:center;font-size:.68rem;font-weight:1000;color:var(--booking-green);text-transform:uppercase}.cal-list-date strong{color:var(--booking-text);font-family:"Bebas Neue",Impact,"Arial Narrow",sans-serif;font-size:1.8rem;line-height:1}.cal-list-copy{min-width:0;display:grid;gap:4px}.cal-list-copy strong{font-size:.88rem}.cal-list-copy span{color:var(--booking-muted);font-size:.7rem;line-height:1.35}.cal-list-side{text-align:right;display:grid;gap:4px;font-size:.68rem;color:var(--booking-muted)}.cal-list-side strong{color:var(--booking-yellow);font-size:.86rem}

.day-panel-card{overflow:hidden;border-radius:24px}.booking-spotlight-media{position:relative;aspect-ratio:16/10;overflow:hidden;background:#120625}.booking-spotlight-media img{width:100%;height:100%;display:block;object-fit:cover}.booking-spotlight-media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 34%,rgba(5,3,13,.9))}.booking-spotlight-badge{position:absolute;z-index:1;left:14px;top:14px;padding:7px 10px;border:1px solid rgba(255,255,255,.2);border-radius:999px;color:#17061f;background:var(--booking-yellow);font-size:.62rem;font-weight:1000;text-transform:uppercase;letter-spacing:.06em}.booking-spotlight-body{padding:18px}.booking-spotlight-kicker{display:block;color:var(--booking-green);font-size:.65rem;font-weight:1000;text-transform:uppercase;letter-spacing:.12em}.booking-spotlight-title{margin:5px 0 4px;color:var(--booking-text);font-family:"Bebas Neue";font-size:clamp(2rem,4vw,3.1rem);line-height:.9}.booking-spotlight-location{margin:0 0 14px;color:var(--booking-muted);font-size:.76rem;font-weight:800}.booking-facts{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0 0 14px}.booking-fact{min-width:0;padding:10px;border:1px solid rgba(255,255,255,.1);border-radius:13px;background:rgba(255,255,255,.045)}.booking-fact span{display:block;color:var(--booking-muted);font-size:.56rem;font-weight:1000;text-transform:uppercase;letter-spacing:.08em}.booking-fact strong{display:block;margin-top:3px;color:var(--booking-text);font-size:.76rem;line-height:1.25}.booking-inclusions{display:grid;gap:7px;margin:12px 0 16px;padding:13px;border-top:1px solid var(--booking-line);border-bottom:1px solid var(--booking-line)}.booking-inclusions-title{color:var(--booking-yellow);font-size:.62rem;font-weight:1000;text-transform:uppercase;letter-spacing:.1em}.booking-inclusion{display:flex;gap:8px;color:var(--booking-muted);font-size:.69rem;line-height:1.35}.booking-inclusion::before{content:"\2713";color:var(--booking-green);font-weight:1000}.booking-exclusion::before{content:"\2014";color:#ff9f1c}.booking-slot-picker{display:grid;gap:8px;margin-top:12px}
.booking-spotlight-title{font-family:"Bebas Neue",Impact,"Arial Narrow",sans-serif}
body.nt-booking-page:not(.is-embed) .slot-card{color:var(--booking-text);border-color:var(--booking-line)!important;background:rgba(255,255,255,.055)!important;box-shadow:none!important}body.nt-booking-page:not(.is-embed) .slot-card.selected{border-color:var(--booking-yellow)!important;background:rgba(255,215,0,.1)!important}body.nt-booking-page:not(.is-embed) .slot-meta,body.nt-booking-page:not(.is-embed) .day-panel-sub{color:var(--booking-muted)}
.booking-placeholder{min-height:520px;display:flex;flex-direction:column}.booking-placeholder .booking-spotlight-media{aspect-ratio:4/3}.booking-placeholder-copy{padding:18px}.booking-placeholder-copy h3{margin:0 0 8px;color:var(--booking-text);font-family:"Bebas Neue",Impact,"Arial Narrow",sans-serif;font-size:2.2rem;line-height:.95}.booking-placeholder-copy p{margin:0;color:var(--booking-muted);font-size:.8rem;line-height:1.55}.booking-placeholder-steps{display:grid;gap:8px;margin-top:16px}.booking-placeholder-steps span{display:flex;gap:9px;align-items:center;color:var(--booking-text);font-size:.72rem;font-weight:800}.booking-placeholder-steps b{width:25px;height:25px;display:grid;place-items:center;border-radius:50%;color:#17061f;background:var(--booking-yellow);font-size:.66rem}
.booking-legal-note{margin-top:14px;padding:13px 15px;color:var(--booking-muted);border:1px solid rgba(255,159,28,.26);border-radius:15px;background:rgba(255,159,28,.06);font-size:.7rem;line-height:1.5}.booking-legal-note strong{color:var(--booking-text)}
body.nt-booking-page:not(.is-embed) .booking-context{margin-bottom:18px;padding:12px 14px;border-radius:18px}body.nt-booking-page:not(.is-embed) .booking-context-grid{grid-template-columns:repeat(5,minmax(0,1fr))}body.nt-booking-page:not(.is-embed) .booking-context-item span{color:var(--booking-muted)}body.nt-booking-page:not(.is-embed) .booking-context-item strong{color:var(--booking-text)}
body.nt-booking-page:not(.is-embed) #vSeats .card,body.nt-booking-page:not(.is-embed) #vExtras .card,body.nt-booking-page:not(.is-embed) #vConfirm .card,body.nt-booking-page:not(.is-embed) #vGroup .card,body.nt-booking-page:not(.is-embed) #vOk .card{color:#171321;background:linear-gradient(145deg,rgba(255,255,255,.96),rgba(247,245,255,.9))!important}

@media(max-width:980px){.calendar-workspace{grid-template-columns:1fr}.calendar-detail-column{position:static}.booking-placeholder{min-height:0}body.nt-booking-page:not(.is-embed) .booking-context-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){body.nt-booking-page:not(.is-embed) .hero-bar{min-height:285px;padding-bottom:54px!important}.booking-topline{bottom:184px}.booking-brand img{width:145px}.booking-signature{display:none}body.nt-booking-page:not(.is-embed) .steps-bar{width:calc(100% - 20px);min-height:62px;padding:7px 6px;border-radius:18px!important}body.nt-booking-page:not(.is-embed) .step-item{grid-template-columns:1fr;justify-items:center;padding:6px 1px;gap:4px;text-align:center;overflow:hidden}body.nt-booking-page:not(.is-embed) .step-dot{width:30px;height:30px;font-size:.64rem}.step-label{font-size:.48rem;letter-spacing:0}.step-hint{display:none}body.nt-booking-page:not(.is-embed) .step-item:not(:last-child)::after{right:-4px;width:8px}body.nt-booking-page:not(.is-embed) .shell{padding:24px 10px 100px}body.nt-booking-page:not(.is-embed) #vCalendar .card{padding:12px}.calendar-heading-tools{width:100%;justify-content:space-between}body.nt-booking-page:not(.is-embed) .cal-grid{gap:5px}body.nt-booking-page:not(.is-embed) .cal-day{min-height:76px;padding:6px 4px}.cal-list-slot{grid-template-columns:54px minmax(0,1fr);gap:9px}.cal-list-side{grid-column:2;text-align:left;grid-template-columns:auto auto;justify-content:start}body.nt-booking-page:not(.is-embed) .booking-context-grid{grid-template-columns:1fr 1fr}}
@media(max-width:420px){.booking-hub-link{padding:9px 11px;font-size:.66rem}body.nt-booking-page:not(.is-embed) .hero-title{font-size:3.35rem!important}body.nt-booking-page:not(.is-embed) .cal-day{min-height:70px}.booking-facts{grid-template-columns:1fr}}
.cal-view-btn{min-height:44px}
@media(max-width:700px){body.nt-booking-page:not(.is-embed) .hero-bar{min-height:310px}.booking-topline{position:relative;top:auto;bottom:auto;margin-bottom:10px}.booking-brand img{width:125px}body.nt-booking-page:not(.is-embed) #vCalendar .card-head h2{max-width:205px;font-size:1.35rem!important;line-height:1}}
body.is-embed .calendar-workspace{display:block}body.is-embed .calendar-detail-column{position:static}body.is-embed .booking-legal-note{display:none}body.is-embed .cal-view-toggle{display:none}
@media(prefers-reduced-motion:reduce){body.nt-booking-page:not(.is-embed) *,body.nt-booking-page:not(.is-embed) *::before,body.nt-booking-page:not(.is-embed) *::after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}
