.book-root{--b-brand:var(--ds-accent);--b-brand-ink:var(--ds-accent-ink);--b-brand-text:var(--ds-accent-strong);--b-brand-hover:var(--ds-accent-hover);--b-brand-bright:var(--ds-accent-on-dark);--b-ink:var(--ds-ink);--b-ink-2:var(--ds-muted);--b-faint:var(--ds-faint);--b-line:var(--ds-line);--b-surface:#fff;--b-tint:var(--ds-line-soft);--b-card-w:420px;--b-card-w-centered:600px;--b-topbar-h:60px;--b-soft:var(--ds-line-soft);--b-soft-2:var(--ds-line-soft);--b-glow-soft:#17140f38;--b-glow:#17140f42;--b-glow-strong:#17140f4d;--b-hair:#17140f29;--b-hair-2:#17140f2e;--b-shadow-1:0 1px 2px #17140f0f, 0 4px 16px #17140f0f;--b-shadow-2:0 6px 16px #17140f14, 0 28px 64px #17140f29;--b-shadow-card:0 24px 64px #17140f59;--b-ease:cubic-bezier(.2, .7, 0, 1);background:var(--ds-bg);color:var(--b-ink);flex-direction:column;display:flex;position:fixed;inset:0;overflow:hidden}@supports (color:color-mix(in srgb, red, red)){.book-root{--b-soft:color-mix(in srgb, var(--b-brand) 12%, transparent);--b-soft-2:color-mix(in srgb, var(--b-brand) 6%, transparent);--b-glow-soft:color-mix(in srgb, var(--b-brand) 28%, transparent);--b-glow:color-mix(in srgb, var(--b-brand) 34%, transparent);--b-glow-strong:color-mix(in srgb, var(--b-brand) 40%, transparent);--b-hair:color-mix(in srgb, var(--b-ink) 16%, transparent);--b-hair-2:color-mix(in srgb, var(--b-ink) 18%, transparent)}}.book-topbar{z-index:30;background:var(--b-ink);flex:none;position:relative}.book-topbar__row{height:var(--b-topbar-h);align-items:center;gap:12px;max-width:1400px;margin:0 auto;padding:0 clamp(14px,3vw,24px);display:flex}.book-topbar__brand{color:#fff;letter-spacing:-.01em;align-items:center;gap:10px;font-size:16px;font-weight:700;text-decoration:none;display:flex}.book-topbar__mark{background:linear-gradient(135deg, var(--b-brand-bright), var(--b-brand));border-radius:3px;flex:none;width:13px;height:13px;transform:rotate(45deg)}.book-topbar__sep{color:#ffffff59}.book-topbar__crumb{color:#ffffffb8;font-size:14px;font-weight:500}.book-topbar__spacer{flex:1}.book-topbar__back{color:#ffffffb8;font-size:14px;font-weight:500;text-decoration:none}.book-topbar__back:hover{color:#fff}.book-topbar__rule{background:linear-gradient(90deg, var(--b-brand), var(--ds-line), var(--b-ink));height:3px}.book-stage{flex:1;min-height:0;position:relative;overflow:hidden}.book-map{z-index:2;opacity:1;transition:opacity .8s;position:absolute;inset:0}.book-map[data-on=false]{opacity:0;pointer-events:none}.book-map .leaflet-tile-pane{filter:saturate(.88)contrast(.97)}.book-map .leaflet-control-attribution{color:var(--b-ink-2);background:#ffffffc7;font-size:10px}.book-map .leaflet-control-zoom a{color:var(--b-ink);border-color:var(--b-line)}.book-pin{box-sizing:border-box;border:3px solid #fff;border-radius:50% 50% 50% 0;justify-content:center;align-items:center;width:36px;height:36px;display:flex;transform:rotate(-45deg);box-shadow:0 4px 12px #17140f66}.book-pin__label{color:#fff;font-size:13px;font-weight:700;line-height:1;transform:rotate(45deg)}.book-pin-wrap{background:0 0;border:0}.book-photo{z-index:1;opacity:1;transition:opacity .8s;position:absolute;inset:0}.book-photo[data-hidden=true]{opacity:0}.book-photo__img{object-fit:cover}.book-overlay{z-index:5;pointer-events:none;transition:background .8s;position:absolute;inset:0}.book-root[data-layout=panel] .book-overlay{background:linear-gradient(90deg,#17140f94 0%,#17140f2e 45%,#0000 66%)}.book-root[data-layout=centered] .book-overlay{background:#17140f33}.book-root[data-layout=centered][data-map=on] .book-overlay{background:0 0}.book-caption{z-index:10;text-align:right;color:#ffffffe0;text-shadow:0 1px 8px #17140fa6;pointer-events:none;font-size:13px;font-weight:500;position:absolute;bottom:18px;left:20px;right:20px}.book-shell{z-index:10;pointer-events:none;display:flex;position:absolute}.book-root[data-layout=panel] .book-shell{align-items:center;padding:clamp(12px,3vw,40px);top:0;bottom:0;left:0}.book-root[data-layout=centered] .book-shell{flex-direction:column;align-items:center;max-height:100%;padding:0 20px;top:clamp(14px,4vh,40px);left:0;right:0}.book-headline{text-align:center;letter-spacing:-.02em;color:var(--b-ink);text-shadow:0 2px 24px #ffffffd9,0 0 6px #ffffffb3;pointer-events:none;margin:0 0 24px;font-size:clamp(26px,5.4vw,50px);font-weight:800;line-height:1.08}.book-card{width:min(var(--b-card-w), calc(100vw - 32px));overscroll-behavior:contain;max-height:100%;box-shadow:var(--b-shadow-card);pointer-events:auto;box-sizing:border-box;background:#fffffff5;border-radius:20px;padding:22px;overflow-y:auto}@supports ((-webkit-backdrop-filter:blur(12px)) or (backdrop-filter:blur(12px))){.book-card{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}}.book-root[data-layout=centered] .book-card{width:min(var(--b-card-w-centered), 100%)}.book-stack{gap:16px;display:grid}.book-eyebrow{letter-spacing:.14em;text-transform:uppercase;color:var(--b-brand-text);font-size:12px;font-weight:600}.book-h{letter-spacing:-.02em;color:var(--b-ink);margin:8px 0 0;font-size:25px;font-weight:800;line-height:1.12}.book-h--sm{margin-top:10px;font-size:21px}.book-sub{color:var(--b-ink-2);margin:6px 0 0;font-size:13px;line-height:1.6}.book-back{font:inherit;color:var(--b-brand-text);cursor:pointer;background:0 0;border:none;padding:0;font-size:13px;font-weight:600}.book-back:hover{text-decoration:underline}.book-option{font:inherit;text-align:left;background:var(--b-surface);border:1px solid var(--b-line);width:100%;color:inherit;cursor:pointer;border-radius:16px;padding:18px 20px;transition:border-color .15s,background .15s}.book-option:hover{border-color:var(--b-brand)}.book-option[aria-pressed=true]{border:2px solid var(--b-brand);background:var(--b-soft-2);padding:17px 19px}.book-option__t{font-size:16px;font-weight:700;display:block}.book-option__d{color:var(--b-ink-2);margin-top:6px;font-size:13px;line-height:1.6;display:block}.book-option__row{color:var(--b-ink-2);justify-content:space-between;gap:12px;margin-top:6px;font-size:13px;display:flex}.book-option__price{color:var(--b-brand-text);white-space:nowrap;font-weight:700}.book-ab{gap:0;display:grid}.book-ab__row{align-items:center;gap:12px;padding:12px 4px;display:flex}.book-ab__mark{box-sizing:border-box;flex:none;width:11px;height:11px}.book-ab__mark--a{border:3px solid var(--b-brand-text);border-radius:999px}.book-ab__mark--b{background:var(--b-ink);transform:rotate(45deg)}.book-ab__chip{border-radius:999px;flex:none;justify-content:center;align-items:center;width:26px;height:26px;font-size:12px;font-weight:700;display:flex}.book-ab__chip--a{background:var(--b-soft);color:var(--b-brand-text)}.book-ab__chip--b{background:var(--b-tint);color:var(--b-ink)}.book-ab__input{min-width:0;font:inherit;color:inherit;background:0 0;border:none;outline:none;flex:1;font-size:16px;font-weight:600}.book-ab__input::placeholder{color:var(--b-faint);font-weight:500}.book-ab__divider{background:var(--b-line);height:1px;margin-left:42px}.book-ab__badge{white-space:nowrap;border-radius:999px;flex:none;padding:5px 11px;font-size:12px;font-weight:600}.book-ab__badge--a{background:var(--b-soft);color:var(--b-brand-text)}.book-ab__badge--b{background:var(--b-tint);color:var(--b-ink)}.book-ab__badge--out{color:#a5301f;background:#c0392b1a}.book-ab__badge--busy{background:var(--b-tint);color:var(--b-ink-2)}.book-hint{color:var(--b-faint);font-size:12px;line-height:1.6}.book-spots{flex-wrap:wrap;gap:8px;display:flex}.book-spot{font:inherit;border:1px solid var(--b-line);background:var(--b-surface);color:var(--b-ink);cursor:pointer;border-radius:999px;padding:8px 14px;font-size:12px;font-weight:600}.book-spot:hover{border-color:var(--b-brand)}.book-summary{border-top:1px solid var(--b-line);gap:8px;padding-top:14px;font-size:14px;display:grid}.book-summary__row{justify-content:space-between;gap:12px;display:flex}.book-summary__k{color:var(--b-ink-2)}.book-summary__v{text-align:right;font-weight:600}.book-summary__v--brand{color:var(--b-brand-text);font-weight:700}.book-summary__note{color:var(--b-ink-2);font-size:12px;line-height:1.55}.book-stage-screen{flex-direction:column;gap:4px;display:flex}.book-stage-screen .px-5{padding-left:0;padding-right:0}.book-stage-screen .ds-field{width:100%}.book-cardfoot{gap:14px;display:grid}@media (min-width:861px){.book-root[data-layout=centered] .book-cardfoot{display:none}}.book-summarybar{z-index:12;box-sizing:border-box;background:#fffffff7;border-radius:18px;flex-wrap:wrap;justify-content:center;align-items:center;gap:14px 24px;max-width:calc(100vw - 24px);padding:14px 14px 14px 24px;display:flex;position:absolute;bottom:28px;left:50%;transform:translate(-50%);box-shadow:0 18px 48px #17140f4d}.book-summarybar__facts{flex-wrap:wrap;gap:20px;font-size:14px;display:flex}.book-summarybar__k{color:var(--b-faint)}.book-summarybar__v{font-weight:700}.book-btn{font:inherit;cursor:pointer;border:none;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:14px 26px;font-size:15px;font-weight:600;transition:background .15s,opacity .15s;display:inline-flex}.book-btn--primary{background:var(--b-brand);color:var(--b-brand-ink)}.book-btn--primary:hover:not(:disabled){background:var(--b-brand-hover)}.book-btn--primary:disabled{opacity:.5;cursor:not-allowed}.book-btn--block{width:100%}.book-btn--square{border-radius:12px;padding:13px 28px}.book-stephead{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.book-steplabel{color:var(--b-faint);font-size:12px}.book-sec{gap:8px;display:grid}.book-sec__label{color:var(--b-ink);font-size:13px;font-weight:600}.book-sec__opt{color:var(--b-faint);font-weight:400}.book-when{grid-template-columns:1fr 1fr;gap:10px;display:grid}.book-when__opt{font:inherit;text-align:left;cursor:pointer;background:var(--b-surface);color:inherit;border:2px solid var(--b-line);border-radius:14px;padding:13px 15px;transition:border-color .15s}.book-when__opt:hover{border-color:var(--b-brand)}.book-when__opt.is-on{border-color:var(--b-brand);background:var(--b-soft-2)}.book-when__t{font-size:14px;font-weight:700;display:block}.book-when__s{color:var(--b-ink-2);margin-top:3px;font-size:12px;display:block}.book-input{box-sizing:border-box;width:100%;font:inherit;border:1px solid var(--b-line);background:var(--ds-bg);color:inherit;border-radius:12px;outline:none;padding:12px 14px;font-size:14px}.book-input::placeholder{color:var(--b-faint)}.book-input:focus{border-color:var(--b-brand);box-shadow:0 0 0 3px var(--b-soft)}.book-textarea{resize:none;min-height:64px}.book-phone{border:1px solid var(--b-line);background:var(--ds-bg);border-radius:12px;align-items:center;display:flex}.book-phone:focus-within{border-color:var(--b-brand);box-shadow:0 0 0 3px var(--b-soft)}.book-phone__prefix{border-right:1px solid var(--b-line);color:var(--b-ink-2);padding:0 12px 0 14px;font-size:14px;font-weight:600}.book-phone__input{min-width:0;font:inherit;color:inherit;background:0 0;border:none;outline:none;flex:1;padding:12px 14px;font-size:14px}.book-phone__input::placeholder{color:var(--b-faint)}.book-phone__hint{color:var(--b-faint);font-size:11px}.book-consent{color:var(--b-ink-2,var(--ds-muted));gap:10px;font-size:11px;line-height:1.6;display:flex}.book-consent__box{appearance:none;box-sizing:border-box;border:1.5px solid var(--b-line,var(--ds-line));background:var(--b-surface,#fff);cursor:pointer;border-radius:5px;flex:none;place-items:center;width:16px;height:16px;margin:2px 0 0;padding:0;display:grid}.book-consent__box:checked{background:var(--b-brand,var(--ds-accent));border-color:var(--b-brand,var(--ds-accent))}.book-consent__box:after{content:"";background:var(--b-brand-ink,var(--ds-accent-ink));opacity:0;width:13px;height:13px;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5L20 7'/%3E%3C/svg%3E") 50%/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5L20 7'/%3E%3C/svg%3E") 50%/contain no-repeat}.book-consent__box:checked:after{opacity:1}.book-consent__box:focus-visible{outline:2px solid var(--b-brand,var(--ds-accent));outline-offset:2px}.book-consent__text a{color:var(--b-brand-text,var(--ds-accent-strong));text-underline-offset:2px;text-decoration:underline}.book-nosurge{color:var(--b-faint);text-align:center;margin:0;font-size:11px}.book-error{color:#c0392b;margin:0;font-size:13px;font-weight:500}.book-blocked{color:#a5301f;background:#c0392b14;border-radius:12px;margin:0;padding:10px 12px;font-size:12.5px;line-height:1.55}.book-verify__sub{color:var(--b-ink-2);margin:0;font-size:13px;line-height:1.6}.book-verify__change{font:inherit;color:var(--b-brand-text);cursor:pointer;text-underline-offset:2px;background:0 0;border:none;padding:0;font-size:13px;font-weight:600;text-decoration:underline}.book-otp{box-sizing:border-box;width:100%;font:inherit;letter-spacing:.3em;text-align:center;border:1px solid var(--b-line);background:var(--ds-bg);color:inherit;border-radius:12px;outline:none;padding:14px;font-size:22px;font-weight:700}.book-otp:focus{border-color:var(--b-brand);box-shadow:0 0 0 3px var(--b-soft)}.book-done{z-index:40;opacity:0;pointer-events:none;background:var(--ds-bg);justify-content:center;align-items:center;transition:opacity .4s;display:flex;position:absolute;inset:0}.book-done.is-show{opacity:1;pointer-events:auto}.book-done__card{box-shadow:var(--b-shadow-2);text-align:center;background:#fffffff7;border-radius:20px;max-width:380px;padding:32px 28px}.book-done__title{letter-spacing:-.02em;margin:14px 0 0;font-size:22px;font-weight:800}.book-done__sub{color:var(--b-ink-2);margin:8px 0 0;font-size:13px;line-height:1.6}@media (max-width:860px){.book-root[data-layout=panel] .book-shell,.book-root[data-layout=centered] .book-shell{flex-direction:column;justify-content:flex-end;align-items:flex-end;max-height:100%;padding:0;inset:auto 0 0}.book-root .book-card{width:100%;max-width:100%;max-height:min(76vh,640px);padding:18px 16px calc(18px + env(safe-area-inset-bottom));border-radius:20px 20px 0 0;box-shadow:0 -12px 40px #17140f47}.book-headline{display:none}.book-root[data-layout=panel] .book-overlay,.book-root[data-layout=centered] .book-overlay{background:linear-gradient(#17140f59 0%,#0000 40%)}.book-root[data-map=on] .book-overlay{background:0 0}.book-summarybar{display:none}.book-caption{text-align:left;font-size:12px;top:12px;bottom:auto}.book-map .leaflet-control-zoom{display:none}}@media (prefers-reduced-motion:reduce){.book-photo,.book-map,.book-overlay,.book-done{transition:none}}.book-party{gap:16px;display:grid}.book-party__hint{color:var(--b-ink-2);font-size:12px;line-height:1.5}.book-count{border:1px solid var(--b-line);background:var(--b-surface);border-radius:13px;justify-content:space-between;align-items:center;gap:10px;padding:6px;display:flex}.book-count__value{color:var(--b-ink);align-items:center;gap:8px;font-size:14.5px;font-weight:600;display:inline-flex}.book-count__btn{border:1px solid var(--b-line);background:var(--b-surface);width:36px;height:36px;color:var(--b-ink);transition:background .15s var(--b-ease), border-color .15s var(--b-ease);border-radius:10px;justify-content:center;align-items:center;font-size:18px;line-height:1;display:inline-flex}.book-count__btn:hover:not(:disabled){border-color:var(--b-brand);background:var(--b-soft)}.book-count__btn:disabled{opacity:.4}.book-count__btn--sm{border-radius:8px;width:26px;height:26px;font-size:15px}.book-bags{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.book-bag{border:1px solid var(--b-line);background:var(--b-surface);border-radius:13px;display:grid;position:relative;overflow:hidden}.book-bag.is-on{border-color:var(--b-brand);background:var(--b-soft-2)}.book-bag__add{text-align:left;color:var(--b-ink);gap:2px;padding:11px 12px 12px;display:grid}.book-bag__add:hover:not(:disabled){background:var(--b-soft-2)}.book-bag.is-on .book-bag__add{color:var(--b-brand-text)}.book-bag__t{color:var(--b-ink);font-size:13.5px;font-weight:600}.book-bag__s{color:var(--b-ink-2);font-size:11.5px;line-height:1.4}.book-bag__count{border-top:1px solid var(--b-line);color:var(--b-ink);justify-content:space-between;align-items:center;gap:6px;padding:6px 10px;font-size:13px;font-weight:700;display:flex}.book-nobags{border:1px solid var(--b-line);background:var(--b-surface);color:var(--b-ink);border-radius:999px;justify-self:start;padding:8px 14px;font-size:13px;font-weight:600}.book-nobags:hover{border-color:var(--b-brand)}.book-nobags.is-on{border-color:var(--b-brand);background:var(--b-brand);color:var(--b-brand-ink)}@media (max-width:420px){.book-bags{grid-template-columns:1fr}}
