.date-range-hint{grid-column:1/-1;margin:6px 0 0;color:var(--text-muted);font-size:11px;line-height:1.35}.date-range-hint.is-error{color:#b42318;font-weight:800}.booking-validation-summary{margin:0 0 12px;padding:10px 12px;border:1px solid #f2b8b5;border-radius:10px;background:#fff4f3;color:#9f1c16;font-size:12px;line-height:1.4;font-weight:700}.field-error{display:block;margin:5px 0 0;color:#b42318;font-size:11px;font-weight:700;line-height:1.35}.floating-group:has(.field-error),.booking-phone-group:has(.field-error){margin-bottom:8px}.floating-input[aria-invalid="true"],.booking-phone-input[aria-invalid="true"]{border-color:#b42318!important;box-shadow:0 0 0 2px rgba(180,35,24,.12)}#legal-consent[aria-invalid="true"]{outline:2px solid #b42318;outline-offset:2px}.availability-operation-warning{margin-top:8px;padding:8px 10px;border-radius:8px;background:#fff7e8;color:#8a5a00;font-weight:800;line-height:1.35}.availability-operation-hint{display:block;margin-top:7px;color:var(--text-muted);line-height:1.35}.offer-quality.needs-confirmation{border-color:#efd59b;background:#fffaf0;color:#8a5a00}.offer-quality.needs-confirmation small{display:block;margin-top:3px;color:#8a5a00;font-weight:600;line-height:1.35}@media(max-width:600px){.date-range-hint{font-size:12px}.booking-validation-summary{font-size:13px}}
.checkout-availability{display:block;position:relative;clear:both;margin:10px 0 18px;padding:12px;border:1px solid var(--border);border-radius:12px;background:var(--bg-card);color:var(--text-muted);font-size:12px;line-height:1.45;overflow-wrap:anywhere}.checkout-availability>b{display:block;line-height:1.4}.checkout-availability>br{display:none}@media(max-width:600px){#booking-date-hint{min-height:1.4em;margin:8px 0 0}.checkout-availability{margin-top:12px;padding:12px 14px}}

/* Checkout surfaces: each asynchronous state gets its own readable block so
   dates, availability and actions never compete for the same line. */
.booking-date-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(105px,.55fr);gap:12px;margin-bottom:15px;min-width:0}.booking-date-grid>.floating-group{min-width:0;margin-bottom:0}.booking-date-grid .floating-input{min-width:0;width:100%}.checkout-option-group{min-width:0}.checkout-option{min-width:0;flex-wrap:wrap}.checkout-option>span:not(.fmt-price){min-width:0;overflow-wrap:anywhere}.checkout-option .fmt-price{flex:0 0 auto;white-space:nowrap}.checkout-availability.is-error{border-color:rgba(180,35,24,.3);background:#fff8f7}.checkout-availability.is-ready{min-height:0}.availability-state{display:block;min-width:0}.availability-state--free{color:var(--success)}.availability-state--busy>b{display:block;color:var(--text-main);line-height:1.4}.availability-state--loading{display:flex;align-items:center;gap:8px}.availability-state--error{display:block;color:#9f1c16;line-height:1.4}.availability-spinner{width:13px;height:13px;flex:0 0 13px;border:2px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:nr-checkout-spin .8s linear infinite}.availability-periods{display:grid;gap:6px;margin-top:9px}.availability-period{display:flex;align-items:flex-start;gap:7px;min-width:0;padding:7px 9px;border:1px solid #f0b4b4;border-radius:8px;background:#fff0f0;color:#991b1b;line-height:1.35}.availability-period>b{flex:0 0 auto;font-size:11px}.availability-period>span{min-width:0;overflow-wrap:anywhere}.availability-periods__extra{display:block;margin-top:7px;color:var(--text-muted);font-size:11px}.checkout-inline-retry{display:inline-flex;align-items:center;justify-content:center;min-height:34px;margin-top:8px;padding:7px 11px;border:1px solid var(--primary);border-radius:8px;background:var(--bg-card);color:var(--primary);font:inherit;font-size:12px;font-weight:800;cursor:pointer}.checkout-inline-retry:hover:not(:disabled){background:var(--primary-light)}.checkout-inline-retry:disabled{cursor:wait;opacity:.6}.checkout-quote-status{margin:0 0 12px;min-width:0}.checkout-quote-status .server-quote{margin:0;min-height:1.4em}.checkout-quote-status .checkout-inline-retry{margin-top:6px}.server-quote[aria-busy="true"]{color:var(--text-muted)}@keyframes nr-checkout-spin{to{transform:rotate(360deg)}}
@media(max-width:600px){.booking-date-grid{grid-template-columns:minmax(0,1fr) minmax(92px,.7fr);gap:10px}.booking-date-grid .floating-label{max-width:calc(100% - 20px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.checkout-option{align-items:flex-start!important}.checkout-option>input{flex:0 0 18px}.checkout-option>span:not(.fmt-price){flex:1 1 calc(100% - 32px)}.checkout-option .fmt-price{width:100%;margin-left:28px!important}.availability-period{flex-direction:column;gap:2px}.checkout-quote-status .checkout-inline-retry{width:100%}}
@media(max-width:360px){.booking-date-grid{grid-template-columns:minmax(0,1fr) minmax(88px,.68fr);gap:8px}.booking-date-grid .floating-input{padding-left:10px;padding-right:7px}.booking-date-grid .floating-label{left:10px}}
@media(prefers-reduced-motion:reduce){.availability-spinner{animation:none}}
