.booking-page{min-height:100vh;background-color:var(--sage);background-image:url('/assets/texture-sage-linen.webp');background-size:520px 520px}
.booking-header{margin-top:22px;padding:14px 20px;display:flex;align-items:center;justify-content:space-between;gap:18px;background:var(--cream-light);border:1px solid rgba(200,161,95,.72);border-radius:28px;box-shadow:0 14px 34px rgba(43,28,29,.17)}
.booking-home{width:auto;white-space:nowrap}.booking-hero{padding:70px 20px 36px;text-align:center}.booking-hero .eyebrow{color:var(--plum-dark)}.booking-hero h1{max-width:900px;margin:0 auto;color:var(--plum-dark);font:400 clamp(58px,8vw,96px)/.94 var(--display);letter-spacing:.01em}.booking-hero>p:last-child{max-width:700px;margin:20px auto 0;color:#3f393f;font-size:18px}
.booking-shell{margin-bottom:55px}.booking-tabs{display:grid;grid-template-columns:1fr 1fr;gap:12px;max-width:760px;margin:0 auto 22px}.booking-tab{border:2px solid var(--gold);border-radius:999px;padding:15px 22px;background:var(--cream-light);color:var(--plum-dark);font-weight:800;font-size:15px;cursor:pointer;box-shadow:0 10px 24px rgba(42,28,36,.10)}.booking-tab.active{background:var(--plum);color:var(--white)}
.booking-info-card{position:relative;max-width:900px;margin:0 auto 24px;padding:30px 34px;text-align:center;background:var(--cream-light);border:2px solid var(--gold);border-radius:28px;box-shadow:var(--shadow-soft);overflow:hidden}.booking-info-card::before{content:"";position:absolute;inset:8px;border:1px solid rgba(200,161,95,.42);border-radius:21px;pointer-events:none}.booking-info-card>*{position:relative;z-index:1}.booking-info-card h2{margin:3px 0 10px;color:var(--plum-dark);font:700 44px/1 var(--serif)}.booking-info-card>p:not(.eyebrow){max-width:680px;margin:0 auto;color:#574e57}.room-details{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:22px auto 0;max-width:760px;text-align:left}.room-details p{margin:0;padding:15px 17px;background:var(--sage-light);border:1px solid rgba(95,116,85,.28);border-radius:16px;color:#3c4037}.room-details strong{color:var(--plum-dark)}
.booking-calendar-layout{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);gap:22px;align-items:start}.calendar-card,.availability-panel{background:var(--cream-light);border:2px solid var(--gold);border-radius:28px;box-shadow:var(--shadow-soft)}.calendar-card{padding:24px}.calendar-head{display:grid;grid-template-columns:44px 1fr 44px;align-items:center;gap:10px;margin-bottom:18px}.calendar-head h2{text-align:center;margin:0;color:var(--plum-dark);font:700 34px/1 var(--serif)}.calendar-arrow{width:44px;height:44px;border-radius:50%;border:1px solid var(--gold);background:var(--cream);color:var(--plum-dark);font-size:30px;cursor:pointer}.calendar-weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:7px}.calendar-weekdays{margin-bottom:7px}.calendar-weekdays span{text-align:center;color:var(--sage-deep);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.calendar-day{position:relative;min-height:70px;border:1px solid rgba(98,67,109,.12);border-radius:14px;background:#fffaf2;color:#4f454e;font-weight:700;cursor:default}.calendar-day.outside{opacity:.32}.calendar-day.has-slots{cursor:pointer;border-color:var(--gold);background:var(--sage-light);color:var(--plum-dark)}.calendar-day.has-slots::after{content:"";position:absolute;left:50%;bottom:8px;transform:translateX(-50%);width:7px;height:7px;border-radius:50%;background:var(--plum)}.calendar-day.selected{background:var(--plum);color:var(--white);border-color:var(--plum)}.calendar-day.selected::after{background:var(--gold-soft)}.calendar-day.today{box-shadow:inset 0 0 0 2px rgba(200,161,95,.6)}.calendar-legend{display:flex;justify-content:center;margin-top:14px;color:var(--muted);font-size:11px}.calendar-legend span{display:flex;align-items:center;gap:7px}.calendar-legend i{width:9px;height:9px;background:var(--plum);border-radius:50%}
.availability-panel{padding:28px;min-height:445px}.availability-panel h2{margin:0 0 18px;color:var(--plum-dark);font:700 34px/1.05 var(--serif)}.availability-list{display:grid;gap:12px}.slot-card{padding:18px;border:1px solid rgba(98,67,109,.16);border-left:4px solid var(--gold);border-radius:16px;background:var(--cream)}.slot-card h3{margin:0 0 6px;color:var(--plum-dark);font:700 26px/1.05 var(--serif)}.slot-date{margin:0 0 10px;color:var(--sage-deep);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.slot-meta{display:flex;flex-wrap:wrap;gap:7px 10px;margin:0 0 10px}.slot-meta span{display:inline-flex;padding:5px 8px;border-radius:999px;background:rgba(132,150,118,.14);color:#4e5948;font-size:11px;font-weight:700}.slot-note{margin:0 0 13px;color:#574e57;font-size:13px}.slot-card .button{width:auto;padding:10px 15px;font-size:12px}.slot-no-link{display:inline-flex;padding:8px 12px;border:1px solid rgba(98,67,109,.20);border-radius:999px;color:var(--muted);font-size:11px;font-weight:700}.availability-empty{text-align:center;padding:48px 20px;color:var(--muted)}.availability-empty span{display:block;color:var(--gold);font-size:38px}.availability-empty strong{display:block;margin:8px 0;color:var(--plum-dark);font:700 25px/1.1 var(--serif)}.availability-empty p{font-size:13px}.booking-footer{background:var(--plum-dark);color:var(--cream-light);padding:38px 0;text-align:center;border-top:2px solid var(--gold)}.booking-footer .footer-brand{justify-content:center}.booking-footer p{margin:10px 0 0;color:#ded1dc;font-size:13px}
@media(max-width:820px){.booking-calendar-layout{grid-template-columns:1fr}.availability-panel{min-height:0}.booking-header .brand-copy strong{font-size:30px}.booking-home{padding:11px 14px;font-size:12px}.room-details{grid-template-columns:1fr}}
@media(max-width:620px){.booking-header{width:calc(100% - 24px);margin-top:12px;padding:12px 14px;border-radius:22px}.booking-header .brand-moon{font-size:30px}.booking-header .brand-copy strong{font-size:25px}.booking-header .brand-copy small{font-size:7px}.booking-home{font-size:0;width:44px;height:44px;padding:0;border-radius:50%}.booking-home::before{content:"←";font-size:20px}.booking-hero{padding:48px 14px 26px}.booking-hero h1{font-size:clamp(48px,14vw,68px)}.booking-hero>p:last-child{font-size:15px;margin-top:15px}.booking-tabs{gap:8px;margin-bottom:16px}.booking-tab{padding:12px 8px;font-size:13px;line-height:1.2}.booking-info-card{padding:25px 18px;border-radius:24px}.booking-info-card h2{font-size:36px}.booking-calendar-layout{gap:14px}.calendar-card,.availability-panel{border-radius:23px}.calendar-card{padding:16px}.calendar-day{min-height:54px;border-radius:11px;font-size:13px}.calendar-head h2{font-size:29px}.calendar-weekdays,.calendar-grid{gap:5px}.availability-panel{padding:21px}.availability-panel h2{font-size:30px}.slot-card h3{font-size:24px}.slot-card .button{width:100%}}

/* v28 live booking */
.booking-flash{margin:0 auto 22px;padding:14px 18px;border:1px solid var(--gold);border-radius:16px;background:var(--cream-light);color:var(--plum-dark);text-align:center;font-weight:700;box-shadow:var(--shadow-soft)}.booking-flash.success{background:#edf4e9;color:#40583a}.booking-flash .flash-link{margin-left:8px;color:var(--plum);text-decoration:underline}.slot-topline{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.availability-badge{flex:0 0 auto;display:inline-flex;padding:6px 9px;border-radius:999px;background:#e5f0e2;color:#45613f;font-size:10px;font-weight:800}.availability-badge.low{background:#fff0d8;color:#8c5b18}.availability-badge.sold{background:#f4e1e1;color:#8b3f3f}.slot-action-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.payment-pending{font-size:10px;color:var(--muted)}.slot-card button:disabled{opacity:.5;cursor:not-allowed}.modal-open{overflow:hidden}.booking-modal{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:20px}.booking-modal-backdrop{position:absolute;inset:0;background:rgba(31,20,34,.72)}.booking-modal-card{position:relative;z-index:1;width:min(720px,100%);max-height:min(92vh,900px);overflow:auto;padding:28px;background:var(--cream-light);border:2px solid var(--gold);border-radius:28px;box-shadow:0 30px 80px rgba(22,14,24,.38)}.booking-modal-close{position:absolute;right:14px;top:14px;width:38px;height:38px;border-radius:50%;border:1px solid rgba(98,67,109,.18);background:var(--cream);color:var(--plum-dark);font-size:24px;cursor:pointer}.booking-modal-card h2{margin:2px 0 12px;padding-right:42px;color:var(--plum-dark);font:700 42px/1 var(--serif)}.booking-modal-summary{display:grid;gap:3px;padding:14px 16px;margin-bottom:18px;border:1px solid rgba(95,116,85,.25);border-radius:16px;background:var(--sage-light);color:#3d4938}.booking-modal-summary strong{font:700 24px/1.05 var(--serif);color:var(--plum-dark)}.booking-modal-summary span{font-size:12px}.booking-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.booking-form-grid label{display:grid;gap:6px;font-size:11px;font-weight:800;color:#544c54}.booking-form-grid input,.booking-form-grid textarea{width:100%;padding:12px;border:1px solid rgba(98,67,109,.18);border-radius:11px;background:#fff;color:var(--ink);font:inherit}.booking-form-grid .wide{grid-column:1/-1}.booking-addon-list{display:grid;gap:8px;margin-top:4px}.booking-addon-list>strong{font-size:12px;color:var(--plum-dark)}.addon-choice{display:grid!important;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:10px 12px;border:1px solid rgba(98,67,109,.13);border-radius:12px;background:#fff}.addon-choice input{width:18px;height:18px}.addon-choice span{display:grid;gap:2px}.addon-choice b{font-size:12px}.addon-choice small{font-size:10px;font-weight:500;color:var(--muted)}.addon-choice em{font-size:11px;font-style:normal;font-weight:800;color:var(--sage-deep)}.booking-price-summary{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:18px 0 8px;padding:14px 16px;border-top:1px solid rgba(98,67,109,.14);border-bottom:1px solid rgba(98,67,109,.14)}.booking-price-summary span{font-size:11px;font-weight:800;color:var(--muted);text-transform:uppercase}.booking-price-summary strong{font:700 28px var(--serif);color:var(--plum-dark)}.booking-policy{font-size:10px;color:var(--muted)}.booking-form-status{min-height:20px;font-size:11px;font-weight:700;color:#8b3f3f}.booking-submit{width:100%}.booking-submit:disabled{opacity:.6}.slot-card .button.cream{padding:10px 15px;font-size:12px}
@media(max-width:620px){.slot-topline{flex-direction:column}.booking-modal{padding:10px}.booking-modal-card{padding:22px 16px;border-radius:23px}.booking-modal-card h2{font-size:34px}.booking-form-grid{grid-template-columns:1fr}.booking-form-grid .wide{grid-column:auto}.addon-choice{grid-template-columns:auto 1fr}.addon-choice em{grid-column:2}.booking-price-summary{padding-left:6px;padding-right:6px}}
.manage-booking-card{max-width:760px;margin:0 auto 60px;padding:30px;background:var(--cream-light);border:2px solid var(--gold);border-radius:28px;box-shadow:var(--shadow-soft)}.manage-booking-card h2{margin:4px 0 20px;color:var(--plum-dark);font:700 44px/1 var(--serif)}.manage-details{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:18px}.manage-details p{display:grid;gap:3px;margin:0;padding:13px;border-radius:13px;background:var(--cream);border:1px solid rgba(98,67,109,.12)}.manage-details strong{font-size:10px;text-transform:uppercase;color:var(--sage-deep)}.manage-details span{text-transform:capitalize}.manage-note{font-size:12px;color:var(--muted)}@media(max-width:620px){.manage-booking-card{width:calc(100% - 26px);padding:22px}.manage-details{grid-template-columns:1fr}.manage-booking-card h2{font-size:36px}}

/* v28 live booking system */
.booking-notice{margin:-8px auto 22px;padding:14px 18px;border-radius:16px;border:1px solid rgba(98,67,109,.18);background:var(--cream-light);box-shadow:var(--shadow-soft);font-size:14px}.booking-notice a{font-weight:800;color:var(--plum)}.notice-success{border-color:rgba(95,116,85,.55);background:#edf3e9}.notice-error{border-color:#b66d6d;background:#f9e9e9}.notice-info{border-color:rgba(200,161,95,.62);background:#faf2df}.calendar-legend{gap:20px;flex-wrap:wrap}.calendar-legend .legend-limited i{background:var(--gold)}.calendar-day.limited{border-color:#ba8f46}.calendar-day.limited::after{background:var(--gold)}.slot-card-top{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.live-capacity{flex:0 0 auto;display:inline-flex;padding:5px 9px;border-radius:999px;background:#e6f0e1;color:#45613f;font-size:10px;font-weight:800;white-space:nowrap}.live-capacity.is-full{background:#f3e5d6;color:#825e28}.slot-card.slot-sold_out{border-left-color:#ba8f46}.slot-card.slot-booked{opacity:.7}.slot-action{margin-top:2px}.live-availability-note{display:flex;align-items:center;justify-content:center;gap:8px;margin:17px 0 0;color:#4f5949;font-size:11px}.live-dot{width:8px;height:8px;border-radius:50%;background:#5f7455;box-shadow:0 0 0 4px rgba(95,116,85,.13)}
.modal-open{overflow:hidden}.booking-modal{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:20px}.booking-modal[hidden]{display:none}.booking-modal-backdrop{position:absolute;inset:0;background:rgba(31,21,32,.68)}.booking-modal-card{position:relative;z-index:1;width:min(720px,100%);max-height:calc(100vh - 40px);overflow:auto;background:var(--cream-light);border:2px solid var(--gold);border-radius:28px;padding:30px;box-shadow:0 35px 90px rgba(20,12,22,.38)}.booking-modal-card::before{content:"";position:absolute;inset:8px;border:1px solid rgba(200,161,95,.38);border-radius:21px;pointer-events:none}.booking-modal-card>*{position:relative;z-index:1}.booking-modal-close{position:absolute;right:16px;top:14px;z-index:2;width:40px;height:40px;border-radius:50%;border:1px solid rgba(98,67,109,.18);background:var(--cream);color:var(--plum-dark);font-size:25px;cursor:pointer}.booking-modal-card h2{margin:3px 48px 4px 0;color:var(--plum-dark);font:700 42px/1 var(--serif)}.booking-modal-summary{margin:0 0 20px;color:var(--sage-deep);font-weight:700;font-size:13px}.booking-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.booking-form-grid .wide{grid-column:1/-1}.booking-form-grid label{display:grid;gap:6px;color:#4f454e;font-size:11px;font-weight:800}.booking-form-grid label>span{font-weight:500;color:var(--muted)}.booking-form-grid input,.booking-form-grid textarea{width:100%;padding:12px 13px;border:1px solid rgba(98,67,109,.18);border-radius:12px;background:#fff;color:var(--ink);font:500 14px var(--sans)}.booking-addon-list{padding:14px;border:1px solid rgba(98,67,109,.13);border-radius:14px;background:var(--cream)}.booking-addon-list>strong{display:block;margin-bottom:8px;color:var(--plum-dark);font:700 20px var(--serif)}.booking-addon{display:grid!important;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:9px 0;border-top:1px solid rgba(98,67,109,.09)}.booking-addon:first-of-type{border-top:0}.booking-addon input{width:17px;height:17px}.booking-addon span{display:grid}.booking-addon b{font-size:12px}.booking-addon small{font-size:10px;color:var(--muted);font-weight:500}.booking-addon em{font-style:normal;font-size:11px;color:var(--plum);font-weight:800}.booking-price-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:18px 0 0;padding:14px 16px;border-radius:14px;background:var(--sage-light);color:#35422f}.booking-price-summary span{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.booking-price-summary strong{font:700 24px var(--serif);color:var(--plum-dark)}.booking-price-summary small{width:100%;font-size:10px}.booking-policy{margin:12px 0;color:var(--muted);font-size:10px}.booking-form-status{min-height:20px;margin:8px 0;color:#8d4848;font-size:12px}.booking-submit{width:100%}
@media(max-width:620px){.slot-card-top{display:block}.live-capacity{margin:2px 0 8px}.booking-modal{padding:10px}.booking-modal-card{max-height:calc(100vh - 20px);padding:24px 18px;border-radius:23px}.booking-modal-card h2{font-size:34px}.booking-form-grid{grid-template-columns:1fr}.booking-form-grid .wide{grid-column:auto}.booking-addon{grid-template-columns:auto 1fr}.booking-addon em{grid-column:2}.booking-price-summary strong{font-size:22px}}
.manage-booking-main{padding:70px 0 90px}.manage-card{width:min(760px,100%);margin:0 auto;padding:38px;background:var(--cream-light);border:2px solid var(--gold);border-radius:28px;box-shadow:var(--shadow)}.manage-card>h1{margin:4px 0 22px;color:var(--plum-dark);font:400 clamp(50px,7vw,76px)/.95 var(--display)}.manage-status{display:inline-flex;padding:6px 10px;border-radius:999px;background:var(--sage-light);color:#40543a;font-size:10px;font-weight:800;text-transform:uppercase}.manage-details h2,.manage-card h2{font:700 34px var(--serif);color:var(--plum-dark)}.manage-date{color:var(--sage-deep);font-weight:700}.manage-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:22px 0}.manage-grid>div{display:grid;gap:3px;padding:14px;border-radius:14px;background:var(--cream);border:1px solid rgba(98,67,109,.12)}.manage-grid span{font-size:9px;font-weight:800;text-transform:uppercase;color:var(--muted)}.manage-grid strong{color:var(--plum-dark)}.manage-grid small{color:var(--muted)}.manage-id{font-size:11px;word-break:break-all}.manage-cancel{width:auto}.manage-closed{padding:12px 14px;background:var(--sage-light);border-radius:12px;color:#40543a}.status-cancelled,.status-refunded,.status-expired,.status-cancel_requested{background:#f3e1e1;color:#824141}@media(max-width:620px){.manage-booking-main{width:calc(100% - 24px);padding:38px 0 60px}.manage-card{padding:28px 18px}.manage-grid{grid-template-columns:1fr}}


/* v31 calendar interaction polish */
.calendar-day.selectable-date{cursor:pointer;transition:background-color .16s ease,color .16s ease,border-color .16s ease,transform .16s ease}
.calendar-day.selectable-date:not(.selected):hover{background:var(--cream);border-color:rgba(200,161,95,.72);transform:translateY(-1px)}
.calendar-day.past{position:relative;cursor:not-allowed;opacity:.38;background:#eee8df;color:#857d80;border-color:rgba(98,67,109,.08);overflow:hidden}
.calendar-day.past::before{content:"";position:absolute;left:15%;top:50%;width:70%;height:1.5px;background:rgba(98,67,109,.52);transform:rotate(-35deg);transform-origin:center;pointer-events:none}
.calendar-day.past::after{display:none}
.calendar-day.past.today{opacity:1}
.calendar-day.selected{cursor:pointer}
@media(max-width:620px){.calendar-day.past::before{left:12%;width:76%}}
.calendar-legend .legend-past i{position:relative;background:#eee8df;border:1px solid rgba(98,67,109,.18);border-radius:2px;overflow:hidden}.calendar-legend .legend-past i::after{content:"";position:absolute;left:-1px;top:3px;width:12px;height:1px;background:rgba(98,67,109,.6);transform:rotate(-35deg)}

/* v33 selected-day schedule + booking FAQ */
.selected-day-overview{display:grid;grid-template-columns:72px 1fr;align-items:center;gap:14px;margin:-4px 0 18px;padding:12px;border:1px solid rgba(95,116,85,.28);border-radius:17px;background:rgba(184,197,170,.32)}
.selected-day-date{display:grid;place-items:center;min-height:72px;padding:7px;border-radius:14px;background:var(--plum);color:var(--white);box-shadow:0 8px 18px rgba(50,34,55,.17)}
.selected-day-date strong{font:700 35px/1 var(--serif)}
.selected-day-date span{margin-top:3px;font-size:9px;font-weight:800;letter-spacing:.14em;color:var(--gold-soft)}
.selected-day-copy{display:grid;gap:3px;min-width:0}
.selected-day-copy strong{font:700 22px/1.05 var(--serif);color:var(--plum-dark)}
.selected-day-copy span{font-size:11px;color:#56604f}
.slot-card{display:grid;grid-template-columns:86px 1fr;gap:15px;align-items:stretch;padding:0;overflow:hidden;border-left:0}
.slot-time-block{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:15px 8px;background:var(--plum-dark);color:var(--cream-light);text-align:center}
.slot-time-block strong{font:700 25px/1 var(--serif)}
.slot-time-block span{margin-top:3px;font-size:9px;font-weight:800;letter-spacing:.1em;color:var(--gold-soft)}
.slot-time-block small{margin-top:8px;font-size:9px;line-height:1.25;color:#d8cbd7}
.slot-main{padding:16px 17px 16px 0;min-width:0}
.slot-main .slot-card-top{margin-bottom:8px}
.slot-main .slot-date{display:none}
.slot-card.slot-sold_out .slot-time-block{background:#7b5d2f}.slot-card.slot-booked .slot-time-block{background:#6d646b}
.booking-faq{margin-top:34px;padding:30px;background:var(--cream-light);border:2px solid var(--gold);border-radius:28px;box-shadow:var(--shadow-soft)}
.booking-faq-heading{text-align:center;max-width:650px;margin:0 auto 18px}
.booking-faq-heading h2{margin:0;color:var(--plum-dark);font:700 40px/1 var(--serif)}
.booking-faq-list{display:grid;gap:9px;max-width:900px;margin:0 auto}
.booking-faq details{border:1px solid rgba(98,67,109,.15);border-radius:15px;background:#fffaf2;overflow:hidden}
.booking-faq summary{cursor:pointer;list-style:none;padding:15px 18px;font-size:13px;font-weight:800;color:var(--plum-dark);position:relative;padding-right:42px}
.booking-faq summary::-webkit-details-marker{display:none}.booking-faq summary::after{content:"+";position:absolute;right:17px;top:50%;transform:translateY(-50%);font-size:22px;font-weight:500;color:var(--gold)}
.booking-faq details[open] summary::after{content:"–"}.booking-faq details[open] summary{border-bottom:1px solid rgba(98,67,109,.10)}
.booking-faq details p{margin:0;padding:14px 18px 17px;color:#5b535b;font-size:13px;line-height:1.6}
@media(max-width:620px){
 .selected-day-overview{grid-template-columns:62px 1fr;gap:11px;margin-bottom:14px}.selected-day-date{min-height:62px}.selected-day-date strong{font-size:31px}.selected-day-copy strong{font-size:20px}
 .slot-card{grid-template-columns:72px 1fr;gap:12px}.slot-time-block strong{font-size:22px}.slot-time-block small{font-size:8px}.slot-main{padding:14px 14px 14px 0}
 .booking-faq{margin-top:24px;padding:22px 14px;border-radius:23px}.booking-faq-heading h2{font-size:34px}.booking-faq summary{font-size:12px;line-height:1.35}
}

/* v37 booking agreement */
.booking-agreement{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:start;margin:14px 0;padding:13px 14px;border:1px solid rgba(98,67,109,.16);border-radius:13px;background:#fff;color:var(--ink);font-size:11px;line-height:1.5;font-weight:600}.booking-agreement input{width:18px;height:18px;margin-top:1px;accent-color:var(--plum)}.booking-agreement span{display:block}.booking-agreement.is-required span::after{content:" Required";font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--plum)}

.booking-policy{white-space:pre-line}

/* v39 invisible anti-spam honeypot */
.booking-honeypot{position:absolute!important;left:-10000px!important;top:auto!important;width:1px!important;height:1px!important;overflow:hidden!important;opacity:0!important;pointer-events:none!important}
