/* Sorteo temporal de V-Bucks: ventana a pantalla casi completa, con la tarjeta del
   premio flotando, brillo, chispas y confeti al participar. */
.giveaway-dialog{position:relative;width:min(520px,calc(100% - 20px));max-height:calc(100svh - 20px);margin:auto;padding:26px 26px 20px;overflow:auto;overflow-x:hidden;border:1px solid rgba(255,190,92,.55);border-radius:24px;background:radial-gradient(120% 70% at 50% 0%,rgba(255,153,51,.24),transparent 60%),linear-gradient(170deg,#1b1638 0%,#101a33 48%,#0b1424 100%);color:#f4f8ff;text-align:center;box-shadow:0 0 0 1px rgba(0,0,0,.4),0 30px 90px rgba(0,0,0,.65),0 0 80px rgba(255,160,64,.18);isolation:isolate}
.giveaway-dialog::backdrop{background:radial-gradient(circle at 50% 30%,rgba(41,24,82,.72),rgba(3,6,14,.9));backdrop-filter:blur(6px)}
.giveaway-dialog[open]{animation:giveaway-enter .55s cubic-bezier(.16,1,.3,1) both}
.giveaway-fx{position:absolute;inset:0;z-index:-1;overflow:hidden;border-radius:inherit;pointer-events:none}
.giveaway-aurora{position:absolute;inset:-40%;background:conic-gradient(from 0deg,rgba(255,170,60,.0),rgba(255,170,60,.22),rgba(130,90,255,.22),rgba(70,200,255,.18),rgba(255,170,60,.0));filter:blur(38px);animation:giveaway-spin 14s linear infinite}
.giveaway-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);background-size:28px 28px;mask-image:radial-gradient(circle at 50% 35%,#000 0,transparent 70%)}
.giveaway-top{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;margin-bottom:14px}
.giveaway-badge{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border:1px solid rgba(255,196,110,.6);border-radius:999px;background:rgba(255,150,40,.16);color:#ffd9a3;font-size:.72rem;font-weight:800;letter-spacing:.08em}
.giveaway-dot{width:8px;height:8px;border-radius:50%;background:#ff5d5d;box-shadow:0 0 0 0 rgba(255,93,93,.7);animation:giveaway-pulse 1.4s ease-out infinite}
.giveaway-timer{padding:6px 11px;border:1px solid rgba(160,190,255,.3);border-radius:999px;background:rgba(10,18,36,.55);color:#cfe0ff;font-size:.72rem;font-weight:700}
.giveaway-title{margin:4px 0 6px;font-family:var(--font-display,inherit);font-size:clamp(2rem,8.4vw,2.85rem);font-weight:900;line-height:1.02;letter-spacing:-.035em;text-transform:uppercase}
.giveaway-title span{color:#fff}
.giveaway-title strong{display:inline-block;background:linear-gradient(180deg,#fff6d8 0%,#ffc94d 45%,#ff8a1f 100%);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 4px 18px rgba(255,150,40,.45));animation:giveaway-number 2.4s ease-in-out infinite}
.giveaway-title em{display:inline-block;margin-left:2px;padding:0 10px;border-radius:10px;background:linear-gradient(135deg,#ff5d5d,#ff9a3c);color:#fff;font-style:normal;transform:rotate(-3deg);box-shadow:0 8px 24px rgba(255,93,93,.4)}
.giveaway-art{position:relative;display:grid;place-items:center;height:clamp(214px,50vw,300px);margin:2px auto 4px;perspective:900px;overflow:hidden}
.giveaway-rays{position:absolute;width:150%;aspect-ratio:1;background:repeating-conic-gradient(from 0deg,rgba(255,200,110,.16) 0deg 8deg,transparent 8deg 22deg);mask-image:radial-gradient(circle,#000 0,transparent 62%);animation:giveaway-spin 26s linear infinite}
.giveaway-glow{position:absolute;width:62%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(255,170,60,.55),rgba(255,120,40,.12) 55%,transparent 70%);filter:blur(10px);animation:giveaway-glow 3s ease-in-out infinite}
.giveaway-card-float{position:relative;display:grid;place-items:center;animation:giveaway-float 4.2s ease-in-out infinite}
.giveaway-card-tilt{position:relative;transform-style:preserve-3d;animation:giveaway-tilt 6s ease-in-out infinite;filter:drop-shadow(0 22px 26px rgba(0,0,0,.55)) drop-shadow(0 0 28px rgba(255,160,64,.35))}
.giveaway-card{display:block;height:clamp(186px,44vw,262px);width:auto;max-width:none;object-fit:contain;user-select:none;-webkit-user-drag:none;pointer-events:none}
.giveaway-card-shine{position:absolute;inset:0;border-radius:6%;background:linear-gradient(115deg,transparent 35%,rgba(255,255,255,.55) 48%,transparent 60%);background-size:260% 100%;mix-blend-mode:screen;mask-image:url('/assets/giveaway/vbucks-13500.png');mask-size:contain;mask-repeat:no-repeat;mask-position:center;-webkit-mask-image:url('/assets/giveaway/vbucks-13500.png');-webkit-mask-size:contain;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;animation:giveaway-shine 3.4s ease-in-out infinite}
.giveaway-art-missing .giveaway-card-tilt{display:none}
.giveaway-sparks i{position:absolute;width:8px;height:8px;border-radius:50%;background:radial-gradient(circle,#fff 0,#ffe08a 40%,transparent 70%);opacity:0;animation:giveaway-spark 3.2s ease-in-out infinite}
.giveaway-sparks i:nth-child(1){left:12%;top:30%;animation-delay:.1s}.giveaway-sparks i:nth-child(2){left:84%;top:22%;animation-delay:.6s}.giveaway-sparks i:nth-child(3){left:20%;top:72%;animation-delay:1.1s}.giveaway-sparks i:nth-child(4){left:78%;top:68%;animation-delay:1.6s}.giveaway-sparks i:nth-child(5){left:50%;top:6%;animation-delay:2.1s}.giveaway-sparks i:nth-child(6){left:6%;top:50%;animation-delay:.4s;width:6px;height:6px}.giveaway-sparks i:nth-child(7){left:92%;top:46%;animation-delay:1.3s;width:6px;height:6px}.giveaway-sparks i:nth-child(8){left:32%;top:12%;animation-delay:2.6s;width:5px;height:5px}.giveaway-sparks i:nth-child(9){left:66%;top:88%;animation-delay:.9s;width:5px;height:5px}.giveaway-sparks i:nth-child(10){left:40%;top:92%;animation-delay:1.9s;width:7px;height:7px}
.giveaway-x20{position:absolute;right:6%;top:10%;display:grid;place-items:center;width:62px;height:62px;border-radius:50%;background:radial-gradient(circle at 30% 30%,#ffe38a,#ff9a2e 60%,#e1561f);color:#2a1300;font-weight:900;font-size:1.15rem;box-shadow:0 10px 26px rgba(255,120,40,.55),inset 0 -4px 0 rgba(0,0,0,.18);transform:rotate(12deg);animation:giveaway-badge 2.4s ease-in-out infinite}
.giveaway-prize{margin:0 0 14px;color:#ffe2b4;font-size:.95rem;font-weight:800}
.giveaway-req-title{margin:0 0 10px;color:#9fb7d8;font-size:.72rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.giveaway-steps{display:grid;gap:8px;margin:0 0 12px;padding:0;list-style:none;text-align:left}
.giveaway-steps li{display:flex;align-items:center;gap:12px;padding:11px 13px;border:1px solid rgba(160,190,255,.18);border-radius:14px;background:rgba(10,20,40,.55);color:#e6efff;font-size:.86rem;font-weight:600;line-height:1.45;animation:giveaway-step .5s cubic-bezier(.16,1,.3,1) both}
.giveaway-steps li:nth-child(2){animation-delay:.08s}.giveaway-steps li:nth-child(3){animation-delay:.16s}
.giveaway-step-num{display:grid;flex:none;place-items:center;width:28px;height:28px;border-radius:50%;background:linear-gradient(135deg,#ffc94d,#ff8a1f);color:#2a1300;font-weight:900;font-size:.85rem}
.giveaway-hashtag{display:flex;align-items:center;justify-content:center;gap:10px;margin:0 0 12px}
.giveaway-hashtag-tag{padding:7px 14px;border-radius:999px;background:linear-gradient(135deg,rgba(130,90,255,.35),rgba(70,200,255,.3));color:#fff;font-weight:900;letter-spacing:.02em;box-shadow:inset 0 0 0 1px rgba(255,255,255,.18)}
.giveaway-copy{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border:1px solid rgba(160,190,255,.35);border-radius:999px;background:rgba(10,20,40,.6);color:#d7e6ff;font:inherit;font-size:.78rem;font-weight:700;cursor:pointer}
.giveaway-copy [data-icon]{display:inline-flex;width:14px;height:14px}.giveaway-copy svg{width:100%;height:100%}
.giveaway-copy:focus-visible,.giveaway-join:focus-visible,.giveaway-decline:focus-visible{outline:3px solid #ffd27a;outline-offset:3px}
.giveaway-bonus{display:flex;align-items:flex-start;gap:10px;margin:0 0 16px;padding:12px 14px;border:1px solid rgba(255,196,110,.45);border-radius:14px;background:linear-gradient(135deg,rgba(255,150,40,.16),rgba(255,93,93,.08));color:#ffe9c7;font-size:.82rem;font-weight:600;line-height:1.5;text-align:left}
.giveaway-bonus-icon{display:inline-flex;flex:none;width:20px;height:20px;color:#ffc94d}.giveaway-bonus-icon svg{width:100%;height:100%}
.giveaway-bonus a{color:#9ee8ff;font-weight:800;text-decoration:underline;text-underline-offset:3px}
.giveaway-actions{position:sticky;bottom:-20px;z-index:2;display:grid;grid-template-columns:1.35fr 1fr;gap:10px;margin:0 -26px 10px;padding:12px 26px 14px;background:linear-gradient(180deg,rgba(11,20,36,0),rgba(11,20,36,.94) 32%,#0b1424)}
.giveaway-join{position:relative;overflow:hidden;min-height:56px;border:0;border-radius:16px;background:linear-gradient(135deg,#ffd45c 0%,#ff9a2e 55%,#ff6a3d 100%);color:#2a1300;font-size:1.05rem;font-weight:900;letter-spacing:.04em;box-shadow:0 12px 30px rgba(255,140,40,.45),inset 0 -3px 0 rgba(0,0,0,.15);animation:giveaway-cta 2.2s ease-in-out infinite}
.giveaway-join::after{content:'';position:absolute;inset:0;background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.6) 50%,transparent 70%);background-size:250% 100%;animation:giveaway-shine 2.6s ease-in-out infinite}
.giveaway-decline{min-height:56px;border-radius:16px;color:#c3d2e8;font-size:.86rem;font-weight:800}
.giveaway-terms{margin:0;color:#8396b3;font-size:.68rem;line-height:1.5}
.giveaway-confetti{position:absolute;inset:0}
.giveaway-confetti i{position:absolute;top:-12px;width:9px;height:14px;border-radius:2px;opacity:0;background:#ffc94d}
.giveaway-confetti i:nth-child(4n+1){background:#ff6a3d}.giveaway-confetti i:nth-child(4n+2){background:#8de5ff}.giveaway-confetti i:nth-child(4n+3){background:#b18cff}
.giveaway-confetti i:nth-child(1){left:6%}.giveaway-confetti i:nth-child(2){left:12%}.giveaway-confetti i:nth-child(3){left:19%}.giveaway-confetti i:nth-child(4){left:25%}.giveaway-confetti i:nth-child(5){left:31%}.giveaway-confetti i:nth-child(6){left:37%}.giveaway-confetti i:nth-child(7){left:43%}.giveaway-confetti i:nth-child(8){left:49%}.giveaway-confetti i:nth-child(9){left:55%}.giveaway-confetti i:nth-child(10){left:61%}.giveaway-confetti i:nth-child(11){left:67%}.giveaway-confetti i:nth-child(12){left:73%}.giveaway-confetti i:nth-child(13){left:79%}.giveaway-confetti i:nth-child(14){left:85%}.giveaway-confetti i:nth-child(15){left:91%}.giveaway-confetti i:nth-child(16){left:96%}
/* Al abrir cae un primer confeti; al pulsar «Participo», otro más intenso. */
.giveaway-dialog[open] .giveaway-confetti i{animation:giveaway-confetti 1.6s cubic-bezier(.2,.6,.3,1) both}
.giveaway-dialog.giveaway-joined .giveaway-confetti i{animation:giveaway-confetti-burst .9s cubic-bezier(.2,.6,.3,1) both}
.giveaway-confetti i:nth-child(odd){animation-delay:.05s!important}.giveaway-confetti i:nth-child(3n){animation-delay:.15s!important}.giveaway-confetti i:nth-child(5n){animation-delay:.25s!important}
[dir="rtl"] .giveaway-steps,[dir="rtl"] .giveaway-bonus{text-align:right}
[dir="rtl"] .giveaway-x20{right:auto;left:6%}
@keyframes giveaway-enter{from{opacity:0;transform:translateY(24px) scale(.92);filter:blur(4px)}to{opacity:1;transform:none;filter:none}}
@keyframes giveaway-spin{to{transform:rotate(360deg)}}
@keyframes giveaway-pulse{0%{box-shadow:0 0 0 0 rgba(255,93,93,.7)}70%{box-shadow:0 0 0 9px rgba(255,93,93,0)}100%{box-shadow:0 0 0 0 rgba(255,93,93,0)}}
@keyframes giveaway-number{0%,100%{transform:scale(1)}50%{transform:scale(1.06)}}
@keyframes giveaway-glow{0%,100%{opacity:.75;transform:scale(.95)}50%{opacity:1;transform:scale(1.08)}}
@keyframes giveaway-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
@keyframes giveaway-tilt{0%,100%{transform:rotateY(-12deg) rotateX(4deg) rotateZ(-2deg)}50%{transform:rotateY(12deg) rotateX(-3deg) rotateZ(2deg)}}
@keyframes giveaway-shine{0%{background-position:160% 0}55%,100%{background-position:-60% 0}}
@keyframes giveaway-spark{0%,100%{opacity:0;transform:scale(.3)}40%{opacity:1;transform:scale(1.4)}70%{opacity:.4;transform:scale(.8)}}
@keyframes giveaway-badge{0%,100%{transform:rotate(12deg) scale(1)}50%{transform:rotate(4deg) scale(1.1)}}
@keyframes giveaway-step{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@keyframes giveaway-cta{0%,100%{box-shadow:0 12px 30px rgba(255,140,40,.45),inset 0 -3px 0 rgba(0,0,0,.15)}50%{box-shadow:0 18px 44px rgba(255,140,40,.75),0 0 0 4px rgba(255,212,92,.25),inset 0 -3px 0 rgba(0,0,0,.15)}}
@keyframes giveaway-confetti{0%{opacity:0;transform:translateY(-10px) rotate(0)}12%{opacity:1}100%{opacity:0;transform:translateY(340px) rotate(540deg)}}
@keyframes giveaway-confetti-burst{0%{opacity:0;transform:translateY(-10px) rotate(0) scale(1.2)}10%{opacity:1}100%{opacity:0;transform:translateY(520px) rotate(720deg) scale(1)}}
@media(max-width:420px){.giveaway-dialog{padding:20px 16px 16px;border-radius:20px}.giveaway-actions{grid-template-columns:1.25fr 1fr;bottom:-16px;margin:0 -16px 8px;padding:10px 16px 12px}.giveaway-join,.giveaway-decline{min-height:52px}.giveaway-x20{width:52px;height:52px;font-size:1rem}.giveaway-steps li{font-size:.82rem}}
@media(prefers-reduced-motion:reduce){.giveaway-dialog[open],.giveaway-aurora,.giveaway-rays,.giveaway-glow,.giveaway-card-float,.giveaway-card-tilt,.giveaway-card-shine,.giveaway-sparks i,.giveaway-x20,.giveaway-title strong,.giveaway-dot,.giveaway-join,.giveaway-join::after,.giveaway-steps li,.giveaway-confetti i{animation:none!important}.giveaway-card-tilt{transform:none}}
@media(forced-colors:active){.giveaway-title strong{background:none;color:CanvasText;filter:none}.giveaway-join,.giveaway-decline,.giveaway-copy{border:2px solid ButtonText}}
