.checkout-shell{--checkout-bg:#fdf8f3;--checkout-surface:#fff;--checkout-surface-soft:#fbf8f1;--checkout-ink:#0f172a;--checkout-muted:#5b6676;--checkout-border:#e7ddc9;--checkout-green:#2d7a3e;--checkout-green-dark:#1f5229;--checkout-green-soft:#e8f5e9;min-height:100vh;color:var(--checkout-ink);background:radial-gradient(circle at 7% 4%,rgba(232,245,233,.9),transparent 27rem),radial-gradient(circle at 95% 35%,rgba(244,236,220,.7),transparent 24rem),var(--checkout-bg);font-family:var(--font-nunito),var(--font-plus-jakarta),ui-sans-serif,system-ui,sans-serif}.checkout-header{z-index:10;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:rgba(255,255,255,.84);border-bottom:1px solid rgba(231,221,201,.8);position:relative;box-shadow:0 1px rgba(15,23,42,.02)}.checkout-header-inner{justify-content:space-between;align-items:center;gap:20px;width:min(1180px,100% - 40px);min-height:72px;margin:0 auto;display:flex}.checkout-brand{align-items:center;gap:10px;display:inline-flex}.checkout-logo{object-fit:contain;width:38px;height:38px}.checkout-brand-name{color:var(--checkout-green);letter-spacing:-.03em;font-size:20px;font-weight:800}.checkout-security-badge{min-height:36px;color:var(--checkout-green-dark);background:var(--checkout-green-soft);border:1px solid color-mix(in srgb,var(--checkout-green)22%,white);border-radius:999px;align-items:center;gap:8px;padding:0 12px;font-size:13px;font-weight:800;display:inline-flex}.checkout-security-badge svg,.event-detail-icon svg,.age-badge svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:18px;height:18px}.checkout-main{width:min(1180px,100% - 40px);margin:0 auto;padding:max(34px,min(5vw,68px)) 0 80px}.checkout-layout{grid-template-columns:minmax(0,1.08fr) minmax(400px,.92fr);align-items:start;gap:max(44px,min(7vw,88px));display:grid}.event-panel{grid-area:1/1;min-width:0}.event-extras{grid-area:2/1;min-width:0}.event-intro{max-width:650px;margin-bottom:24px}.event-eyebrow{color:var(--checkout-green);letter-spacing:.14em;text-transform:uppercase;margin:0 0 8px;font-size:12px;font-weight:800}.event-title{letter-spacing:-.045em;text-wrap:balance;margin:0;font-size:max(38px,min(5.2vw,66px));color:var(--checkout-ink)!important;font-family:var(--font-source-serif),Georgia,serif!important;font-weight:700!important;line-height:.98!important}.event-image-wrap{aspect-ratio:16/9;border:1px solid var(--checkout-border);background:var(--checkout-surface-soft);border-radius:20px;margin:0 0 24px;position:relative;overflow:hidden;box-shadow:0 18px 44px rgba(31,82,41,.11)}.event-image{object-fit:cover;width:100%;height:100%}.event-image-shade{pointer-events:none;background:linear-gradient(transparent 70%,rgba(15,23,42,.13));position:absolute;top:0;bottom:0;left:0;right:0}.event-details-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.event-detail{border:1px solid var(--checkout-border);background:rgba(255,255,255,.76);border-radius:16px;align-items:flex-start;gap:12px;min-width:0;padding:16px;display:flex;box-shadow:0 4px 18px rgba(31,82,41,.04)}.event-detail-icon{width:38px;height:38px;color:var(--checkout-green);background:var(--checkout-green-soft);border-radius:11px;flex:0 0 38px;place-items:center;display:grid}.event-detail-label{color:var(--checkout-muted);letter-spacing:.08em;text-transform:uppercase;margin:1px 0 3px;font-size:11px;font-weight:800}.event-detail-value,.event-detail-note{overflow-wrap:anywhere}.event-detail-value{color:var(--checkout-ink);margin:0;font-size:14px;font-weight:800;line-height:1.35}.event-detail-note{color:var(--checkout-muted);margin:2px 0 0;font-size:13px;line-height:1.4}.age-badge{color:#94500a;background:#fff5e6;border:1px solid #f0d2a7;border-radius:999px;align-items:center;gap:8px;width:-moz-fit-content;width:fit-content;min-height:40px;margin-top:14px;padding:8px 12px;font-size:13px;font-weight:800;display:inline-flex}.event-website{margin-top:16px}.event-link{text-decoration:underline;-webkit-text-decoration-color:color-mix(in srgb,var(--checkout-green)40%,transparent);text-decoration-color:color-mix(in srgb,var(--checkout-green)40%,transparent);text-underline-offset:4px;align-items:center;gap:6px;font-size:14px;font-weight:800;display:inline-flex;color:var(--checkout-green-dark)!important}.showtimes-section,.event-description{border-top:1px solid var(--checkout-border);margin-top:34px;padding-top:28px}.event-section-title{letter-spacing:-.025em;margin:0 0 14px;color:var(--checkout-ink)!important;font-family:var(--font-source-serif),Georgia,serif!important;font-size:25px!important;font-weight:700!important}.event-description>div,.event-description>p{max-width:66ch;color:var(--checkout-muted)!important;font-size:15px!important;line-height:1.7!important}.showtimes-list{border:1px solid var(--checkout-border);background:rgba(255,255,255,.58);border-radius:16px;max-height:260px;padding:6px;overflow:auto}.showtimes-list>div{gap:6px;display:grid}.showtime-button{text-align:left;background:#fff;border:1px solid transparent;border-radius:12px;width:100%;min-height:64px;padding:9px;transition:border-color .16s,transform .16s,box-shadow .16s}.showtime-button:hover{border-color:var(--checkout-border);transform:translateY(-1px);box-shadow:0 5px 16px rgba(31,82,41,.07)}.showtime-date{text-align:center;background:var(--checkout-green-soft);border-radius:10px;flex:0 0 44px;width:44px;height:48px}.checkout-card{border:1px solid var(--checkout-border);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:rgba(255,255,255,.94);border-radius:20px;grid-area:1/2/span 2;padding:max(22px,min(3vw,32px));position:-webkit-sticky;position:sticky;top:22px;overflow:hidden;box-shadow:0 20px 48px rgba(31,82,41,.12),0 2px 8px rgba(15,23,42,.04)}.ticket-selection,.ticket-selection>.space-y-4{gap:14px;display:grid}.ticket-selection-heading{margin-bottom:8px}.ticket-selection-heading h2{color:var(--checkout-ink);font-family:var(--font-source-serif),Georgia,serif;letter-spacing:-.035em;margin:0;font-size:31px;font-weight:700;line-height:1.1}.ticket-selection-heading>p:last-child{color:var(--checkout-muted);margin:8px 0 0;font-size:14px;line-height:1.5}.ticket-option{border:1px solid var(--checkout-border);padding:17px;transition:border-color .16s,box-shadow .16s,background .16s;background:var(--checkout-surface-soft)!important;border-radius:14px!important}.ticket-option-selected{border-color:color-mix(in srgb,var(--checkout-green)65%,white);box-shadow:0 0 0 3px color-mix(in srgb,var(--checkout-green)10%,transparent);background:#f5fbf6!important}.ticket-option-sold-out{opacity:.68;background:#f3f5f7!important}.quantity-button{-webkit-tap-highlight-color:transparent;border:0;border-radius:50%;place-items:center;transition:transform .14s,box-shadow .14s;width:44px!important;height:44px!important;font-size:19px!important;font-weight:800!important;display:inline-grid!important}.quantity-button:not(:disabled):hover{transform:translateY(-1px);box-shadow:0 5px 14px rgba(31,82,41,.18)}.quantity-button:disabled{cursor:not-allowed;opacity:.48!important}.order-details{border-top:1px solid var(--checkout-border);margin-top:6px;padding-top:24px}.customer-name-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:16px;display:grid}.checkout-card label{color:var(--checkout-ink)!important;font-weight:700!important}.checkout-card input[type=text],.checkout-card input[type=email],.checkout-card input[type=number]{min-height:48px;font-size:16px;box-shadow:inset 0 1px 1px rgba(15,23,42,.02);color:var(--checkout-ink)!important;border-color:var(--checkout-border)!important;background:#fff!important;border-radius:10px!important;padding-top:11px!important;padding-bottom:11px!important}.checkout-card input:focus{border-color:var(--checkout-green)!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--checkout-green)14%,transparent)!important}.checkout-card input[type=checkbox],.checkout-card input[type=radio]{accent-color:var(--checkout-green)}.donation-consent-option{min-height:44px;padding:8px 4px}.checkout-primary{color:#fff;border:0;border-radius:12px;width:100%;min-height:54px;padding:13px 24px;font-size:17px;font-weight:800;transition:transform .15s,box-shadow .15s,filter .15s;box-shadow:0 10px 24px rgba(31,82,41,.2)}.checkout-primary:not(:disabled):hover{filter:saturate(1.08);box-shadow:0 14px 30px rgba(31,82,41,.25);transform:translateY(-2px)!important}.checkout-primary:disabled{box-shadow:none}.checkout-shell :where(a,button,input):focus-visible{outline:3px solid color-mix(in srgb,var(--checkout-green)42%,transparent);outline-offset:3px}@media (max-width:900px){.checkout-layout{grid-template-columns:1fr;gap:34px}.checkout-card{grid-area:2/1;position:static}.event-panel{grid-area:1/1}.event-extras{grid-area:3/1}}@media (max-width:600px){.checkout-header-inner,.checkout-main{width:min(100% - 28px,1180px)}.checkout-header-inner{min-height:62px}.checkout-logo{width:34px;height:34px}.checkout-brand-name{font-size:18px}.checkout-security-badge{min-height:34px;padding:0 10px;font-size:12px}.checkout-main{padding:28px 0 max(44px,env(safe-area-inset-bottom))}.event-intro{margin-bottom:18px}.event-title{font-size:max(36px,min(12vw,50px))}.event-image-wrap{border-radius:16px;margin-bottom:16px}.event-details-grid{grid-template-columns:1fr;gap:9px}.event-detail{padding:13px}.event-description,.showtimes-section{margin-top:26px;padding-top:22px}.checkout-card{border-radius:18px;margin-left:-4px;margin-right:-4px;padding:22px 18px}.ticket-selection-heading h2{font-size:29px}.ticket-option{padding:15px}.ticket-option>.flex.items-start.justify-between{grid-template-columns:minmax(0,1fr) auto;gap:12px;display:grid}.ticket-option .flex.shrink-0.flex-col{gap:10px}.ticket-option .flex.items-center.gap-3{gap:7px}.quantity-button{width:46px!important;height:46px!important}.customer-name-grid{grid-template-columns:1fr}}@media (max-width:390px){.checkout-header-inner,.checkout-main{width:min(100% - 22px,1180px)}.checkout-brand{gap:7px}.checkout-security-badge span{font-size:0}.checkout-security-badge span:after{content:"Secure";font-size:12px}.ticket-option>.flex.items-start.justify-between{grid-template-columns:1fr}.ticket-option .flex.shrink-0.flex-col{flex-direction:row;justify-content:space-between;align-items:center;width:100%}}@media (prefers-reduced-motion:reduce){.checkout-shell *,.checkout-shell :before,.checkout-shell :after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}
