.inventory-badges { display:flex; flex-wrap:wrap; gap:6px; margin:10px 0; }
.inventory-badge { display:inline-block; max-width:100%; padding:5px 9px; border-radius:7px; background:#eaf4ed; color:#185b45; font-size:12px; font-weight:600; line-height:1.4; }
.inventory-badge--early { background:#f2f3ef; color:#56624d; font-weight:400; }
.inventory-photo-badge { position:absolute; top:12px; left:12px; max-width:calc(100% - 24px); padding:6px 10px; border:1px solid #ffffff50; border-radius:7px; background:#103c30eb; color:#fff; box-shadow:0 2px 8px #00291e26; font-size:11px; font-weight:600; line-height:1.3; }
.inventory-early-access { margin:8px 0 0; color:#5c7567; font-size:11px; font-weight:400; line-height:1.4; }
.inventory-result-card .court-result-court { margin-top:8px; }
.inventory-result-card .option-footer { flex-wrap:wrap; gap:6px 12px; }
.inventory-result-card .option-price { margin-left:auto; }
.inventory-result-card .court-interval { max-width:100%; }
.venue-source-section + .venue-source-section { margin-top:24px; padding-top:20px; border-top:1px solid #e3e9e1; }
.venue-source-section h4.venue-source-title { margin:0 0 12px; font-size:15px; line-height:1.4; }
.venue-source-section .inventory-early-access { margin:0 0 10px; }
.venue-court-copy .inventory-early-access { margin:0; font-size:10px; }
.booking-dialog { width:min(92vw,520px); max-height:90dvh; }
.booking-body { padding:20px 24px 28px; overflow-wrap:anywhere; }
.booking-summary h3 { margin:0 0 12px; font-size:20px; }
.booking-summary p { margin:8px 0; line-height:1.5; }
.booking-summary strong { display:block; font-size:24px; margin:15px 0; }
.booking-error { color:#ad3131; }
.booking-contact { display:grid; gap:8px; margin:20px 0 12px; font-size:14px; }
.booking-contact input { box-sizing:border-box; width:100%; min-width:0; padding:13px; border:1px solid #bdccbf; border-radius:8px; font:inherit; font-size:16px; background:#fff; color:#183c2b; }
.booking-contact input[readonly] { background:#f2f5f0; }
.booking-reference { font-size:11px; color:#6f7e75; overflow-wrap:anywhere; }
.booking-instructions { white-space:pre-wrap; line-height:1.5; }
.owned-booking-card { padding:20px 0; border-bottom:1px solid #dfe6df; }
.owned-booking-card:first-child { padding-top:0; }
.booking-history { margin-top:20px; }
.booking-history summary { padding:12px 0; cursor:pointer; }
.venue-court-copy .inventory-badge { margin-top:6px; }
@media(max-width:600px) { .booking-body { padding:18px; } }
