.live-booking { margin:28px auto; padding:clamp(20px,4vw,44px); border:1px solid rgba(115,87,34,.35); border-radius:24px; background:var(--surface,#e9dfc7); box-shadow:0 12px 36px rgba(61,57,43,.08); scroll-margin-top:160px; }
.live-booking h2,.booking-manager h2 { font-family:Georgia,serif; font-size:clamp(26px,3vw,38px); margin:0 0 12px; }
.live-booking-header { display:flex; justify-content:space-between; gap:18px; flex-wrap:wrap; margin-bottom:22px; }
.booking-eyebrow { color:#735722; text-transform:uppercase; letter-spacing:.15em; font-size:12px; font-weight:700; display:block; margin-bottom:10px; }
.live-filters,.live-contact,.manager-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.live-booking label,.booking-manager label,.booking-tracking label { display:flex; flex-direction:column; gap:7px; font-size:14px; font-weight:600; }
.live-booking input,.live-booking select,.live-booking textarea,.booking-manager input,.booking-manager select,.booking-manager textarea,.booking-tracking input { width:100%; min-height:46px; padding:12px; border:1px solid #a1844d; border-radius:9px; background:#f2ebd9; color:#3d392b; font:inherit; box-sizing:border-box; }
.live-booking textarea,.booking-manager textarea { min-height:88px; resize:vertical; }
.live-booking :focus-visible,.booking-manager :focus-visible,.booking-tracking :focus-visible { outline:3px solid #735722; outline-offset:3px; }
.live-wide { grid-column:1/-1; }
.live-slots { display:flex; flex-wrap:wrap; gap:10px; margin:14px 0; }
.live-slot { cursor:pointer; padding:12px 16px; border:1px solid #a1844d; border-radius:12px; color:#3d392b; background:#f2ebd9; min-height:56px; text-align:left; }
.live-slot small { display:block; margin-top:5px; }
.live-slot[aria-pressed="true"] { background:#735722; color:#fff9e8; border-color:#735722; }
.live-slot:disabled { opacity:.55; cursor:not-allowed; }
.checkout-cart{margin-top:28px;padding-top:20px;border-top:1px solid #b9a67c}
.checkout-item{border:1px solid #b9a67c;border-radius:12px;padding:16px;margin:12px 0;overflow-wrap:anywhere}
.checkout-item h3{margin-top:0}.checkout-terms{margin:12px 0}.checkout-terms summary{cursor:pointer;font-weight:600}
.live-booking .live-actions label{max-width:200px}
.live-booking [data-live-quote]{margin-top:20px}
.live-message { padding:12px 0; margin:0; line-height:1.6; }
.live-message[data-error="true"] { color:#842c24; font-weight:600; }
.live-booking fieldset { border:0; padding:0; margin:24px 0 0; min-width:0; }
.live-booking legend { font:600 22px Georgia,serif; margin-bottom:16px; }
.live-booking .live-consent { display:flex; flex-direction:row; align-items:flex-start; font-weight:400; line-height:1.6; }
.live-consent input { width:22px; min-width:22px; height:22px; min-height:22px; margin:2px 7px 0 0; padding:0; }
.live-actions { display:flex; gap:12px; flex-wrap:wrap; margin-top:18px; }
.live-note { line-height:1.65; color:#5d513e; font-size:14px; }
.live-booking [hidden],.booking-manager [hidden],.booking-tracking [hidden] { display:none!important; }
.live-booking button:disabled,.booking-manager button:disabled { opacity:.55; cursor:not-allowed; }
.live-provider-terms { white-space:pre-wrap; font-size:14px; line-height:1.6; }
.booking-manager { padding:32px 0; }
.booking-manager .panel { margin-bottom:20px; padding:24px; }
.booking-login { max-width:520px; margin:0 auto; }
.manager-stats { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin-bottom:24px; }
.manager-stats strong { display:block; font-size:32px; margin-top:8px; }
.manager-item { padding:18px 0; border-top:1px solid #b9a67c; overflow-wrap:anywhere; }
.manager-item h3 { margin:0 0 8px; }
.manager-item .live-actions { margin-top:12px; }
.manager-item>button { margin:8px 10px 0 0; }
.manager-rituals { border:1px solid #a1844d; border-radius:12px; padding:18px; min-width:0; }
.manager-rituals [data-provider-ceremonies] { display:flex; flex-wrap:wrap; gap:14px 24px; }
.booking-manager .live-consent { flex-direction:row; align-items:flex-start; }
.ritual-card .ritual-book-link { margin-top:14px; display:inline-flex; }
.booking-tracking { max-width:880px; margin:32px auto; padding:28px; }
.booking-status-label { display:inline-block; padding:8px 14px; border-radius:30px; border:1px solid #a1844d; font-weight:700; margin:16px 0; }
.tracking-details { display:grid; grid-template-columns:160px 1fr; gap:12px; line-height:1.5; margin:20px 0; }
.tracking-details dt { color:#5d513e; }
.tracking-details dd { margin:0; overflow-wrap:anywhere; }
@media(max-width:680px) { .live-filters,.live-contact,.manager-fields,.manager-stats { grid-template-columns:1fr; } .live-booking { margin:20px 12px; scroll-margin-top:20px; } .booking-manager .panel,.booking-tracking { padding:20px; } .tracking-details { grid-template-columns:1fr; gap:6px; } .tracking-details dd { margin-bottom:10px; } .live-actions>* { width:100%; text-align:center; } }
