/* Calendario: mismo motor funcional de la landing antigua, nueva carrocería MASTER */
.booking{background:var(--ivory)}
.booking .booking-intro{max-width:760px;margin:0 auto 48px;text-align:center}.booking .booking-intro h2{margin-bottom:26px}.booking .booking-intro p{margin:10px auto}
.booking-box{width:min(100%,980px);margin:0 auto;background:#fff;border:1px solid var(--line);padding:clamp(22px,4vw,46px);box-shadow:0 25px 80px rgba(51,38,27,.08)}
.booking-pack-label{margin:0 0 16px;font-size:13px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--taupe)}
.booking-pack-label:nth-of-type(2){margin-top:34px}
.booking-packgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:35px}.booking-packbtn{border:1px solid var(--line);background:var(--ivory);padding:16px 13px;text-align:left;cursor:pointer;color:var(--ink);transition:border-color .2s ease,background .2s ease,transform .2s ease}.booking-packbtn:hover{transform:translateY(-2px);border-color:var(--champagne)}.booking-packbtn.selected{background:var(--ink);color:#fff;border-color:var(--ink)}.booking-packbtn strong{display:block;font:24px var(--serif);font-weight:400}.booking-packbtn span{display:block;margin-top:5px;font-size:14px;color:var(--taupe)}.booking-packbtn.selected span{color:#d7cdc4}
.booking-monthbar{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding-top:22px}.booking-month{font:30px var(--serif);text-transform:capitalize;margin:0}.booking-nav{display:flex;gap:8px}.booking-nav button{border:1px solid var(--line);background:#fff;padding:9px 12px;cursor:pointer;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.booking-nav button:disabled{opacity:.35;cursor:not-allowed}
.booking-dows,.booking-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}.booking-dows{margin:22px 0 7px;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--taupe);text-align:center}.cal-day{aspect-ratio:1;display:grid;place-items:center;border:1px solid transparent;font-size:14px;position:relative;user-select:none}.cal-day.today:after{content:'';position:absolute;bottom:7px;width:4px;height:4px;border-radius:50%;background:var(--champagne)}.cal-day.past{opacity:.28}.cal-day.full{background:#eee9e3;color:#9a8f87}.cal-day.has-slots{background:#eef2e9;color:#31412b;cursor:pointer;border-color:#d7dfce}.cal-day.has-slots:hover{border-color:#7c956b}.cal-day.selected{background:var(--ink)!important;color:#fff;border-color:var(--ink)!important}.skeleton{background:linear-gradient(90deg,#eee9e3 25%,#f6f3ef 37%,#eee9e3 63%);background-size:400% 100%;animation:skeleton 1.25s ease infinite}@keyframes skeleton{0%{background-position:100% 0}100%{background-position:0 0}}
.booking-legend{display:flex;justify-content:center;flex-wrap:wrap;gap:18px;margin:16px 0 6px;font-size:13px;color:var(--taupe)}.booking-legend i{display:inline-block;width:10px;height:10px;margin-right:6px;border:1px solid var(--line);vertical-align:-1px}.l-free{background:#eef2e9}.l-full{background:#eee9e3}.l-sel{background:var(--ink)!important}
.booking-slots{margin-top:34px;padding-top:28px;border-top:1px solid var(--line)}.booking-slots.hidden{display:none}.booking-daylabel{font:26px var(--serif);text-transform:capitalize;margin:8px 0 18px}.booking-slotgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.slot-btn{border:1px solid var(--line);background:var(--ivory);padding:13px 8px;cursor:pointer;font-weight:600}.slot-btn:hover{border-color:var(--champagne);background:#fff}
.booking-summary{display:none;margin-top:34px;padding:28px;background:#f1ebe3;border-left:3px solid var(--champagne)}.booking-summary.show{display:block}.booking-summary h3{font-size:30px;margin-bottom:22px}.booking-summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px 18px;margin-bottom:24px}.booking-summary-grid p{margin:0;font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:var(--taupe)}.booking-summary-grid strong{display:block;margin-top:5px;font:20px var(--serif);letter-spacing:0;text-transform:none;color:var(--ink)}.booking-summary .button{width:100%}.booking-summary-note{font-size:14px;color:#66584f;margin:13px 0 0}
.booking-fallback{display:none;margin:35px auto 0;text-align:center}.booking-fallback.show{display:block}.booking-micro{text-align:center;margin:22px auto 0}
@media(max-width:800px){.booking-box{padding:20px 14px}.booking-packgrid{grid-template-columns:1fr}.booking-packbtn{display:grid;grid-template-columns:1fr auto;align-items:center}.booking-packbtn span{margin:0;text-align:right}.booking-dows,.booking-grid{gap:4px}.cal-day{font-size:13px}.booking-slotgrid{grid-template-columns:1fr 1fr}.booking-summary-grid{grid-template-columns:1fr;gap:10px}.booking-summary{padding:22px 16px}.booking-month{font-size:25px}.booking-nav button{font-size:9px;padding:9px 8px}}
@media(prefers-reduced-motion:reduce){.skeleton{animation:none}.booking-packbtn{transition:none}}

.booking-box{border-radius:2px}.booking-pack-label{display:flex;align-items:center;gap:10px}.booking-pack-label:after{content:"";height:1px;flex:1;background:var(--line)}
.booking-packbtn{min-height:82px}.booking-packbtn strong{font-size:26px}.booking-pack-summary{font-size:14px;color:#66584f;margin-top:-18px;margin-bottom:32px}
.booking-choice-label{font-size:13px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--taupe)}.booking-choice-meta{font-size:16px;line-height:1.65}.booking-choice-save{font-size:14px;color:#66584f}
.calendar-status{font-size:14px;color:#66584f;text-align:center;margin-top:16px}
@media(max-width:800px){.booking-box{padding:24px 16px}.booking-nav button{font-size:11px;padding:10px}.booking-dows{font-size:11px}.cal-day{font-size:15px;min-height:42px}.booking-legend{font-size:12px}.booking-packbtn span{font-size:14px}.booking-summary-note{font-size:14px}.booking-micro{font-size:15px}}
