/* Optional presentation presets on the canonical Storefront. Brand stays unchanged. */
.rrr-storefront[data-store-theme="rodeo"] { --store-ink:#30231c; --store-green:#773526; --store-paper:#fffdf8; --store-soft:#f3eee7; --store-line:#d4c4b6; --store-gold:#dca657; --store-muted:#665247; --store-stage:#160f0a; --store-summary:#f4ede4; }
.rrr-storefront[data-store-theme="cinema"] { --store-ink:#f5efff; --store-green:#71458d; --store-paper:#1b112a; --store-soft:#2d1c40; --store-line:#68517b; --store-gold:#d4b5ff; --store-muted:#d5c5e1; --store-stage:#0b0415; --store-summary:#281937; }
.rrr-storefront:is([data-store-theme="rodeo"],[data-store-theme="cinema"]) .rrr-storefront__hero { background:var(--store-stage); }
.rrr-storefront:is([data-store-theme="rodeo"],[data-store-theme="cinema"]) .rrr-storefront__hero::after { background:linear-gradient(90deg,var(--store-stage),transparent); }
.rrr-storefront:is([data-store-theme="rodeo"],[data-store-theme="cinema"]) .rrr-storefront__cart-bubble { background:var(--store-green); border-color:var(--store-gold); }
.rrr-storefront:is([data-store-theme="rodeo"],[data-store-theme="cinema"]) dialog.rrr-public-panel-dialog::backdrop { background:var(--store-stage); opacity:.97; }
.rrr-storefront:is([data-store-theme="rodeo"],[data-store-theme="cinema"]) .rrr-public-panel-dialog .rrr-commerce__checkout-panels { background:var(--store-paper); color:var(--store-ink); }
.rrr-storefront:is([data-store-theme="rodeo"],[data-store-theme="cinema"]) .rrr-public-panel-dialog .rrr-commerce__summary { background:var(--store-summary); border-color:var(--store-line); border-top-color:var(--store-green); }
.rrr-storefront:is([data-store-theme="rodeo"],[data-store-theme="cinema"]) .rrr-public-panel-dialog .rrr-commerce__checkout-steps button { color:var(--store-ink); border-color:var(--store-line); background:var(--store-soft); }
.rrr-storefront:is([data-store-theme="rodeo"],[data-store-theme="cinema"]) .rrr-public-panel-dialog .rrr-commerce__checkout-steps button[aria-current="step"] { background:var(--store-green); color:var(--store-paper); }
.rrr-storefront:is([data-store-theme="rodeo"],[data-store-theme="cinema"]) .rrr-public-panel-dialog :is(.rrr-public-panel-dialog__close,.rrr-commerce__cart-actions > button) { color:var(--store-ink); }
.rrr-storefront:is([data-store-theme="rodeo"],[data-store-theme="cinema"]) .rrr-public-panel-dialog .rrr-commerce__review-lines { background:var(--store-summary); }
.rrr-storefront:is([data-store-theme="rodeo"],[data-store-theme="cinema"]) .rrr-public-panel-dialog .rrr-commerce__cart-status { color:var(--store-muted); }

/* Same focused offer component in any native page pattern. No alternate checkout owner. */
.rrr-purchase-panel { --store-ink:#173b2f; --store-green:#245b43; --store-paper:#fffdf8; margin-top:28px; color:var(--store-ink); }
.rrr-purchase-panel { width:100%; max-width:none; box-sizing:border-box; }
.rrr-purchase-panel [hidden] { display:none !important; }
.rrr-experience-launcher { display:flex; justify-content:space-between; align-items:center; gap:24px; padding:clamp(22px,3vw,36px); border:1px solid var(--store-line,#cad5cc); border-radius:16px; background:var(--store-soft,#edf3ed); }
.rrr-experience-launcher h3 { font:800 clamp(1.5rem,2.8vw,2.4rem)/1.15 var(--serif,Georgia,serif); margin:0 0 12px; }
.rrr-experience-launcher p { margin:0 0 8px; }
.rrr-experience-launcher small { font-size:.875rem; }
.rrr-experience-launcher button { flex-shrink:0; min-height:58px; padding:16px 28px; border:1px solid var(--store-gold,#245b43); border-radius:8px; background:var(--store-green); color:white; font:800 1.125rem/1.4 var(--sans,Arial,sans-serif); cursor:pointer; }
.rrr-experience-launcher button:focus-visible { outline:3px solid currentColor; outline-offset:4px; }
.rrr-purchase-panel[data-ticket-dialog-ready] dialog.rrr-public-panel-dialog { inset:24px; width:calc(100% - 48px); max-width:1560px; height:auto; max-height:calc(100dvh - 48px); margin:auto; padding:0; border:1px solid var(--store-line,#cad5cc); border-radius:20px; background:var(--store-paper); color:var(--store-ink); overflow:auto; scrollbar-width:thin; }
.rrr-purchase-panel[data-ticket-dialog-ready] .rrr-public-panel-dialog__close { position:sticky; top:12px; right:auto; margin:12px 16px 12px auto; background:var(--store-paper); color:var(--store-ink); border-color:var(--store-line,#cad5cc); }
.rrr-purchase-panel[data-ticket-dialog-ready] .rrr-ticket-booth { --rrr-ticket-gutter:clamp(18px,3vw,40px); border:0; }
.rrr-purchase-panel[data-ticket-dialog-ready] .rrr-ticket-booth__header { padding-block:20px; }
.rrr-purchase-panel[data-ticket-dialog-ready] .rrr-ticket-booth__header .rrr-ticket-booth__compact-title { font-size:clamp(2rem,3vw,3rem); font-weight:800; }
.rrr-purchase-panel[data-ticket-dialog-ready] :is(.rrr-ticket-booth__header > div > p,.rrr-ticket-panel__heading > p) { color:var(--rrr-ticket-forest); }
.rrr-purchase-panel[data-ticket-dialog-ready] :is(.rrr-ticket-dates strong,.rrr-ticket-steps button) { font-size:1rem; }
.rrr-purchase-panel[data-ticket-dialog-ready] :is(.rrr-ticket-dates small,.rrr-ticket-dates em,.rrr-ticket-summary dd,.rrr-ticket-summary > small,.rrr-ticket-booth__security small) { font-size:.875rem; }
.rrr-purchase-panel[data-ticket-dialog-ready] .rrr-ticket-booth__layout { padding-block:20px; }
.rrr-purchase-panel[data-ticket-dialog-ready] .rrr-ticket-dates { max-height:none; overflow:visible; }
.rrr-purchase-panel .rrr-ticket-dates label.has-event-photo { grid-template-columns:22px clamp(90px,11vw,148px) minmax(0,1fr) auto; }
.rrr-ticket-dates .rrr-ticket-date-photo img { display:block; width:100%; height:auto; aspect-ratio:1; object-fit:cover; border-radius:8px; }
.rrr-purchase-panel[data-store-theme="cinema"] .rrr-ticket-dates label > b { background:#3c2850; color:#f5efff; }
@media(max-width:700px) {
  .rrr-experience-launcher { flex-direction:column; align-items:stretch; gap:18px; }
  .rrr-purchase-panel[data-ticket-dialog-ready] dialog.rrr-public-panel-dialog { inset:0; width:100%; height:100dvh; max-height:100dvh; max-width:100%; margin:0; border:0; border-radius:0; }
  .rrr-purchase-panel .rrr-ticket-dates label.has-event-photo { grid-template-columns:20px 80px minmax(0,1fr); gap:10px; padding:12px; }
  .rrr-purchase-panel .rrr-ticket-dates label.has-event-photo > b { grid-column:2 / -1; justify-self:start; }
}
.rrr-purchase-panel__pending { padding:clamp(24px,4vw,48px); border:1px solid #cbd4ca; border-top:5px solid var(--store-green); background:var(--store-paper); border-radius:14px; display:grid; grid-template-columns:minmax(0,1fr) auto; gap:14px 36px; align-items:center; }
.rrr-purchase-panel__pending :is(h3,p,small) { grid-column:1; margin:0; }
.rrr-purchase-panel__pending h3 { font:800 clamp(1.7rem,3vw,2.6rem)/1.15 var(--serif,Georgia,serif); }
.rrr-purchase-panel__pending button { grid-column:2; grid-row:2/4; padding:18px 28px; font:800 1rem/1.4 var(--sans,system-ui,sans-serif); border:1px solid var(--store-green); border-radius:6px; color:var(--store-ink); background:transparent; cursor:not-allowed; }
.rrr-purchase-panel__pending small { font-size:.875rem; }
.rrr-storefront[data-store-selection] [data-store-products] { display:block; }
.rrr-storefront[data-store-selection-mode="extras"] [data-store-products] { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
.rrr-commerce__offer-extras { margin-top:32px; padding-top:24px; border-top:1px solid #cad5cc; }
.rrr-commerce__offer-extras .rrr-commerce__grid { margin-top:18px; }
/* The same ticket UI inherits the event's night palette; never a separate flow. */
.rrr-purchase-panel[data-store-theme="cinema"] .rrr-ticket-booth { --rrr-ticket-forest:#d1b4ed; --rrr-ticket-deep:#f5efff; --rrr-ticket-accent:#704494; --rrr-ticket-accent-soft:#352146; --rrr-ticket-gold:#d4b5ff; --rrr-ticket-cream:#241631; --rrr-ticket-paper:#1b112a; --rrr-ticket-ink:#f5efff; --rrr-ticket-muted:#d5c5e1; --rrr-ticket-line:#68517b; background:#1b112a; color:#f5efff; color-scheme:dark; }
.rrr-purchase-panel[data-store-theme="cinema"] :is(.rrr-ticket-steps,.rrr-ticket-booth__status,.rrr-ticket-booth__security,.rrr-ticket-price,.rrr-ticket-dates label,.rrr-ticket-person input,.rrr-ticket-review,.rrr-ticket-payment-options label,.rrr-ticket-checkout-lock,.rrr-ticket-booth-message) { background:#281937; border-color:#68517b; color:#f5efff; }
.rrr-purchase-panel[data-store-theme="cinema"] .rrr-ticket-booth__header { background:linear-gradient(125deg,#39204f,#21122f); }
.rrr-purchase-panel[data-store-theme="cinema"] .rrr-ticket-summary { background:#301a44; color:#fff; border:1px solid #68517b; }
.rrr-purchase-panel[data-store-theme="cinema"] :is(.rrr-ticket-price button,.rrr-ticket-price input) { background:#1b112a; color:#fff; }
.rrr-purchase-panel[data-store-theme="cinema"] :is(.rrr-ticket-steps li.is-complete button > span,.rrr-ticket-booth__security > span) { background:#71458d; color:#fff; }
.rrr-purchase-panel[data-store-theme="cinema"] :is([data-ticket-next],[data-ticket-confirm-free],[data-ticket-checkout],.rrr-ticket-confirmation__copy) { background:#71458d; color:#fff; border-color:#aa83ca; }
.rrr-purchase-panel[data-store-theme="cinema"] [data-ticket-back] { background:transparent; border-color:#aa83ca; color:#fff; }
.rrr-storefront[data-store-theme="cinema"] :is(.rrr-storefront__collection,.rrr-commerce__product,.rrr-commerce__detail,.rrr-commerce__fulfillment,.rrr-commerce__fulfillment-option,.rrr-commerce__line,.rrr-public-panel-dialog__close) { background:var(--store-paper); color:var(--store-ink); border-color:var(--store-line); }
.rrr-storefront[data-store-theme="cinema"] :is(h1,h2,h3,h4,.rrr-commerce__price,.rrr-commerce__muted,.rrr-commerce__eyebrow) { color:var(--store-ink); }
.rrr-storefront[data-store-theme="cinema"] :is(.rrr-commerce__line-controls input,.rrr-commerce__line-controls button,.rrr-commerce__product-actions button,.rrr-commerce__detail-actions button,[data-store-review]) { background:var(--store-green); color:#fff; border-color:#aa83ca; }
.rrr-storefront[data-store-theme="cinema"] .rrr-commerce__checkout-steps button[aria-current="step"] { color:#fff; }
@media(max-width:700px) { .rrr-purchase-panel__pending, .rrr-storefront[data-store-selection-mode="extras"] [data-store-products] { grid-template-columns:minmax(0,1fr); } .rrr-purchase-panel__pending button { grid-column:1; grid-row:auto; width:100%; } }
