/* Ruleta Taj · pantalla completa con entrada de juego, giro, celebración y premio */
body.rt-open{overflow:hidden}
.rt{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;overflow:hidden auto;color:#f7f2e6;background:radial-gradient(120% 80% at 50% 35%,#4c5a45 0,#2c3329 55%,#171b15 100%);opacity:0;transition:opacity .35s;font-family:var(--sans,Arial,sans-serif)}
.rt.is-in{opacity:1}
.rt.is-leaving{opacity:0}
.rt-fx{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:5}
.rt-rays{position:fixed;left:50%;top:42%;width:220vmax;height:220vmax;margin:-110vmax 0 0 -110vmax;background:repeating-conic-gradient(from 0deg,#c2a46a14 0 6deg,transparent 6deg 18deg);animation:rtRays 40s linear infinite;opacity:0;transition:opacity 1.2s .2s}
.rt.is-in .rt-rays{opacity:1}
.rt-glow{position:fixed;left:50%;top:44%;width:520px;height:520px;margin:-260px 0 0 -260px;border-radius:50%;background:radial-gradient(circle,#c2a46a55 0,transparent 65%);filter:blur(10px);animation:rtPulse 2.6s ease-in-out infinite}
.rt-close{position:fixed;top:max(14px,env(safe-area-inset-top));right:14px;z-index:6;width:44px;height:44px;border-radius:50%;border:1px solid #c2a46a88;background:#0004;color:#f7f2e6;font:26px/1 var(--sans,Arial);cursor:pointer}
.rt.is-spinning .rt-close{opacity:.3;pointer-events:none}
.rt-stage{position:relative;z-index:2;display:grid;justify-items:center;gap:10px;padding:64px 16px 28px;width:100%;transition:transform .6s cubic-bezier(.2,.9,.3,1),opacity .4s}
.rt-kicker{margin:0;display:flex;font-size:13px;letter-spacing:6px;color:#e8d3a5}
.rt-kicker span{display:inline-block;opacity:0;transform:translateY(-24px)}
.rt.is-in .rt-kicker span{animation:rtDrop .5s calc(.15s + var(--i)*.05s) cubic-bezier(.2,.9,.3,1.4) forwards}
.rt-title{margin:0;font:400 clamp(30px,8vw,46px)/1.05 var(--serif,Georgia,serif);text-align:center;letter-spacing:normal;opacity:0}
.rt-title em{display:block;color:#e8d3a5}
.rt.is-in .rt-title{animation:rtUp .6s .55s cubic-bezier(.2,.9,.3,1.2) forwards}
.rt-wheel-wrap{position:relative;width:min(84vw,380px);aspect-ratio:1;margin-top:12px;opacity:0;transform:scale(.2) rotate(-200deg)}
.rt.is-in .rt-wheel-wrap{animation:rtWheelIn .9s .75s cubic-bezier(.18,1.3,.4,1) forwards}
.rt-spin{position:absolute;inset:6%;border-radius:50%;will-change:transform;box-shadow:0 0 0 6px #2c3329,0 0 0 9px #c2a46a,0 24px 60px -10px #000c}
.rt-wheel{display:block;width:100%;height:100%;border-radius:50%}
.rt-seg-text{font:700 17px var(--serif,Georgia,serif)}
.rt-seg-sub{font:600 6.5px var(--sans,Arial);letter-spacing:2px;opacity:.75}
.rt-loading{position:absolute;inset:0;display:grid;place-items:center;margin:0;color:#e8d3a5}
.rt-bulbs{position:absolute;inset:0}
.rt-bulbs span{position:absolute;left:50%;top:50%;width:12px;height:12px;margin:-6px;border-radius:50%;background:#fff3d2;box-shadow:0 0 10px #ffd98a;transform:rotate(calc(var(--i)*18deg)) translateY(calc(min(42vw,190px)*-1));animation:rtBulb 1s calc(var(--i)*-.1s) steps(2) infinite}
.rt-bulbs span:nth-child(odd){animation-delay:-.5s}
.rt.is-spinning .rt-bulbs span{animation-duration:.25s}
.rt-pointer{position:absolute;left:50%;top:-2%;z-index:3;width:34px;height:44px;margin-left:-17px;background:linear-gradient(#f3dfae,#c2a46a);clip-path:polygon(50% 100%,0 0,100% 0);filter:drop-shadow(0 4px 6px #0008);transform-origin:50% 0}
.rt-pointer.tick{animation:rtTick .12s ease-out}
.rt-hub{position:absolute;left:50%;top:50%;z-index:3;width:30%;aspect-ratio:1;margin:-15% 0 0 -15%;border-radius:50%;border:4px solid #e8d3a5;background:radial-gradient(circle at 35% 30%,#56634f,#2c3329);color:#f7f2e6;display:grid;place-items:center;align-content:center;gap:2px;cursor:pointer;box-shadow:0 0 0 6px #2c332988,0 10px 30px #000a;font:700 clamp(13px,3.6vw,17px)/1 var(--sans,Arial);letter-spacing:2px}
.rt-hub img{width:52%;height:auto;border-radius:50%}
.rt-hub:not(:disabled){animation:rtHub 1.4s ease-in-out infinite}
.rt-hub:disabled{cursor:default}
.rt-hub:focus-visible{outline:3px solid #fff3d2;outline-offset:4px}
.rt-hint{margin:6px 0 0;min-height:1.4em;font-size:16px;color:#e8d3a5;letter-spacing:.5px}
.rt.is-landed .rt-spin{animation:rtFlash .6s ease-out}
.rt.has-prize .rt-stage{transform:translateY(-12vh) scale(.62);opacity:0;pointer-events:none}
.rt-result{position:absolute;inset:0;z-index:4;display:grid;place-items:center;padding:20px 14px;pointer-events:none}
.rt-result:empty{display:none}
.rt-prize-card{pointer-events:auto;width:min(420px,100%);max-height:calc(100dvh - 40px);overflow:auto;padding:26px 22px 22px;text-align:center;color:#292e26;background:linear-gradient(180deg,#fffefa,#f7f2e6);border:1px solid #c2a46a;box-shadow:0 30px 80px -20px #000;animation:rtCard .7s cubic-bezier(.2,1.2,.3,1) both}
.rt-k{margin:0;font-size:13px;letter-spacing:5px;color:#8a6d3b}
.rt-big{margin:4px 0 0;font:400 clamp(54px,16vw,76px)/1 var(--serif,Georgia,serif);letter-spacing:normal;background:linear-gradient(100deg,#8a6d3b 0,#c2a46a 35%,#f3dfae 50%,#c2a46a 65%,#8a6d3b 100%);background-size:220% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:rtShine 2.4s linear infinite}
.rt-sub{margin:4px 0 16px;font-size:16px;color:#414b43}
.rt-ticket{display:flex;gap:14px;align-items:center;padding:12px;border:1px dashed #c2a46a;background:#fffefa;text-align:left}
.rt-qr{flex:none;width:104px;height:104px;background:#fff}
.rt-qr svg{display:block;width:100%;height:100%}
.rt-ticket-text{display:grid;gap:4px;min-width:0}
.rt-ticket-text span{font-size:12px;letter-spacing:2px;text-transform:uppercase;color:#6b6d63}
.rt-ticket-text strong{font:400 clamp(15px,4.6vw,20px) var(--serif,Georgia,serif);letter-spacing:1px;white-space:nowrap}
.rt-copy{justify-self:start;margin-top:4px;padding:8px 12px;border:1px solid #3f493b;background:none;color:#292e26;font:14px var(--sans,Arial);cursor:pointer}
.rt-state{margin:12px 0 0;font-size:14px;color:#414b43}
.rt-how{margin:12px 0 0;padding:0;list-style:none;display:grid;gap:6px;text-align:left;font-size:14px;line-height:1.45;color:#292e26}
.rt-how li{padding-left:16px;position:relative}
.rt-how li::before{content:"";position:absolute;left:0;top:.55em;width:7px;height:7px;border-radius:50%;background:#c2a46a}
.rt-terms{margin-top:12px;text-align:left;font-size:13px;color:#414b43}
.rt-terms summary{cursor:pointer;text-decoration:underline}
.rt-terms p{margin:8px 0 0;line-height:1.5}
.rt-actions{margin-top:16px}
.rt-btn{width:100%;min-height:52px;border:0;background:#3f493b;color:#fffefa;font:15px var(--sans,Arial);letter-spacing:.5px;cursor:pointer}
.rt-btn-alt{margin-top:8px;background:none;border:1px solid #c2a46a;color:#8a6d3b}
@keyframes rtRays{to{transform:rotate(360deg)}}
@keyframes rtPulse{50%{transform:scale(1.12);opacity:.7}}
@keyframes rtDrop{to{opacity:1;transform:none}}
@keyframes rtUp{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@keyframes rtWheelIn{to{opacity:1;transform:none}}
@keyframes rtBulb{0%{opacity:1}100%{opacity:.25}}
@keyframes rtTick{40%{transform:rotate(-18deg)}}
@keyframes rtHub{50%{transform:scale(1.07);box-shadow:0 0 0 10px #c2a46a55,0 10px 30px #000a}}
@keyframes rtFlash{0%{filter:brightness(1.9)}100%{filter:none}}
@keyframes rtCard{from{opacity:0;transform:translateY(60px) scale(.85)}to{opacity:1;transform:none}}
@keyframes rtShine{to{background-position:-220% 0}}
@media (prefers-reduced-motion:reduce){
 .rt,.rt-stage{transition:none}
 .rt-rays,.rt-glow,.rt-bulbs span,.rt-hub,.rt-big{animation:none!important}
 .rt-kicker span,.rt-title,.rt-wheel-wrap{animation:none!important;opacity:1;transform:none}
 .rt-prize-card{animation:none}
}

/* Video del premio a pantalla completa (cuando el premio tiene video) */
.rt-video{position:fixed;inset:0;z-index:7;background:radial-gradient(90% 60% at 50% 40%,#2c3329,#0d100c);display:grid;place-content:center;justify-items:center;gap:14px;padding:max(10px,env(safe-area-inset-top)) 0 max(16px,env(safe-area-inset-bottom))}
.rt-video.is-libre{place-items:center}
.rt-video.is-libre video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
/* el cuadro tiene la misma forma que el video: así el QR cae justo en el recuadro claro */
.rt-vstage{position:relative;container-type:inline-size;aspect-ratio:832/1056;width:min(100vw,calc((100dvh - 100px)*832/1056));box-shadow:0 30px 80px -20px #000}
.rt-vstage video{position:absolute;inset:0;width:100%;height:100%;display:block}
.rt-vqr{position:absolute;display:grid;place-items:center;opacity:0;animation:rtvIn .7s .6s ease forwards}
.rt-vqr svg{height:92%;width:auto;aspect-ratio:1;display:block}
.rt-vcode{position:absolute;margin:0;display:flex;align-items:center;justify-content:center;text-align:center;white-space:nowrap;font-family:var(--serif,Georgia,serif);font-weight:600;line-height:1;letter-spacing:.08em;color:#2c3329;opacity:0;animation:rtvIn .7s .8s ease forwards}
.rt-vok{width:min(340px,86vw)}
@keyframes rtvIn{from{opacity:0;transform:scale(.92)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.rt-vqr,.rt-vcode{animation:none;opacity:1}}
.rt-video-over{position:relative;z-index:1;display:grid;justify-items:center;gap:10px;margin-top:auto;padding:0 20px max(28px,env(safe-area-inset-bottom));width:min(420px,100%)}
.rt-video-qr{width:min(42vw,170px);aspect-ratio:1;background:#fff;padding:6px;box-shadow:0 10px 30px #000a}
.rt-video-qr svg{display:block;width:100%;height:100%}
.rt-video-code{margin:0;padding:6px 12px;background:#0008;color:#fff;font:400 20px var(--serif,Georgia,serif);letter-spacing:2px}

/* Botón dorado premium (Aceptar mi regalo / Ir a la tienda) */
.rt-gold{position:relative;display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:54px;padding:0 22px;border:0;border-radius:999px;overflow:hidden;cursor:pointer;
 color:#2c3329;font:600 16px var(--sans,Arial);letter-spacing:1.2px;text-transform:uppercase;
 background:linear-gradient(100deg,#8a6d3b 0%,#c2a46a 28%,#f6e4b8 50%,#c2a46a 72%,#8a6d3b 100%);background-size:240% 100%;
 box-shadow:0 0 0 1px #f6e4b8aa inset,0 14px 34px -10px #c2a46acc,0 0 40px -6px #e8d3a555;animation:rtGold 3.2s linear infinite,rtLatido 2.4s ease-in-out infinite;transition:transform .25s}
.rt-gold::after{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 35%,#ffffffa0 50%,transparent 65%);transform:translateX(-120%);animation:rtBarrido 2.8s 1s ease-in-out infinite}
.rt-gold:hover{transform:translateY(-2px)}
.rt-gold:active{transform:scale(.97)}
.rt-gold:focus-visible{outline:2px solid #f6e4b8;outline-offset:4px}
.rt-gold-ic{font-size:15px;animation:rtGira 6s linear infinite;display:inline-block}
@keyframes rtGold{to{background-position:-240% 0}}
@keyframes rtLatido{0%,100%{box-shadow:0 0 0 1px #f6e4b8aa inset,0 14px 34px -10px #c2a46acc,0 0 40px -6px #e8d3a555}50%{box-shadow:0 0 0 1px #f6e4b8 inset,0 16px 40px -8px #c2a46a,0 0 60px 0 #e8d3a588}}
@keyframes rtBarrido{0%,40%{transform:translateX(-120%)}75%,100%{transform:translateX(120%)}}
@keyframes rtGira{to{transform:rotate(1turn)}}

/* Parlante */
.rt-sound{position:absolute;top:max(14px,env(safe-area-inset-top));left:14px;z-index:6;width:44px;height:44px;display:grid;place-items:center;border-radius:50%;border:1px solid #c2a46a88;background:#0004;color:#f7f2e6;cursor:pointer}
.rt-sound svg{width:22px;height:22px;fill:currentColor;stroke:currentColor;stroke-width:1.6;stroke-linecap:round}
.rt-sound[aria-pressed=false]{opacity:.7}

/* Tarjeta del premio compacta: entra entera en la pantalla */
.rt-prize-card{padding:clamp(14px,2.6vh,24px) 20px clamp(14px,2.4vh,20px);max-height:calc(100dvh - 24px)}
.rt-big{font-size:clamp(44px,9vh,72px)}
.rt-sub{margin:2px 0 clamp(8px,1.6vh,14px)}
.rt-ticket{padding:10px;gap:12px}
.rt-qr{width:clamp(76px,12vh,96px);height:clamp(76px,12vh,96px)}
.rt-state{margin:clamp(6px,1.2vh,10px) 0 0}
.rt-how{margin:clamp(6px,1.2vh,10px) 0 0;gap:3px;font-size:13.5px}
.rt-terms{margin-top:clamp(4px,1vh,8px)}
.rt-actions{display:grid;gap:8px;margin-top:clamp(10px,1.8vh,16px)}
.rt-actions .rt-btn-alt{margin-top:0;min-height:46px;border-radius:999px}
.rt-actions .rt-gold{min-height:50px}
@media (prefers-reduced-motion:reduce){.rt-gold,.rt-gold::after,.rt-gold-ic{animation:none}}
