/* Festival prize catalogue, ride cues and Hebrew claim controls. */
.title-prizes { position:absolute; top:max(12px, calc(var(--safe-t) + 8px)); left:max(20px, calc(var(--safe-l) + 12px)); max-width:calc(100% - 140px); min-height:44px; padding:8px 12px; border:1px solid #c5cc69; color:#c5cc69; background:#0c2a47; font:600 15px Aduma,sans-serif; cursor:pointer; }
#rs-prize-preview { position:fixed; inset:0; margin:auto; width:min(880px, calc(100% - 32px)); max-height:calc(100dvh - 32px); padding:30px; border:2px solid #0c2a47; color:#0c2a47; background:#f6ead2; font:500 18px/1.35 Aduma,sans-serif; overflow:auto; touch-action:pan-y; }
#rs-prize-preview::backdrop { background:#0c2a47; }
#rs-prize-preview h2 { font:700 clamp(28px, 5vw, 40px)/1.08 Sprat,serif; margin:12px 0 16px; max-width:570px; }
.prize-eyebrow { font-size:12px; text-transform:uppercase; letter-spacing:.15em; }
.prize-close { float:right; min-height:44px; padding:8px 14px; background:#0c2a47; color:#f6ead2; border:0; font:600 17px Aduma,sans-serif; cursor:pointer; }
.prize-catalog { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:26px 20px; margin:24px 0; }
.prize-catalog article { border-top:1px solid #0c2a47; padding-top:14px; }
.prize-catalog img { display:block; width:100%; height:130px; object-fit:contain; margin-bottom:12px; }
.prize-catalog h3 { font-size:19px; margin-bottom:5px; }
.prize-catalog p { font-size:15px; }
.prize-demo-note { border-top:1px solid #0c2a47; padding-top:14px; font-size:15px; }
#rs-prize-preview button:focus-visible { outline:3px solid #f46f6a; outline-offset:4px; }
.ride-prize-count { display:block; font-size:11px; margin-top:8px; text-align:center; color:#f6ead2; }
.ride-prize-cue { display:flex; align-items:center; gap:8px; max-width:100%; padding:4px 10px 4px 6px; border:1px solid #c5cc69; background:#0c2a47; font:600 clamp(14px, 1.4vw, 20px)/1.2 Aduma,sans-serif; }
.ride-prize-cue[hidden] { display:none; }
.ride-prize-cue img { width:48px; height:48px; flex-shrink:0; object-fit:contain; }
.arrival-prizes { width:min(1080px,100%); flex-shrink:0; border-top:1px solid #0c2a47; padding-top:16px; }
.arrival-prizes-heading { display:flex; align-items:baseline; justify-content:space-between; gap:12px; }
.arrival-prizes h2 { font:700 24px Sprat,serif; }
.arrival-prizes-heading span { font-size:15px; }
.arrival-prize-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:12px; margin:14px 0; }
.arrival-prize { display:grid; grid-template-columns:64px 1fr; gap:4px 8px; padding:10px; border:1px solid #9d9a88; align-content:center; }
.arrival-prize.is-caught { border:2px solid #0c2a47; background:#c5cc69; padding:9px; }
.arrival-prize img { grid-row:1 / 3; width:64px; height:64px; object-fit:contain; align-self:center; }
.arrival-prize strong { align-self:end; font-size:17px; }
.arrival-prize span { font-size:13px; }
.arrival-prizes > p { font-size:13px; }
@media(max-width:900px) { .arrival-prize { grid-template-columns:1fr; justify-items:center; text-align:center; padding:8px; } .arrival-prize.is-caught{padding:7px} .arrival-prize img{grid-row:auto;width:56px;height:56px} .arrival-prize strong{font-size:15px} }
@media(max-width:540px) { #rs-prize-preview{padding:20px} .prize-catalog{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 16px} .prize-catalog img{height:110px} .arrival-prize-grid{grid-template-columns:repeat(2,minmax(0,1fr))} .arrival-prize{grid-template-columns:48px 1fr;justify-items:start;text-align:left} .arrival-prize:last-child:nth-child(odd){grid-column:1 / -1} .arrival-prize img{grid-row:1/3;width:48px;height:48px} .title-prizes{font-size:13px} }
@media(max-height:500px) and (orientation:landscape) { .title-prizes{top:8px;font-size:12px;min-height:36px} .ride-prize-cue{font-size:13px} .ride-prize-cue img{width:36px;height:36px} .arrival-prizes{padding-top:12px} .arrival-prizes h2{font-size:20px} .arrival-prize-grid{margin:10px 0} .ride-prize-count{font-size:10px;margin-top:6px} }

#rs-arrival.has-prizes { justify-content:flex-start; }
/* Personal prize claims are native Hebrew controls, separate from score sharing. */
.arrival-prizes { display:flex; align-items:center; gap:24px; padding:24px; background:#c5cc69; border:2px solid #0c2a47; margin-bottom:24px; }
.arrival-prizes h2 { font:800 clamp(26px,3vw,38px)/1.15 Aduma,sans-serif; margin:0 0 8px; }
.arrival-prizes p { font:500 19px/1.4 Aduma,sans-serif; max-width:680px; }
.claim-prize-art { width:140px; height:140px; object-fit:contain; flex-shrink:0; }
.claim-result-copy { flex:1; }
.claim-result-copy small { display:block; margin-top:10px; font:500 15px/1.4 Aduma,sans-serif; }
.claim-open,.claim-submit { min-height:48px; padding:12px 24px; margin:16px 0 0; border:2px solid #0c2a47; background:#0c2a47; color:#f6ead2; font:700 20px/1.1 Aduma,sans-serif; cursor:pointer; }
.claim-open:focus-visible,.claim-submit:focus-visible { outline:3px solid #f46f6a;outline-offset:4px; }
:is(#rs-prize-claim,#rs-contest-dialog) { position:fixed; inset:0; margin:auto; width:min(560px,calc(100% - 24px)); max-height:calc(100dvh - 24px); padding:28px; overflow:auto; touch-action:pan-y; background:#f6ead2; color:#0c2a47; border:2px solid #0c2a47; font:500 19px/1.4 Aduma,sans-serif; }
:is(#rs-prize-claim,#rs-contest-dialog)::backdrop { background:#0c2a47; }
:is(#rs-prize-claim,#rs-contest-dialog) .prize-close { float:left; }
:is(#rs-prize-claim,#rs-contest-dialog) h2 { font:800 34px/1.1 Aduma,sans-serif; margin:18px 0; clear:both; }
:is(#rs-prize-claim,#rs-contest-dialog) label:not(.claim-consent) { display:block; margin:16px 0 0; font-weight:700; }
:is(#rs-prize-claim,#rs-contest-dialog) input:not([type=checkbox]) { display:block; width:100%; min-height:48px; margin-top:5px; padding:10px 12px; border:1px solid #0c2a47; background:#fff8e9; color:#0c2a47; font:500 19px Aduma,sans-serif; }
:is(#rs-prize-claim,#rs-contest-dialog) input:focus-visible { outline:3px solid #f46f6a; outline-offset:2px; }
.claim-consent { display:flex; align-items:flex-start; gap:10px; margin-top:20px; font-size:16px; }
.claim-consent input { width:20px; height:20px; flex-shrink:0; accent-color:#0c2a47; margin-top:3px; }
.claim-privacy { margin:12px 0; font-size:15px; }
.claim-privacy a { color:inherit; text-underline-offset:3px; }
.claim-privacy a:focus-visible { outline:3px solid #f46f6a; outline-offset:3px; }
:is(#rs-prize-claim,#rs-contest-dialog) .claim-consent { margin-top:14px; }
#rs-contest-dialog > details { margin-bottom:0; }
#rs-contest-dialog > details summary { min-height:44px; display:flex; align-items:center; cursor:pointer; text-decoration:underline; text-underline-offset:3px; }
.claim-code-value { display:block; padding:16px 4px; margin:18px 0; background:#c5cc69; font:700 clamp(18px,4.5vw,25px) monospace; text-align:center; letter-spacing:.02em; }
.claim-code[hidden] { display:none; }
.claim-submit { width:100%; }
.claim-submit:disabled { cursor:wait; }
.claim-resend,.claim-change-phone { min-height:44px; border:0; background:transparent; text-decoration:underline; color:#0c2a47; font:600 17px Aduma,sans-serif; cursor:pointer; }
.claim-status { margin-top:14px; }
.reward-check { position:fixed; z-index:200; left:50%; top:50%; transform:translate(-50%,-50%); width:min(360px,calc(100% - 24px)); padding:24px; border:2px solid #c5cc69; background:#0c2a47; color:#f6ead2; font:600 18px Aduma,sans-serif; }
.reward-check button { background:#c5cc69; color:#0c2a47; border:0; padding:12px; min-height:44px; width:100%; font:600 18px Aduma,sans-serif; margin-top:12px; cursor:pointer; }
@media(max-width:540px) { .arrival-prizes{padding:18px;gap:12px;align-items:flex-start;flex-wrap:wrap}.claim-prize-art{width:78px;height:78px}.claim-result-copy{min-width:200px}.arrival-prizes p{font-size:18px}.claim-open{width:100%}:is(#rs-prize-claim,#rs-contest-dialog){padding:20px} }

/* Competition copy stays readable and separate from merchandise receipts. */
.title-copy.has-ticket-contest{z-index:2}
.title-contest{display:block;width:fit-content;max-width:340px;margin:0 0 12px;border:1px solid #c5cc69;padding:8px 12px;background:#0c2a47;color:#c5cc69;font:600 18px/1.25 Aduma,sans-serif;text-align:start;cursor:pointer;min-height:44px}
.title-contest:focus-visible{outline:3px solid #f46f6a;outline-offset:3px}
.ticket-contest{text-align:right;width:min(1080px,100%);flex-shrink:0;background:#0c2a47;color:#f6ead2;padding:22px 26px;margin:0 0 22px;border:2px solid #c5cc69;font:500 19px/1.4 Aduma,sans-serif}
.ticket-contest h2{font:800 32px/1.15 Aduma,sans-serif;margin:0 0 10px}.ticket-contest p{margin:8px 0;max-width:750px}.ticket-contest details{margin-top:12px;font-size:16px}.ticket-contest summary{cursor:pointer;min-height:32px}.ticket-contest .claim-open{background:#c5cc69;color:#0c2a47;border-color:#c5cc69}
#rs-arrival.has-contest{justify-content:flex-start}
.rs-sb__contest{display:none}.rs-sb--contest .rs-sb__contest{display:block}.rs-sb--contest .rs-sb__form,.rs-sb--contest .rs-sb__msg,.rs-sb--contest .rs-sb__saved{display:none!important}.rs-sb__contest .ticket-contest{margin:12px 0;padding:18px}.rs-sb__contest h2{font-size:28px}.rs-sb__contest .ticket-contest p{font-size:17px}.rs-sb__tab{white-space:normal}
@media(max-width:540px){.ticket-contest{padding:18px}.ticket-contest h2{font-size:28px}.title-contest{font-size:16px;max-width:280px}}
@media(max-height:500px) and (orientation:landscape){.title-contest{font-size:14px;margin:0 0 8px;padding:6px 10px;min-height:32px}.ticket-contest{padding:16px}}

#rs-demo-badge{position:fixed;top:0;left:0;right:0;z-index:11000;padding:2px 8px;background:#c5cc69;color:#0c2a47;font:700 11px/1.3 Aduma,sans-serif;text-align:center;pointer-events:none} .demo-collect{font:700 16px Aduma,sans-serif;min-height:44px;background:#c5cc69;color:#0c2a47;border:2px solid #0c2a47;padding:8px;cursor:pointer}

.rs-demo .title-prizes,.rs-demo .title-music,.rs-demo:not(.rs-riding) #rs-controls{top:max(24px,calc(var(--safe-t) + 24px))}
@media(orientation:portrait){.title-copy.has-ticket-contest .title-contest{margin-top:auto;margin-bottom:8px;max-width:100%;font-size:14px;min-height:36px;padding:6px 10px}.title-copy.has-ticket-contest .title-play{margin-top:0}}

.rs-demo #rs-ride-hud{top:20px}

@media(orientation:portrait){.rs-demo .title-music{top:max(74px,calc(var(--safe-t) + 74px));font-size:13px}.rs-demo [data-treatment=night] .title-copy{top:max(100px,calc(var(--safe-t) + 100px))}}

.rs-demo #rs-arrival{padding-top:max(38px,calc(env(safe-area-inset-top) + 22px))}

#rs-arrival .ticket-contest{margin:4px 0;padding:16px 18px}
#rs-arrival .ticket-contest h2{font-size:27px}
#rs-arrival .ticket-contest .claim-open{width:100%;background:#c5cc69;color:#0c2a47;font-size:23px}
#rs-arrival .ticket-contest .claim-open:disabled{background:#e4d8bf;color:#4c5a62}
