/* Public drawer: responsive counterpart of the approved back-office cards. */
body.public-drawer{--ink:#20223a;--muted:#72758b;--primary:#7052ed;--sand:#f5f3fc;--rust:#7052ed;margin:0;background:#f6f5fc;color:var(--ink);font:14px/1.5 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;overflow-x:hidden;color-scheme:light}
.public-drawer *{box-sizing:border-box}.public-drawer [hidden]{display:none!important}.public-drawer button,.public-drawer input,.public-drawer select,.public-drawer textarea{font:inherit}.public-drawer button{cursor:pointer}.public-drawer button:disabled{cursor:not-allowed;opacity:.5}.public-drawer :focus-visible{outline:3px solid #ad98ff;outline-offset:3px}.public-booking-brand{position:sticky;top:0;z-index:5;background:#fff;display:flex;align-items:center;gap:10px;padding:14px 24px;border-bottom:1px solid #e9e5f3;min-height:60px}.public-booking-brand a{display:flex;align-items:center;gap:8px;text-decoration:none;color:#20223a}.public-brand-mark{display:grid;place-items:center;width:28px;height:28px;border-radius:9px;background:#7052ed;color:#fff;font-weight:800}.public-booking-brand>span{font-size:11px;color:#72758b}.public-booking-heading{padding:24px 24px 6px;max-width:960px;margin:auto}.public-booking-heading h1{font-size:30px;letter-spacing:-1px;margin:0 0 6px;line-height:1.2}.public-booking-heading>p{color:#72758b;margin:0 0 22px}.public-booking-progress{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0;margin:20px 0;list-style:none}.public-booking-progress li{display:flex;align-items:center;gap:8px;color:#9394a5;font-size:12px;white-space:nowrap}.public-booking-progress b{display:grid;place-items:center;width:29px;height:29px;border-radius:50%;background:#eae8f2;color:#72758b;font-size:12px}.public-booking-progress li[aria-current=step]{color:#7052ed;font-weight:650}.public-booking-progress li[aria-current=step] b{background:#7052ed;color:#fff}.public-drawer .booking-section{max-width:960px;padding:0 24px 150px;margin:0 auto}.public-drawer .booking-section>h2{display:none}.public-drawer .booking-card{padding:0;background:none;border:0;border-radius:0;box-shadow:none}.public-drawer .booking-step,.public-activity-card{background:#fff;border:1px solid #e9e5f3;border-radius:15px;padding:20px;margin:0 0 15px;box-shadow:0 2px 6px #28204b03}.public-drawer .field-label,.public-drawer .booking-step h2{font:700 17px/1.4 system-ui,sans-serif;text-transform:none;letter-spacing:0;color:#20223a;margin:0 0 15px;display:block}.public-activity-card{display:flex;align-items:center;gap:15px}.public-activity-card img{width:100px;height:72px;object-fit:cover;border-radius:10px}.public-activity-card>div{flex:1;min-width:0}.public-activity-card h2{font-size:18px;margin:0 0 4px;line-height:1.4;word-break:break-word}.public-activity-card p{color:#72758b;margin:0;font-size:12px}.public-activity-card button,.public-calendar-bottom button{border:0;background:#f1edff;color:#6546d8;border-radius:9px;padding:10px 14px}.public-calendar-heading{display:flex;align-items:center;justify-content:center;gap:20px;margin:18px 0}.public-drawer .cal-nav-btn{border:1px solid #e8e3f2;background:#fff;color:#5636bd;border-radius:50%;width:38px;height:38px;min-height:38px;font-size:21px;margin:0}.public-calendar-heading strong{min-width:150px;text-align:center;font-size:13px}.public-drawer .calendar-multi{display:block}.public-drawer .calendar-30-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px}.public-drawer .calendar-30-grid>.hint{grid-column:1/-1}.public-drawer .cal30-day{height:68px;border-radius:10px;border:1px solid #ece9f3;background:#f7f6fa;color:#8b8b9e;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-width:0}.public-drawer .cal30-day.full,.public-drawer .cal30-day.past{background:#f4f3f8;color:#9694a4;border-color:#efedf4;opacity:1}.public-drawer .cal30-day.available{background:#ecf8f0;color:#287448;border-color:#d6f0df}.public-drawer .cal30-day.available:hover{background:#ddf2e5}.public-drawer .cal30-day.selected{background:#7052ed!important;color:#fff!important;border-color:#7052ed!important;box-shadow:0 4px 13px #7052ed22}.public-drawer .cal30-weekday{font-size:10px}.public-drawer .cal30-num{font-size:21px}.public-calendar-bottom{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:12px;font-size:10px;color:#72758b}.public-calendar-bottom i{display:inline-block;width:6px;height:6px;background:#3b9d6e;border-radius:50%;margin-right:5px}.public-calendar-bottom button{background:none;font-size:12px;padding:5px 0}.public-drawer .suggestion-box{margin-top:18px;border:1px solid #e7e1f2;background:#f8f6ff;border-radius:11px;padding:15px;font-size:12px;color:#60627a}.public-drawer .suggestion-box p{margin:0 0 10px}.public-drawer .slots-grid{display:flex;gap:9px;flex-wrap:wrap}.public-drawer .slot-btn{border:1px solid #e4dff1;border-radius:10px;background:#f7f5ff;min-width:96px;min-height:44px;padding:10px 16px;font-weight:600;color:#60627a}.public-drawer .slot-btn.selected{background:#7052ed;border-color:#7052ed;color:#fff}.public-drawer .stepper-row,.public-drawer .generic-choice{padding:16px 0;gap:12px}.public-drawer .stepper-label{font-size:14px}.public-drawer .stepper button,.public-drawer .generic-step button{width:44px;height:44px;min-height:44px;border:0;border-radius:50%;background:#f1edff;color:#6546d8;font-size:22px}.public-drawer .stepper button[data-delta="1"]{background:#7052ed;color:#fff}.public-drawer .stepper{gap:15px}.public-drawer .generic-step{border:0;gap:4px;flex-shrink:0}.public-drawer .generic-step input{width:36px;background:none;font-size:16px}.public-drawer .generic-step button[data-plus],.public-drawer .generic-step button[data-xplus]{background:#7052ed;color:#fff}.public-drawer .generic-choice strong{font-size:14px}.public-drawer .generic-extras{margin-top:12px}.public-drawer .price-preview{font-size:12px;color:#72758b;margin:14px 0 0}.public-selection-note{padding:14px 17px;border-radius:12px;background:#ece7ff;color:#6546d8;font-size:12px;display:none}.public-selection-note:not(:empty){display:block}.public-actionbar{position:fixed;bottom:0;left:0;right:0;z-index:6;background:#fff;border-top:1px solid #e9e5f3;padding:13px 24px max(12px,env(safe-area-inset-bottom));box-shadow:0 -3px 20px #28204b05}.public-drawer .booking-summary-card{max-width:912px;margin:0 auto;background:none;border:0;border-radius:0;padding:0;box-shadow:none;display:flex;align-items:center;justify-content:space-between;gap:12px}.public-drawer .bsc-tour{font-size:12px;color:#72758b}.public-drawer .bsc-time{display:none}.public-drawer .bsc-cta{display:contents}.public-drawer .bsc-price{font-size:25px;color:#20223a;font-weight:750;white-space:nowrap;order:1}.public-drawer .booking-summary-card>div:first-child{display:none}.public-drawer #open-checkout{order:2;width:55%;min-height:48px;font-size:14px;letter-spacing:0;text-transform:none;border-radius:10px;background:#7052ed;color:#fff;border:0}.public-actionbar>p{text-align:right;font-size:10px;margin:7px auto 0;color:#8b8b9e;max-width:912px}.public-drawer .drawer-overlay{background:#f6f5fc;z-index:10}.public-drawer .drawer-panel{max-width:none;height:100%;height:100dvh;overflow:hidden;background:#f6f5fc}.public-drawer .drawer-header{background:#fff;padding:14px 20px;gap:12px;min-height:64px;flex-shrink:0}.public-drawer .drawer-header h3{font-size:18px;text-align:left;text-transform:none;letter-spacing:0}.public-drawer .drawer-close{font-size:12px;border:1px solid #e5dfef;background:#f9f7ff;border-radius:9px;padding:10px;min-height:42px;text-decoration:none;white-space:nowrap}.public-drawer .drawer-body{display:block;overflow:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:24px;flex:1;min-height:0;scroll-padding-top:20px}.public-drawer .drawer-form{background:#fff;border:1px solid #e9e5f3;border-radius:14px;padding:22px;max-width:760px;margin:0 auto 18px}.public-drawer .drawer-form>label{display:block;font-size:12px;font-weight:600;margin:0 0 12px}.public-drawer .field-input{background:#fff;border:1px solid #e1dcea;border-radius:10px;color:#25253c;min-height:46px;padding:11px 13px;width:100%;margin:7px 0 12px;box-shadow:none}.public-drawer .participants-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.public-drawer .participants-grid label{font-size:12px;font-weight:600}.public-checkout-section-title{font-size:18px;margin:0 0 18px}.public-drawer .drawer-summary{background:#fff;border:1px solid #e9e5f3;border-radius:14px;padding:22px;max-width:760px;margin:0 auto}.public-drawer .drawer-summary h4{color:#25253c;font-size:17px;text-transform:none}.public-drawer .drawer-summary img{max-height:140px;border-radius:10px!important}.public-drawer .drawer-summary-line{font-size:13px;gap:15px}.public-drawer .order-summary-total{color:#25253c;font-size:19px}.public-checkout-actionbar{background:#fff;border-top:1px solid #e9e5f3;padding:14px 24px max(14px,env(safe-area-inset-bottom));flex-shrink:0}.public-drawer #submit-booking{background:#7052ed;color:#fff;border:0;border-radius:10px;min-height:48px;max-width:760px;margin:auto;font-weight:650;text-transform:none;letter-spacing:0}.public-drawer #booking-feedback{background:#fff;margin:0;flex-shrink:0;padding:0 24px;font-size:12px;max-height:100px;overflow:auto}.public-checkout-options{margin:20px 0;border-top:1px solid #ece8f4;padding-top:14px}.public-checkout-options summary{cursor:pointer;color:#6546d8;font-size:12px;font-weight:600;padding:8px 0;min-height:40px}.public-drawer .consent-row{align-items:flex-start;font-size:11px;line-height:1.6}.public-drawer .consent-row input{min-width:18px;width:18px;height:18px;accent-color:#7052ed;margin-top:3px;flex-shrink:0}.public-drawer .consent-row label{font-size:11px}.public-drawer .btn{font:600 13px/1.4 system-ui,sans-serif;text-transform:none;letter-spacing:0;border-radius:10px;min-height:42px}.public-drawer .btn-primary,.public-drawer .btn-checkout-black{background:#7052ed;color:#fff}.public-drawer .public-review-mode .drawer-form{display:none}.public-drawer .public-review-mode .drawer-summary{display:block}.public-drawer #public-review-contact{background:#f6f3ff;padding:12px;border-radius:10px;color:#60627a;overflow-wrap:anywhere}
@media(min-width:1000px){.public-drawer .drawer-body:not(.public-review-mode){display:grid;grid-template-columns:1.15fr .85fr;gap:20px;align-items:start}.public-drawer .drawer-form,.public-drawer .drawer-summary{width:100%}}
@media(max-width:520px){.public-booking-brand{padding:12px 16px;min-height:54px}.public-booking-heading{padding:20px 16px 2px}.public-booking-heading h1{font-size:25px}.public-booking-heading>p{font-size:12px}.public-booking-progress{gap:6px}.public-booking-progress li{font-size:10px;gap:5px}.public-booking-progress b{width:25px;height:25px}.public-drawer .booking-section{padding:0 14px 140px}.public-drawer .booking-step,.public-activity-card{padding:16px;margin-bottom:12px;border-radius:13px}.public-activity-card img{width:65px;height:60px}.public-activity-card h2{font-size:15px}.public-activity-card{gap:10px}.public-activity-card button{padding:9px;font-size:11px}.public-drawer .calendar-30-grid{gap:6px}.public-drawer .cal30-day{height:62px;min-width:44px}.public-calendar-heading{margin:15px 0;gap:15px}.public-drawer .cal30-num{font-size:19px}.public-drawer .cal30-weekday{font-size:9px}.public-drawer .slot-btn{min-width:80px;flex:1}.public-drawer .field-label,.public-drawer .booking-step h2{font-size:15px}.public-drawer .stepper-label{font-size:13px}.public-drawer .stepper-label .hint{font-size:10px}.public-drawer .stepper{gap:8px}.public-actionbar{padding:12px 16px max(10px,env(safe-area-inset-bottom))}.public-drawer .bsc-price{font-size:23px}.public-drawer #open-checkout{width:60%;min-height:48px}.public-drawer .drawer-body{padding:14px}.public-drawer .drawer-form,.public-drawer .drawer-summary{padding:17px}.public-drawer .drawer-header{padding:12px 14px}.public-drawer .drawer-header h3{font-size:16px}.public-drawer .field-input{font-size:16px}.public-drawer .participants-grid{grid-template-columns:1fr;gap:0}.public-checkout-actionbar{padding:12px 16px max(12px,env(safe-area-inset-bottom))}.public-calendar-bottom{font-size:9px}.public-calendar-bottom button{font-size:11px}}
@media(prefers-reduced-motion:reduce){.public-drawer *{scroll-behavior:auto!important;transition:none!important}}
.public-drawer .bsc-price:before{content:'Total';display:block;color:#72758b;font-size:11px;font-weight:500;margin-bottom:2px}
/* Gift actions remain secondary to the booking flow. */
.public-drawer .public-booking-heading>p{margin-bottom:4px}
.public-drawer .public-gift-link{display:inline-flex;align-items:center;gap:9px;min-height:44px;padding:7px 0;border:0;background:transparent;color:#6546d8;font:400 13px/1.5 system-ui,sans-serif;text-align:left;text-decoration:none;cursor:pointer;max-width:100%}
.public-gift-link svg{width:19px;height:19px;flex:none}
.public-gift-link:hover span{text-decoration:underline;text-underline-offset:3px}
.public-gift-link:focus-visible{outline:3px solid #b19bff;outline-offset:3px;border-radius:4px}
.public-gift-redemption{border-top:1px solid #ece8f4;margin-top:14px;padding-top:4px}
.public-drawer .public-gift-redemption>.public-gift-link{width:100%}
.public-gift-chevron{margin-left:auto;color:#72758b;transition:transform .15s}
.public-gift-link[aria-expanded=true] .public-gift-chevron{transform:rotate(180deg)}
.public-gift-code-panel{padding-top:12px}
.public-gift-code-panel .booking-feedback{margin:6px 0 0!important}
.public-gift-code-panel input{min-width:0!important}
.public-gift-code-panel #check-voucher{min-height:46px;background:#7052ed!important}
.public-gift-redemption:has(>#public-use-gift[hidden]){display:none}
@media(max-width:520px){.public-drawer .public-gift-link{font-size:12px}.public-gift-code-panel .field-label{font-size:13px}}

.public-date-jump{margin:10px 0 16px;padding-bottom:14px;border-bottom:1px solid #e9e5f3}
.public-date-jump label{display:block;font-weight:650;margin-bottom:6px}
.public-date-jump>div{display:flex;flex-wrap:wrap;gap:8px}
.public-date-jump input,.public-date-jump button{min-height:44px;border:1px solid #e8e3f2;border-radius:9px;padding:7px 10px}
.public-date-jump input{flex:1;min-width:0;background:#fff;color:var(--ink)}
.public-date-jump button{background:var(--sand);color:color-mix(in srgb,var(--primary) 65%,#20223a);font-weight:650}
.public-date-jump p{font-size:.9em;margin:6px 0 0;color:var(--muted)}
.public-date-jump p:empty{display:none}
