.stepper{border-bottom:1px solid var(--line);gap:0;margin:0 0 28px;padding:0 0 16px;list-style:none;display:flex}.stepper-item{color:var(--muted);flex:1;align-items:center;gap:8px;min-width:0;font-size:12px;display:flex}.stepper-item .stepper-num{background:var(--cream-2);width:24px;height:24px;color:var(--muted);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:12px;display:inline-flex}.stepper-item.is-current .stepper-num{background:var(--accent);color:#fff}.stepper-item.is-done .stepper-num{background:var(--olive);color:#fff}.stepper-item.is-current .stepper-label,.stepper-item.is-done .stepper-label{color:var(--fg)}.stepper-label{font-family:var(--font-eyebrow);letter-spacing:.08em;text-transform:uppercase;text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}@media (max-width:480px){.stepper-label{display:none}.stepper-item{flex:none;gap:4px}.stepper-item:not(:last-child):after{content:"";background:var(--line);width:18px;height:1px;display:block}}.cal{margin:18px 0 8px}.cal-header{align-items:center;gap:8px;margin-bottom:12px;display:flex}.cal-nav{border:1px solid var(--line);width:34px;height:34px;color:var(--fg);background:0 0;border-radius:999px;justify-content:center;align-items:center;display:inline-flex}.cal-nav:hover{background:var(--cream-2)}.cal-month-label{font-family:var(--font-display);text-transform:capitalize;letter-spacing:-.01em;flex:1;font-size:18px;display:flex}.cal-months{grid-template-columns:1fr;gap:24px;display:grid}.cal-weekdays{grid-template-columns:repeat(7,1fr);gap:2px;margin-bottom:4px;display:grid}.cal-weekday{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);text-align:center;padding:6px 0;font-size:10px}.cal-grid{grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.cal-cell{aspect-ratio:1;font:inherit;color:var(--fg);cursor:pointer;font-variant-numeric:tabular-nums;background:0 0;border:0;border-radius:999px;justify-content:center;align-items:center;min-height:40px;font-size:14px;transition:all .12s;display:flex}.cal-cell:hover:not(:disabled){background:var(--cream-2)}.cal-cell.is-empty{visibility:hidden;pointer-events:none}.cal-cell.is-past,.cal-cell.is-booked,.cal-cell.is-restricted{color:#3d2f234d;cursor:not-allowed}.cal-cell.is-booked{text-decoration:line-through}.cal-cell.is-restricted{background:repeating-linear-gradient(45deg,#0000 0 4px,#3d2f230d 4px 6px)}.cal-cell.is-inrange{background:color-mix(in oklab, var(--accent) 18%, transparent);color:var(--fg);border-radius:0}.cal-cell.is-selected{background:var(--accent);color:#fff;font-weight:600}.cal-cell.is-start{border-radius:999px 0 0 999px}.cal-cell.is-end{border-radius:0 999px 999px 0}.cal-cell.is-start.is-end{border-radius:999px}.cal-legend{color:var(--muted);flex-wrap:wrap;gap:18px;margin-top:12px;font-size:11px;display:flex}.cal-legend .dot{vertical-align:middle;border-radius:50%;width:10px;height:10px;margin-right:6px;display:inline-block}.dot-avail{background:var(--cream-2)}.dot-sel{background:var(--accent)}.dot-booked{background:#3d2f2333}.readout{border:1px solid var(--line);background:var(--bg);font-family:var(--font-display);border-radius:6px;align-items:center;min-height:46px;padding:12px 14px;font-size:17px;display:flex}.stepper-input{border:1px solid var(--line);border-radius:999px;align-items:center;width:fit-content;display:inline-flex;overflow:hidden}.stepper-input button{width:44px;height:44px;color:var(--fg);cursor:pointer;background:0 0;border:0;font-size:18px}.stepper-input button:hover{background:var(--cream-2)}.stepper-input span{min-width:48px;font-family:var(--font-display);font-variant-numeric:tabular-nums;justify-content:center;align-items:center;padding:0 4px;font-size:20px;display:inline-flex}.room-options{flex-direction:column;gap:12px;margin:16px 0 20px;display:flex}.room-option{text-align:left;background:var(--bg);border:1px solid var(--line);cursor:pointer;font:inherit;color:inherit;border-radius:8px;width:100%;padding:18px;transition:all .16s}.room-option:hover:not(:disabled){border-color:var(--accent);transform:translateY(-1px);box-shadow:0 4px 14px #3d2f230d}.room-option.is-selected{border-color:var(--accent);background:color-mix(in oklab, var(--accent) 6%, transparent);box-shadow:0 0 0 1px var(--accent)}.room-option.is-disabled{opacity:.5;cursor:not-allowed}.room-option-head{font-family:var(--font-display);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:4px;font-size:20px;display:flex}.room-option-price small{font-family:var(--font-body);color:var(--muted);font-size:11px}.room-option-meta{letter-spacing:.04em;color:var(--muted);text-transform:uppercase;margin-bottom:8px;font-size:12px}.badge-na{color:var(--terra-deep);font-weight:600}.room-option-desc{color:var(--muted);font-size:14px;line-height:1.55}.booking-summary{background:var(--cream-2);border-radius:8px;margin:16px 0 24px;padding:18px;font-size:14px}.booking-total{border-top:1px solid var(--line);font-family:var(--font-display);justify-content:space-between;align-items:baseline;margin-top:14px;padding-top:14px;font-size:22px;display:flex}.booking-total strong{color:var(--accent);font-size:28px}.pay-tabs{grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:24px;display:grid}.pay-tab{background:var(--bg);border:1px solid var(--line);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;min-height:56px;padding:14px 8px;transition:all .16s;display:flex}.pay-tab:hover{border-color:var(--fg)}.pay-tab.is-active{border-color:var(--accent);background:color-mix(in oklab, var(--accent) 6%, transparent);box-shadow:0 0 0 1px var(--accent)}.payment-note{color:var(--muted);text-align:center;margin-top:12px;font-size:12px;line-height:1.5}.contact-actions{flex-direction:column;gap:10px;margin:16px 0 28px;display:flex}.contact-btn{border:1px solid var(--line);background:var(--bg);color:var(--fg);border-radius:12px;align-items:center;gap:14px;min-height:60px;padding:14px 18px;font-family:inherit;text-decoration:none;transition:all .16s;display:flex}.contact-btn:hover,.contact-btn:active{transform:translateY(-1px);box-shadow:0 6px 18px #3d2f2314}.contact-btn .ico-wrap{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;display:inline-flex}.contact-btn .ico-wrap svg{color:#fff;width:20px;height:20px}.contact-btn-label{letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin-bottom:2px;font-size:11px;display:block}.contact-btn-value{font-family:var(--font-display);color:var(--fg);font-size:19px;line-height:1.1}.contact-btn-arrow{color:var(--muted);flex-shrink:0;margin-left:auto}.contact-btn--wa .ico-wrap{background:#25d366}.contact-btn--phone .ico-wrap{background:var(--accent)}.contact-btn--email .ico-wrap{background:var(--olive)}@media (min-width:720px){.contact-btn-value{font-size:22px}}.booking-flow.form-card{padding:24px}@media (min-width:720px){.booking-flow.form-card{padding:32px}}@media (min-width:880px){.booking-flow.form-card{min-width:0}}
