
.booking-wrap{width:min(1100px,88%);margin:35px auto 65px}.booking-demo{background:#e9e9dc;border-left:3px solid #b29a6c;padding:14px 18px;font-size:11px;color:#6c705f;line-height:1.9;margin-bottom:38px}.booking-wrap h1{font:35px/1.6 var(--serif);font-weight:400}.booking-intro{font-size:13px;color:#76816e;margin:14px 0 28px}.booking-steps{padding:0;list-style:none;display:flex;gap:25px;border-bottom:1px solid var(--line);padding-bottom:22px;margin-bottom:35px;font-size:11px;color:#8a947e}.booking-steps .active{color:var(--ink)}.booking-form-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:28px;align-items:start}.booking-card{background:#fff;padding:32px;border:1px solid #dce1d4;min-width:0}.booking-card h2{font-size:25px;margin-bottom:23px}.booking-card h3{font:20px var(--serif);margin:25px 0 18px}.booking-card label{display:flex;flex-direction:column;gap:10px;font-size:11px;margin-bottom:20px}.booking-card input,.booking-card select,.booking-card textarea{width:100%;padding:12px;border:1px solid #cdd4c2;background:#fafbf7;font:14px 'Yu Gothic',sans-serif;color:var(--ink);min-width:0}.booking-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.booking-card label{min-width:0}.booking-card input{max-width:100%}.booking-card .booking-check{display:flex;flex-direction:row;align-items:flex-start;gap:12px;font-size:11px;line-height:1.9}.booking-check input{width:18px;height:18px;flex-shrink:0;accent-color:var(--ink)}.booking-alert{padding:12px 15px;background:#f6edda;color:#876e3c;font-size:11px;margin-bottom:22px;line-height:1.9}.booking-fine{font-size:10px;color:#79856d}.booking-summary{background:#e9eee3;padding:20px;margin:25px 0;font-size:12px;white-space:pre-line}.booking-wide{display:flex;width:100%;justify-content:center}.booking-owner-link,.booking-back{font-size:11px;margin-top:30px}.booking-owner-link a,.booking-back{border-bottom:1px solid #a3af95;padding-bottom:8px}.booking-review-grid{display:grid;grid-template-columns:270px 1fr;gap:30px;margin-top:30px}.booking-order{display:block;text-align:left;width:100%;padding:20px;background:#e8ede0;border-bottom:1px solid #cdd6c2;line-height:1.9;font-size:12px}.booking-order strong{display:block;font-weight:400;font-size:16px}.booking-review-flags{margin-bottom:23px}.booking-actions{display:flex;flex-wrap:wrap;gap:14px}.booking-actions button{padding:14px 20px;background:#e5eadc;font-size:12px}.booking-actions .primary{background:var(--ink);color:var(--cream)}.booking-thread{border-top:1px solid var(--line);margin-top:30px;padding-top:25px}.booking-thread p{font-size:12px;white-space:pre-line;background:#f0f2ea;padding:15px;margin-bottom:12px}.booking-status-title{font:27px/1.7 var(--serif);margin-bottom:16px}.booking-error,#booking-error{font-size:12px;color:#997143}.booking-card button:disabled{opacity:.4;cursor:default}.booking-state-options{font-size:12px;color:#6f7c64}.booking-note-message{padding:18px;background:#f0f2ea;font-size:12px;white-space:pre-line}.booking-message-form{margin-top:25px}.booking-state-link{display:inline-block;margin-top:25px;font-size:12px;text-decoration:underline}.booking-card time{font-size:10px;color:#7e896f}
@media(max-width:700px){.booking-wrap{width:88%;margin-top:22px}.booking-wrap h1{font-size:27px}.booking-demo{font-size:10px;margin-bottom:28px}.booking-intro{font-size:12px}.booking-steps{gap:13px;font-size:9px;line-height:1.9}.booking-form-grid,.booking-review-grid{grid-template-columns:1fr;gap:22px}.booking-card{padding:24px}.booking-card h2{font-size:23px}.booking-row{gap:12px}.booking-card input,.booking-card select,.booking-card textarea{font-size:16px;padding:10px}.booking-card .booking-check{font-size:10px}.booking-review-grid aside{display:flex;gap:10px;overflow-x:auto}.booking-order{min-width:220px}.booking-actions button{font-size:11px}}
.booking-form-grid{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr)}.booking-contact-card{position:sticky;top:118px;scroll-margin-top:115px}.rate-calendar{border-top:1px solid var(--line);padding-top:20px;margin:10px 0 24px}.rate-calendar-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.rate-calendar-top h3{margin:0!important;font-size:22px}.sample-rate-toggle{font-size:9px;padding:8px;background:#e7ecdf}.rate-data-note{font-size:10px;line-height:1.8;padding:10px;background:#f2eddf;color:#857650;margin-top:14px}.rate-month-nav{display:flex;align-items:center;justify-content:space-between;margin:18px 0;font-size:13px}.rate-month-nav strong{font-weight:400}.rate-month-nav button{width:35px;height:35px;background:transparent;font-size:19px}.rate-month-nav button:disabled{opacity:.25}.rate-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.rate-days .weekday{text-align:center;font-size:10px;color:#7d8873;padding:6px 0}.rate-day{min-width:0;padding:10px 1px;border:1px solid #e3e8dc;background:#fafbf7;min-height:55px;display:flex;align-items:center;flex-direction:column;gap:8px}.rate-day>span{font-size:12px}.rate-day small{font-size:8px;letter-spacing:-.03em}.rate-day:disabled{opacity:.25}.rate-day.start,.rate-day.end{background:#253c37;color:#f6f3ec}.rate-day.range{background:#e2e9da}.rate-calendar-caption{font-size:9px!important;color:#7b866e!important;line-height:1.9;margin-top:16px}.rate-summary{padding:22px;background:#e8eee1;margin:20px 0}.rate-summary h3{margin:0 0 15px;font-size:20px}.rate-summary .rate-total{font:34px var(--serif);display:block}.rate-summary dl{margin:20px 0}.rate-summary dl>div{padding:12px 0;gap:15px;justify-content:space-between}.rate-summary dt{min-width:0;font:10px/1.9 'Yu Gothic',sans-serif;letter-spacing:0}.rate-summary dd{font-size:11px;white-space:nowrap}.rate-sample-label{font-size:9px;letter-spacing:.08em;color:#857650;margin-bottom:12px}.booking-price-dock{display:none}.booking-price-dock[hidden]{display:none!important}
@media(max-width:700px){.booking-form-grid{grid-template-columns:1fr}.booking-contact-card{position:static;scroll-margin-top:95px}.booking-card{padding:20px}.rate-days{gap:3px}.rate-day{padding:9px 0;min-height:52px}.rate-day small{font-size:7px}.rate-calendar-top h3{font-size:20px}.sample-rate-toggle{font-size:8px;padding:8px 6px}.rate-summary{padding:18px}.booking-price-dock{position:fixed;display:flex;align-items:center;justify-content:space-between;gap:12px;bottom:0;left:0;right:0;background:var(--cream);border-top:1px solid var(--line);padding:12px 6% max(12px,env(safe-area-inset-bottom));z-index:10}.booking-price-dock small{display:block;font-size:9px;color:#7d866f;margin-bottom:5px}.booking-price-dock strong{font:19px var(--serif)}.booking-price-dock button{padding:15px 20px;background:var(--ink);color:var(--cream);font-size:11px}body:has([data-booking-guest]){padding-bottom:80px}}

.booking-extra-guests{margin-bottom:20px}.booking-extra-guests summary{font-size:11px;padding:15px 30px 15px 0}.booking-extra-guests summary:after{top:9px}.booking-extra-guests .booking-row{padding-top:15px}.booking-contact-card>.rate-summary:first-child{margin-top:0;margin-bottom:30px}
.booking-card select{width:100%;min-height:48px;padding:12px;border:1px solid #cfcac0;border-radius:0;background:#fff;color:#253c37;font:inherit}.booking-card input:invalid:not(:placeholder-shown){border-color:#b7ab99}button:disabled{opacity:.45;cursor:not-allowed}.booking-demo{line-height:1.7}.booking-card [hidden],#booking-state[hidden],#booking-request[hidden]{display:none!important}
.rate-day small{display:block;font-size:10px;line-height:1.4;margin-top:3px;opacity:.65}.rate-day[data-availability=blocked]{color:#8b8d85;background:#eeeee8}.rate-calendar-caption{white-space:pre-line}#calendar-config-status{white-space:pre-line}
.rate-day .calendar-price{font-size:9px;white-space:nowrap;opacity:1;color:inherit;font-variant-numeric:tabular-nums;margin-top:1px}#price-status{white-space:pre-line}

.booking-visual-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;list-style:none;margin:25px 0 35px;padding:22px 0;border-top:1px solid #ccd5c0;border-bottom:1px solid #ccd5c0}.booking-visual-steps li{display:flex;align-items:center;gap:15px;min-width:0}.booking-visual-steps svg{width:35px;height:35px;flex-shrink:0;color:#9a804b}.booking-visual-steps span{display:block;font:9px/1.5 Arial,sans-serif;letter-spacing:.12em;color:#8b8969}.booking-visual-steps strong{display:block;font-size:12px;font-weight:500;line-height:1.8;margin:5px 0}.booking-visual-steps small{display:block;font-size:10px;color:#6c7b61;line-height:1.8}@media(max-width:700px){.booking-visual-steps{grid-template-columns:1fr;gap:18px;padding:20px 0}.booking-visual-steps li{gap:18px}.booking-visual-steps li:not(:last-child){border-bottom:1px solid #e0e5d8;padding-bottom:16px}.booking-visual-steps strong{font-size:13px}}

.booking-price-visual{display:grid;grid-template-columns:1fr 180px;gap:15px 36px;padding:25px 30px;background:#e8eddf;margin:25px 0}.booking-price-bars>p{font-size:11px;color:#6b7c61;margin-bottom:20px;line-height:1.8}.booking-price-bars>div{display:grid;grid-template-columns:85px 1fr;align-items:center;gap:16px;margin-top:12px}.booking-price-bars>div>span{font-size:11px}.booking-percent-track{width:100%;background:#dde4d3}.booking-percent-track>span{display:block;box-sizing:border-box;padding:9px 14px;background:#b5c1a8;color:#fff;font-size:11px;line-height:1.4}.booking-percent-track.direct>span{background:#294b3d}.booking-discount-mark{align-self:center;text-align:center;color:#8f7545}.booking-discount-mark>strong{font:66px/1 var(--serif);display:block}.booking-discount-mark>strong>span{font-size:25px}.booking-discount-mark>span{font:12px/2 Arial,sans-serif;letter-spacing:.2em}.booking-discount-mark small{display:block;font-size:9px;line-height:1.8;margin-top:5px}.booking-price-visual-note{grid-column:1/-1;font-size:10px;color:#687b5e;line-height:1.9;margin-top:8px}@media(max-width:700px){.booking-price-visual{grid-template-columns:1fr 76px;gap:15px;padding:20px 16px}.booking-price-bars>div{grid-template-columns:58px 1fr;gap:7px}.booking-price-bars>div>span{font-size:10px}.booking-price-bars>p{font-size:10px}.booking-percent-track>span{padding:9px;font-size:10px}.booking-discount-mark>strong{font-size:48px}.booking-discount-mark small{font-size:8px}}

.booking-price-explainer{margin:20px 0}.booking-price-explainer>summary{padding:15px 35px 15px 15px;background:#e8eddf;font-size:12px;line-height:1.8;cursor:pointer}.booking-price-explainer .booking-price-visual{margin-top:0}.booking-percent-track>span{color:#294b3d}.booking-percent-track.direct>span{color:#fff}@media(max-width:700px){.booking-visual-steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.booking-visual-steps li{flex-direction:column;align-items:start;gap:10px}.booking-visual-steps li:not(:last-child){border:0;padding-bottom:0}.booking-visual-steps strong{font-size:11px}.booking-visual-steps small{font-size:9px}}

/* Private reservation: visible progress and a clear next action. */
.booking-detail-view .booking-wrap>.booking-demo,.booking-detail-view .booking-wrap>.eyebrow,.booking-detail-view .booking-wrap>h1,.booking-detail-view .booking-intro,.booking-detail-view .booking-price-explainer,.booking-detail-view .booking-visual-steps{display:none}
.booking-detail-view #booking-state{max-width:850px;margin:auto;scroll-margin-top:110px}
.booking-status-progress{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));list-style:none;padding:0;margin:28px 0 32px;gap:12px}
.booking-status-progress li{position:relative;border-top:2px solid #dce2d7;padding-top:15px;color:#7b8574;min-width:0}
.booking-status-progress li.done,.booking-status-progress li.current{border-color:#876f42;color:#294b3d}
.booking-status-progress li>span{display:flex;align-items:center;justify-content:center;width:25px;height:25px;border:1px solid #ccd4c5;border-radius:50%;font:12px Arial,sans-serif;margin-bottom:12px}
.booking-status-progress li.done>span,.booking-status-progress li.current>span{background:#294b3d;color:#fff;border-color:#294b3d}
.booking-status-progress strong{font-size:11px;font-weight:500;line-height:1.8;display:block}
.booking-next-action{padding:24px;background:#e8eddf;border-left:3px solid #a98b51;margin:24px 0}
.booking-card .booking-next-action h3{font:22px/1.6 var(--serif);margin:8px 0 14px}.booking-next-action>p:last-child{font-size:12px;line-height:2}
.booking-save-link{padding:22px 0;border-bottom:1px solid #dce1d4}.booking-card .booking-save-link h3{font-size:19px;margin:0 0 12px}.booking-save-link>p{font-size:12px;line-height:2;color:#6c7865;margin-bottom:18px}.booking-save-link small{display:block;font-size:10px;line-height:1.9;margin-top:14px;color:#6c7865}
.booking-guest-actions{display:flex;flex-wrap:wrap;align-items:center;gap:22px;margin:28px 0}.booking-guest-actions a{font-size:12px;text-decoration:underline;text-underline-offset:4px}
.booking-thread-entry{padding:17px;background:#eef2e9;margin-bottom:14px;font-size:12px}.booking-thread-entry.host{border-left:2px solid #a98b51}.booking-thread-entry>strong{font-size:10px;font-weight:500;letter-spacing:.05em}.booking-thread .booking-thread-entry p{padding:0;background:none;white-space:pre-wrap;overflow-wrap:anywhere;margin:12px 0;line-height:2}
.booking-copy-feedback{padding:18px;background:#e8eddf;font-size:12px;line-height:1.9;margin-top:22px;overflow-wrap:anywhere}.booking-copy-feedback label{margin:0}.booking-copy-feedback textarea{font-size:12px;word-break:break-all}
#booking-state .reserve{min-height:46px}#booking-state form{margin:25px 0}#booking-state input,#booking-state textarea{font-size:16px}
@media(max-width:700px){.booking-detail-view .booking-wrap{width:92%}.booking-status-progress{gap:7px}.booking-status-progress strong{font-size:10px}.booking-next-action{padding:20px 16px}.booking-card .booking-next-action h3{font-size:20px}.booking-save-link .reserve{width:100%;justify-content:center;white-space:normal;text-align:center}.booking-guest-actions{align-items:stretch;flex-direction:column;gap:18px}}
