.booking-day-strip { display:flex; gap:10px; overflow-x:auto; padding:4px 0 12px; margin:16px 0; min-width:0; }
.booking-day-strip a { flex:1 0 76px; display:grid; gap:6px; text-align:center; padding:14px 8px; border:1px solid var(--line); border-radius:8px; color:var(--ink); background:var(--surface); }
.booking-day-strip a[aria-current=date] { background:#087d65; color:white; border-color:#087d65; }
.booking-day-strip span { font-size:12px; font-weight:750; }
.booking-day-strip strong { font-size:25px; }
.booking-day-strip small { font-size:10px; }
.booking-cleanup-note { font-size:12px; }
.storefront-booking { --booking-soft: var(--chosen-soft, #eef5f1); }
.storefront-booking.theme-editorial { --booking-soft: var(--chosen-soft, #fce7ee); }
.storefront-booking.theme-mono { --booking-soft: var(--chosen-soft, #f1f576); }
.storefront.storefront-booking .public-container .booking-store-heading { margin:0; padding:32px 0 24px; background:transparent; border:0; border-bottom:1px solid var(--line); }
.storefront.storefront-booking .booking-store-identity { display:flex; flex-direction:row; align-items:center; gap:16px; }
.storefront.storefront-booking .booking-store-identity > div { min-width:0; }
.storefront.storefront-booking .booking-store-identity :is(.store-logo,.store-logo-fallback) { width:60px; height:60px; border-radius:8px; background:var(--booking-soft); color:var(--brand); font-size:26px; flex:0 0 60px; }
.storefront.storefront-booking .public-container .booking-store-heading h1 { margin:6px 0 0; font-size:32px; line-height:1.15; color:var(--ink); }
.storefront-booking .booking-eyebrow { color:var(--brand); font-size:10px; font-weight:700; }
.storefront-booking .booking-description { margin:18px 0 0; max-width:640px; font-size:14px; line-height:1.65; }
.storefront .booking-day-strip a[aria-current=date] { background:var(--brand); border-color:var(--brand); color:#fff; }
.storefront .booking-day-strip a:not([aria-current=date]):hover { background:var(--booking-soft); border-color:var(--brand); }
.storefront .button:not(.secondary) { background:var(--brand); border-color:var(--brand); color:#fff; }
.storefront .button:not(.secondary):hover { filter:brightness(.94); }
.storefront .button.secondary,.storefront .tool-button { color:var(--brand); }
.storefront .button.secondary:hover,.storefront .tool-button:hover { background:var(--booking-soft, var(--surface-2)); }
.storefront .daily-free:hover { color:var(--brand); background:var(--booking-soft); border-color:var(--brand); }
.booking-notification { display:flex; align-items:center; gap:16px; padding:18px; margin-bottom:22px; border:1px solid #edcba9; background:#fff5e8; border-radius:8px; }
.booking-notification[hidden] { display:none; }
.booking-notification-icon { color:#99550c; }
.booking-notification > div { flex:1; min-width:0; }
.booking-notification p { margin:6px 0; font-size:14px; }
.booking-notification small { font-size:11px; color:#726455; }
.booking-notification form { margin:0; }
.booking-notifications { margin-bottom:24px; border-block:1px solid var(--line); background:var(--surface); }
.booking-notifications[hidden] { display:none; }
.booking-notifications > header { display:flex; align-items:center; gap:12px; padding:18px 16px; background:#eef5ff; }
.notification-heading-icon { display:grid; place-items:center; width:36px; height:36px; color:#2563a8; flex-shrink:0; }
.booking-notifications h2 { font-size:17px; margin:0 0 5px; line-height:1.3; }
.booking-notifications header p { margin:0; font-size:12px; color:var(--muted); }
.notification-count { display:grid; place-items:center; min-width:30px; height:30px; border-radius:50%; background:#2563a8; color:white; font-size:13px; font-weight:750; margin-left:auto; flex-shrink:0; }
.booking-notification-list { max-height:390px; overflow-y:auto; overscroll-behavior:contain; }
.booking-notification-row { display:grid; grid-template-columns:24px minmax(0,1fr) auto 44px; gap:14px; align-items:center; padding:18px 16px; border-top:1px solid var(--line); }
.notification-date-icon { color:#2563a8; }
.notification-row-copy { min-width:0; }
.notification-row-copy strong { font-size:15px; }
.notification-row-copy p { margin:5px 0; font-size:12px; color:var(--muted); }
.notification-row-copy small { font-size:11px; color:var(--muted); }
.booking-notification-row form { margin:0; }
.booking-notifications > footer { font-size:11px; color:var(--muted); padding:12px 16px; border-top:1px solid var(--line); line-height:1.5; }
@media(max-width:719px) {
 .booking-notifications h2 { font-size:15px; }
 .booking-notifications > header { gap:8px; padding:16px 12px; }
 .booking-notification-row { grid-template-columns:20px minmax(0,1fr) 44px; gap:10px; padding:16px 12px; }
 .booking-notification-row > a { grid-column:2; grid-row:2; justify-self:start; }
 .booking-notification-row form { grid-column:3; grid-row:1; align-self:start; }
 .booking-notification-list { max-height:400px; }
 .storefront.storefront-booking .public-container .booking-store-heading { padding:24px 2px 20px; }
 .storefront.storefront-booking .booking-store-identity { gap:14px; }
 .storefront.storefront-booking .booking-store-identity :is(.store-logo,.store-logo-fallback) { width:52px; height:52px; flex-basis:52px; font-size:23px; }
 .storefront.storefront-booking .public-container .booking-store-heading h1 { font-size:28px; }
 .booking-notification { display:grid; grid-template-columns:24px minmax(0,1fr) 38px; gap:12px; padding:16px; }
 .booking-notification > .button { grid-column:1/-1; grid-row:2; width:100%; }
 .booking-notification form { grid-column:3; grid-row:1; align-self:start; }
 .booking-notification small { display:block; line-height:1.5; }
 .booking-day-strip a { flex-basis:65px; padding:12px 6px; }
}
