.promo-page{min-height:100vh;overflow:hidden;display:grid;grid-template-columns:minmax(320px,.9fr) minmax(520px,1.1fr);align-items:center;padding:48px clamp(24px,5vw,90px);position:relative;background-color:#f8dc65;background-image:var(--promo-image),radial-gradient(circle at 72% 50%,#fff9b8 0 7%,transparent 35%),repeating-radial-gradient(circle at 72% 50%,#fff2a0 0 7px,#f5d353 8px 34px);background-size:cover;background-position:center}.promo-page:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#fff7bc99,transparent 52%);pointer-events:none}.promo-copy,.wheel-stage{position:relative;z-index:1}.promo-copy{max-width:590px}.promo-copy h1{font-size:clamp(48px,6vw,92px);text-transform:uppercase;color:#e74725;text-shadow:0 5px #fff1aa;margin:20px 0}.promo-copy>p{font-size:19px;font-weight:650}.sale-tag{display:inline-block;padding:12px 20px;background:#f06432;color:#fff;border-radius:9px;letter-spacing:2px;font-weight:900}.mega-sale{width:250px;aspect-ratio:1;clip-path:polygon(50% 0,61% 18%,82% 8%,88% 30%,100% 50%,85% 63%,86% 87%,62% 86%,50% 100%,36% 84%,13% 88%,14% 64%,0 50%,16% 36%,12% 12%,37% 17%);background:#f06432;color:#ffe983;display:flex;flex-direction:column;align-items:center;justify-content:center;transform:rotate(-5deg);margin:30px auto;font-weight:900}.mega-sale strong{font-size:55px;line-height:.9}.mega-sale b{font-size:50px}.tap-hint{text-align:center}.wheel-stage{width:min(680px,48vw);aspect-ratio:1;margin:auto;display:grid;place-items:center;filter:drop-shadow(0 24px 25px #85400066)}.promo-wheel{position:absolute;inset:5%;border-radius:50%;border:9px solid #f7c944;box-shadow:inset 0 0 0 4px #9e1b12;overflow:hidden}.promo-wheel:after{content:"";position:absolute;inset:0;border-radius:50%;box-shadow:inset 0 0 36px #6d080880}.bulb-ring{position:absolute;inset:0;border-radius:50%;background:#e51d13;border:9px solid #ffd95e;box-shadow:inset 0 0 0 8px #9f140e}.bulb-ring:after{content:"";position:absolute;inset:4px;border-radius:50%;background:repeating-conic-gradient(#fff7b2 0 3deg,transparent 3deg 22.5deg);mask:radial-gradient(circle,transparent 0 88%,#000 88%)}.wheel-pointer{position:absolute;z-index:8;top:-3px;width:70px;height:90px;background:linear-gradient(90deg,#9c5100,#ffe17b,#a44d00);clip-path:polygon(5% 0,95% 0,72% 75%,50% 100%,28% 75%);filter:drop-shadow(0 5px 3px #7d2500)}.prize-label{position:absolute;z-index:2;left:50%;top:50%;width:170px;text-align:center;color:#fff;font-weight:900;font-size:clamp(12px,1.25vw,20px);text-shadow:0 2px 3px #6e0000;transform-origin:0 0;transform:rotate(calc((360deg / var(--count)) * var(--i) + (180deg / var(--count)))) translateY(-13.8vw) rotate(90deg)}.prize-label.dark{color:#d71920;text-shadow:none}.wheel-button{position:absolute;z-index:10;width:132px;height:132px;border-radius:50%;border:9px solid #f3c85a;background:#fffaf0;color:#b51d1d;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:22px;box-shadow:0 8px 22px #81000055}.wheel-button span{color:#e5b73f;font-size:38px;line-height:.8}.wheel-button:hover{transform:scale(1.05)}.ready-to-spin{background:#fff6cd;color:#15803d}.modal[hidden]{display:none}.modal{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:20px}.modal-backdrop{position:absolute;inset:0;background:#2b1200b8;backdrop-filter:blur(5px)}.modal-card{position:relative;z-index:1;width:min(460px,100%);background:#fff;border-radius:22px;padding:32px;box-shadow:0 30px 90px #0008;animation:modalIn .22s ease-out}.modal-card h2{font-size:32px;color:#9f1239;margin:10px 0}.modal-card p{color:#667085}.modal-card button[type=submit]{width:100%;margin-top:18px}.modal-close{position:absolute;right:14px;top:12px;background:#f3f4f6;color:#4b5563;border-radius:50%;width:36px;height:36px;padding:0;font-size:24px}.modal-open{overflow:hidden}@keyframes modalIn{from{opacity:0;transform:translateY(18px) scale(.97)}}@media(max-width:900px){.promo-page{grid-template-columns:1fr;padding:30px 16px}.promo-copy{text-align:center;margin:auto}.promo-copy h1{font-size:44px}.mega-sale{display:none}.wheel-stage{width:min(94vw,580px)}.prize-label{transform:rotate(calc((360deg / var(--count)) * var(--i) + (180deg / var(--count)))) translateY(-30vw) rotate(90deg)}.tap-hint{margin-bottom:25px}}@media(max-width:520px){.wheel-button{width:95px;height:95px;font-size:16px}.wheel-button span{font-size:25px}.prize-label{width:110px;font-size:11px}.promo-copy h1{font-size:35px}.promo-copy>p{font-size:15px}.sale-tag{font-size:10px}}
