/* Scoped public presentation only. No administration or availability data changes. */
body[data-page] main{min-width:0}
body[data-page] .booking-bar,body[data-page] .checkout-form{min-width:0}
body[data-page] .booking-bar>* ,body[data-page] .checkout-form>*{min-width:0}
body[data-page] input,body[data-page] select,body[data-page] textarea{max-width:100%;box-sizing:border-box}
body[data-page="availability"] .calendar-grid{width:100%;max-width:630px;grid-template-columns:repeat(7,minmax(0,1fr));align-items:start}
body[data-page="availability"] .calendar-header{max-width:630px;gap:12px}
body[data-page="availability"] .cal-title{font-size:clamp(1.2rem,5vw,2rem);text-align:center}
body[data-page="availability"] .cal-cell{min-width:0;box-sizing:border-box}
body[data-page="availability"] .cal-cell:not(.cal-head){min-height:0;height:clamp(40px,6vw,58px);padding:8px;font-variant-numeric:tabular-nums}
body[data-page="availability"] .cal-head{min-height:30px;padding:7px 2px;text-align:center;font-size:11px;overflow-wrap:anywhere}
body[data-page] .cg-legal-links{display:flex;flex-wrap:wrap;gap:8px 16px;margin-top:16px}
body[data-page] .cg-legal-links a{display:inline-block;text-decoration:underline;text-underline-offset:3px}
body[data-page] .cg-terms{grid-column:1/-1;display:flex;align-items:flex-start;gap:10px;font-size:14px;line-height:1.6;text-transform:none;letter-spacing:normal}
body[data-page] .cg-terms input{width:20px;height:20px;flex:0 0 20px;margin:3px 0 0;accent-color:#173c3b}
body[data-page] .cg-terms a{text-decoration:underline;text-underline-offset:3px}
@media(max-width:560px){
 body[data-page] .booking-bar{grid-template-columns:minmax(0,1fr)}
 body[data-page] .checkout-form{grid-template-columns:minmax(0,1fr)}
 body[data-page] .booking-bar input,body[data-page] .booking-bar select{width:100%;min-height:44px}
 body[data-page="availability"] .availability-card{padding:18px 14px}
 body[data-page="availability"] .calendar-status{padding:12px;overflow-wrap:anywhere}
 body[data-page="availability"] .cal-cell:not(.cal-head){height:44px;padding:7px 4px}
 body[data-page] .cg-legal-links a{padding-block:6px}
}

body[data-page] .cg-booking-summary{grid-column:1/-1;overflow-wrap:anywhere;line-height:1.6}
body[data-page] #stripeButton{white-space:normal;line-height:1.5;min-height:44px}
body[data-page] :is(button,input,select,a):focus-visible{outline:3px solid #947547;outline-offset:3px}
