.stay-price{margin:0 0 24px;display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px}.stay-price strong{font-family:var(--serif);font-size:28px;font-weight:400}.stay-price>span{font-size:11px;color:var(--muted)}.stay-price small{width:100%;font-size:11px;color:var(--clay)}.checkout-dialog{width:650px}.checkout-dialog .booking-cover{padding:29px 35px 25px}.checkout-dialog .booking-cover h2{font-size:42px}.checkout-dialog .booking-form{padding-top:22px}.checkout-steps{list-style:none;margin:0;display:grid;grid-template-columns:repeat(4,1fr);padding:18px 35px 16px;border-bottom:1px solid var(--line);gap:12px;font-size:9px;color:var(--muted)}.checkout-steps li span{display:block;font-size:10px;line-height:1.4;margin-top:5px}.checkout-steps li[aria-current]{color:var(--clay)}.checkout-steps li.done{color:var(--green)}.step-title .eyebrow{font-size:8px;letter-spacing:1.5px;color:var(--clay);margin-bottom:10px}.step-title h3{font-size:32px;margin-bottom:19px}.step-title p{font-size:12px;color:var(--muted)}.checkout-stays{grid-template-columns:1fr 1fr;margin-bottom:23px}.checkout-stays label>span{padding:16px;min-height:109px}.checkout-stays strong{font-family:var(--serif);font-size:23px;font-weight:400}.checkout-stays small{font-size:10px}.checkout-stays b{font-size:14px;font-weight:500;display:block;margin-top:7px}.checkout-stays b i{font-style:normal;font-size:9px;font-weight:400;color:var(--muted)}.checkout-dialog .booking-form label{font-size:12px}.checkout-dialog .booking-form input:not([type=radio],[type=checkbox]),.checkout-dialog .booking-form select,.checkout-dialog .booking-form textarea{font-size:14px;padding:11px 12px;min-height:47px}.check-out-date{display:flex;flex-direction:column;justify-content:center;padding-top:3px}.check-out-date span{font-size:8px;letter-spacing:1.1px;color:var(--muted)}.check-out-date strong{font-family:var(--serif);font-size:21px;font-weight:400;margin:5px 0}.check-out-date small{font-size:9px;color:var(--muted)}.cart-help{font-size:11px;line-height:1.85;color:var(--muted)}.mini-total{display:flex;justify-content:space-between;align-items:center;gap:18px;border-top:1px solid var(--line);padding:20px 0}.mini-total>span{font-size:12px}.mini-total small{display:block;font-size:10px;color:var(--muted);margin-top:4px}.mini-total strong{font-family:var(--serif);font-size:31px;font-weight:400}.step-buttons{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:25px}.step-buttons .button{font-size:11px;gap:25px}.step-buttons .text-link{font-size:11px}.checkout-dialog [data-checkout-step="1"]>label{margin-bottom:20px}.checkout-dialog [data-checkout-step="1"] .small-copy{font-size:11px}.review-stay{display:flex;gap:16px;padding-bottom:22px;border-bottom:1px solid var(--line);align-items:center}.review-stay img{width:75px;height:90px;object-fit:cover}.review-stay h4{font-family:var(--serif);font-size:25px;font-weight:400;margin:0 0 7px}.review-stay p{font-size:11px;line-height:1.7;margin:0;color:var(--muted)}.review-stay .text-link{margin-left:auto;font-size:10px}.price-breakdown{padding:15px 0}.price-line{display:flex;justify-content:space-between;align-items:start;gap:20px;font-size:12px;line-height:1.65;padding:8px 0}.price-line small{display:block;font-size:10px;color:var(--muted);margin-top:3px}.price-line.total{font-size:15px;border-top:1px solid var(--line);margin-top:9px;padding-top:18px}.price-line.total strong{font-family:var(--serif);font-size:28px;font-weight:400;line-height:1.3}.included-note{padding:13px 15px;background:#e9eddf;font-size:10px;line-height:1.85;color:#53614c;margin-bottom:20px}.payment-plan{display:grid;grid-template-columns:1fr auto;gap:6px 15px;border-bottom:1px solid var(--line);padding:0 0 20px;margin-bottom:14px}.payment-plan>span{font-size:8px;letter-spacing:1.2px;align-self:center}.payment-plan strong{font-size:12px;font-weight:500}.payment-plan small{grid-column:1/-1;font-size:10px;line-height:1.7;color:var(--muted)}.checkout-terms summary{font-size:12px;padding:13px 0;min-height:46px}.checkout-terms p{white-space:pre-line;font-size:11px}.terms-check{display:flex!important;align-items:start;gap:11px;margin-top:23px}.terms-check input{appearance:auto;flex-shrink:0;width:16px;height:16px;accent-color:var(--green);margin:3px 0 0}.terms-check span{font-size:11px;line-height:1.7}.checkout-status-copy{font-size:11px;line-height:1.85;margin:20px 0;color:var(--muted)}.request-link{display:flex;width:max-content;margin:17px auto 0;font-size:11px}.checkout-notice{margin:18px 35px 0;padding:12px 15px;background:#e9dfc9;color:#705332;font-size:11px;line-height:1.8;border-left:2px solid #aa734b}.checkout-error{padding:13px 15px;margin:18px 35px 0;color:#8f382d;background:#f1e0d6;font-size:12px;line-height:1.75}.button[disabled]{opacity:.6;transform:none}.booking-result{padding:28px 35px}.booking-result>.eyebrow{font-size:8px;color:var(--clay);margin-bottom:15px}.booking-result>h3{font-size:34px;margin-bottom:20px}.booking-result>p{font-size:13px;line-height:1.8;color:var(--muted)}#result-details{padding:15px 18px;background:#e8ebdf;font-size:12px;line-height:1.9;margin-bottom:23px;white-space:pre-line}.booking-result .text-link{display:flex;font-size:11px;width:max-content;margin-top:16px}.booking-result .button{font-size:12px}.resume-booking{position:fixed;right:22px;bottom:22px;z-index:17;background:var(--green);color:var(--paper);padding:11px 17px;box-shadow:0 4px 20px #283c3025;border:1px solid #ddd5bd;font-size:11px}.result-status{font-size:11px;color:var(--clay)}
@media(max-width:600px){.checkout-dialog{width:100%}.checkout-dialog .booking-cover{padding:25px 24px 23px}.checkout-dialog .booking-cover h2{font-size:36px}.checkout-steps{padding:17px 24px 15px;gap:9px;font-size:9px}.checkout-steps li span{font-size:10px}.checkout-notice,.checkout-error{margin-left:24px;margin-right:24px;font-size:12px}.checkout-dialog .booking-form{padding-top:23px}.step-title .eyebrow{font-size:8px}.step-title h3{font-size:29px}.checkout-stays label>span{padding:11px;min-height:115px}.checkout-stays strong{font-size:20px}.checkout-stays small{font-size:9px}.checkout-stays b{font-size:14px}.checkout-stays b i{font-size:8px}.checkout-dialog .booking-form input:not([type=radio],[type=checkbox]),.checkout-dialog .booking-form textarea{font-size:16px}.checkout-dialog .booking-form select{font-size:14px}.check-out-date strong{font-size:20px}.check-out-date small{font-size:9px}.cart-help,.checkout-status-copy,.checkout-terms p,.terms-check span{font-size:12px}.mini-total>span{font-size:12px}.mini-total small{font-size:11px}.mini-total strong{font-size:28px}.review-stay{gap:12px}.review-stay img{width:58px;height:80px}.review-stay h4{font-size:23px}.review-stay p{font-size:11px}.price-line{font-size:12px}.price-line small{font-size:10px}.price-line.total strong{font-size:27px}.included-note{font-size:11px}.checkout-terms summary{font-size:13px}.payment-plan small{font-size:11px}.step-title p{font-size:13px}.step-buttons .button{font-size:11px;gap:18px;padding:14px 17px}.step-buttons .text-link{font-size:11px}.booking-result{padding:25px 24px}.booking-result>h3{font-size:30px}.resume-booking{bottom:84px;right:15px;font-size:10px;padding:10px 14px}}

.terms-check[hidden]{display:none!important}

.checkout-dialog{overflow:visible}.checkout-scroller{max-height:92svh;overflow:auto;overscroll-behavior:contain}.checkout-dialog>.dialog-close{z-index:5}@media(max-width:600px){.checkout-scroller{max-height:94svh;border-radius:10px 10px 0 0}}

.booking-opens{display:block;font-size:10px;color:var(--clay);margin-top:7px;letter-spacing:.2px}.child-age-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px 17px;margin:6px 0 18px}.child-age-grid[hidden]{display:none!important}.age-policy{font-size:11px;line-height:1.8;margin-bottom:17px}.checkout-dialog .child-age-grid label{font-size:11px}@media(max-width:600px){.booking-opens{font-size:11px}.age-policy{font-size:12px}.child-age-grid{gap:12px}.checkout-dialog .child-age-grid label{font-size:11px}}
/* Keep the consent control compact beside wrapping text on every screen. */
.booking-form .terms-check input[type=checkbox]{width:18px;min-width:18px;height:18px;flex:0 0 18px;padding:0;align-self:flex-start}.booking-form .terms-check span{min-width:0;flex:1}
