:root{--ink:#122243;--ink-soft:#3a4f77;--muted:#58709c;--card:#fff;--card-soft:#f7f9fc;--canvas:var(--accent);--border:#d8e6ff;--accent:#004c96;--accent-2:#ee375d;--accent-3:#ffc857;--success:#14b86a;--danger:#cf2a3f;--focus:#0f73eb;--shadow:0 4px 16px #12224314;--radius-card:16px;--radius-control:8px;font-family:Poppins,"system-ui",sans-serif}body{color:var(--ink);background-color:var(--canvas);background-image:url(https://cdn.shopify.com/s/files/1/0676/2967/8888/files/Build-A-Bear_Peaking_Bear_Footer_Background_1.webp);background-position:right 1.5rem bottom;background-repeat:no-repeat;background-size:min(28rem,34vw);background-attachment:scroll;margin:0;position:relative;overflow-x:hidden}@keyframes float{0%,to{transform:translateY(0)translate(0)}50%{transform:translateY(20px)translate(12px)}}.page{gap:20px;min-height:100vh;padding:clamp(24px,4vw,48px) 24px 72px;align-content:start!important;display:grid!important;position:relative!important}.page--booking{max-width:1200px;margin:0 auto}.hero{gap:12px;padding:10px 0;display:grid;position:relative;overflow:hidden}.page--booking .hero{background-position:100%;background-repeat:no-repeat;background-size:40%}@media (max-width:960px){.page--booking .hero{background-position:right 12px center;background-size:55%}}@media (max-width:720px){.page--booking .hero{background-position:top;background-size:100%}}.hero-brand{align-items:center;gap:10px;display:flex}.maintenance-banner{max-width:1240px;margin:0 auto;padding:16px 24px 0}.maintenance-banner__inner{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:linear-gradient(135deg,#fffffffa,#f4f9fff5),radial-gradient(circle at 100% 0,#ffc85726 0,#ffc85700 42%);border:1px solid #d8e6fff2;border-radius:22px;align-items:flex-start;gap:16px;width:min(100%,1240px);margin:0 auto;padding:16px 18px 16px 20px;display:flex;position:relative;overflow:hidden;box-shadow:0 18px 34px #15346824}.maintenance-banner__inner:before{content:"";background:linear-gradient(#ffc857 0%,#ee375d 100%);width:6px;position:absolute;inset:0 auto 0 0}.maintenance-banner__label{color:#6a4300;letter-spacing:.14em;text-transform:uppercase;background:linear-gradient(135deg,#ffe6b7 0%,#ffd27a 100%);border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;min-height:34px;padding:0 12px;font-size:12px;font-weight:900;display:inline-flex;box-shadow:0 10px 18px #ffb74047}.maintenance-banner__content{gap:4px;min-width:0;display:grid}.maintenance-banner__title{color:#102b5c;margin:0;font-size:1.02rem;font-weight:800;line-height:1.2}.maintenance-banner__message{color:var(--ink-soft);margin:0;font-size:.96rem;line-height:1.5}@media (max-width:640px){.page--booking{padding-bottom:148px}.maintenance-banner{padding:12px 16px 0}.maintenance-banner__inner{border-radius:18px;flex-direction:column;gap:10px;padding:16px}.maintenance-banner__label{min-height:30px}}.page--offsite-events,.page--offsite-booking{color:#20242a;gap:28px;width:min(1480px,100%);max-width:1480px;margin-inline:auto;padding:48px 24px 88px}.offsite-events__intro{background:linear-gradient(120deg,#fff8e9 0%,#fff 46%,#f1f7ff 100%);border:1px solid #d8e6fff2;border-radius:26px;justify-content:space-between;align-items:end;gap:28px;padding:26px 30px;display:flex;box-shadow:0 18px 36px #1534681f}.offsite-events__intro h1,.offsite-booking__intro h1{color:#102b5c;letter-spacing:-.04em;margin:4px 0 6px;font-size:clamp(2rem,3.5vw,3.25rem)}.offsite-events__intro p:not(.offsite-eyebrow),.offsite-booking__intro>p:last-child{color:#375683;margin:0}.offsite-eyebrow{color:#1265c7;letter-spacing:.14em;text-transform:uppercase;font-size:.76rem;font-weight:800;line-height:1.4;display:block}.offsite-events__tools{align-items:center;gap:14px;min-width:min(62%,720px);display:flex}.offsite-view-toggle,.offsite-search{background:#fff;border:1px solid #f2da38;border-radius:15px;min-height:54px;box-shadow:0 2px 5px #12294b0f}.offsite-view-toggle{flex:none;display:flex;overflow:hidden}.offsite-view-toggle button{color:#303741;background:0 0;border:0;border-right:1px solid #f2da38;padding:0 18px;font-weight:700}.offsite-view-toggle button:last-child{border-right:0}.offsite-view-toggle button.is-active{color:#1265c7;background:#edf4ff}.offsite-search{flex:auto;align-items:center;padding:0 16px;display:flex}.offsite-search input{color:#20242a;width:100%;min-width:0;font:inherit;background:0 0;border:0;outline:0}.offsite-discovery-layout,.offsite-layout{grid-template-columns:minmax(330px,.9fr) minmax(0,1.3fr);align-items:start;gap:24px;display:grid}.offsite-calendar,.offsite-session-results,.offsite-list-results,.offsite-location-calendar,.offsite-location-sessions,.offsite-booking-panel{background:#fff;border:1px solid #f2da38;border-radius:20px;overflow:hidden;box-shadow:0 18px 46px #24416914}.offsite-calendar__header,.offsite-session-results__header{background:linear-gradient(120deg,#eef4ff,#f8faff);justify-content:space-between;align-items:center;gap:18px;padding:24px;display:flex}.offsite-calendar__header{text-align:center;min-height:108px}.offsite-calendar__header h2,.offsite-session-results__header h2{color:#242a32;letter-spacing:-.03em;margin:3px 0 0;font-size:1.45rem}.offsite-calendar__header button{color:#394454;background:#fff;border:1px solid #f2da38;border-radius:13px;flex:none;width:48px;height:48px;font-size:1.7rem;line-height:1}.offsite-calendar__grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;padding:18px 20px 10px;display:grid}.offsite-calendar__weekday{color:#69778a;text-align:center;padding:8px 0;font-size:.8rem;font-weight:700}.offsite-calendar__empty{min-height:52px}.offsite-calendar__grid button{color:#323a45;min-height:52px;font:inherit;background:0 0;border:0;border-radius:12px;position:relative}.offsite-calendar__grid button.has-events>span{background:#1265c7;border-radius:50%;width:6px;height:6px;position:absolute;bottom:5px;left:calc(50% - 3px)}.offsite-calendar__grid button.is-selected{color:#fff;background:#1265c7}.offsite-calendar__grid button.is-selected>span{background:#fff}.offsite-calendar__grid button:focus-visible,.offsite-calendar__header button:focus-visible{outline-offset:2px;outline:3px solid #1265c747}.offsite-calendar__legend{color:#525c69;justify-content:center;align-items:center;gap:8px;margin:12px 10px 20px;font-size:.85rem;display:flex}.offsite-calendar__legend span:not(.skeleton){background:#1265c7;border-radius:50%;width:9px;height:9px}.offsite-session-results__header{border-bottom:1px solid #edf0f4;min-height:108px}.offsite-count{color:#303741;white-space:nowrap;border:1px solid #f2da38;border-radius:999px;padding:9px 13px;font-size:.82rem;font-weight:700}.offsite-session-card{border-bottom:1px solid #edf0f4;grid-template-columns:76px minmax(0,1fr) auto;align-items:center;gap:18px;padding:20px;display:grid}.offsite-session-card:last-child{border-bottom:0}.offsite-session-card.is-selected{box-shadow:inset 0 0 0 2px #2b84f6}.offsite-session-card__date{color:#1265c7;text-align:center;background:#f2f6fd;border-radius:14px;justify-items:center;gap:2px;padding:10px 6px;display:grid}.offsite-session-card__date span,.offsite-session-card__date small{text-transform:uppercase;font-size:.68rem;font-weight:800}.offsite-session-card__date strong{color:#1e2733;font-size:1.7rem;line-height:1.1}.offsite-session-card__content{min-width:0}.offsite-session-card__content h3{color:#252b34;margin:4px 0;font-size:1.1rem}.offsite-session-card__content p{color:#525c69;text-overflow:ellipsis;white-space:nowrap;margin:3px 0 0;overflow:hidden}.offsite-session-card__action{justify-items:end;gap:10px;display:grid}.offsite-session-card__action>span{color:#21824b;white-space:nowrap;font-size:.83rem;font-weight:800}.offsite-session-card__action .btn{white-space:nowrap}.offsite-empty{color:#626e7c;margin:0;padding:32px 24px}.offsite-list-results{display:grid}.page--offsite-booking{max-width:1480px}.offsite-booking__intro{background:linear-gradient(120deg,#fff8e9 0%,#fff 46%,#f1f7ff 100%);border:1px solid #d8e6fff2;border-radius:26px;justify-items:start;gap:8px;padding:26px 30px;display:grid;box-shadow:0 18px 36px #1534681f}.offsite-booking__intro h1{margin:0}.offsite-back-link{color:#1265c7;font-weight:700;text-decoration:none}.offsite-discovery{gap:16px;min-width:0;display:grid}.offsite-location-calendar .offsite-calendar__grid{padding-bottom:2px}.offsite-location-sessions{min-width:0}.offsite-location-sessions .offsite-session-card__action{flex-direction:row;grid-column:2;justify-content:space-between;align-items:center;display:flex}.offsite-booking-panel{padding:0;position:sticky;top:18px}.page--offsite-booking .offsite-booking-panel{background:#fff;border:1px solid #f2da38;border-radius:20px;padding:0;box-shadow:0 18px 46px #24416914}.offsite-booking-panel__heading{background:linear-gradient(120deg,#eef4ff,#f8faff);padding:22px 24px}.offsite-booking-panel__heading h2{color:#242a32;margin:4px 0 0;font-size:1.45rem}.offsite-booking-panel>.summary{margin:0;padding:18px 24px 0;position:static}.offsite-booking-panel .summary-card{box-shadow:none;padding:16px}.offsite-booking-panel .summary-card h3{display:none}.offsite-booking-panel__steps{box-shadow:none;border:0;border-radius:0;margin:0;padding:0 18px 18px}.offsite-booking-panel .booking-progress,.offsite-booking-panel [data-step="1"]{display:none}.offsite-booking-panel .step-card{padding:16px}.offsite-booking-panel .step-card:not(.step-card--active){display:none}.offsite-booking-panel form{gap:12px}.offsite-booking-panel .step-header>:last-child:not(:empty){display:none}.offsite-booking-panel .details-grid{grid-template-columns:1fr}.home-events-link{color:#1265c7;align-self:start;align-items:center;gap:8px;font-weight:800;text-decoration:none;display:inline-flex}.home-events-link:hover{text-decoration:underline}@media (max-width:960px){.offsite-events__intro{flex-direction:column;align-items:stretch}.offsite-events__tools{min-width:0}.offsite-discovery-layout,.offsite-layout{grid-template-columns:minmax(0,1fr)}.offsite-booking-panel{position:static}}@media (max-width:640px){.page--offsite-events,.page--offsite-booking{padding:30px 16px 60px}.offsite-events__intro,.offsite-booking__intro{border-radius:22px;padding:20px}.offsite-events__tools{flex-direction:column;align-items:stretch}.offsite-view-toggle{min-height:48px}.offsite-view-toggle button{flex:1}.offsite-session-card{grid-template-columns:58px minmax(0,1fr);gap:12px;padding:15px}.offsite-session-card__action{flex-flow:wrap;grid-column:2;justify-content:space-between;place-items:center start;display:flex}.offsite-session-card__content h3{font-size:1rem}.offsite-session-card__action .btn{padding:9px 12px}.offsite-calendar__header,.offsite-session-results__header{padding:18px}.offsite-calendar__grid{gap:2px;padding:12px 10px 6px}.offsite-calendar__grid button,.offsite-calendar__empty{min-height:44px}.offsite-booking-panel__heading{padding:18px}.offsite-booking-panel>.summary{padding:12px 14px 0}.offsite-booking-panel__steps{padding:0 10px 12px}}.update-banner{max-width:1240px;margin:0 auto;padding:16px 24px 0}.update-banner__inner{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:linear-gradient(135deg,#fffffffa,#f4f9fff5);border:1px solid #d8e6fff2;border-radius:22px;align-items:center;gap:16px;width:min(100%,1240px);margin:0 auto;padding:14px 18px 14px 20px;display:flex;position:relative;overflow:hidden;box-shadow:0 18px 34px #15346824}.update-banner__inner:before{content:"";background:linear-gradient(180deg, var(--accent) 0%, var(--accent) 100%);width:6px;position:absolute;inset:0 auto 0 0}.update-banner__label{min-height:34px;color:var(--ink-soft);letter-spacing:.14em;text-transform:uppercase;box-shadow:0 10px 18px color-mix(in srgb, var(--accent) 18%, transparent);background:linear-gradient(135deg,#e6ddff 0%,#cfb8ff 100%);border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;padding:0 12px;font-size:12px;font-weight:900;display:inline-flex}.update-banner__content{gap:4px;min-width:0;display:grid}.update-banner__title{color:#102b5c;margin:0;font-size:1.02rem;font-weight:800;line-height:1.2}.update-banner__message{color:var(--ink-soft);margin:0;font-size:.96rem;line-height:1.5}.update-banner__actions{flex-shrink:0;align-items:center;gap:8px;margin-left:auto;display:flex}@media (max-width:640px){.update-banner{padding:12px 16px 0}.update-banner__inner{border-radius:18px;flex-direction:column;align-items:flex-start;gap:10px;padding:16px}.update-banner__actions{margin-left:0}}.brand-logo{width:36px;height:36px;box-shadow:0 10px 18px color-mix(in srgb, var(--accent) 15%, transparent);border-radius:99px}.lazy-image{background:#ffffffb3;display:inline-block;position:relative;overflow:hidden}.lazy-image__skeleton,.lazy-image__img{width:100%;height:100%;position:absolute;inset:0}.lazy-image__img{object-fit:cover;opacity:0;transition:opacity .22s}.lazy-image__img.is-loaded{opacity:1}.hero--fun h1{letter-spacing:-.02em;margin:0;font-size:clamp(2.2rem,3.8vw,3.4rem)}.hero-title{flex-wrap:wrap;gap:12px;display:flex}.eyebrow{text-transform:uppercase;letter-spacing:.18em;color:var(--muted);font-size:12px;font-weight:700}.subtitle{color:var(--ink-soft);margin:0;font-size:1rem}.badge{background:linear-gradient(135deg, var(--accent-3) 0%, var(--accent-3) 100%);color:#5b3a00;letter-spacing:.08em;text-transform:uppercase;border-radius:999px;padding:6px 14px;font-size:12px;font-weight:800;box-shadow:0 10px 22px #ffb64859}.chip{color:var(--ink-soft);box-shadow:0 12px 20px color-mix(in srgb, var(--accent) 10%, transparent);background:#fff;border:1px solid #f0e8ff;border-radius:999px;padding:8px 14px;font-size:12px}.build-status-pill{z-index:40;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffeb;border:1px solid #1f293714;border-radius:18px;align-items:center;gap:12px;max-width:min(92vw,520px);padding:12px 14px;display:inline-flex;position:fixed;bottom:16px;right:16px;box-shadow:0 18px 32px #0f172a1f}.build-status-pill.is-stale{border-color:#f59e0b52;box-shadow:0 18px 32px #f59e0b29}.build-status-pill__copy{gap:2px;min-width:0;display:grid}.build-status-pill__label{letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-size:.68rem;font-weight:800}.build-status-pill__value{color:var(--ink-soft);word-break:break-word;font-size:.88rem}.build-status-pill__button{background:linear-gradient(135deg, var(--accent), var(--accent-2));color:#fff;box-shadow:0 10px 18px color-mix(in srgb, var(--accent) 18%, transparent);border:0;border-radius:999px;padding:8px 14px;font-size:.84rem;font-weight:800}.build-status-pill__button:hover{filter:brightness(1.03)}.card{background:var(--card);border-radius:var(--radius-card);box-shadow:none;border:1px solid var(--border);padding:24px}.card--soft{background:var(--card);border:1px solid var(--border)}input,select,button{font-family:inherit}input[type=checkbox],input[type=radio]{accent-color:var(--accent)}.stack{gap:18px;display:grid}.stack--lg{gap:22px}.field{color:var(--ink);gap:8px;font-size:14px;display:grid}.field input,.field select{border:1px solid var(--border);background:#fff;border-radius:14px;padding:12px 14px;transition:border-color .2s,box-shadow .2s,transform .2s}.field-readonly{border:1px solid var(--border);background:#fff;border-radius:14px;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}.field-readonly-text{color:var(--ink);font-weight:600}.field-readonly-link{color:var(--accent);font-size:12px;font-weight:600;text-decoration:none}.field-readonly-link:hover{text-decoration:underline}.count-input{grid-template-columns:44px 1fr 44px;align-items:center;gap:8px;display:grid}.count-input input{text-align:center;font-weight:700}.count-btn{border:1px solid var(--border);height:44px;color:var(--ink);cursor:pointer;background:#fff;border-radius:12px;font-size:20px;font-weight:800;transition:transform .12s,box-shadow .12s,border-color .12s}.count-btn:hover{border-color:color-mix(in srgb, var(--accent) 40%, transparent);box-shadow:0 10px 20px color-mix(in srgb, var(--accent) 12%, transparent);transform:translateY(-1px)}.count-btn:focus-visible{outline-offset:2px;outline:3px solid #1f8bff73}.count-btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none;transform:none}.calendar{z-index:5;gap:8px;display:grid;position:relative}.calendar-input{border:1px solid var(--border);width:100%;color:var(--ink);cursor:pointer;background:#fff;border-radius:14px;justify-content:space-between;align-items:center;gap:10px;padding:12px 14px;font-weight:600;transition:border-color .2s,box-shadow .2s,transform .2s;display:flex}.calendar-input:hover{border-color:color-mix(in srgb, var(--accent) 40%, transparent);box-shadow:0 10px 18px color-mix(in srgb, var(--accent) 10%, transparent)}.calendar-input:focus-visible{outline-offset:2px;outline:3px solid #1f8bff73}.calendar-input-icon{font-size:18px}.calendar-pop{width:min(320px,100%);box-shadow:0 18px 36px color-mix(in srgb, var(--accent) 16%, transparent);z-index:100;background:#fff;border:1px solid #f1eaff;border-radius:18px;padding:14px;position:absolute;top:calc(100% + 10px);left:0}.calendar-header{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.calendar-month{font-weight:800}.calendar-nav{border:1px solid var(--border);cursor:pointer;background:#fff;border-radius:50%;width:32px;height:32px;font-weight:800}.calendar-nav:hover{border-color:color-mix(in srgb, var(--accent) 40%, transparent)}table.calendar-grid{table-layout:fixed;border-collapse:separate;border-spacing:6px;width:100%;display:table}.calendar-grid--loading{grid-template-columns:repeat(7,1fr);gap:6px;display:grid}.calendar-grid--loading .calendar-weekday{place-items:center;min-height:24px;display:grid}.calendar-grid--loading>.skeleton{border-radius:4px;margin:0}.calendar-grid td{text-align:center;padding:0}.calendar-day--empty{height:36px}.calendar-weekday{text-align:center;color:var(--muted);padding:4px 0;font-size:12px;font-weight:700}.calendar-day{height:36px;color:var(--ink);cursor:pointer;background:#f8f5ff;border:1px solid #0000;border-radius:12px;font-weight:700;transition:transform .12s,box-shadow .12s,background .12s}.calendar-day:hover{color:#6b3d00;box-shadow:0 10px 18px color-mix(in srgb, var(--accent) 12%, transparent);background:#ffdaa1;transform:translateY(-1px)}.calendar-day:focus-visible{outline-offset:2px;outline:3px solid #1f8bff73}.calendar-day--selected{background:linear-gradient(135deg, var(--accent), var(--accent-2));color:#fff;box-shadow:0 12px 24px color-mix(in srgb, var(--accent) 25%, transparent)}.calendar-day--disabled{color:#b5afc7;cursor:not-allowed;box-shadow:none;background:#f1eef8;transform:none}.calendar-day--disabled:hover{color:#b5afc7;box-shadow:none;background:#f1eef8;transform:none}.modal{z-index:1200;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal-dialog{justify-content:center;align-items:center;width:min(920px,96%);max-height:90vh;margin:0;display:flex}.modal-content{background:var(--card);width:100%;max-width:920px;max-height:90vh;box-shadow:0 30px 60px color-mix(in srgb, var(--accent) 12%, transparent);transform-origin:50%;border:1px solid #efe4ff;border-radius:14px;flex-direction:column;animation:.28s cubic-bezier(.22,.98,.6,1) fadeInUp;display:flex;overflow:hidden}.modal-header{border-bottom:1px solid #f2eaff;flex:none;justify-content:space-between;align-items:center;padding:18px 20px;font-size:large;display:flex}.modal-title{margin:0;font-weight:700}.modal-body{flex:auto;padding:20px;overflow:auto}.modal-footer{border-top:1px solid #f2eaff;flex:none;justify-content:flex-end;gap:10px;padding:14px 20px;display:flex}.modal-backdrop{z-index:1100;background:#140c2800;animation:.22s ease-out forwards fadeBackdrop;position:fixed;inset:0}@keyframes fadeInUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeBackdrop{0%{background:#140c2800}to{background:#140c2899}}.modal-open{overflow:hidden}.rebook-modal__subtitle{margin-top:6px}.rebook-modal__body,.rebook-select-grid{gap:14px;display:grid}.btn-close{cursor:pointer;background:0 0;border:none;border-radius:6px;width:28px;height:28px}.btn{cursor:pointer;border-radius:8px;padding:8px 12px;font-weight:700}.btn-primary{background:var(--accent);color:#fff;border:none}.btn-secondary{background:#f0f0ff;border:1px solid #eee}.btn-outline{background:0 0;border:1px solid #ded6ff}.link{color:var(--accent);cursor:pointer;background:0 0;border:none;padding:0;font-weight:700}.calendar-day--empty{box-shadow:none;background:0 0;border:none}.slots-legend{color:var(--muted);align-items:center;gap:14px;margin-top:10px;font-size:13px;display:flex}.legend-item{align-items:center;gap:8px;display:inline-flex}.legend-dot{width:12px;height:12px;box-shadow:0 6px 10px color-mix(in srgb, var(--accent) 6%, transparent);border-radius:50%;display:inline-block}.field input:focus-visible,.field select:focus-visible{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 20%, transparent);outline:2px solid #0000}.primary{background:linear-gradient(135deg, var(--accent) 0%, var(--accent-2) 100%);color:#fff;box-shadow:0 18px 34px color-mix(in srgb, var(--accent) 28%, transparent);cursor:pointer;border:none;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:16px 24px;font-weight:800;text-decoration:none;transition:transform .2s,box-shadow .2s;display:inline-flex}.primary:hover{box-shadow:0 24px 40px color-mix(in srgb, var(--accent) 32%, transparent);transform:translateY(-2px)scale(1.01)}.primary:focus-visible{outline-offset:2px;outline:3px solid #1f8bff73}.slots{flex-wrap:wrap;gap:12px;display:flex}.slot{border:1px solid var(--border);cursor:pointer;color:var(--ink-soft);background:#fff;border-radius:999px;padding:10px 18px;font-weight:700;transition:transform .15s,box-shadow .15s,border-color .2s}.slot:hover{box-shadow:0 12px 20px color-mix(in srgb, var(--accent) 18%, transparent);border-color:color-mix(in srgb, var(--accent) 40%, transparent);transform:translateY(-2px)}.slot:focus-visible{outline-offset:2px;outline:3px solid #1f8bff73}.slot--active{background:linear-gradient(135deg, var(--accent), var(--accent-2));color:#fff;box-shadow:0 20px 36px color-mix(in srgb, var(--accent) 25%, transparent);border-color:#0000;transform:translateY(-4px)scale(1.03)}.slot:disabled{cursor:not-allowed;opacity:.7!important;box-shadow:none!important;background-color:#e7e2f5!important;border-color:#e7e2f5!important;transform:none!important}.addons{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;min-width:0;display:grid}.addons>.checkbox-item{min-width:0;overflow:hidden}.checkbox-item{cursor:pointer;background:#fff;border:1px solid #e8e3ff;border-radius:14px;justify-content:space-between;align-items:flex-start;gap:12px;padding:12px 14px;font-size:14px;transition:border-color .18s,box-shadow .18s,transform .12s;display:flex;position:relative}.checkbox-item:focus-visible{outline-offset:2px;outline:3px solid #1f8bff59}.checkbox-item[aria-checked=true],.addon--active{border-color:var(--accent);box-shadow:0 12px 24px color-mix(in srgb, var(--accent) 16%, transparent);transform:translateY(-4px)}.addon-item{align-items:start;gap:10px 14px;justify-content:initial;grid-template-columns:22px minmax(0,1fr);display:grid}.addon-item input[type=checkbox]{opacity:1;pointer-events:none;z-index:9;position:absolute;top:.5rem;right:.5rem}.addon-item .checkbox-icon{grid-column:1;margin-top:6px}.addon-main{grid-column:2;gap:10px;min-width:0;display:grid}.addon-top{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:14px;min-width:0;display:grid}.addon-content{gap:4px;min-width:0;display:grid}.addon-title{color:inherit;font-weight:700;line-height:1.2;display:block}.addon-desc{color:var(--muted);grid-column:1/-1;font-size:13px;line-height:1.35}.addon-image{object-fit:contain;background:linear-gradient(#0d57c60a,#ffc85714);border-radius:12px;flex-shrink:0;place-self:start end;width:6rem;height:24px;padding:4px}@media (max-width:900px){.addons{grid-template-columns:repeat(2,1fr)}}@media (max-width:600px){.addons{grid-template-columns:1fr}}.checkbox-item input{width:18px;height:18px}.checkbox-item:hover{box-shadow:0 12px 22px color-mix(in srgb, var(--accent) 12%, transparent);transform:translateY(-1px)}.checkbox-item:focus-within{outline-offset:2px;border-color:color-mix(in srgb, var(--accent) 35%, transparent);outline:3px solid #1f8bff59}.checkbox-item input:checked+span{color:var(--ink-soft);font-weight:700}.grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;display:grid}.muted{color:var(--muted);margin:0;font-size:13px}.error{color:#b00020;margin:0;font-weight:600}ul{padding-left:18px}.layout{grid-template-columns:minmax(0,1fr);gap:26px;display:grid}.panel{width:100%}.summary{align-self:start;position:sticky;top:24px}.step-card{background:linear-gradient(#fff 0%,#fcf9ff 100%);border:1px solid #f1eaff;border-radius:22px;gap:14px;padding:20px;transition:transform .35s cubic-bezier(.2,.9,.2,1),box-shadow .25s;display:grid}.step-card:hover{box-shadow:0 18px 36px color-mix(in srgb, var(--accent) 18%, transparent);transform:translateY(-2px)}.booking-progress{flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;display:flex;margin-bottom:2em!important}.progress-step{cursor:pointer;appearance:none;background:color-mix(in srgb, var(--accent) 8%, transparent);color:var(--ink-soft);border:1px solid color-mix(in srgb, var(--accent) 20%, transparent);border-radius:999px;justify-content:center;align-items:center;gap:8px;min-width:120px;padding:8px 12px;font-family:inherit;display:flex}.progress-step:disabled{cursor:not-allowed;opacity:.55;box-shadow:none;transform:none}.progress-step .step-icon{background:linear-gradient(135deg, var(--accent-3) 0%, var(--accent-3) 100%);color:#6b3d00;width:34px;height:34px;box-shadow:0 8px 18px color-mix(in srgb, var(--accent) 8%, transparent);border-radius:50%;justify-content:center;align-items:center;margin-right:6px;font-weight:800;display:inline-flex}@keyframes pop{0%{opacity:.6;transform:scale(.9)}60%{opacity:1;transform:scale(1.06)}to{opacity:1;transform:scale(1)}}.progress-step.completed{background:linear-gradient(90deg,#e9f7ff,#f3f0ff);animation:.42s cubic-bezier(.2,.9,.3,1) pop}.progress-sep{background:linear-gradient(90deg,#f0edff,#e9f7ff);border-radius:4px;width:22px;height:2px}.packages-grid{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}@media (max-width:900px){.packages-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:600px){.packages-grid{grid-template-columns:1fr}}.packages-grid,.package-option,.step-content{min-width:0}.package-description{text-overflow:ellipsis;margin-top:8px;overflow:hidden}.package-option{border:1px solid var(--border);cursor:pointer;box-sizing:border-box;background:#fff;border-radius:12px;min-width:0;padding:12px;transition:transform .16s,box-shadow .16s,border-color .16s;display:block;position:relative;overflow:hidden}.package-option input[type=radio]{opacity:0;pointer-events:none;position:absolute}.package-option--active{border-color:var(--accent);box-shadow:0 16px 30px color-mix(in srgb, var(--accent) 12%, transparent);transform:translateY(-4px)}.checkbox-icon{z-index:99;border:2px solid var(--border);box-sizing:border-box;pointer-events:none;background:#fff;border-radius:4px;justify-content:center;align-items:center;width:20px;height:20px;transition:transform .2s,background .2s,border-color .2s;display:flex;position:absolute;top:12px;right:12px;transform:scale(0)}.package-option--active .checkbox-icon,.checkbox-item[aria-checked=true] .checkbox-icon{border-color:var(--accent);background:var(--accent);transform:scale(1)}.checkbox-icon:after{content:"";opacity:0;color:#fff;font-size:14px;transition:opacity .2s}.package-option--active .checkbox-icon:after,.checkbox-item[aria-checked=true] .checkbox-icon:after{content:"✔";opacity:1}.package-image{border-radius:8px;justify-content:center;align-items:center;width:100%;height:120px;margin-bottom:8px;display:flex;overflow:hidden}.package-image img{object-fit:cover;width:100%;height:100%}.package-image__media{width:100%;height:100%;display:block}.package-title{flex-direction:column;gap:2px;font-size:large;font-weight:600;display:flex}.package-description{margin-top:8px}.package-meta{margin-top:8px;font-weight:600}.package-price{align-items:baseline;gap:8px;margin-top:8px;display:flex}.package-price-amount{color:var(--accent);font-size:1.25rem;font-weight:800;line-height:1}.package-price-unit{color:var(--ink-soft);margin-left:4px;font-size:.82rem;font-weight:600}.addon-price{flex-wrap:wrap;align-items:baseline;gap:6px;margin-top:4px;display:flex}.addon-price-amount{color:var(--accent);white-space:nowrap;font-size:1rem;font-weight:700;line-height:1}.addon-price-unit{color:var(--ink-soft);white-space:nowrap;margin-left:4px;font-size:.75rem;font-weight:600}.packages-note{color:var(--muted);margin-top:10px;font-size:12px}.btn{color:#3b3a4a;cursor:pointer;background:0 0;border:none;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:10px 14px;font-family:inherit;transition:transform .12s,box-shadow .12s,background .12s,color .12s;display:inline-flex}.btn:focus-visible{outline-offset:2px;outline:3px solid #1f8bff73}.btn-sm{border-radius:8px;padding:6px 10px;font-size:13px}.btn-link{color:var(--accent);background:0 0;border-radius:6px;padding:.25rem .5rem;font-weight:600;text-decoration:none}.btn-link:hover{text-decoration:underline}.btn-link.btn-sm{padding:4px 6px;font-size:13px}.btn.btn-primary{background:linear-gradient(135deg, var(--accent) 0%, var(--accent-2) 100%);color:#fff;box-shadow:0 12px 24px color-mix(in srgb, var(--accent) 20%, transparent);border:none;border-radius:14px;padding:10px 16px;font-weight:800;text-decoration:none}.btn.btn-primary:hover{box-shadow:0 18px 36px color-mix(in srgb, var(--accent) 24%, transparent);transform:translateY(-2px)}.btn.btn-outline-secondary{border:1px solid var(--border);color:#463f63;background:#fff;border-radius:12px;padding:8px 12px;text-decoration:none}.btn.btn-outline-secondary:hover{box-shadow:0 8px 16px color-mix(in srgb, var(--accent) 8%, transparent);transform:translateY(-1px)}.btn:disabled,.btn[disabled]{opacity:.6;cursor:not-allowed;box-shadow:none!important;transform:none!important}.summary-card{box-shadow:0 16px 32px color-mix(in srgb, var(--accent) 10%, transparent);background:linear-gradient(#fff 0%,#fbf6ff 100%);border-radius:20px;padding:20px;position:relative;overflow:visible}.step-header{align-items:flex-start;gap:12px;display:flex}.step{background:var(--accent-3);color:#6b3d00;border-radius:1000000000px;justify-content:center;align-items:center;width:32px;height:32px;font-weight:800;display:inline-flex}.pricing-summary{background:#f8f3ff;border:1px solid #eee0ff;border-radius:16px;gap:10px;padding:16px;display:grid}.pricing-title{font-weight:800}.pricing-list{gap:8px;display:grid}.price-row{justify-content:space-between;font-size:14px;display:flex}.price-row--muted{color:var(--muted);font-size:13px}.radio-group{gap:12px;display:grid}.option-card{cursor:pointer;background:#fff;border:1px solid #e8e3ff;border-radius:16px;align-items:center;gap:12px;padding:14px 16px;transition:border-color .2s,box-shadow .2s,transform .15s;display:flex}.option-card input{accent-color:var(--accent)}.option-card:hover{box-shadow:0 12px 22px color-mix(in srgb, var(--accent) 14%, transparent);transform:translateY(-1px)}.option-card:focus-within{outline-offset:2px;outline:3px solid #1f8bff66}.option-title{font-weight:800}.option-sub{color:#5b5680;font-size:14px}.summary-card h3{margin:0 0 12px;font-size:18px}.summary-list{gap:10px;display:grid}.summary-row{justify-content:space-between;font-size:14px;display:flex}.summary-divider{background:#eee8ff;height:1px;margin:16px 0}.summary-note{color:var(--muted);margin-top:12px;font-size:12px}.step-header h2,.step-header h3{margin-top:-.1rem;margin-bottom:0}.d-flex{display:flex}.align-items-start{align-items:flex-start}.align-items-center{align-items:center}.justify-content-between{justify-content:space-between}.gap-2{gap:8px}.gap-3{gap:12px}.mb-3{margin-bottom:12px}.text-muted{color:var(--muted)}.small{font-size:12px}@media (min-width:960px){.layout{grid-template-columns:minmax(0,1fr) 340px}}@media (max-width:900px){.summary{position:static}}@media (max-width:720px){.page{padding:36px 16px 72px}.hero-title{flex-direction:column;align-items:flex-start}.grid{grid-template-columns:1fr}.booking-progress{justify-content:flex-start}}@media (max-width:540px){.progress-sep{display:none}.progress-step{min-width:100px;font-size:12px}}@media (prefers-reduced-motion:reduce){*{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}body:before,body:after{animation:none!important}}*{box-sizing:border-box}body{margin:0}.skeleton{background:#e6e6ec;border-radius:8px;display:inline-block;position:relative;overflow:hidden}.skeleton:after{content:"";background:linear-gradient(90deg,#0000,#f5f5fae6,#0000);animation:1.2s ease-in-out infinite shimmer;position:absolute;inset:0;transform:translate(-100%)}.skeleton.skeleton-line{border-radius:6px;height:12px;margin:6px 0}@keyframes shimmer{to{transform:translate(100%)}}@media (prefers-reduced-motion:reduce){.skeleton:after{opacity:.45;animation:none}}.skeleton-package .package-image .skeleton{border-radius:8px}.skeleton-package .skeleton-line{display:block}.calendar-grid .skeleton{margin:4px}.slots .skeleton{margin-right:12px}.summary-card .skeleton{border-radius:6px;height:18px;margin-bottom:10px}.slot:disabled{opacity:.6!important;background-color:#ccc!important;border-color:#ccc!important}.panel{position:relative;overflow:visible}.step-card{z-index:0;position:relative;overflow:visible}.step-card--active{z-index:10}.step-card--calendar-open{z-index:1000;isolation:isolate}.calendar-pop{z-index:1001}.step-card--calendar-open .grid.step-content{z-index:5;position:relative}.confirmation-hero{box-shadow:0 28px 60px color-mix(in srgb, var(--accent) 16%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:linear-gradient(135deg,#fffffff0,#fff7e8e6),radial-gradient(circle at 100% 0,#ffb84d38,#0000 34%);border:1px solid #ffffffb8;border-radius:32px;padding:28px;position:relative;overflow:hidden}.confirmation-hero__brand,.confirmation-hero__content{z-index:1;position:relative}.confirmation-hero__content{grid-template-columns:minmax(0,1.4fr) minmax(260px,.8fr);align-items:end;gap:24px;display:grid}.confirmation-hero__copy{gap:14px;display:grid}.confirmation-highlight{background:linear-gradient(160deg, color-mix(in srgb, var(--accent) 96%, transparent), color-mix(in srgb, var(--accent) 92%, transparent));color:#fff;min-height:148px;box-shadow:0 20px 42px color-mix(in srgb, var(--accent) 26%, transparent);border:1px solid #ffffff2e;grid-template-columns:auto minmax(0,1fr) 156px;align-items:center;gap:16px;display:grid}.confirmation-highlight__icon{background:linear-gradient(135deg, var(--accent-3), var(--accent-3));color:#633500;border-radius:18px;flex:none;justify-content:center;align-items:center;width:58px;height:58px;font-size:1.6rem;font-weight:900;display:inline-flex}.confirmation-highlight__body{gap:6px;min-width:0;display:grid}.confirmation-highlight__body strong{letter-spacing:.02em;font-size:clamp(1.1rem,2.2vw,1.5rem)}.confirmation-highlight__body p,.confirmation-highlight__label{color:#fffc;margin:0}.confirmation-highlight__label{text-transform:uppercase;letter-spacing:.12em;font-size:.8rem;font-weight:700}.confirmation-ticket-qr{background:#ffffff24;border:1px solid #fff3;border-radius:22px;align-content:center;align-self:stretch;justify-items:center;gap:10px;min-width:0;padding:14px 12px;display:grid}.confirmation-ticket-qr img{width:112px;height:112px;image-rendering:pixelated;background:#fff;border-radius:16px;padding:8px;display:block;box-shadow:0 10px 24px #1111112e}.confirmation-ticket-qr span{letter-spacing:.06em;text-transform:uppercase;color:#ffffffd6;text-align:center;max-width:11ch;font-size:.74rem;font-weight:700;line-height:1.3}.confirmation-stack{gap:24px}.confirmation-glance{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.confirmation-glance__card{box-shadow:0 14px 28px color-mix(in srgb, var(--accent) 8%, transparent);background:linear-gradient(#fffffff2,#f9f3ffe0);border:1px solid #dcd1ffd9;border-radius:22px;gap:8px;padding:20px 22px;display:grid}.confirmation-glance__eyebrow,.confirmation-summary__eyebrow{text-transform:uppercase;letter-spacing:.14em;color:var(--ink-soft);font-size:.73rem;font-weight:800}.confirmation-glance__card strong{font-size:1.05rem;line-height:1.3}.confirmation-glance__card p{color:var(--muted);margin:0;font-size:.92rem}.confirmation-status-card,.confirmation-next-card{border-radius:28px;padding:24px}.confirmation-status-card{background:linear-gradient(#fffffffa,#fbf6fff0)}.confirmation-status-card__header{justify-content:space-between}.confirmation-facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.confirmation-facts__row{background:#ffffffb8;border:1px solid #e9e1ffeb;border-radius:18px;flex-direction:column;align-items:flex-start;gap:6px;padding:14px 16px}.confirmation-facts__row span{text-transform:uppercase;letter-spacing:.08em;color:var(--ink-soft);font-size:.8rem}.confirmation-facts__row strong{word-break:break-word;font-size:1rem;line-height:1.35}.confirmation-ticket-card{background:linear-gradient(#fffffffa,#f3f8fff2);border-radius:28px;padding:24px}.confirmation-ticket-card__body{grid-template-columns:220px minmax(0,1fr);align-items:center;gap:20px;display:grid}.confirmation-ticket-card__body img{width:100%;max-width:220px;image-rendering:pixelated;box-shadow:0 18px 34px color-mix(in srgb, var(--accent) 10%, transparent);background:#fff;border-radius:26px;padding:14px}.confirmation-ticket-card__meta{gap:10px;display:grid}.confirmation-timeline{gap:18px;display:grid}.confirmation-timeline__item{grid-template-columns:14px minmax(0,1fr);align-items:start;gap:14px;display:grid}.confirmation-timeline__item strong{margin-bottom:4px;display:block}.confirmation-timeline__item p{color:var(--muted);margin:0}.confirmation-timeline__dot{background:linear-gradient(135deg, var(--accent), var(--accent-2));width:14px;height:14px;box-shadow:0 0 0 5px color-mix(in srgb, var(--accent) 11%, transparent);border-radius:50%;margin-top:5px}.confirmation-actions{flex-wrap:wrap}.confirmation-summary{box-shadow:0 18px 40px color-mix(in srgb, var(--accent) 12%, transparent);background:linear-gradient(#fffffffa,#f8f4fff2);border-radius:28px;padding:24px}.confirmation-summary__top{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px;display:flex}.confirmation-summary__top h3{margin-top:4px}.confirmation-summary__package-thumb{object-fit:cover;width:82px;height:82px;box-shadow:0 14px 28px color-mix(in srgb, var(--accent) 18%, transparent);border-radius:22px}.confirmation-summary__facts .summary-row{align-items:start;gap:12px}.confirmation-summary__facts .summary-row span{max-width:54%}.confirmation-summary__facts .summary-row strong{text-align:right}.confirmation-summary__note{border-top:1px solid #e9e1ffe6;padding-top:10px}@media (max-width:959px){.confirmation-hero__content{grid-template-columns:1fr}.confirmation-highlight{grid-template-columns:auto minmax(0,1fr)}.confirmation-ticket-qr{grid-column:1/-1;justify-self:start;width:fit-content}.confirmation-glance,.confirmation-ticket-card__body{grid-template-columns:1fr}}@media (max-width:720px){.confirmation-hero{border-radius:26px;padding:22px}.confirmation-facts{grid-template-columns:1fr}.confirmation-status-card,.confirmation-next-card,.confirmation-summary{border-radius:24px;padding:20px}.confirmation-highlight{min-height:auto}}@media (max-width:540px){.confirmation-summary__top{flex-direction:column}.confirmation-summary__package-thumb{width:100%;max-width:140px;height:100px}}.success-message{color:#166534;background:#ecfff3;border:1px solid #bfe7cb;border-radius:16px;margin:0;padding:14px 16px}.portal-grid{grid-template-columns:minmax(280px,340px) minmax(0,1fr);align-items:start;gap:24px;display:grid}.portal-auth-shell{grid-template-columns:minmax(320px,.95fr) minmax(360px,1.05fr);align-items:stretch;gap:28px;margin:0 auto;display:grid}.portal-auth-hero,.portal-auth-card{position:relative;overflow:hidden}.portal-auth-hero{background:radial-gradient(circle at top left, #ffd680f2, #ffd68000 36%), radial-gradient(circle at 82% 18%, #ff7aa857, #ff7aa800 28%), linear-gradient(160deg, var(--accent) 0%, var(--accent) 54%, var(--accent) 100%);color:#fff;border:1px solid #ffffff26;min-height:100%;padding:34px}.portal-auth-hero h2{letter-spacing:-.03em;margin:0;font-size:clamp(2rem,3vw,3rem);line-height:.98}.portal-auth-hero .eyebrow,.portal-auth-hero .subtitle,.portal-auth-point span{color:#fffc}.portal-auth-hero__sparkles{pointer-events:none;position:absolute;inset:0}.portal-auth-hero__spark{filter:blur(10px);opacity:.9;border-radius:999px;position:absolute}.portal-auth-hero__spark--gold{background:#ffd6806b;width:130px;height:130px;top:42px;right:52px}.portal-auth-hero__spark--pink{background:#ff6fa342;width:170px;height:170px;bottom:60px;right:-10px}.portal-auth-hero__spark--blue{background:#78c2ff2e;width:190px;height:190px;bottom:-36px;left:-18px}.portal-auth-hero__points{gap:14px;margin-top:28px;display:grid}.portal-auth-point{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff1a;border:1px solid #ffffff1f;border-radius:18px;gap:4px;padding:16px 18px;display:grid}.portal-auth-point strong{font-size:.98rem}.portal-auth-card{background:linear-gradient(#fffffff7,#f8f4fff5);padding:30px}.portal-auth-card__header{justify-content:space-between;align-items:start;gap:16px;margin-bottom:18px;display:flex}.portal-auth-card__header h3{letter-spacing:-.03em;margin:2px 0 0;font-size:1.8rem}.portal-auth-card__badge{background:color-mix(in srgb, var(--accent) 12%, transparent);color:var(--ink-soft);letter-spacing:.08em;text-transform:uppercase;border-radius:999px;justify-content:center;align-items:center;padding:8px 14px;font-size:12px;font-weight:800;display:inline-flex}.portal-auth-steps{gap:16px;display:grid}.portal-auth-step{box-shadow:0 16px 30px color-mix(in srgb, var(--accent) 7%, transparent);background:#fff;border:1px solid #ded5f9f2;border-radius:22px;padding:20px}.portal-auth-step__header{align-items:start;gap:14px;display:flex}.portal-auth-step__header h4{margin:0 0 4px;font-size:1.2rem}.portal-auth-step__number{background:linear-gradient(135deg, var(--accent), var(--accent));color:#fff;width:40px;height:40px;box-shadow:0 14px 26px color-mix(in srgb, var(--accent) 24%, transparent);border-radius:14px;flex:none;justify-content:center;align-items:center;font-weight:800;display:inline-flex}.turnstile-wrap{min-height:65px}.portal-list,.portal-detail{gap:18px;display:grid}.portal-booking-section{gap:14px;display:grid}.portal-booking-section__toggle{width:100%;color:var(--ink);cursor:pointer;text-align:left;background:0 0;border:0;justify-content:space-between;align-items:center;gap:12px;padding:0;display:flex}.portal-booking-section__header{flex:1;justify-content:space-between;align-items:center;gap:12px;display:flex}.portal-booking-section__header h4{margin:0}.portal-booking-section__count{background:color-mix(in srgb, var(--accent) 10%, transparent);min-width:32px;height:32px;color:var(--ink-soft);border-radius:999px;justify-content:center;align-items:center;font-size:12px;font-weight:700;display:inline-flex}.portal-booking-section__chevron{border:1px solid var(--border);width:32px;height:32px;color:var(--ink-soft);background:#fff;border-radius:999px;justify-content:center;align-items:center;font-size:20px;line-height:1;display:inline-flex}.portal-list__header,.portal-detail__hero,.portal-detail__actions,.confirmation-highlight__actions,.portal-payment-card__header,.portal-payment-card__actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.portal-booking-card{text-align:left;border:1px solid var(--border);width:100%;color:var(--ink);cursor:pointer;box-shadow:0 10px 24px color-mix(in srgb, var(--accent) 8%, transparent);background:#fff;border-radius:18px;gap:6px;padding:16px;transition:transform .18s,box-shadow .18s,border-color .18s;display:grid}.portal-booking-card:hover,.portal-booking-card.is-active{border-color:color-mix(in srgb, var(--accent) 45%, transparent);box-shadow:0 18px 36px color-mix(in srgb, var(--accent) 14%, transparent);transform:translateY(-2px)}.portal-booking-card__status{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:12px;font-weight:700}.portal-payment-card{box-shadow:0 16px 28px color-mix(in srgb, var(--accent) 8%, transparent);background:linear-gradient(#fffffffa,#f8f4fff2);border:1px solid #f0e8fff5;border-radius:24px;gap:18px;padding:22px;display:grid}.portal-payment-card__header h3{margin:4px 0 0}.portal-payment-card__pill{background:color-mix(in srgb, var(--accent) 12%, transparent);color:var(--ink-soft);letter-spacing:.08em;text-transform:uppercase;border-radius:999px;justify-content:center;align-items:center;padding:8px 14px;font-size:12px;font-weight:800;display:inline-flex}.sr-only{clip:rect(0, 0, 0, 0);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.fieldset-reset{border:0;min-inline-size:0;margin:0;padding:0}.fieldset-reset>legend{color:var(--ink);margin:0 0 8px;padding:0;font-size:14px;font-weight:600}a,.btn-link,.field-readonly-link,.link{text-underline-offset:2px}.package-option:focus-within,.progress-step:focus-visible,.calendar-nav:focus-visible,.portal-booking-card:focus-visible,.portal-booking-section__toggle:focus-visible{outline-offset:2px;outline:3px solid #1f8bff80}@media (forced-colors:active){.btn,.slot,.calendar-day,.calendar-input,.count-btn,.progress-step{border:1px solid buttontext}}.portal-payment-card__grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.portal-payment-metric{background:#ffffffe0;border:1px solid #f0e8fff5;border-radius:18px;gap:6px;padding:16px;display:grid}.portal-payment-metric span{color:var(--muted);font-size:13px}.portal-payment-metric strong{letter-spacing:-.03em;font-size:1.4rem}.portal-payment-card__facts{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.portal-payment-card__actions{align-items:center}.portal-detail__hero-actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.portal-ticket-card{box-shadow:0 16px 28px color-mix(in srgb, var(--accent) 8%, transparent);background:linear-gradient(#fffffffa,#f2f7fff2);border:1px solid #e5ebfff5;border-radius:24px;gap:18px;padding:22px;display:grid}.portal-ticket-card__header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.portal-ticket-card__header h3{margin:4px 0 0}.portal-ticket-card__body{grid-template-columns:220px minmax(0,1fr);align-items:center;gap:20px;display:grid}.portal-ticket-card__body img{width:100%;max-width:220px;image-rendering:pixelated;box-shadow:0 18px 34px color-mix(in srgb, var(--accent) 10%, transparent);background:#fff;border-radius:24px;padding:14px}.portal-ticket-card__facts{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}@media (max-width:900px){.portal-auth-shell,.portal-grid{grid-template-columns:1fr}.portal-auth-hero,.portal-auth-card{padding:24px}.portal-payment-card__grid,.portal-ticket-card__body{grid-template-columns:1fr}}@media (max-width:640px){.portal-auth-card__header{flex-direction:column}.portal-auth-step{padding:18px}}body:before,body:after{filter:blur(54px);opacity:.34}.page.page--booking{gap:24px;max-width:1240px;padding:48px 24px 88px}.hero.hero--fun{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:linear-gradient(145deg,#ffffffdb,#eff7ffdb);border:1px solid #d8e6fff2;border-radius:26px;padding:18px 22px 14px;position:relative;box-shadow:0 14px 30px #234a8a14}.hero.hero--fun:before{content:"";pointer-events:none;background:radial-gradient(circle at 10% 18%,#ffc85738 0,#ffc85700 26%),radial-gradient(circle at 82% 70%,#0d57c61f 0,#0d57c600 34%);border-radius:26px;position:absolute;inset:0}.hero-brand{gap:12px}.brand-logo{border:3px solid #fffffff2;width:44px;height:44px;box-shadow:0 10px 22px #0c3f882e}.eyebrow{color:#486696;letter-spacing:.16em;font-weight:800}.hero--fun h1{color:#0f2752;margin:0;font-size:clamp(2rem,3.7vw,3.35rem);line-height:1.02}.subtitle{color:#375683;max-width:72ch;font-size:1rem}.chip{color:#24497f;border-color:#d7e7ff;font-weight:700;box-shadow:0 8px 16px #234f941a}.panel.card.card--soft{border-radius:var(--radius-card);background:var(--card);border:1px solid var(--border);box-shadow:none;padding:24px}.landing-hero{padding-bottom:0}.landing-hero .hero-brand,.landing-hero .hero-title,.landing-hero .subtitle,.landing-hero .hero-chips,.landing-section{animation:.52s cubic-bezier(.2,.8,.2,1) both landingRise}.landing-hero .hero-title{animation-delay:80ms}.landing-hero .subtitle{animation-delay:.16s}.landing-hero .hero-chips{animation-delay:.24s}.landing-section{animation-delay:.3s}.landing-section__header,.landing-filters,.landing-sort-status{animation:.42s cubic-bezier(.2,.8,.2,1) both landingRise}.landing-filters{animation-delay:80ms}.landing-sort-status{animation-delay:.12s}.landing-section{gap:24px;display:grid}.landing-section__header{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:16px;display:grid}.landing-section__header h2{color:#0f2752;margin:6px 0 0;font-size:clamp(1.5rem,2.6vw,2.2rem)}.landing-section__count{color:#5b7aa6;white-space:nowrap;margin:0;font-weight:700}.landing-filters{scrollbar-width:thin;flex-wrap:nowrap;gap:10px;padding-bottom:4px;display:flex;overflow-x:auto}.landing-filter{appearance:none;color:#2a4d83;white-space:nowrap;cursor:pointer;background:#edf5ff;border:1px solid #d6e5ff;border-radius:999px;flex:none;max-height:48px;padding:10px 16px;font-size:.92rem;font-weight:700;transition:transform .2s,box-shadow .2s,border-color .2s,background .2s}.landing-filter:hover,.landing-filter:focus-visible{border-color:#bfd7ff;transform:translateY(-1px)}.landing-filter:active{transform:translateY(1px)scale(.985)}.landing-filter:focus-visible{outline-offset:2px;outline:3px solid #1f8bff40}.landing-filter.is-active{color:#fff;background:linear-gradient(135deg,#0f5ec8 0%,#3d8dff 100%);border-color:#0f5ec8}.landing-filter--location{background:linear-gradient(#f7fbff 0%,#edf5ff 100%);border-color:#cfe0fb;align-items:center;gap:8px;width:auto;height:48px;padding:0 16px;display:inline-flex}.landing-filter--location i{margin:0;font-size:1.1rem}.landing-filter--location.is-active{background:linear-gradient(135deg,#0c8c6a 0%,#1db184 100%);border-color:#0c8c6a}.landing-filter--location:hover,.landing-filter--location:focus-visible{border-color:#a9d7c8;box-shadow:0 12px 20px #0c8c6a1f}.landing-sort-status{color:#4b698f;margin:0;font-size:.95rem;line-height:1}.landing-search{gap:8px;max-width:520px;display:grid}.landing-search label{color:#193f7d;font-weight:700}.landing-search__control{align-items:center;gap:10px;display:flex}.landing-search input{width:100%;min-width:0;font:inherit;border:1px solid #cfe0fb;border-radius:14px;padding:12px 14px}.field-error{color:var(--danger);margin:0;font-size:.875rem;font-weight:600}.payment-readiness{color:#294570;background:#f7fbff;border:1px solid #d6e6ff;border-radius:14px;gap:4px;padding:12px 14px;display:grid}.payment-readiness p{margin:0}.mobile-booking-bar{display:none}.store-tile{color:inherit;animation:.52s cubic-bezier(.2,.8,.2,1) both landingRise;animation-delay:var(--tile-delay,0s);background:linear-gradient(#fff 0%,#f7fbff 100%);border:1px solid #dce9ff;border-radius:24px;text-decoration:none;transition:transform .22s,box-shadow .22s,border-color .22s;overflow:hidden;box-shadow:0 18px 34px #0e2f611a}.store-tile__link{min-height:100%;color:inherit;grid-template-rows:210px minmax(0,1fr);text-decoration:none;display:grid}.store-tile:hover,.store-tile:focus-visible{border-color:#b9d5ff;transform:translateY(-4px);box-shadow:0 24px 44px #0e2f6129}.store-tile:focus-within{outline-offset:3px;outline:3px solid #1f8bff4d}.store-tile:active{transform:translateY(-1px)scale(.995);box-shadow:0 18px 34px #0e2f611f}.store-tile__media{background:linear-gradient(135deg,#dcebff 0%,#fff0c8 100%);position:relative;overflow:hidden}.store-tile__media:after{content:"";pointer-events:none;background:linear-gradient(120deg,#0000 0%,#ffffff47 42%,#0000 75%);transition:transform .55s;position:absolute;inset:0;transform:translate(-120%)}.store-tile:hover .store-tile__media:after,.store-tile:focus-within .store-tile__media:after{transform:translate(120%)}.store-tile__image,.store-tile__placeholder{width:100%;height:100%}.store-tile__image .lazy-image__img{transform:scale(1.01)}.store-tile__placeholder{color:#24497f;place-items:center;font-size:3.2rem;font-weight:800;display:grid}.store-tile__content{gap:10px;padding:20px 20px 22px;display:grid}.store-tile__content h3{color:#12315e;margin:0;font-size:1.3rem}.store-tile__content p{color:#47648d;margin:0;font-size:.92rem;line-height:1.5}.store-tile__eyebrow{text-transform:uppercase;letter-spacing:.16em;color:#5d7fb0;font-size:.72rem;font-weight:800}.store-tile__footer{color:#4f6c95;justify-content:space-between;align-items:center;gap:12px;font-size:.74rem;font-weight:600;display:flex}.store-tile__cta{color:#fff;background:linear-gradient(135deg,#0f5ec8 0%,#3d8dff 100%);border:1px solid #d6e5ff;border-radius:999px;justify-self:end;padding:12px 16px;font-size:.88rem;font-weight:800;line-height:1;box-shadow:0 10px 18px #0f5ec82e}@media (max-width:640px){.store-tile__content{padding-bottom:18px}.store-tile__cta{display:none}.store-tile__tap{color:#0f63d6;text-align:center;margin-top:2px;font-size:.9rem;font-weight:800;display:block}}@keyframes landingRise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.store-tile__meta i{color:#5a7da8}.store-tile--loading{pointer-events:none}.landing-empty{color:#375683;background:#f5faffe6;border:1px dashed #c7dbff;border-radius:22px;padding:28px}.landing-empty h3,.landing-empty p{margin:0}.landing-empty h3{color:#12315e;margin-bottom:8px}.progress-step{cursor:pointer;appearance:none;color:#2a4d83;background:#edf4ff;border:1px solid #d8e7ff;min-width:132px;font-family:inherit;font-weight:700;transition:transform .2s,box-shadow .2s,border-color .2s,background .2s}.progress-step .step-icon{color:#724f06;background:linear-gradient(145deg,#ffe8aa 0%,#ffc857 100%);width:32px;height:32px}.progress-step.active{background:linear-gradient(145deg,#e4f0ff 0%,#f0f7ff 100%);border-color:#bcd7ff}.progress-step.completed{background:linear-gradient(145deg,#e5fff0 0%,#eaf8ff 100%);border-color:#bde7d0}.step-card{background:#fff;border:1px solid #dce9ff;border-radius:20px;gap:16px;transition:transform .24s,box-shadow .24s,border-color .24s}.step-card:hover{border-color:#c3dbff;transform:translateY(-1px)}.step{color:#1550a6;background:linear-gradient(145deg,#e7f1ff 0%,#d9e8ff 100%);border:1px solid #c4dafc}.step-header h2,.step-header h3{color:#123b77;margin:0;font-size:1.18rem}.field>span{color:#193f7d;font-weight:700}.details-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.details-optin{margin-top:4px}.details-optin .form-check{background:linear-gradient(#fff 0%,#f8fbff 100%);border:1px solid #d7e6ff;border-radius:16px;align-items:flex-start;gap:12px;padding:14px 16px;display:flex}.details-optin .form-check-input{flex:none;width:20px;height:20px;margin:2px 0 0}.field input,.field select,.field-readonly,.calendar-input{background:#fdfefe;border-color:#cfe0fb;border-radius:14px}.field input:focus-visible,.field select:focus-visible,.calendar-input:focus-visible,.slot:focus-visible,.count-btn:focus-visible,.btn:focus-visible,.checkbox-item:focus-visible,.checkbox-item:focus-within{outline-offset:2px;outline:3px solid #0f73eb47}.packages-grid{gap:14px}.package-carousel-hint{color:#5d73a0;margin:0;font-size:.85rem;display:none}.package-carousel{min-width:0;max-width:100%;position:relative}.package-carousel__nav,.package-carousel__select{display:none}.package-option{background:linear-gradient(#fff 0%,#f8fbff 100%);border:1px solid #d7e6ff;border-radius:16px;padding:14px;box-shadow:0 10px 20px #0c3f880f}.package-option:hover{border-color:#bdd7ff;transform:translateY(-2px);box-shadow:0 16px 28px #0d51a724}.package-option--active{border-color:#8cb9ff;box-shadow:0 20px 34px #0d51a72e}.package-image{background:linear-gradient(#0d57c60f,#ffc8571a);border-radius:12px;height:130px}.package-title{color:#153f80;font-size:1.03rem}.package-description,.addon-desc{color:#5d73a0}.checkbox-icon{border-color:#b7cff6;border-radius:6px}.package-option--active .checkbox-icon,.checkbox-item[aria-checked=true] .checkbox-icon{background:linear-gradient(145deg,#0c63d8 0%,#1f8dff 100%);border-color:#0000}.count-btn{color:#1852ab;background:#fff;border-color:#cfe0fb}.count-btn:hover{border-color:#9fc3f9;box-shadow:0 10px 18px #0f56be29}.addons{gap:14px}.checkbox-item{background:linear-gradient(#fff 0%,#f8fbff 100%);border:1px solid #d7e6ff;border-radius:16px;align-items:flex-start;padding:14px 16px;box-shadow:0 8px 16px #0c3f880d}.checkbox-item:hover{border-color:#b8d5ff;box-shadow:0 14px 24px #104fa31f}.checkbox-item[aria-checked=true],.addon--active{border-color:#8dbaff;box-shadow:0 16px 28px #104fa329}.addon-top{grid-template-columns:minmax(0,1fr) auto;column-gap:16px}.addon-image{object-fit:contain;background:linear-gradient(#0d57c60a,#ffc85714);border-radius:12px;width:6rem;height:54px;padding:4px}.calendar{z-index:10}.calendar-pop{z-index:9999;border:1px solid #d5e4ff;border-radius:16px;position:absolute;box-shadow:0 20px 34px #1643822e}.calendar-nav{color:#1a4d9f;border-color:#cde0fb}.calendar-day{color:#215292;background:#f1f7ff}.calendar-day:hover{color:#17458e;background:#deecff;box-shadow:0 8px 14px #144b9a29}.calendar-day--selected{color:#fff;background:linear-gradient(145deg,#0f65db,#1f8dff)}.calendar-day--disabled{color:#9eb1cf;background:#edf2fb}.slots{gap:10px}.time-selection__date-context,.time-selection__status,.time-period-filters{display:none}.slot{color:#1e4f94;border-color:#cfe0fb;padding:10px 16px;font-weight:700}.slot:hover{border-color:#8eb9fa;box-shadow:0 10px 18px #0f56be29}.slot--active{background:linear-gradient(145deg,#0d57c6 0%,#1f8dff 100%);border-color:#0000;box-shadow:0 14px 26px #0c51a742}.slot--blocked-range{color:#5f7395;box-shadow:none;opacity:.92;background:linear-gradient(145deg,#f0f4fb 0%,#e7edf8 100%);border-style:dashed;border-color:#9fb6da}.slot--blocked-range:hover{border-color:#8ea7cf;box-shadow:0 8px 14px #2e49781f}.legend-dot--available{background:var(--success)}.legend-dot--lead-time{background:linear-gradient(145deg,#ffc857,#ffda86)}.legend-dot--full{background:#b5c4de}.legend-dot--blocked{background:repeating-linear-gradient(-45deg,#9fb6da 0 3px,#dbe5f6 3px 6px)}.pricing-summary{background:linear-gradient(145deg,#f0f7ff 0%,#f8fcff 100%);border:1px solid #d6e6ff}.pricing-title{color:#0f3c7f;font-weight:800}.price-row{color:#203f72}.price-row--muted{color:#5974a3}.promo-panel{background:linear-gradient(#fff 0%,#f5faff 100%);border:1px solid #d6e6ff;border-radius:18px;gap:14px;padding:18px 20px;display:grid;box-shadow:0 10px 24px #16438214}.promo-panel__header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.promo-panel__title{color:#133f80;margin:0;font-size:1.05rem;font-weight:800;display:inline-block}.promo-panel__description{color:#5a73a3;max-width:560px;margin:6px 0 0;font-size:.95rem;line-height:1.5}.promo-panel__badge{color:#2f6c2d;white-space:nowrap;background:#e8f4e7;border:1px solid #b8ddb5;border-radius:999px;align-items:center;padding:8px 12px;font-size:.82rem;font-weight:800;display:inline-flex}.promo-panel__form{grid-template-columns:minmax(0,1fr) auto;gap:10px;display:grid}.promo-panel__input{color:#1d3768;background:#fff;border:1px solid #c9dbfa;border-radius:14px;width:100%;min-width:0;padding:12px 14px;transition:border-color .2s,box-shadow .2s,transform .2s}.promo-panel__input:focus{border-color:#8bb8ff;outline:none;box-shadow:0 0 0 4px #1f8dff1f}.promo-panel__button{min-width:124px}.promo-panel__hint,.promo-feedback{color:#5a73a3;margin:0;font-size:.84rem}.promo-feedback{background:#f7fbff;border:1px solid #dbe7f8;border-radius:12px;padding:10px 12px}.radio-group{gap:10px}.option-card{border-color:#d3e3ff;border-radius:14px}.option-card:hover{box-shadow:0 12px 22px #104fa326}.option-card--active{border-color:#8bb8ff;box-shadow:0 14px 24px #104fa32e}.option-title{color:#133f80}.option-sub{color:#5a73a3}.summary-card{background:linear-gradient(#fff 0%,#f2f8ff 100%);border:1px solid #d8e7ff;border-radius:24px;box-shadow:0 18px 34px #16438224}.summary-card h3{color:#113e81}.summary-row{color:#2b4d83}.summary-note{color:#5471a2}.error{color:var(--danger);background:#fff4f6;border:1px solid #f4ccd3;border-radius:12px;padding:10px 12px;font-weight:700}.btn{border-radius:12px;font-weight:700}.btn.btn-primary{background:linear-gradient(145deg,#0d57c6 0%,#1f8dff 100%);box-shadow:0 14px 26px #0c51a73d}.btn.btn-primary:hover{transform:translateY(-1px);box-shadow:0 18px 30px #0c51a747}.btn.btn-outline-secondary{color:#26508f;border-color:#c9dcfa}.btn-link,.link{color:#0f63d6}@media (max-width:960px){.page.page--booking{padding:34px 16px 64px}.hero.hero--fun{border-radius:22px;padding:16px}.panel.card.card--soft{border-radius:22px;padding:18px}.booking-progress{flex-wrap:nowrap;justify-content:flex-start;padding-bottom:4px;overflow-x:auto}.progress-step{flex:none;min-width:128px}}@media (max-width:640px){.hero-chips{gap:8px}.chip{padding:7px 10px;font-size:11px}.step-card{padding:16px}.step-card--completed .step-header{grid-template-columns:minmax(0,1fr);gap:10px;display:grid}.step-card--completed .step-header>.d-flex{min-width:0}.step-card--completed .step-header h2,.step-card--completed .step-header h3{font-size:1.08rem}.step-card--completed .step-header .muted{display:none}.step-card--completed .step-header>:last-child:not(:empty){background:#f5f9ff;border-radius:12px;justify-content:space-between;align-items:center;gap:12px;min-width:0;padding:8px 10px;display:flex}.step-card--completed .step-header .text-muted{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.step-card--completed .step-header .btn-link{flex:none}.details-grid{grid-template-columns:1fr}.promo-panel{padding:16px}.promo-panel__header,.promo-panel__form{grid-template-columns:1fr;display:grid}.promo-panel__button{width:100%}.package-image{height:118px}.package-carousel-hint{display:block}.packages-grid{box-sizing:border-box;overscroll-behavior-x:contain;scroll-behavior:smooth;scroll-snap-type:x mandatory;touch-action:pan-x;scrollbar-width:none;-webkit-overflow-scrolling:touch;gap:12px;width:100%;min-width:0;max-width:100%;padding:12px 7% 22px;scroll-padding-inline:7%;display:flex;overflow-x:auto}.packages-grid::-webkit-scrollbar{display:none}.package-option{opacity:.72;scroll-snap-align:center;scroll-snap-stop:always;flex:0 0 86%;min-width:0;transition:transform .26s cubic-bezier(.2,.8,.2,1),opacity .22s,box-shadow .26s,border-color .22s;transform:scale(.92)}.package-option--carousel-focus{opacity:1;transform:scale(1.025);box-shadow:0 22px 38px #0d51a738}.package-option--carousel-focus.package-option--active{border-color:#6fa8ff}.package-carousel__nav{z-index:2;color:#0f56be;cursor:pointer;background:#fffffff0;border:1px solid #b9d5ff;border-radius:50%;place-items:center;width:38px;height:38px;font-size:1.8rem;font-weight:700;line-height:1;display:grid;position:absolute;top:50%;transform:translateY(-50%);box-shadow:0 10px 20px #0d51a733}.package-carousel__nav--previous{left:-6px}.package-carousel__nav--next{right:-6px}.package-carousel__nav:focus-visible{outline-offset:2px;outline:3px solid #0f73eb59}.package-carousel__select{width:100%;margin-top:4px;display:flex}.slot{justify-content:center;width:calc(50% - 8px)}.time-selection__date-context{z-index:3;color:#294570;background:#fffffff5;margin:10px -2px 8px;padding:8px 2px;font-size:.85rem;font-weight:700;display:block;position:sticky;top:0}.time-period-filters{scrollbar-width:none;gap:8px;margin:0 -2px 12px;padding:2px;display:flex;overflow-x:auto}.time-period-filters::-webkit-scrollbar{display:none}.time-period-filter{color:#1e4f94;background:#fff;border:1px solid #cfe0fb;border-radius:999px;flex:none;min-height:40px;padding:8px 14px;font-weight:700}.time-period-filter--active{color:#fff;background:#0d57c6;border-color:#0d57c6;box-shadow:0 8px 16px #0d57c633}.time-selection__status{color:#496897;margin:0 0 12px;font-size:.88rem;font-weight:700;display:block}.time-selection__status:has(+.slots .slot--active){color:#0d57c6}.details-optin .form-check{margin-top:20px;padding:12px 14px}.landing-search__control{flex-direction:column;align-items:stretch}.mobile-booking-bar{z-index:50;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff7;border:1px solid #cfe0fb;border-radius:18px;justify-content:space-between;align-items:center;gap:12px;padding:12px;display:flex;position:fixed;bottom:12px;left:12px;right:12px;box-shadow:0 16px 32px #16438233}.mobile-booking-bar__summary{color:#294570;gap:2px;min-width:0;font-size:.78rem;display:grid}.mobile-booking-bar__summary span,.mobile-booking-bar__summary strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.mobile-booking-bar__status{color:#6b7f9f}.mobile-booking-bar__status--complete{color:#0d57c6}#bookingForm{padding-bottom:152px}}.success-message{color:#0f6a42;background:linear-gradient(#ebfff3 0%,#f6fffa 100%);border:1px solid #b9ebcd;border-radius:12px;font-weight:700}.btn.btn-secondary{color:#1f4f95;background:#f4f9ff;border:1px solid #cce0ff;box-shadow:0 8px 16px #104fa314}.btn.btn-secondary:hover{transform:translateY(-1px);box-shadow:0 12px 20px #104fa31f}.portal-auth-shell{margin:0 auto;display:block}.portal-auth-card.card.card--soft{background:linear-gradient(#fff 0%,#f6faff 100%);border:1px solid #dce9ff;border-radius:28px;width:100%;max-width:980px;margin:0 auto;padding:26px;box-shadow:0 20px 34px #1353a81f}.portal-auth-card__header h3{color:#133f80;font-size:clamp(1.6rem,2.5vw,2rem)}.portal-auth-card__badge{color:#1556b0;background:#0f65db1f}.portal-auth-steps{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:18px;display:grid}.portal-auth-step{background:linear-gradient(#fff 0%,#f8fbff 100%);border:1px solid #d7e6ff;border-radius:18px;box-shadow:0 10px 22px #104fa317}.portal-auth-step__header h4{color:#133f80}.portal-auth-step__number{background:linear-gradient(145deg,#0d57c6,#1f8dff);border-radius:12px;box-shadow:0 12px 22px #0f56be3d}.portal-shell{gap:18px;min-width:0;display:grid}.portal-toolbar.card.card--soft,.portal-detail.card{border:1px solid #dce9ff;border-radius:24px;box-shadow:0 16px 32px #104fa31f}.portal-toolbar{background:linear-gradient(#fff 0%,#f6faff 100%);gap:18px;min-width:0;padding:20px 22px;display:grid}.portal-detail{background:linear-gradient(#fff 0%,#f9fcff 100%);min-width:0}.portal-toolbar__account,.portal-detail__hero,.portal-detail__actions,.portal-payment-card__header,.portal-payment-card__actions{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.portal-toolbar__account{flex-wrap:wrap;align-items:center}.portal-toolbar__account h3,.portal-detail__hero h3{color:#113d80}.portal-toolbar__tabs{flex-wrap:wrap;gap:10px;display:flex}.portal-filter-tab{color:#1f4f95;min-width:180px;font:inherit;background:#fff;border:1px solid #d8e6ff;border-radius:16px;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;font-weight:700;display:inline-flex;box-shadow:0 8px 16px #144e9c0f}.portal-filter-tab span{text-align:left}.portal-filter-tab strong{color:#0d57c6;background:#0d57c61a;border-radius:999px;justify-content:center;align-items:center;min-width:32px;min-height:32px;padding:0 10px;font-size:.9rem;display:inline-flex}.portal-filter-tab.is-active{background:linear-gradient(145deg,#eef6ff 0%,#fff 100%);border-color:#93bfff;box-shadow:0 14px 24px #104fa324}.portal-toolbar__picker{max-width:100%}.portal-toolbar__picker .field{min-width:0;margin:0}.portal-toolbar__picker select{width:100%;min-width:0;max-width:100%;min-height:50px}.portal-detail{padding:24px}.portal-payment-card{background:linear-gradient(#f6fbff 0%,#fff 100%);border:1px solid #d7e6ff;border-radius:20px;box-shadow:0 14px 28px #104fa31a}.portal-payment-card__pill{color:#0e56bf;background:#0d57c61f}.portal-payment-metric{background:linear-gradient(#fff 0%,#f8fbff 100%);border:1px solid #d7e6ff}.portal-payment-metric span{color:#5572a3}.portal-payment-metric strong{color:#114189}.portal-ticket-card{background:linear-gradient(#fff 0%,#f5faff 100%);border:1px solid #d7e6ff;border-radius:20px;box-shadow:0 14px 28px #104fa31a}.portal-ticket-card__body img{border-radius:20px;box-shadow:0 16px 28px #16438229}.confirmation-hero{background:radial-gradient(circle at 6% 8%,#ffc85738,#ffc85700 30%),radial-gradient(circle at 88% 18%,#1f8dff38,#1f8dff00 26%),linear-gradient(#fffffff0,#f2f9fff0);border:1px solid #d5e4ff;border-radius:28px;padding:24px;box-shadow:0 18px 34px #104fa324}.confirmation-hero.is-processing{border-color:#bdd6ff}.confirmation-hero.is-confirmed{background:radial-gradient(circle at 6% 8%,#ffc85733,#ffc85700 32%),radial-gradient(circle at 88% 18%,#14b86a29,#14b86a00 30%),linear-gradient(#fffffff2,#f1fff8f2);border-color:#b9e4cb}.confirmation-hero.is-cancelled{background:radial-gradient(circle at 6% 8%,#ffc85729,#ffc85700 34%),radial-gradient(circle at 88% 18%,#cf2a3f29,#cf2a3f00 30%),linear-gradient(#fffffff2,#fff4f6f2);border-color:#f0cad0}.confirmation-hero.is-completed{border-color:#cde0ff}.confirmation-highlight{background:linear-gradient(145deg,#0f4fae 0%,#1f8dff 100%);border-radius:20px;box-shadow:0 20px 34px #0f56be3d}.confirmation-highlight__icon{background:linear-gradient(145deg,#ffe8aa,#ffc857);border-radius:14px}.confirmation-highlight__body strong{letter-spacing:.01em}.confirmation-ticket-qr{border-radius:16px}.confirmation-ticket-qr img{border-radius:12px}.confirmation-glance__card,.confirmation-status-card,.confirmation-next-card,.confirmation-summary,.confirmation-ticket-card{border:1px solid #d7e6ff;border-radius:20px;box-shadow:0 14px 26px #104fa31a}.confirmation-glance__card{background:linear-gradient(#fff 0%,#f8fbff 100%)}.confirmation-facts__row{background:linear-gradient(#fff 0%,#f9fcff 100%);border:1px solid #d7e6ff;border-radius:14px}.confirmation-next-card{background:linear-gradient(#fffdf8 0%,#fff 55%,#f3f9ff 100%)}.confirmation-ticket-card__body img,.confirmation-summary__package-thumb{box-shadow:0 14px 24px #144e9c2e}.confirmation-summary__note{border-top:1px solid #dbe8ff}@media (max-width:1100px){.portal-auth-shell,.portal-shell{grid-template-columns:1fr}.portal-auth-steps{flex-direction:column;display:flex}.portal-auth-step{min-width:0}.portal-auth-card.card.card--soft,.portal-auth-hero.card,.portal-toolbar.card.card--soft,.portal-detail.card{border-radius:20px;padding:20px}.portal-toolbar__account,.portal-detail__hero,.portal-payment-card__header,.portal-ticket-card__header{flex-direction:column;align-items:flex-start}.portal-filter-tab{width:100%}.portal-payment-card__grid{grid-template-columns:1fr}}@media (max-width:720px){.confirmation-hero{border-radius:22px;padding:18px}.confirmation-highlight{grid-template-columns:auto 1fr;gap:12px}.confirmation-ticket-qr{grid-column:1/-1;width:fit-content}.confirmation-glance{grid-template-columns:1fr}}.confirmation-page .layout{grid-template-columns:minmax(0,1fr) minmax(320px,360px);align-items:start}.confirmation-hero{width:100%;max-width:none}.confirmation-highlight{grid-template-columns:auto minmax(0,1fr);gap:14px;width:100%;min-height:0;padding:18px}.confirmation-highlight__body{gap:4px}.confirmation-highlight__body p{max-width:56ch}.confirmation-highlight__actions{margin-top:8px}.confirmation-glance{grid-template-columns:repeat(3,minmax(180px,1fr))}.confirmation-glance__card{min-height:132px}.confirmation-summary{padding:20px}.confirmation-summary__facts .summary-row{align-items:baseline}@media (max-width:1180px){.confirmation-page .layout,.confirmation-hero__content{grid-template-columns:1fr}.confirmation-page .summary{position:static}.confirmation-summary{max-width:none}}.modal-body h2{margin:0}.radio-group{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.terms-page__section{min-width:0}.terms-page__section-header{gap:8px;display:grid}.terms-page__section-header h2{letter-spacing:-.02em;margin:0;font-size:clamp(1.4rem,2vw,1.8rem)}.terms-page__chips{flex-wrap:wrap;gap:12px;display:flex}.terms-page__content{color:var(--ink-soft);gap:14px;line-height:1.7;display:grid}.terms-page__content h2,.terms-page__content h3{color:var(--ink);margin:10px 0 0}.terms-page__content h2:first-child,.terms-page__content h3:first-child,.terms-page__content p:first-child,.terms-page__content ul:first-child,.terms-page__content ol:first-child,.terms-page__content blockquote:first-child{margin-top:0}.terms-page__content ul,.terms-page__content ol{padding-left:20px}.terms-page__content a{color:var(--accent);font-weight:600}@media (max-width:900px){.terms-page__layout{grid-template-columns:1fr}}body:before,body:after{display:none}.page--offsite-events,.page--offsite-booking{max-width:1200px;color:var(--ink);gap:20px;padding:clamp(24px,4vw,48px) 24px 72px}.hero.hero--fun:not(.confirmation-hero),.page>.hero:not(.hero--fun),.offsite-events__intro,.offsite-booking__intro{border:1px solid var(--border);border-radius:var(--radius-card);background:var(--card);color:var(--ink);box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.hero.hero--fun{padding:20px 22px}.hero.hero--fun:before,.confirmation-hero__backdrop{display:none}.hero.hero--fun:not(.confirmation-hero) h1,.page>.hero:not(.hero--fun) h1,.offsite-events__intro h1,.offsite-booking__intro h1{color:var(--ink);letter-spacing:-.025em}.hero.hero--fun:not(.confirmation-hero) .eyebrow,.page>.hero:not(.hero--fun) .eyebrow,.offsite-events__intro .offsite-eyebrow,.offsite-booking__intro .offsite-eyebrow{color:var(--accent);letter-spacing:.1em}.hero.hero--fun:not(.confirmation-hero) .subtitle,.page>.hero:not(.hero--fun) .subtitle,.offsite-events__intro p:not(.offsite-eyebrow),.offsite-booking__intro>p:last-child{color:var(--ink-soft);line-height:1.55}.offsite-booking__intro .offsite-back-link{color:var(--accent)}.panel.card.card--soft,.step-card,.summary-card,.portal-auth-card.card.card--soft,.portal-toolbar.card.card--soft,.portal-detail.card,.confirmation-glance__card,.confirmation-status-card,.confirmation-next-card,.confirmation-summary,.confirmation-ticket-card,.terms-page__section{border:1px solid var(--border);border-radius:var(--radius-card);background:var(--card);box-shadow:none}.step-card{padding:20px;transition:border-color .16s}.step-card:hover{border-color:color-mix(in srgb, var(--accent) 38%, var(--border));box-shadow:none;transform:none}.step,.progress-step .step-icon{background:var(--accent-3);color:var(--ink);box-shadow:none;border:0}.booking-progress{justify-content:flex-start;gap:8px;margin-bottom:1rem!important}.progress-step{border-radius:var(--radius-control);min-width:0;color:var(--ink-soft);box-shadow:none;background:0 0;border:1px solid #0000;padding:8px 10px;transition:background-color .16s,border-color .16s,color .16s}.progress-step.active{border-color:var(--border);border-bottom:2px solid var(--accent);background:color-mix(in srgb, var(--accent) 7%, white);color:var(--ink)}.progress-step.completed{color:#215c39;background:#f3faf5;border-color:#b9e4cb;animation:none}.progress-step:disabled{color:var(--muted);opacity:1}.calendar-day--disabled,.offsite-calendar__grid button:disabled,.slot:disabled{color:#64748b!important}.slot:disabled{cursor:not-allowed;opacity:1!important;background:#f1f5f9!important;border-color:#d8dee8!important}.progress-sep{background:var(--border);width:16px}.btn,.primary,.landing-filter,.offsite-view-toggle,.offsite-search,.field-readonly,.calendar-input,.form-select,.field input,.field select{border-radius:var(--radius-control)}.btn,.primary{transition:background-color .16s,border-color .16s,color .16s}.btn.btn-primary,.primary,.landing-filter.is-active,.store-tile__cta{border:1px solid var(--accent);border-radius:var(--radius-control);background:var(--accent);box-shadow:none;color:#fff;font-weight:700}.btn.btn-primary:hover,.primary:hover,.landing-filter.is-active:hover,.store-tile__link:hover .store-tile__cta,.store-tile__link:focus-visible .store-tile__cta{background:color-mix(in srgb, var(--accent) 88%, black);box-shadow:none;transform:none}.btn.btn-primary:active,.primary:active{transform:none}.btn.btn-outline-secondary,.option-card,.field input,.field select,.landing-search input{border-color:var(--border);color:var(--ink);background:#fff}.field input:focus,.field select:focus,.landing-search input:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 18%, transparent);outline:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,.package-option:focus-within,.progress-step:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.option-card:hover,.option-card--active{box-shadow:none;transform:none}.option-card--active,.package-option--active{border-color:var(--accent)}.slot--active,.time-period-filter--active,.calendar-day--selected{border-color:var(--accent)!important;background:var(--accent)!important;color:#fff!important;box-shadow:none!important;transform:none!important}.checkbox-item:hover,.addon-item:hover,.slot:hover,.btn-secondary:hover{box-shadow:none;transform:none}.addon-item{grid-template-columns:minmax(0,1fr);column-gap:0}.addon-main{grid-column:1;padding-right:28px}.addon-top{min-height:88px}.time-selection__date-context{color:var(--muted);margin:8px 0;font-size:.9rem;font-weight:600;display:block}.time-period-filters{scrollbar-width:thin;gap:8px;margin:8px 0 12px;padding:2px 2px 4px;display:flex;overflow-x:auto}.time-period-filter{border:1px solid var(--border);border-radius:var(--radius-control);background:var(--card);min-height:40px;color:var(--accent);font:inherit;white-space:nowrap;flex:none;padding:8px 14px;font-weight:700}.time-period-filter:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.time-selection__status{color:var(--muted);margin:0 0 12px;font-size:.88rem;font-weight:600;display:block}.summary-card h3,.summary-row strong,.step-header h2,.step-header h3,.landing-section__header h2,.store-tile__content h3{color:var(--ink)}.summary-row,.summary-note,.store-tile__content p,.store-tile__footer{color:var(--ink-soft)}.summary{position:static}@media (min-width:960px){.page--booking:not(.confirmation-page) .layout>.summary{position:sticky;top:16px}}.landing-section{border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:none;background:#fff;gap:20px;animation:none;display:grid}.landing-section__header{order:0;justify-content:space-between;align-items:flex-start;gap:16px;animation:none;display:flex}.landing-section__header h2{margin:0 0 6px;font-size:clamp(1.25rem,2vw,1.65rem)}.landing-section__header p{margin:0}.landing-section__count{color:var(--muted);flex:none;margin:0;font-size:.9rem;font-weight:600}.landing-search{order:1;width:100%;max-width:none}.landing-search label{color:var(--ink)}.landing-search input{min-height:48px;padding:12px 14px}.landing-filters{flex-wrap:wrap;order:2;padding:0;animation:none;overflow:visible}.landing-filter,.landing-filter--location{border:1px solid var(--border);border-radius:var(--radius-control);height:auto;min-height:40px;max-height:none;color:var(--ink-soft);box-shadow:none;background:#fff;padding:8px 12px}.landing-filter--location.is-active{border-color:var(--accent);background:var(--accent);color:#fff}.landing-sort-status{color:var(--ink-soft);order:3;line-height:1.4;animation:none}.store-tiles{order:4;gap:16px}.landing-empty{order:4}.store-tile{border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:none;background:#fff;transition:border-color .16s;animation:none}.store-tile__media{background:var(--card-soft)}.store-tile__content h3{font-size:1.1rem}.store-tile__cta{justify-content:center;justify-self:start;align-items:center;width:136px;height:44px;padding:0 12px;line-height:1.2;display:inline-flex}.landing-empty{border:1px dashed var(--border);border-radius:var(--radius-card);background:var(--card-soft)}.offsite-events__intro,.offsite-booking__intro{padding:24px}.offsite-view-toggle,.offsite-search,.offsite-calendar__header button{border-color:var(--border);border-radius:var(--radius-control);box-shadow:none}.offsite-view-toggle button.is-active,.offsite-calendar__grid button.has-events,.offsite-calendar__grid button.has-events>span,.offsite-calendar__legend span:not(.skeleton),.offsite-back-link{color:var(--accent)}.home-events-link{border:1px solid var(--border);border-radius:var(--radius-control);background:var(--card-soft);min-height:40px;color:var(--accent);justify-content:center;align-self:flex-end;align-items:center;gap:8px;padding:9px 12px;font-size:.9rem;font-weight:700;text-decoration:none;display:inline-flex}.home-events-link:hover{background:color-mix(in srgb, var(--accent) 7%, white);text-decoration:none}.home-events-link:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.offsite-view-toggle button{border-right-color:var(--border)}.offsite-view-toggle button.is-active{background:color-mix(in srgb, var(--accent) 7%, white)}.offsite-calendar__grid button:focus-visible,.offsite-calendar__header button:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.offsite-count{border-color:var(--border);border-radius:var(--radius-control)}.offsite-session-card__date{border-radius:var(--radius-control);background:var(--card-soft);color:var(--accent)}.confirmation-hero{border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:#fff;padding:24px}.confirmation-highlight{border-radius:var(--radius-card);background:var(--accent);box-shadow:none;border:0}.confirmation-highlight__icon{border-radius:var(--radius-control);background:var(--accent-3);color:var(--ink)}.confirmation-glance__card,.confirmation-status-card,.confirmation-next-card,.confirmation-summary,.confirmation-ticket-card,.portal-payment-card,.portal-ticket-card{border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:none;background:#fff}.confirmation-glance__eyebrow,.confirmation-summary__eyebrow,.confirmation-facts__row span{color:var(--muted)}.confirmation-facts__row,.portal-payment-metric{border-color:var(--border);border-radius:var(--radius-control);background:var(--card-soft)}.mobile-booking-bar{border-color:var(--border);-webkit-backdrop-filter:none;backdrop-filter:none;background:#fff;border-radius:14px;box-shadow:0 4px 16px #1222431f}.mobile-booking-bar__status--complete{color:var(--success)}.animated.enter .step-content,.step-card.animated.enter{animation:none}@media (max-width:720px){.page,.page--offsite-events,.page--offsite-booking{gap:16px;padding:20px 16px 60px}.hero.hero--fun,.offsite-events__intro,.offsite-booking__intro,.confirmation-hero{border-radius:14px;padding:18px}.card,.panel.card.card--soft{padding:18px}.landing-section__header{grid-template-columns:1fr;display:grid}.landing-section__count{margin:0}.landing-section__header-actions{align-items:flex-start}.landing-filters{overscroll-behavior-x:contain;flex-wrap:nowrap;padding-bottom:4px;overflow-x:auto}.store-tile__content{padding:16px}.store-tile__cta{display:inline-flex}.offsite-session-card__action .btn{white-space:normal}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.page--offsite-events{width:min(1400px,100%);max-width:1400px}.offsite-events__intro{grid-template-columns:minmax(0,1fr);align-items:stretch;gap:18px;display:grid}.offsite-events__intro h1{font-size:clamp(2rem,3vw,2.75rem)}.offsite-events__tools{justify-content:space-between;align-items:center;gap:12px;width:100%;min-width:0;display:flex}.offsite-search{flex:520px;max-width:760px;min-height:46px;margin-left:auto}.offsite-calendar__header button:disabled{border-color:var(--border);background:var(--card-soft);cursor:not-allowed;opacity:.65}.offsite-discovery-layout{grid-template-columns:minmax(320px,.82fr) minmax(0,1.18fr);align-items:start;gap:20px}@media (max-width:960px){.offsite-discovery-layout{grid-template-columns:minmax(0,1fr)}}@media (max-width:640px){.offsite-events__intro{gap:16px}.offsite-events__tools{flex-direction:column;align-items:stretch}.offsite-search{width:100%;max-width:none;min-height:44px}.offsite-view-toggle{min-height:44px}.offsite-view-toggle button{flex:1}}.offsite-booking-panel--preview{align-self:start;padding:0;overflow:hidden}.offsite-booking-panel--preview .offsite-booking-panel__heading{background:var(--card-soft);padding:22px 24px}.offsite-booking-panel--preview .offsite-booking-panel__heading h2{color:var(--ink);margin:4px 0 6px;font-size:1.4rem}.offsite-booking-panel--preview .offsite-booking-panel__heading p{color:var(--muted);margin:0;line-height:1.45}.offsite-booking-panel__session{padding:20px 24px 12px}.offsite-booking-panel__session h3{color:var(--ink);margin:4px 0 14px;font-size:1.1rem}.offsite-booking-panel__session dl{gap:10px;margin:0;display:grid}.offsite-booking-panel__session dl>div,.offsite-booking-modal__session dl>div{gap:2px;min-width:0;display:grid}.offsite-booking-panel__session dt,.offsite-booking-modal__session dt{color:var(--muted);font-size:.78rem;font-weight:600}.offsite-booking-panel__session dd,.offsite-booking-modal__session dd{color:var(--ink);overflow-wrap:anywhere;margin:0;font-weight:700}.offsite-booking-panel__preview-total{border-top:1px solid var(--border);color:var(--ink-soft);justify-content:space-between;gap:12px;margin:0 24px;padding:16px 0;display:flex}.offsite-booking-panel__preview-total strong{color:var(--ink);white-space:nowrap}.offsite-booking-panel__start{width:calc(100% - 48px);min-height:48px;margin:0 24px 24px}.offsite-booking-modal{z-index:1150;background:#1222439e;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.offsite-booking-modal__dialog{border:1px solid var(--border);border-radius:var(--radius-card);background:var(--card);grid-template-rows:auto minmax(0,1fr);width:min(1040px,100%);max-height:min(94vh,920px);display:grid;overflow:hidden;box-shadow:0 24px 64px #1222433d}.offsite-booking-modal__header{border-bottom:1px solid var(--border);background:var(--card);gap:16px;padding:22px 26px 18px;display:grid}.offsite-booking-modal__title-row{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.offsite-booking-modal__title-row h2{color:var(--ink);margin:4px 0 0;font-size:clamp(1.4rem,2vw,1.8rem)}.offsite-booking-modal__close{border:1px solid var(--border);border-radius:var(--radius-control);background:var(--card);width:40px;height:40px;color:var(--ink);flex:none;place-items:center;font-size:1.6rem;line-height:1;display:grid}.offsite-booking-modal__close:hover{border-color:var(--accent);background:var(--card-soft)}.offsite-booking-modal__session{border:1px solid var(--border);border-radius:var(--radius-control);background:var(--card-soft);grid-template-columns:minmax(180px,1.1fr) minmax(0,2fr);align-items:center;gap:16px 24px;padding:14px 16px;display:grid}.offsite-booking-modal__session h3{color:var(--ink);margin:4px 0 0;font-size:1.05rem}.offsite-booking-modal__session dl{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0;display:grid}.offsite-booking-modal__body{overscroll-behavior:contain;min-height:0;padding:22px 26px 26px;overflow:auto}.offsite-booking-modal__flow{box-shadow:none;background:0 0;border:0;border-radius:0;margin:0;padding:0;position:static;overflow:visible}.offsite-booking-modal__flow>.summary{margin:0 0 20px;padding:0;position:static}.offsite-booking-modal__flow .booking-progress{display:flex}.offsite-booking-modal__flow .offsite-booking-panel__steps{padding:0}.offsite-booking-modal :focus-visible{outline-color:var(--focus)}@media (max-width:960px){.offsite-booking-panel--preview{position:static}}@media (max-width:640px){.offsite-booking-panel--preview .offsite-booking-panel__heading{padding:18px}.offsite-booking-panel__session{padding:18px 18px 10px}.offsite-booking-panel__preview-total{margin:0 18px}.offsite-booking-panel__start{width:calc(100% - 36px);margin:0 18px 18px}.offsite-booking-modal{align-items:flex-end;padding:8px}.offsite-booking-modal__dialog{border-radius:14px;width:100%;max-height:96vh}.offsite-booking-modal__header{gap:12px;padding:16px 16px 14px}.offsite-booking-modal__session{grid-template-columns:1fr;gap:12px;padding:12px}.offsite-booking-modal__session dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 14px}.offsite-booking-modal__body{padding:16px}}:root{--canvas:#f7f4ee;--ink:#2b2721;--ink-soft:#554e44;--muted:#746c60;--card:#fffdfa;--card-soft:#f2eee6;--border:#e2dbd0;--radius-card:14px;--radius-control:8px;--shadow:0 1px 3px #2b27210f}body{color:var(--ink);background-color:var(--canvas);background-image:url(/build-a-bear-peeking-bear.png);background-position:100% 100%;background-repeat:no-repeat;background-size:35%;background-attachment:fixed}#root{min-height:100vh}.page,.page--booking,.page--offsite-events,.page--offsite-booking{width:min(1280px,100%);max-width:1280px;min-height:100vh;color:var(--ink);align-content:start;gap:24px;margin:0 auto;padding:clamp(32px,4vw,52px) 32px 80px}.page--booking{grid-template-columns:minmax(0,1fr)}.hero,.hero.hero--fun,.page>.hero:not(.hero--fun),.offsite-events__intro,.offsite-booking__intro,.confirmation-hero{box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;color:var(--ink);background-color:#0000;background-image:none;border:0;border-radius:0;gap:14px;padding:8px 0 18px;display:grid;overflow:visible}.hero:before,.confirmation-hero__backdrop{display:none}.hero-brand{align-items:center;gap:10px;min-height:40px;display:flex}.brand-logo{width:40px;height:40px;box-shadow:none;background:#fff;border:0;border-radius:6px;flex:none}.brand-logo .lazy-image__img{object-fit:contain;padding:2px}.brand-name{color:var(--ink-soft);letter-spacing:0;text-transform:none;font-size:.9rem;font-weight:600;line-height:1.3}.hero.hero--booking{gap:0;padding:0;overflow:visible}.hero--booking:after{display:none}.booking-hero__image{aspect-ratio:4/3;object-fit:cover;border-radius:12px;grid-area:image;width:100%;height:100%;max-height:240px;position:static}.booking-hero__content{grid-template-columns:minmax(0,1fr) minmax(260px,360px);grid-template-areas:"brand image""title image""location image""subtitle image";align-items:center;gap:12px 36px;width:100%;display:grid}.booking-hero__content>.hero-brand{grid-area:brand}.booking-hero__content>.hero-title{grid-area:title}.booking-hero__content>.booking-location{grid-area:location}.booking-hero__content>.subtitle{grid-area:subtitle}.booking-hero--no-image .booking-hero__content{grid-template-columns:1fr;grid-template-areas:"brand""title""location""subtitle"}.booking-route-fallback__location,.booking-route-fallback__subtitle{height:26px}.booking-route-fallback__location .skeleton,.booking-route-fallback__subtitle .skeleton{height:100%;display:block}.booking-location{color:var(--ink-soft);flex-wrap:wrap;align-items:center;gap:6px 14px;font-size:.98rem;line-height:1.45;display:flex}.booking-location--loading,.hero--booking>.subtitle{min-height:26px}.booking-location a{color:var(--accent);text-underline-offset:3px;font-size:.9rem;font-weight:600;text-decoration:underline}.hero-brand,.hero-title,.hero-chips,.subtitle{z-index:1;position:relative}.page .hero.hero--fun:not(.confirmation-hero),.page>.hero:not(.hero--fun),.page--offsite-events .offsite-events__intro,.page--offsite-booking .offsite-booking__intro{box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border:0;border-radius:0}.page .hero.hero--booking:not(.confirmation-hero){border:1px solid var(--border);border-radius:var(--radius-card)}.hero-title{display:block}.hero h1,.hero.hero--fun h1,.page>.hero:not(.hero--fun) h1,.offsite-events__intro h1,.offsite-booking__intro h1{max-width:24ch;color:var(--ink);letter-spacing:-.025em;margin:0;font-size:clamp(1.9rem,3vw,2.5rem);font-weight:600;line-height:1.15}h2,h3,h4{color:var(--ink);letter-spacing:-.015em}.subtitle{max-width:68ch;color:var(--ink-soft);margin:0;font-size:1rem;line-height:1.6}.eyebrow,.offsite-eyebrow{color:var(--muted);letter-spacing:0;text-transform:none;margin:0;font-size:.82rem;font-weight:600;line-height:1.4}.card,.card--soft,.panel.card.card--soft,.step-card,.summary-card,.landing-section,.terms-page__section,.portal-auth-card.card.card--soft,.portal-toolbar.card.card--soft,.portal-detail.card,.confirmation-glance__card,.confirmation-status-card,.confirmation-next-card,.confirmation-summary,.confirmation-ticket-card,.portal-payment-card,.portal-ticket-card{border:1px solid var(--border);border-radius:var(--radius-card);background:var(--card);box-shadow:none}.panel.card.card--soft{padding:24px}.landing-section{gap:22px;padding:24px;animation:none;display:grid}.landing-hero .hero-brand,.landing-hero .hero-title,.landing-hero .subtitle,.landing-section,.landing-section__header,.landing-filters,.landing-sort-status{animation:none}.landing-section__header{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.landing-section__header h2{color:var(--ink);letter-spacing:-.035em;margin:0 0 6px;font-size:clamp(1.3rem,2.2vw,1.7rem)}.landing-section__header p,.landing-section__count{color:var(--ink-soft);margin:0;line-height:1.5}.landing-section__header-actions{flex-direction:column;flex:none;align-items:flex-end;gap:8px;display:flex}.home-events-link{min-height:0;color:var(--accent);text-underline-offset:3px;background:0 0;border:0;padding:0;font-weight:700;text-decoration:underline}.home-events-link:hover{color:color-mix(in srgb, var(--accent) 82%, black);background:0 0}.landing-search{gap:7px;width:100%;max-width:none;display:grid}.landing-search label,.field>span{color:var(--ink);font-weight:600}.landing-search input,.field input,.field select,.field-readonly,.calendar-input,.offsite-search{border:1px solid var(--border);border-radius:var(--radius-control);min-height:44px;color:var(--ink);box-shadow:none;background:#fff}.landing-search input,.field input,.field select{font:inherit;padding:10px 12px}.field input:focus-visible,.field select:focus-visible,.calendar-input:focus-visible,.landing-search input:focus-visible,.offsite-search:focus-within{border-color:var(--focus);outline:3px solid color-mix(in srgb, var(--focus) 22%, transparent);outline-offset:1px;box-shadow:none}.details-optin{gap:12px;margin-top:0;display:grid}.details-optin .form-check{border:1px solid var(--border);border-radius:var(--radius-control);background:var(--card);align-items:center;gap:12px;margin-top:0;padding:8px 12px}.details-optin .form-check-input{accent-color:var(--accent)}.details-optin .form-check-label{color:var(--ink-soft);font-size:.875rem;line-height:1.4}.timezone-mismatch-warning{border-radius:var(--radius-control);color:#5b4a24;background:#fbf6e9;border:1px solid #e4d09d;align-items:flex-start;gap:8px;margin:0;padding:8px 12px;font-size:.875rem;line-height:1.4;display:flex}.timezone-mismatch-warning .icon{color:#80631b;flex:0 0 16px;margin-top:2px}.landing-filters{flex-wrap:wrap;gap:8px;padding:0;display:flex;overflow:visible}.landing-filter,.landing-filter--location{border:1px solid var(--border);border-radius:var(--radius-control);height:auto;min-height:38px;max-height:none;color:var(--ink-soft);box-shadow:none;background:#fff;padding:7px 11px;font-size:.875rem;font-weight:600;transition:border-color .12s,background-color .12s,color .12s}.landing-filter:hover,.landing-filter:focus-visible,.landing-filter:active,.landing-filter--location:hover,.landing-filter--location:focus-visible{border-color:var(--accent);box-shadow:none;transform:none}.landing-filter.is-active,.landing-filter--location.is-active{border-color:var(--accent);background:var(--accent);color:#fff}.landing-filter--location.is-active{background:var(--accent)}.landing-filter:focus-visible,.landing-filter--location:focus-visible,.home-events-link:focus-visible{outline:3px solid color-mix(in srgb, var(--focus) 28%, transparent);outline-offset:2px}.landing-sort-status{color:var(--ink-soft);margin:0;line-height:1.5}.store-tiles{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;display:grid}.store-tile{border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:none;background:#fff;transition:border-color .12s;animation:none;overflow:hidden}.store-tile:hover,.store-tile:focus-visible,.store-tile:active{border-color:var(--accent);box-shadow:none;transform:none}.store-tile__link{grid-template-rows:190px minmax(0,1fr)}.store-tile--loading{grid-template-rows:190px minmax(0,1fr);display:grid}.store-tile__media,.store-tile__media:after{background:var(--card-soft)}.store-tile__media{min-height:176px}.store-tile__placeholder{background:var(--card-soft);min-height:176px;color:var(--muted);align-content:center;justify-items:center;gap:10px;font-size:.9rem;font-weight:600;display:grid}.store-tile__placeholder svg{width:20px;height:20px;color:var(--accent)}.store-tile__media:after{display:none}.store-tile__content{grid-template-rows:auto auto 1fr auto;gap:10px;padding:18px}.store-tile--loading .store-tile__media{min-height:0}.store-tile--loading .store-tile__media .skeleton{border-radius:0;display:block}.store-tile__loading-address{gap:8px;display:grid}.store-tile__loading-cta{border-radius:var(--radius-control);display:block}.store-tile__content h3{color:var(--ink);margin:0;font-size:1.05rem;font-weight:600}.store-tile__content p,.store-tile__footer{color:var(--ink-soft);line-height:1.5}.store-tile__cta{border-radius:var(--radius-control);background:var(--accent);color:#fff;width:auto;height:auto;min-height:40px;box-shadow:none;border:0;justify-content:center;justify-self:start;align-items:center;padding:0 14px;font-size:.9rem;font-weight:600;display:inline-flex}.store-tile__tap{display:none}.landing-empty{border:1px solid var(--border);border-radius:var(--radius-card);background:var(--card);color:var(--ink-soft);padding:24px}.landing-empty h3{color:var(--ink)}.layout{gap:22px}.page--booking:not(.confirmation-page) .layout{grid-template-columns:minmax(0,1fr) minmax(280px,340px);align-items:start}.booking-progress{border-bottom:1px solid var(--border);color:var(--muted);justify-content:flex-start;align-items:center;gap:8px;padding:0 0 16px;font-size:.9rem;display:flex;margin:0 0 22px!important}.progress-step{min-width:0;color:var(--muted);box-shadow:none;white-space:nowrap;background:0 0;border:0;border-radius:0;flex:1 1 0;justify-content:center;align-items:center;gap:9px;padding:8px 6px;font-weight:600;transition:color .12s;display:flex}.progress-step.active{color:var(--ink);box-shadow:none;background:0 0;border:0;border-radius:0;font-weight:700}.progress-step.completed:not(.active){color:#276242;background:0 0;border:0;animation:none}.progress-step:disabled{color:var(--muted);opacity:.85;cursor:not-allowed}.progress-step .step-icon{border:1px solid var(--border);width:30px;height:30px;color:var(--muted);box-shadow:none;background:#fff;border-radius:50%;flex:0 0 30px;justify-content:center;align-items:center;margin:0;font-size:.8rem;font-weight:700;display:inline-flex}.progress-sep{background:var(--border);border-radius:0;flex:0 0 28px;width:28px;height:1px}.step-card{gap:16px;padding:20px;transition:border-color .12s;display:grid}.step-card:hover{box-shadow:none;border-color:#bac4d0;transform:none}.step-card--active{border-color:color-mix(in srgb, var(--accent) 55%, var(--border))}.step-card--completed .step-header>:last-child:not(:empty){background:0 0}.step-card[data-step="1"].step-card--completed .step-header-summary,.step-card[data-step="2"].step-card--completed .step-header-summary{align-items:center;gap:8px;min-width:0;display:flex}.step-card[data-step="1"].step-card--completed .step-header-summary .text-muted{white-space:nowrap}.step-card[data-step="2"].step-card--completed .step-header-summary .text-muted{text-overflow:clip;white-space:normal;max-width:280px;overflow:visible}.step-header h2,.step-header h3,.summary-card h3,.landing-section__header h2,.store-tile__content h3{color:var(--ink)}.step-header h2,.step-header h3{letter-spacing:-.025em;margin:0;font-size:1.15rem}.muted,.text-muted{color:var(--muted)}.btn,.btn.btn-primary,.btn.btn-secondary,.btn.btn-outline-secondary{border:1px solid var(--border);border-radius:var(--radius-control);min-height:40px;color:var(--ink);box-shadow:none;background:#fff;padding:9px 14px;font-size:.92rem;font-weight:600;line-height:1.2;transition:background-color .12s,border-color .12s,color .12s}.btn.btn-primary{border-color:var(--accent);background:var(--accent);color:#fff}.btn.btn-primary:hover{border-color:color-mix(in srgb, var(--accent) 84%, black);background:color-mix(in srgb, var(--accent) 84%, black);box-shadow:none;transform:none}.btn.btn-primary:active{transform:none}.btn.btn-secondary:hover,.btn.btn-outline-secondary:hover{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 5%, white);color:var(--accent)}.btn:focus-visible,.btn.btn-primary:focus-visible,.btn.btn-secondary:focus-visible,.btn.btn-outline-secondary:focus-visible{outline:3px solid color-mix(in srgb, var(--focus) 28%, transparent);outline-offset:2px;box-shadow:none}.btn:disabled,.btn[disabled]{box-shadow:none;transform:none}.btn-link,.link,.field-readonly-link{color:var(--accent)}.summary-card{padding:20px}.summary-card h3{margin-top:0}.summary-row,.summary-note{color:var(--ink-soft)}.summary-row strong{color:var(--ink)}.summary-divider{background:var(--border)}.summary-note,.summary-list{border-color:var(--border)}.package-option,.option-card,.checkbox-item,.addon-item,.time-period-filter,.slot,.count-btn,.calendar-pop,.pricing-summary,.promo-panel,.promo-feedback,.field-readonly{border-color:var(--border);border-radius:var(--radius-control);box-shadow:none;background:#fff}.package-option,.option-card,.checkbox-item,.slot,.count-btn,.time-period-filter{transition:border-color .12s,background-color .12s,color .12s}.package-option:hover,.option-card:hover,.checkbox-item:hover,.addon-item:hover,.slot:hover,.count-btn:hover,.time-period-filter:hover{border-color:color-mix(in srgb, var(--accent) 45%, var(--border));box-shadow:none;transform:none}.package-option--carousel-focus{opacity:1;box-shadow:none;transform:none}.package-option--carousel-focus.package-option--active{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.page--booking .animated.enter{animation:none}.package-option--active .checkbox-icon,.checkbox-item[aria-checked=true] .checkbox-icon{border-color:var(--accent);background:var(--accent);color:#fff}.package-image,.addon-image{background:var(--card-soft);border-radius:4px}.package-title,.option-title,.pricing-title{color:var(--ink)}.package-price-amount,.addon-price-amount{color:var(--accent)}.page--booking .addons{gap:10px}.page--booking .addon-item{align-items:center;min-height:0;padding:12px 14px}.page--booking .addon-main{gap:6px}.page--booking .addon-top{align-items:center;column-gap:10px;min-height:0}.page--booking .addon-content{gap:2px}.page--booking .addon-image{border-radius:4px;width:56px;height:56px;padding:0}.page--booking .addon-desc{font-size:.88rem;line-height:1.3}.package-description,.addon-desc,.option-sub{color:var(--ink-soft)}.count-btn{color:var(--ink);font-size:1.15rem}.calendar-pop{border:1px solid var(--border);box-shadow:0 8px 24px #172b451f}.calendar-date-legend{color:var(--ink-soft);align-items:flex-start;gap:8px;margin:0 0 12px;font-size:.8rem;line-height:1.4;display:flex}.calendar-date-legend__swatch{background:#fff2cf;border:1px solid #e2a523;border-radius:4px;flex:0 0 14px;width:14px;height:14px;margin-top:1px}.calendar-month{color:var(--ink)}.calendar-nav{border-color:var(--border);color:var(--ink-soft)}.calendar-nav:disabled{border-color:var(--border);background:var(--card-soft);color:var(--muted);cursor:not-allowed;opacity:.65}.calendar-nav:disabled:hover{border-color:var(--border)}.calendar-day{box-sizing:border-box;border-color:var(--border);width:100%;min-width:0;max-width:100%;height:36px;min-height:36px;max-height:36px;color:var(--ink);background:#fff;border-radius:4px;justify-content:center;align-items:center;padding:0;line-height:1;display:inline-flex}.calendar-day--empty{background:0 0;border-color:#0000}.calendar-day:hover{background:color-mix(in srgb, var(--accent) 7%, white);color:var(--ink);box-shadow:none}.calendar-day--selected{border-color:var(--accent);background:var(--accent);color:#fff;box-shadow:none}.calendar-day--disabled{cursor:not-allowed;box-shadow:none;background:repeating-linear-gradient(135deg,#f2f4f7 0 5px,#e9edf1 5px 7px);border:1px dashed #c4ccd6;-webkit-text-decoration:line-through #9aa5b2;text-decoration:line-through #9aa5b2;transform:none;color:#64748b!important}.calendar-day--disabled:hover{box-shadow:none;background:repeating-linear-gradient(135deg,#f2f4f7 0 5px,#e9edf1 5px 7px);transform:none;color:#64748b!important}.calendar-day--disabled.calendar-day--lead-time{background:#fff2cf;border:1px solid #e2a523;text-decoration:none;color:#805100!important}.calendar-day--disabled.calendar-day--lead-time:hover{background:#ffe9a8;border-color:#cf8a0c}.slot{color:var(--ink-soft);align-items:center;gap:8px;font-weight:600;display:inline-flex}.slot--active{border-color:var(--accent);background:var(--accent);color:#fff;box-shadow:none}.slot-status-dot,.legend-dot--available,.legend-dot--lead-time,.legend-dot--full{border-radius:50%;flex:none}.slot-status-dot{width:8px;height:8px}.slot-status-dot--available,.legend-dot--available{background:#12b76a}.slot-status-dot--lead-time,.legend-dot--lead-time{background:#f5aa27}.slot-status-dot--full,.legend-dot--full{background:#74839a}.slot-status-dot--unavailable{background:#9ba5b4}.slot--active .slot-status-dot--available{box-shadow:0 0 0 2px #fff}.slot--blocked-range{background:var(--card-soft);color:var(--muted);box-shadow:none;border-style:dashed}.time-period-filter{border:1px solid var(--border);border-radius:var(--radius-control);min-height:38px;color:var(--ink-soft);background:#fff;padding:7px 11px;font-weight:600}.time-period-filter--active{border-color:var(--accent);background:var(--accent);color:#fff}.page--booking .slots .skeleton{border-radius:var(--radius-control);margin:0}.pricing-summary{background:var(--card-soft);padding:16px}.promo-panel{background:#fff;padding:16px}.promo-panel__title{color:var(--ink)}.promo-panel__description,.promo-panel__hint,.promo-feedback{color:var(--ink-soft)}.promo-panel__badge{color:#276242;background:#f3faf5;border:1px solid #b9d7c4;border-radius:4px;padding:5px 8px;font-size:.8rem;font-weight:600}.promo-panel__input{border-radius:var(--radius-control);min-height:44px;color:var(--ink);border-color:#c8d0da;padding:10px 12px}.promo-panel__input::placeholder{color:var(--muted)}.promo-panel__input:focus{border-color:var(--focus);outline:3px solid color-mix(in srgb, var(--focus) 22%, transparent);outline-offset:1px;box-shadow:none}.promo-feedback{border-radius:var(--radius-control);border-color:var(--border);background:var(--card-soft);padding:9px 10px}.promo-feedback--success{color:#276242;background:#f3faf5;border-color:#b9d7c4}.error,.success-message{border-radius:var(--radius-control)}.badge,.chip,.offsite-count,.portal-auth-card__badge,.portal-payment-card__pill{border:1px solid var(--border);background:var(--card-soft);color:var(--ink-soft);box-shadow:none;letter-spacing:0;text-transform:none;border-radius:4px;font-size:.8rem;font-weight:600}.badge{align-items:center;min-height:27px;padding:4px 8px;display:inline-flex}.chip{color:var(--ink-soft);background:0 0;border:0;border-radius:0;padding:5px 0;font-size:.85rem}.hero-chips{flex-wrap:wrap;gap:0 12px;display:flex}.hero-chips .chip+.chip{border-left:1px solid var(--border);padding-left:12px}.offsite-events__intro,.offsite-booking__intro{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:18px 28px;padding:8px 0 18px}.offsite-booking__intro{grid-template-columns:minmax(0,1fr);align-items:start;gap:10px}.offsite-events__intro>div:first-child,.offsite-booking__intro{color:var(--ink-soft)}.offsite-events__intro>div:first-child{gap:8px;display:grid}.offsite-events__intro p:not(.offsite-eyebrow),.offsite-booking__intro>p:last-child{color:var(--ink-soft);margin:0;line-height:1.5}.offsite-home-link{white-space:nowrap;width:fit-content;color:var(--accent);align-items:center;gap:8px;font-weight:600;text-decoration:none;display:inline-flex}.offsite-home-link:hover{text-decoration:underline}.offsite-home-link:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.offsite-events__tools{gap:10px;min-width:min(58%,640px)}.offsite-view-toggle,.offsite-search{border-color:var(--border);border-radius:var(--radius-control);min-height:44px;box-shadow:none;background:#fff}.offsite-view-toggle button{color:var(--ink-soft);padding:0 14px;font-size:.9rem;font-weight:600}.offsite-view-toggle button.is-active{background:color-mix(in srgb, var(--accent) 7%, white);color:var(--accent)}.offsite-search{padding:0 12px}.offsite-search:before{color:var(--muted)}.offsite-search input{color:var(--ink)}.offsite-event-filters{border:1px solid var(--border);border-radius:var(--radius-card);background:#fff;flex-wrap:wrap;align-items:end;gap:12px;padding:14px 16px;display:flex}.offsite-event-filters--loading{min-height:82px}.offsite-event-filters-loading__availability{cursor:default}.offsite-event-filters-loading__state{flex:0 220px;gap:6px;display:grid}.offsite-calendar-loading__nav{border-radius:var(--radius-control)}.offsite-calendar-loading__grid{align-items:center}.offsite-calendar-loading__day{justify-content:center;align-items:center;min-height:52px;display:flex}.offsite-calendar-loading__day .skeleton{border-radius:4px}.offsite-calendar-loading__dot{border-radius:50%}.offsite-session-card--loading .offsite-session-card__content{align-content:center;gap:7px;display:grid}.offsite-session-card--loading .offsite-session-card__action{justify-items:end;gap:10px;display:grid}.offsite-session-card--loading .offsite-session-card__date{align-items:center;min-height:82px}.offsite-booking-preview-loading__facts{gap:10px;margin-top:14px;display:grid}.offsite-booking-preview-loading__facts>div{gap:4px;display:grid}.offsite-booking-preview-loading__map{border-radius:var(--radius-control);margin:12px 0 8px;display:block}.offsite-booking-preview-loading__directions{border-radius:var(--radius-control);margin:8px 0;display:block}.offsite-booking-preview-loading__quantity{gap:8px;margin:16px 24px 0;display:grid}.offsite-booking-preview-loading__button{margin:0 24px 24px}.offsite-booking-preview-loading__button .skeleton{border-radius:var(--radius-control);display:block}.offsite-event-filters__field{color:var(--muted);flex:0 220px;gap:6px;font-size:.8rem;font-weight:600;display:grid}.offsite-event-filters__field select,.offsite-event-filters__nearby select{border:1px solid var(--border);border-radius:var(--radius-control);min-height:44px;color:var(--ink);font:inherit;background:#fff;padding:0 12px}.offsite-event-filters__nearby{align-items:center;gap:8px;display:flex}.offsite-event-filters__nearby button{border:1px solid var(--accent);border-radius:var(--radius-control);background:var(--accent);color:#fff;min-height:44px;font:inherit;cursor:pointer;padding:8px 14px;font-weight:700;transition:background-color .14s,border-color .14s}.offsite-event-filters__nearby button:hover:not(:disabled){border-color:color-mix(in srgb, var(--accent) 88%, #000);background:color-mix(in srgb, var(--accent) 88%, #000)}.offsite-event-filters__nearby button.is-active{background:var(--card-soft);color:var(--accent)}.offsite-event-filters__nearby button:focus-visible,.offsite-event-filters__field select:focus-visible,.offsite-event-filters__nearby select:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.offsite-event-filters__nearby button:disabled,.offsite-event-filters__nearby select:disabled{cursor:not-allowed;opacity:.6}.offsite-event-filters__availability{min-height:44px;color:var(--ink-soft);cursor:pointer;align-items:center;gap:9px;font-size:.9rem;font-weight:600;display:inline-flex}.offsite-event-filters__availability input{width:18px;height:18px;accent-color:var(--accent);margin:0}.offsite-event-location-status{color:var(--muted);margin:-8px 2px 0;font-size:.86rem}.offsite-discovery-layout,.offsite-layout{gap:18px}.offsite-calendar,.offsite-session-results,.offsite-list-results,.offsite-location-calendar,.offsite-location-sessions,.offsite-booking-panel,.page--offsite-booking .offsite-booking-panel{border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:none;background:#fff}.offsite-calendar__header,.offsite-session-results__header,.offsite-booking-panel__heading{background:#fff}.offsite-calendar__header,.offsite-session-results__header{border-bottom:1px solid var(--border);min-height:84px;padding:18px 20px}.offsite-calendar__header h2,.offsite-session-results__header h2,.offsite-booking-panel__heading h2{color:var(--ink);letter-spacing:-.025em;margin:0;font-size:1.2rem}.offsite-calendar__header button,.offsite-booking-modal__close{border:1px solid var(--border);border-radius:var(--radius-control);width:40px;height:40px;color:var(--ink);box-shadow:none;background:#fff}table.offsite-calendar__grid{table-layout:fixed;border-collapse:separate;border-spacing:4px;width:100%;padding:14px 16px 8px;display:table}.offsite-calendar__grid td{text-align:center;padding:0}.offsite-calendar__empty{height:52px}.offsite-calendar__weekday{color:var(--muted);font-size:.75rem;font-weight:600}.offsite-calendar__grid button{box-sizing:border-box;vertical-align:middle;border-radius:8px;justify-content:center;align-items:center;width:48px;min-width:48px;max-width:48px;height:48px;min-height:48px;max-height:48px;padding:0;font-weight:500;line-height:1;display:inline-flex}.offsite-calendar__grid button.has-events{color:var(--accent);font-weight:700}.offsite-calendar__grid button.is-selected{background:var(--accent);color:#fff}.offsite-calendar__grid button:disabled{color:#aeb7c2}.offsite-calendar__grid button:focus-visible,.offsite-calendar__header button:focus-visible,.offsite-booking-modal__close:focus-visible{outline:3px solid color-mix(in srgb, var(--focus) 26%, transparent);outline-offset:2px}.offsite-calendar__legend{color:var(--muted)}.offsite-calendar__legend span:not(.skeleton),.offsite-calendar__grid button.has-events>span{background:var(--accent)}.offsite-count{white-space:nowrap;padding:5px 8px}.offsite-session-card{border-color:var(--border);gap:16px;padding:18px}.offsite-session-card.is-selected{box-shadow:inset 0 0 0 2px var(--accent);background:color-mix(in srgb, var(--accent) 3%, var(--card))}.offsite-session-card__date{border-radius:var(--radius-control);background:var(--card-soft);color:var(--accent);padding:9px 6px}.offsite-session-card__date span,.offsite-session-card__date small{letter-spacing:0;font-size:.7rem;font-weight:600}.offsite-session-card__date strong{color:var(--ink)}.offsite-session-card__content h3{margin:2px 0 4px;font-size:1.05rem}.offsite-session-card__content p{color:var(--ink-soft);line-height:1.45}.offsite-session-card__content .offsite-session-card__location{color:var(--muted);margin:0;font-size:.84rem}.offsite-session-card__action>span{color:#276242;font-weight:600}.offsite-session-card__action>span.is-sold-out{color:var(--danger)}.offsite-empty{color:var(--ink-soft);padding:24px 20px}.offsite-back-link{white-space:nowrap;color:var(--accent);text-underline-offset:3px;align-items:center;gap:8px;font-weight:600;text-decoration:underline;display:inline-flex}.offsite-layout{grid-template-columns:minmax(0,1fr) minmax(330px,.78fr)}.offsite-location-sessions{grid-column:1;min-width:0}.offsite-location-sessions .offsite-session-card{grid-template-columns:66px minmax(0,1fr) auto}.offsite-location-sessions .offsite-session-card__action{flex-direction:column;grid-column:auto;justify-content:center;align-items:flex-end}.offsite-discovery{gap:16px}.offsite-booking-panel{align-self:start;position:sticky;top:18px}.offsite-booking-panel__heading{border-bottom:1px solid var(--border);padding:20px 22px 14px}.offsite-booking-panel__heading h2{margin:0}.offsite-booking-panel__heading p,.offsite-booking-panel--preview .offsite-booking-panel__heading p{color:#596878;margin:7px 0 0}.offsite-booking-panel>.summary{padding:16px 22px 0}.offsite-booking-panel__session{border:0;border-bottom:1px solid var(--border);background:0 0;border-radius:0;margin:0 22px;padding:16px 0}.offsite-booking-panel__session h3{margin:0 0 12px;font-size:1rem}.offsite-booking-panel__session-name{color:var(--ink);margin:0 0 12px;font-weight:700}.offsite-booking-panel__map{border-bottom:1px solid var(--border);margin:0 22px;padding:16px 0}.offsite-booking-panel__map-heading{justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;display:flex}.offsite-booking-panel__map-heading h3{margin:0;font-size:1rem}.offsite-booking-panel__map-heading a{color:var(--accent);white-space:nowrap;font-size:.82rem;font-weight:600;text-decoration:none}.offsite-booking-panel__map-heading a:hover,.offsite-booking-panel__map-attribution a:hover{text-decoration:underline}.offsite-booking-panel__map-address{color:var(--muted);margin:0 0 10px;font-size:.84rem;line-height:1.4}.offsite-booking-panel__directions{border:1px solid var(--accent);border-radius:var(--radius-control);background:var(--accent);color:#fff;min-height:40px;font:inherit;text-align:center;cursor:pointer;justify-content:center;align-items:center;margin:0 0 10px;padding:8px 14px;font-size:.84rem;font-weight:700;transition:background-color .14s,border-color .14s;display:inline-flex}.offsite-booking-panel__directions:hover{border-color:color-mix(in srgb, var(--accent) 88%, #000);background:color-mix(in srgb, var(--accent) 88%, #000)}.offsite-booking-panel__directions:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.offsite-booking-panel__map iframe{border:1px solid var(--border);border-radius:var(--radius-control);width:100%;height:180px;display:block}.offsite-booking-panel__map-attribution{color:var(--muted);margin:6px 0 0;font-size:.72rem}.offsite-booking-panel__map-attribution a{color:var(--accent)}.offsite-booking-panel__map-unavailable{color:var(--muted);margin:16px 22px 0;font-size:.875rem}.offsite-booking-panel__ticket-quantity{margin:0 22px;padding:16px 0}.offsite-booking-panel__ticket-quantity label{color:var(--ink);margin-bottom:8px;font-size:.9rem;font-weight:600;display:block}.offsite-booking-panel__ticket-quantity input{border:1px solid var(--border);border-radius:var(--radius-control);width:100%;min-width:0;min-height:44px;color:var(--ink);background:#fff}.offsite-booking-panel__preview-total{margin:0 22px}.offsite-booking-panel__start{width:calc(100% - 44px);margin:16px 22px 22px}.offsite-booking-modal{background:#1f1b167a}.offsite-booking-modal__dialog{border:1px solid var(--border);border-radius:var(--radius-card);background:var(--card);box-shadow:0 12px 32px #2b272129}.offsite-booking-modal__header{border-bottom-color:var(--border);background:#fff;padding:20px 24px 16px}.offsite-booking-modal__title-row h2{margin:0;font-size:1.4rem}.offsite-booking-modal__session{background:0 0;border:0;border-radius:0;padding:14px 0 0}.offsite-booking-modal__session h3{margin:0}.offsite-booking-modal__body{padding:20px 24px 24px}.offsite-booking-modal__flow>.summary{margin:0;position:static}.offsite-booking-modal__flow .summary-card{background:var(--card-soft);border:0;padding:16px}.offsite-location-notes-dialog{border:1px solid var(--border);border-radius:var(--radius-card);width:min(520px,100vw - 32px);max-height:min(80vh,640px);color:var(--ink);background:#fff;margin:auto;padding:0;overflow:hidden;box-shadow:0 24px 60px #172b4538}.offsite-location-notes-dialog::backdrop{background:#1f1b167a}.offsite-location-notes-dialog__header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:16px;padding:18px 22px;display:flex}.offsite-location-notes-dialog__header h2{margin:0;font-size:1.25rem}.offsite-location-notes-dialog__header button{border:1px solid var(--border);border-radius:var(--radius-control);width:36px;height:36px;color:var(--ink);cursor:pointer;background:#fff;place-items:center;font-size:1.4rem;line-height:1;display:grid}.offsite-location-notes-dialog__body{max-height:calc(80vh - 74px);padding:22px;overflow:auto}.offsite-location-notes-dialog__body p{color:var(--muted);white-space:pre-wrap;margin:0;line-height:1.6}.confirmation-page{gap:20px}.confirmation-hero{width:100%;max-width:none;padding:0 0 18px}.confirmation-hero__content{grid-template-columns:minmax(0,1fr) minmax(280px,340px);align-items:center;gap:24px}.confirmation-hero__copy .subtitle{color:var(--ink-soft)}.confirmation-hero.is-processing,.confirmation-hero.is-confirmed,.confirmation-hero.is-cancelled,.confirmation-hero.is-completed{background:0 0;border:0}.confirmation-highlight{border:1px solid var(--border);border-radius:var(--radius-card);width:100%;min-height:0;color:var(--ink);box-shadow:none;background:#fff;grid-template-columns:42px minmax(0,1fr);gap:14px;padding:18px}.confirmation-highlight__icon{background:var(--card-soft);width:38px;height:38px;color:var(--accent);border:0;border-radius:10px;place-items:center;display:grid}.confirmation-highlight__icon svg{width:19px;height:19px}.confirmation-highlight__body strong{color:var(--ink);font-size:1.1rem}.confirmation-highlight__body p{color:var(--ink-soft)}.confirmation-highlight__label,.confirmation-glance__eyebrow,.confirmation-facts__row span,.confirmation-summary__eyebrow{color:var(--muted);letter-spacing:0;text-transform:none;font-size:.82rem;font-weight:600}.confirmation-page .panel.card.card--soft{background:0 0;border:0;padding:0}.confirmation-glance{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.confirmation-glance__card{border-color:var(--border);border-radius:var(--radius-card);background:var(--card);min-height:0;box-shadow:none;gap:8px;padding:16px}.confirmation-glance__card strong{color:var(--ink);line-height:1.35}.confirmation-glance__card p{color:var(--ink-soft);margin:0;line-height:1.45}.confirmation-status-card,.confirmation-next-card,.confirmation-ticket-card,.confirmation-summary{border-radius:var(--radius-card);box-shadow:none;background:#fff;padding:20px}.confirmation-facts__row{border:0;border-bottom:1px solid var(--border);background:0 0;border-radius:0}.confirmation-facts__row:last-child{border-bottom:0}.confirmation-timeline__dot{background:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 13%, white)}.confirmation-summary__top h3{margin:0}.confirmation-summary__package-thumb,.confirmation-ticket-card__body img{box-shadow:none}.portal-auth-shell,.portal-shell{gap:18px}.portal-auth-card.card.card--soft,.portal-toolbar.card.card--soft,.portal-detail.card{border-radius:var(--radius-card);box-shadow:none;padding:22px}.portal-auth-card{background:#fff}.portal-auth-card__header{margin-bottom:18px}.portal-auth-card__header h3{color:var(--ink);margin:0;font-size:1.45rem;font-weight:600}.portal-auth-steps{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.portal-auth-step{border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:none;background:#fff;padding:18px}.portal-auth-step--current{border-color:color-mix(in srgb, var(--accent) 58%, var(--border));background:var(--card);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--accent) 35%, transparent)}.portal-auth-step--next{border-color:var(--border);background:var(--card-soft)}.portal-auth-step--next .portal-auth-step__number{color:var(--muted);background:#fff}.portal-auth-step__number{border:1px solid var(--border);background:var(--card-soft);width:32px;height:32px;color:var(--ink);box-shadow:none;border-radius:50%}.portal-auth-step--next .portal-auth-step__button{border-color:var(--border);background:var(--card);color:var(--ink-soft)}.portal-auth-step__header h4{color:var(--ink);font-weight:600}.portal-auth-step__button{min-height:44px}.portal-toolbar__tabs{border-bottom:1px solid var(--border);gap:0}.portal-filter-tab{min-height:44px;color:var(--ink-soft);box-shadow:none;background:0 0;border:0;border-bottom:2px solid #0000;border-radius:0}.portal-filter-tab:hover{color:var(--ink);box-shadow:none;background:0 0}.portal-filter-tab.is-active{border-color:var(--accent);color:var(--accent);box-shadow:none;background:0 0}.portal-detail-loading__fields{gap:14px;display:grid}.portal-payment-card--loading .portal-payment-card__actions p{gap:8px;width:100%;margin:0;display:grid}.portal-booking-section__toggle{border:1px solid var(--border);border-radius:var(--radius-control);box-shadow:none;background:#fff}.portal-booking-section__toggle:hover,.portal-booking-section__toggle:focus-visible{border-color:var(--accent);background:var(--card-soft);box-shadow:none}.portal-booking-card{border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:none;background:#fff}.portal-booking-card__status{background:var(--card-soft);color:var(--ink-soft);box-shadow:none;border-radius:4px}.portal-detail__type{color:var(--muted);margin:0 0 5px;font-size:.88rem;font-weight:600}.portal-payment-metric{border-color:var(--border);border-radius:var(--radius-control);background:var(--card-soft)}.portal-booking-card,.portal-payment-card,.portal-ticket-card{border-color:var(--border);border-radius:var(--radius-card);box-shadow:none}.portal-booking-card:hover,.portal-booking-card.is-active{border-color:var(--accent);box-shadow:none}.terms-page__hero{gap:12px}.terms-page__layout{align-items:start}.terms-page__section-header h2{margin:0;font-size:1.35rem}.terms-page__content{color:var(--ink-soft);line-height:1.65;display:block}.terms-page__content p:empty{display:none}.terms-page__content p:has(>br:only-child){display:none}.terms-page__content p,.terms-page__content ul,.terms-page__content ol,.terms-page__content blockquote{margin:0 0 12px}.terms-page__content h2,.terms-page__content h3{margin:22px 0 10px;line-height:1.3}.terms-page__content h2:first-child,.terms-page__content h3:first-child{margin-top:0}.terms-page__content li+li{margin-top:5px}.terms-page__content a{color:var(--accent)}.maintenance-banner__inner,.update-banner__inner{border-color:var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow);-webkit-backdrop-filter:none;backdrop-filter:none;background:#fff;gap:14px}.cancelled-actions{justify-content:flex-start;display:flex}.not-found-actions{align-items:flex-start;display:flex}.maintenance-banner__inner:before,.update-banner__inner:before{background:var(--accent-3);width:4px}.maintenance-banner__label,.update-banner__label{min-height:0;color:var(--muted);letter-spacing:0;box-shadow:none;background:0 0;border-radius:0;padding:0;font-size:.76rem;font-weight:700}.maintenance-banner__title,.update-banner__title{color:var(--ink);font-weight:700}.maintenance-banner__message,.update-banner__message{color:var(--ink-soft)}.build-status-pill{border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow);-webkit-backdrop-filter:none;backdrop-filter:none;background:#fff}.build-status-pill__label{color:var(--muted);letter-spacing:0}.build-status-pill__button{border-radius:var(--radius-control);background:var(--accent);box-shadow:none}.mobile-booking-bar{border:1px solid var(--border);border-radius:var(--radius-card);-webkit-backdrop-filter:none;backdrop-filter:none;background:#fff;box-shadow:0 -3px 14px #172b4514}.page--offsite-events .offsite-session-results,.page--offsite-events .offsite-list-results{min-width:0}.offsite-search:before{content:none}.offsite-search>svg{width:17px;height:17px;color:var(--muted);flex:none}.offsite-search input{min-width:0;color:var(--ink);font:inherit;background:0 0;border:0;outline:0;padding:0 0 0 10px}@media (max-width:960px){.page--booking:not(.confirmation-page) .layout,.confirmation-page .layout{grid-template-columns:minmax(0,1fr)}.page--booking:not(.confirmation-page) .summary,.confirmation-page .summary{position:static}.offsite-events__intro{grid-template-columns:1fr;align-items:start}.offsite-events__tools{min-width:0}.offsite-layout,.offsite-discovery-layout{grid-template-columns:minmax(0,1fr)}.offsite-booking-panel{position:static}.offsite-location-sessions{grid-column:1}.confirmation-hero__content{grid-template-columns:minmax(0,1fr) minmax(260px,320px)}.store-tiles{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:720px){.hero--booking:after{background:linear-gradient(90deg,#fffffff7,#ffffffe6)}.booking-location--loading,.booking-location,.hero--booking>.subtitle{min-height:50px}.booking-route-fallback__location,.booking-route-fallback__subtitle{height:50px}.page,.page--booking,.page--offsite-events,.page--offsite-booking{gap:18px;padding:24px 16px 72px}.hero,.hero.hero--fun,.page>.hero:not(.hero--fun),.offsite-events__intro,.offsite-booking__intro,.confirmation-hero{padding:4px 0 12px}.hero.hero--booking{gap:8px;padding:4px 16px 8px}.hero h1,.hero.hero--fun h1,.page>.hero:not(.hero--fun) h1,.offsite-events__intro h1,.offsite-booking__intro h1{font-size:clamp(1.85rem,8vw,2.5rem)}.landing-section,.panel.card.card--soft,.portal-auth-card.card.card--soft,.portal-toolbar.card.card--soft,.portal-detail.card{padding:18px}.landing-section__header{flex-direction:column}.landing-section__header-actions{align-items:flex-start}.landing-search{width:100%}.store-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}.store-tile__link{grid-template-rows:170px minmax(0,1fr)}.store-tile__cta{display:inline-flex}.store-tile__tap{display:none}.booking-progress{gap:2px;padding-bottom:8px;overflow-x:auto}.progress-step{flex:none;min-width:116px;padding:7px 8px}.panel.card.card--soft,.step-card,.summary-card{padding:16px}.confirmation-hero__content,.confirmation-glance{grid-template-columns:minmax(0,1fr)}.confirmation-glance__card{padding:14px}.portal-auth-steps{grid-template-columns:minmax(0,1fr)}.offsite-events__tools{flex-direction:column;align-items:stretch}.offsite-events__tools .offsite-search{flex:0 0 44px;width:100%;height:44px}.offsite-event-filters{flex-direction:column;align-items:stretch}.offsite-event-filters__field{flex-basis:auto}.offsite-event-filters__nearby{grid-template-columns:minmax(0,1fr) minmax(0,1fr);display:grid}.offsite-event-filters__nearby button,.offsite-event-filters__nearby select{width:100%;min-width:0}.offsite-event-filters--loading .offsite-event-filters__nearby .skeleton{width:100%!important}.offsite-event-filters-loading__availability{width:100%}.offsite-calendar-loading__day{min-height:44px}.offsite-booking-preview-loading__quantity{margin-left:18px;margin-right:18px}.offsite-booking-preview-loading__button{margin-bottom:18px;margin-left:18px;margin-right:18px}.offsite-session-card{grid-template-columns:56px minmax(0,1fr);gap:12px;padding:14px}.offsite-session-card__action{flex-flow:wrap;grid-column:2;justify-content:space-between;align-items:center;gap:10px;display:flex}.offsite-location-sessions .offsite-session-card{grid-template-columns:56px minmax(0,1fr);gap:12px;padding:14px}.offsite-location-sessions .offsite-session-card__action{flex-flow:wrap;grid-column:2;justify-content:space-between;align-items:center}table.offsite-calendar__grid{border-spacing:2px;padding:12px 10px 6px}.offsite-calendar__grid button,.offsite-calendar__empty{height:44px;min-height:44px}.offsite-calendar__grid button{width:44px;min-width:44px;max-width:44px;min-height:44px;max-height:44px}.offsite-booking-modal{align-items:flex-end;padding:8px}.offsite-booking-modal__dialog{border-radius:8px;width:100%;max-height:96vh}.offsite-booking-modal__header,.offsite-booking-modal__body{padding:16px}.offsite-booking-modal__session dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 14px}.confirmation-hero .hero-chips{gap:4px 10px}}@media (max-width:480px){.store-tiles{grid-template-columns:minmax(0,1fr)}}@media (prefers-reduced-motion:reduce){.landing-section,.landing-section__header,.landing-filters,.landing-sort-status,.store-tile,.page--booking .animated.enter,.package-option,.offsite-session-card,.offsite-booking-modal__dialog,.offsite-location-notes-dialog{transition:none!important;animation:none!important}}.page .hero.hero--booking:not(.confirmation-hero){background:0 0;border:0;border-radius:0}.booking-hero__content .hero-brand,.booking-hero__content .hero-title,.booking-hero__content .booking-location,.booking-hero__content .subtitle{z-index:auto;position:static}.booking-location,.booking-location strong{color:var(--ink-soft)}.booking-location strong{color:var(--ink);font-weight:600}.booking-location a,.link{color:var(--accent);text-underline-offset:3px;font-weight:600}.landing-section{background:var(--card);gap:18px;padding:24px}.landing-section__header{align-items:center;gap:16px}.landing-section__header h2{letter-spacing:-.015em;margin-bottom:4px;font-size:1.4rem;font-weight:600}.landing-section__header p{max-width:64ch}.landing-section__header-actions{align-items:flex-end;gap:4px}.home-events-link{align-items:center;gap:6px;font-weight:600;text-decoration:none;display:inline-flex}.landing-search__control{align-items:center;gap:8px;min-height:44px;display:flex}.landing-search__control input{flex:auto;min-width:0}.landing-filter,.landing-filter--location{transition:border-color .12s,background-color .12s,color .12s}.store-tile__image{object-fit:cover;width:100%;height:100%}.store-tile__content p{margin:0}.store-tile__meta{align-items:center;gap:6px;display:inline-flex}.booking-progress{align-items:center;gap:4px}.progress-step{min-height:46px;padding:4px 8px}.progress-step .step-icon{border-color:var(--border);background:var(--card);flex-basis:28px;width:28px;height:28px;font-size:.78rem}.progress-step.active .step-icon,.step{border-color:var(--accent);background:var(--accent);color:#fff}.progress-step.active .step-icon{flex-basis:32px;width:32px;height:32px}.progress-step.completed:not(.active) .step-icon{color:#45634b;background:#eff4ee;border-color:#b6c8b9}.progress-step .step-icon svg,.step svg,.btn svg,.home-events-link svg,.offsite-home-link svg,.offsite-back-link svg,.landing-filter svg,.offsite-session-card__action svg,.payment-readiness svg{flex:none;width:16px;height:16px;display:block}.step{border-radius:50%;flex:0 0 32px;place-items:center;width:32px;height:32px;display:grid}.step-card,.summary-card,.confirmation-glance__card,.confirmation-status-card,.confirmation-next-card,.confirmation-summary,.confirmation-ticket-card,.portal-detail.card,.portal-toolbar.card.card--soft{border-color:var(--border);background:var(--card);box-shadow:none}.package-option,.option-card,.checkbox-item,.addon-item,.slot,.calendar-day,.time-period-filter,.offsite-view-toggle button,.offsite-event-filters__nearby button,.offsite-event-filters__field select{border-color:var(--border)}.package-option--active,.option-card--active,.checkbox-item[aria-checked=true],.addon--active{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 4%, var(--card));box-shadow:inset 0 0 0 1px var(--accent)}.portal-filter-tab.is-active{color:var(--accent)}.terms-page__layout{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.terms-page__section{padding:22px}.terms-page__section-header h2{font-size:1.2rem;font-weight:600}.offsite-events__intro,.offsite-booking__intro{align-items:start}.offsite-events__intro h1,.offsite-booking__intro h1{font-weight:600}.offsite-calendar__header button,.calendar-nav{border-color:var(--border);border-radius:var(--radius-control);background:var(--card);color:var(--ink-soft);box-shadow:none;place-items:center;display:grid}.offsite-calendar__header button svg,.calendar-nav svg{width:16px;height:16px}.offsite-calendar__grid button{border-radius:6px}.offsite-session-card__action .btn{white-space:nowrap;justify-content:center;align-items:center;gap:8px;min-width:156px;transition:background-color .18s,border-color .18s,color .18s,box-shadow .18s,transform .18s;display:inline-flex}.offsite-session-card__button-label{animation:.18s both offsite-session-label-in;display:inline-block}.offsite-session-card.is-selected .offsite-session-card__action .btn{animation:.22s ease-out both offsite-session-button-select}.offsite-session-card__action .btn svg{transition:transform .18s}.offsite-session-card.is-selected .offsite-session-card__action .btn svg{transform:translate(2px)}@keyframes offsite-session-label-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes offsite-session-button-select{0%{transform:scale(.97)}to{transform:scale(1)}}.payment-readiness p{align-items:flex-start;gap:8px;display:flex}.payment-readiness svg{color:var(--muted);margin-top:2px}.payment-readiness svg[data-icon=check]{color:#45634b}.maintenance-banner__inner,.update-banner__inner,.build-status-pill,.mobile-booking-bar{border-color:var(--border);border-radius:var(--radius-card);background:var(--card);box-shadow:var(--shadow);-webkit-backdrop-filter:none;backdrop-filter:none}@media (max-width:960px){.store-tiles{grid-template-columns:repeat(3,minmax(0,1fr))}.step-card[data-step="2"].step-card--completed .step-header-summary .text-muted{max-width:208px}.confirmation-hero__content{grid-template-columns:minmax(0,1fr) minmax(260px,320px)}}@media (max-width:720px){.page,.page--booking,.page--offsite-events,.page--offsite-booking{gap:18px;padding:24px 18px 72px}.booking-hero__content{grid-template-columns:1fr;grid-template-areas:"brand""title""location""subtitle""image";row-gap:10px}.booking-hero__image{aspect-ratio:16/9;max-height:200px;margin-top:6px}.booking-hero--no-image .booking-hero__content{grid-template-areas:"brand""title""location""subtitle"}.hero h1,.hero.hero--fun h1,.page>.hero:not(.hero--fun) h1,.offsite-events__intro h1,.offsite-booking__intro h1{font-size:clamp(1.8rem,7vw,2.25rem)}.landing-section,.panel.card.card--soft,.portal-auth-card.card.card--soft,.portal-toolbar.card.card--soft,.portal-detail.card{padding:18px}.landing-section__header{flex-direction:column;align-items:flex-start}.landing-section__header-actions{align-items:flex-start}.landing-search{width:100%}.store-tiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.store-tile__media,.store-tile__placeholder{min-height:148px}.store-tile__link,.store-tile--loading{grid-template-rows:148px minmax(0,1fr)}.store-tile__content{padding:14px}.package-option{opacity:1;transition:border-color .12s,background-color .12s;transform:none}.package-option--carousel-focus{opacity:1;box-shadow:none;transform:none}.booking-progress{overflow-x:auto}.progress-step{min-width:110px}.step-card[data-step="1"].step-card--completed .step-header,.step-card[data-step="2"].step-card--completed .step-header{flex-wrap:wrap}.step-card[data-step="1"].step-card--completed .step-header-summary,.step-card[data-step="2"].step-card--completed .step-header-summary{flex:100%;justify-content:space-between}.step-card[data-step="2"].step-card--completed .step-header-summary .text-muted{max-width:calc(100% - 56px)}.confirmation-hero__content,.confirmation-glance{grid-template-columns:minmax(0,1fr)}.terms-page__layout{grid-template-columns:1fr}}@media (max-width:480px){.page,.page--booking,.page--offsite-events,.page--offsite-booking{padding-left:16px;padding-right:16px}.store-tiles{grid-template-columns:minmax(0,1fr)}.store-tile__media,.store-tile__placeholder{min-height:176px}.store-tile__link,.store-tile--loading{grid-template-rows:176px minmax(0,1fr)}}
