/* Willard Register & Win — frontend styles (ported 1:1 from the approved demo design). */

.wrw-stage, .wrw-stage * { box-sizing: border-box; }
.wrw-stage {
  font-family: 'Oswald', system-ui, sans-serif;
  -webkit-font-smoothing: antialiased;
  position: relative;
  min-height: 100vh;
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 34px 16px 46px;
  background: radial-gradient(120% 90% at 50% 8%, var(--wrw-bg1,#123422) 0%, var(--wrw-bg2,#08201310) 35%, var(--wrw-bg3,#061a10) 55%, var(--wrw-bg4,#020a06) 100%);
  overflow: hidden;
}
.wrw-stage a { color: #00953B; text-decoration: none; }
.wrw-stage a:hover { color: #007a30; }

/* ------------------------------------------------------------ Keyframes */
@keyframes wrwPulse { 0%,100% { transform: translateY(0); } 50% { transform: translateY(6px); } }
@keyframes wrwConfettiFall { 0% { transform: translateY(-20px) translateX(0) rotate(0); } 100% { transform: translateY(112vh) translateX(var(--drift, 0px)) rotate(760deg); } }
@keyframes wrwWinPop { 0% { transform: scale(.7); opacity: 0; } 60% { transform: scale(1.04); } 100% { transform: scale(1); opacity: 1; } }
@keyframes wrwEdison {
  0%,40% { box-shadow: 0 0 10px 3px rgba(255,170,60,.95), 0 0 24px 8px rgba(255,130,25,.5), inset 0 -2px 3px rgba(150,70,0,.5), inset 0 1px 2px rgba(255,245,210,.85); filter: brightness(1.32) saturate(1.15); }
  55%,100% { box-shadow: 0 0 3px rgba(0,0,0,.35), inset 0 -2px 3px rgba(0,0,0,.55); filter: brightness(.42); }
}
@keyframes wrwNeon {
  0%,100% { box-shadow: 0 0 40px 8px var(--wrw-halo-a,rgba(255,180,60,.5)), 0 0 90px 22px var(--wrw-halo-b,rgba(0,150,60,.32)); }
  50% { box-shadow: 0 0 56px 14px var(--wrw-halo-c,rgba(255,120,30,.55)), 0 0 120px 34px var(--wrw-halo-d,rgba(255,190,70,.4)); }
}
@keyframes wrwTextGlow {
  0%,100% { text-shadow: 0 2px 0 #a8000c, 0 0 10px rgba(255,190,70,.7), 0 0 22px rgba(255,170,50,.5); }
  50% { text-shadow: 0 2px 0 #a8000c, 0 0 18px rgba(255,255,220,.95), 0 0 40px rgba(255,180,60,.95); }
}
@keyframes wrwSweep { 0% { transform: translateX(-130%) skewX(-18deg); } 100% { transform: translateX(340%) skewX(-18deg); } }
@keyframes wrwFlareDrift { 0%,100% { opacity: .45; transform: translateX(-10px) scaleY(1); } 50% { opacity: .95; transform: translateX(10px) scaleY(1.25); } }
@keyframes wrwStar { 0%,100% { opacity: .55; transform: scale(.85) rotate(0deg); } 50% { opacity: 1; transform: scale(1.15) rotate(45deg); } }
@keyframes wrwGrain { 0% { transform: translate(0,0); } 25% { transform: translate(-4%,2%); } 50% { transform: translate(3%,-3%); } 75% { transform: translate(-2%,4%); } 100% { transform: translate(0,0); } }

/* ------------------------------------------------------------- Backdrop */
.wrw-spotlight { position: absolute; top: -12%; left: 50%; transform: translateX(-50%); width: 130%; height: 85%; background: radial-gradient(50% 50% at 50% 45%, var(--wrw-glow,rgba(0,170,70,.3)), transparent 70%); filter: blur(24px); pointer-events: none; z-index: 0; }
.wrw-scanlines { position: absolute; inset: 0; background: repeating-linear-gradient(90deg, rgba(255,255,255,.025) 0 3px, transparent 3px 26px); opacity: .55; pointer-events: none; z-index: 0; }
.wrw-vignette { position: absolute; inset: 0; z-index: 20; pointer-events: none; box-shadow: inset 0 0 170px 46px rgba(0,0,0,.72); }
.wrw-grain { position: absolute; inset: -10%; z-index: 21; pointer-events: none; opacity: .06; mix-blend-mode: overlay; background-image: url('data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%22120%22 height=%22120%22%3E%3Cfilter id=%22n%22%3E%3CfeTurbulence type=%22fractalNoise%22 baseFrequency=%220.9%22 numOctaves=%222%22/%3E%3C/filter%3E%3Crect width=%22100%25%22 height=%22100%25%22 filter=%22url(%23n)%22/%3E%3C/svg%3E'); background-size: 170px; animation: wrwGrain 1.1s steps(4) infinite; }

.wrw-frame { position: relative; width: 100%; max-width: 400px; padding-right: 26px; z-index: 2; }

/* --------------------------------------------------------- Sound toggle */
.wrw-mute { position: absolute; top: -2px; left: 0; z-index: 11; width: 36px; height: 36px; border-radius: 50%; border: 1px solid rgba(255,255,255,.15); cursor: pointer; background: rgba(6,20,12,.6); backdrop-filter: blur(3px); display: flex; align-items: center; justify-content: center; box-shadow: 0 3px 8px rgba(0,0,0,.5); padding: 0; }

/* ---------------------------------------------------------------- Lever */
.wrw-lever { position: absolute; top: 298px; right: -30px; z-index: 6; width: 70px; height: 246px; pointer-events: none; perspective: 620px; perspective-origin: 50% 100%; }
.wrw-lever-bracket { position: absolute; left: 9px; bottom: 0; width: 50px; height: 50px; border-radius: 12px; background: linear-gradient(160deg,#4a4d52,#191b1e); box-shadow: inset 0 2px 3px rgba(255,255,255,.25), 0 5px 10px rgba(0,0,0,.6); }
.wrw-lever-hub { position: absolute; left: 14px; bottom: 6px; width: 40px; height: 40px; border-radius: 50%; background: radial-gradient(circle at 35% 30%, #8b8e93, #2c2e33 72%); box-shadow: inset 0 2px 3px rgba(255,255,255,.45), inset 0 -3px 5px rgba(0,0,0,.6), 0 3px 6px rgba(0,0,0,.5); }
.wrw-lever-pin { position: absolute; left: 29px; bottom: 20px; width: 10px; height: 10px; border-radius: 50%; background: radial-gradient(circle at 35% 30%, #e9edf1, #6a6e73); box-shadow: 0 1px 2px rgba(0,0,0,.6); }
.wrw-lever-grab { position: absolute; left: 19px; bottom: 20px; width: 32px; height: 196px; transform-origin: 50% 100%; cursor: grab; pointer-events: auto; touch-action: none; z-index: 2; transform-style: preserve-3d; }
.wrw-lever-arm { position: absolute; left: 0; top: 0; width: 32px; height: 196px; transform-origin: 50% 100%; transform-style: preserve-3d; transition: transform .55s cubic-bezier(.34,1.4,.5,1); }
.wrw-lever-arm.wrw-dragging { transition: none; }
.wrw-lever-shaft { position: absolute; left: 9px; bottom: 0; width: 14px; height: 170px; border-radius: 7px; background: linear-gradient(90deg,#71757b 0%,#dfe3e7 26%,#ffffff 44%,#c3c8ce 62%,#797d83 82%,#5a5e63 100%); box-shadow: inset 0 0 2px rgba(255,255,255,.6), 0 3px 7px rgba(0,0,0,.5); }
.wrw-lever-collar { position: absolute; left: 6px; bottom: 150px; width: 20px; height: 16px; border-radius: 5px; background: linear-gradient(180deg,#e9edf1,#8c9096); box-shadow: inset 0 1px 1px #fff, 0 2px 3px rgba(0,0,0,.4); }
.wrw-lever-ball { position: absolute; left: -9px; top: -8px; width: 50px; height: 50px; border-radius: 50%; background: radial-gradient(circle at 34% 26%, #ff8a80 0%, #ee2b2b 42%, #a01010 100%); box-shadow: inset 0 3px 7px rgba(255,255,255,.6), inset 0 -7px 12px rgba(0,0,0,.45), 0 8px 18px rgba(0,0,0,.55); }
.wrw-lever-shine { position: absolute; left: 2px; top: -1px; width: 16px; height: 12px; border-radius: 50%; background: radial-gradient(circle, rgba(255,255,255,.85), rgba(255,255,255,0) 70%); filter: blur(1px); }

/* -------------------------------------------------------------- Cabinet */
.wrw-halo { position: absolute; inset: 4px; z-index: 1; border-radius: 120px 120px 30px 30px; animation: wrwNeon 1.8s ease-in-out infinite; pointer-events: none; }
.wrw-cabinet { position: relative; z-index: 4; border-radius: 120px 120px 30px 30px; padding: 16px 16px 22px; background: linear-gradient(90deg,var(--wrw-cab1,#022f11) 0%,var(--wrw-cab2,#075e26) 13%,var(--wrw-cab3,#0e8a39) 43%,var(--wrw-cab4,#0a7530) 63%,var(--wrw-cab5,#044c1e) 90%,var(--wrw-cab6,#012409) 100%); box-shadow: 0 34px 64px rgba(0,0,0,.7), inset 0 2px 3px rgba(255,255,255,.32), inset 0 -16px 30px rgba(0,0,0,.45); border: 1px solid rgba(0,0,0,.4); }
.wrw-cab-shade { position: absolute; inset: 0; border-radius: 120px 120px 30px 30px; background: linear-gradient(180deg, rgba(255,255,255,.14), rgba(255,255,255,0) 20%, rgba(0,0,0,.18) 78%, rgba(0,0,0,.42)); pointer-events: none; }
.wrw-cab-rim { position: absolute; inset: 3px; border-radius: 118px 118px 28px 28px; box-shadow: inset 0 0 0 2px rgba(255,255,255,.12), inset 0 0 0 3px rgba(0,0,0,.3); pointer-events: none; }
.wrw-cab-gloss { position: absolute; top: 8px; left: 16%; right: 32%; height: 130px; border-radius: 100px; background: linear-gradient(180deg, rgba(255,255,255,.5), rgba(255,255,255,0)); filter: blur(3px); pointer-events: none; }

.wrw-logo-panel { position: relative; margin: 14px 10px 4px; background: #fff; border-radius: 14px; padding: 14px 18px; box-shadow: inset 0 0 0 3px rgba(0,0,0,.15), 0 6px 14px rgba(0,0,0,.45); }
.wrw-logo-panel img { display: block; width: 100%; height: auto; }
/* "No white block" mode: a transparent PNG sits straight on the cabinet. */
.wrw-logo-panel.wrw-logo-bare { background: transparent; box-shadow: none; padding: 6px 2px; border-radius: 0; }
.wrw-logo-panel.wrw-logo-bare img { filter: drop-shadow(0 4px 8px rgba(0,0,0,.45)); }

.wrw-marquee { position: relative; text-align: center; margin: 8px 4px 14px; z-index: 5; }
.wrw-marquee-text { font-family: 'Anton', sans-serif; font-size: 30px; line-height: 1; letter-spacing: 1px; color: var(--wrw-accent,#FFD200); text-transform: uppercase; -webkit-text-stroke: 1px rgba(120,0,0,.35); animation: wrwTextGlow 1.3s ease-in-out infinite; }
.wrw-marquee-text .wrw-amp { color: #fff; -webkit-text-stroke: 1px rgba(0,0,0,.2); }
.wrw-marquee-bulbs { display: flex; justify-content: center; gap: 8px; margin-top: 10px; }

/* Edison bulbs (marquee row + reel frame). */
.wrw-bulb { position: relative; width: 14px; height: 14px; border-radius: 50%; background: radial-gradient(circle at 42% 34%, #fff6d8 0%, #ffd180 32%, #f39a2e 62%, #a85e12 100%); animation: wrwEdison 1.15s ease-in-out infinite; }
.wrw-bulb::before { content: ''; position: absolute; left: 50%; top: 52%; transform: translate(-50%,-50%); width: 3px; height: 6px; border-radius: 2px; background: linear-gradient(180deg,#fff3c0,#ff9a2e); box-shadow: 0 0 4px 1px rgba(255,180,70,.9); }
.wrw-frame-bulb { position: absolute; transform: translate(-50%,-50%); width: 13px; height: 13px; }

/* ---------------------------------------------------------- Reel window */
.wrw-reel-window { position: relative; margin: 0 4px; padding: 16px; border-radius: 16px; background: linear-gradient(180deg,#141414,#000); box-shadow: inset 0 0 0 4px #d9dde1, inset 0 0 0 8px #6c7075, inset 0 8px 20px rgba(0,0,0,.8); }
.wrw-frame-bulbs { position: absolute; inset: 4px; pointer-events: none; z-index: 8; }
.wrw-reels { position: relative; display: flex; gap: 8px; height: 168px; border-radius: 8px; overflow: hidden; background: #0a0a0a; }
.wrw-reel { position: relative; flex: 1; overflow: hidden; background: linear-gradient(90deg,#dfe2df,#f4f6f4 22%,#ffffff 50%,#eef0ee 78%,#d8dbd8); box-shadow: inset 6px 0 10px rgba(0,0,0,.3), inset -6px 0 10px rgba(0,0,0,.3); }
.wrw-strip { position: absolute; top: 0; left: 0; width: 100%; will-change: transform; transform: translateY(28px); }
.wrw-tile { height: 112px; padding: 7px; display: flex; align-items: center; justify-content: center; }
.wrw-tile-inner { position: relative; width: 100%; height: 100%; border-radius: 12px; background: linear-gradient(160deg,#ffffff,#eef1ee); box-shadow: inset 0 0 0 2px rgba(0,0,0,.06), 0 2px 4px rgba(0,0,0,.14); overflow: hidden; display: flex; align-items: center; justify-content: center; }
.wrw-tile-img { width: 84%; height: 84%; background-size: contain; background-repeat: no-repeat; background-position: center; filter: drop-shadow(0 2px 3px rgba(0,0,0,.28)); }

.wrw-payline-dim { position: absolute; inset: 0; pointer-events: none; z-index: 3; background: linear-gradient(180deg, rgba(0,0,0,.36) 0, rgba(0,0,0,.36) 28px, rgba(0,0,0,0) 28px, rgba(0,0,0,0) 140px, rgba(0,0,0,.36) 140px, rgba(0,0,0,.36) 168px); }
.wrw-payline { position: absolute; left: 0; right: 0; top: 28px; height: 112px; border-top: 2px solid var(--wrw-accent-60,rgba(255,190,60,.6)); border-bottom: 2px solid var(--wrw-accent-60,rgba(255,190,60,.6)); pointer-events: none; z-index: 3; }
.wrw-reel-sep { position: absolute; inset: 0; pointer-events: none; z-index: 4; background: linear-gradient(90deg, transparent 32%, rgba(0,0,0,.35) 33%, transparent 34%, transparent 65%, rgba(0,0,0,.35) 66%, transparent 67%); }
.wrw-glass { position: absolute; inset: 0; pointer-events: none; z-index: 5; background: linear-gradient(115deg, rgba(255,255,255,.3) 0%, rgba(255,255,255,.05) 22%, transparent 40%); border-radius: 8px; }
.wrw-inner-shadow { position: absolute; inset: 0; pointer-events: none; z-index: 5; box-shadow: inset 0 0 40px rgba(0,0,0,.6); }
.wrw-sweep { position: absolute; top: 0; left: 0; width: 38%; height: 100%; z-index: 6; background: linear-gradient(90deg, transparent, rgba(255,255,255,.35), transparent); animation: wrwSweep 3.4s ease-in-out infinite; pointer-events: none; }

/* ---------------------------------------------------------- Control deck */
.wrw-deck { display: flex; align-items: center; gap: 9px; margin: 16px 8px 4px; position: relative; z-index: 5; }
.wrw-deck-keys { display: flex; gap: 6px; flex: 1; }
.wrw-deck-key { flex: 1; height: 26px; border-radius: 5px; background: linear-gradient(180deg,#f2f5f8,#8f9398); box-shadow: inset 0 1px 1px #fff, 0 2px 3px rgba(0,0,0,.45); }
.wrw-deck-dot { width: 28px; height: 28px; border-radius: 50%; background: radial-gradient(circle at 35% 30%, #fff, #9a9ea3); box-shadow: inset 0 1px 2px #fff, 0 2px 4px rgba(0,0,0,.5); }
.wrw-deck-gold { width: 40px; height: 40px; border-radius: 50%; background: radial-gradient(circle at 35% 28%, #fff0b0, #f0b400 60%, #8f6800); box-shadow: inset 0 2px 3px rgba(255,255,255,.65), 0 0 14px 3px rgba(255,190,60,.5), 0 3px 6px rgba(0,0,0,.5); }

.wrw-lower { position: relative; z-index: 5; margin: 16px 6px 4px; height: 96px; border-radius: 16px; background: linear-gradient(180deg, rgba(0,0,0,.16), rgba(0,0,0,.34)); box-shadow: inset 0 2px 4px rgba(255,255,255,.14), inset 0 -6px 14px rgba(0,0,0,.35); display: flex; align-items: flex-start; justify-content: center; padding-top: 16px; }
.wrw-coin-slot { width: 120px; height: 26px; border-radius: 6px; background: linear-gradient(180deg,#0a0a0a,#1c1c1c); box-shadow: inset 0 0 0 4px #cfd3d7, inset 0 0 0 7px #6c7075, inset 0 4px 8px rgba(0,0,0,.9); }

.wrw-hint { position: relative; z-index: 5; text-align: center; margin-top: 12px; font-family: 'Oswald', sans-serif; font-weight: 600; font-size: 13px; letter-spacing: 2px; text-transform: uppercase; color: var(--wrw-accent,#FFD200); animation: wrwPulse 1.4s ease-in-out infinite; display: none; }
.wrw-hint.wrw-show { display: block; }

/* ------------------------------------------------------------ Lens flares */
.wrw-flare-line { position: absolute; top: 158px; left: -12%; width: 124%; height: 8px; background: linear-gradient(90deg, transparent, rgba(150,215,255,.7), rgba(255,255,255,.9), rgba(150,215,255,.7), transparent); filter: blur(2.5px); z-index: 7; pointer-events: none; animation: wrwFlareDrift 5s ease-in-out infinite; }
.wrw-star { position: absolute; z-index: 8; pointer-events: none; }
.wrw-star-core { position: absolute; inset: 0; animation: wrwStar 3.6s ease-in-out infinite; }
.wrw-star-1 { top: 158px; left: 66%; width: 66px; height: 66px; }
.wrw-star-1 .wrw-star-core { background: radial-gradient(circle, rgba(255,255,255,.95), rgba(180,225,255,.35) 40%, transparent 66%); }
.wrw-star-1 .wrw-star-core::before { content: ''; position: absolute; left: 50%; top: 50%; transform: translate(-50%,-50%); width: 150%; height: 2px; background: linear-gradient(90deg, transparent, rgba(255,255,255,.9), transparent); }
.wrw-star-1 .wrw-star-core::after { content: ''; position: absolute; left: 50%; top: 50%; transform: translate(-50%,-50%); width: 2px; height: 150%; background: linear-gradient(180deg, transparent, rgba(255,255,255,.9), transparent); }
.wrw-star-2 { top: 96px; left: 22%; width: 44px; height: 44px; }
.wrw-star-2 .wrw-star-core { background: radial-gradient(circle, rgba(255,240,200,.85), transparent 62%); animation-duration: 4.4s; animation-delay: .8s; }
.wrw-star-2 .wrw-star-core::before { content: ''; position: absolute; left: 50%; top: 50%; transform: translate(-50%,-50%); width: 150%; height: 2px; background: linear-gradient(90deg, transparent, rgba(255,240,200,.9), transparent); }
.wrw-star-2 .wrw-star-core::after { content: ''; position: absolute; left: 50%; top: 50%; transform: translate(-50%,-50%); width: 2px; height: 150%; background: linear-gradient(180deg, transparent, rgba(255,240,200,.9), transparent); }

/* ---------------------------------------------------------- Register gate */
.wrw-gate { position: absolute; inset: 0; z-index: 12; display: flex; align-items: flex-start; justify-content: center; padding: 8px; background: var(--wrw-gate-bg,rgba(2,10,6,.74)); backdrop-filter: blur(3px); border-radius: 30px; overflow-y: auto; }
.wrw-form { width: 100%; max-width: 320px; margin: auto 0; background: linear-gradient(180deg,#ffffff,#f4f1e8); border-radius: 18px; padding: 22px 20px; box-shadow: 0 24px 50px rgba(0,0,0,.6); border: 3px solid var(--wrw-accent,#FFD200); }
.wrw-form-title { text-align: center; font-family: 'Anton', sans-serif; font-size: 24px; color: var(--wrw-primary,#00953B); text-transform: uppercase; letter-spacing: .5px; }
.wrw-form-intro { text-align: center; font-family: 'Oswald', sans-serif; font-size: 12px; color: #555; margin: 4px 0 16px; line-height: 1.35; }
.wrw-fields { display: flex; flex-direction: column; gap: 10px; }
.wrw-form input[type="text"], .wrw-form input[type="tel"], .wrw-form input[type="email"], .wrw-form input[type="number"], .wrw-form select {
  font-family: 'Oswald', sans-serif; font-size: 14px; padding: 11px 12px; border: 1.5px solid #d5cfbd; border-radius: 9px; background: #fff; outline: none; width: 100%; color: #111; line-height: 1.3; height: auto; margin: 0; box-shadow: none; appearance: auto;
}
.wrw-form input:focus, .wrw-form select:focus { border-color: var(--wrw-primary,#00953B); box-shadow: 0 0 0 3px var(--wrw-primary-soft,rgba(0,149,59,.15)); }
.wrw-name-row { display: flex; gap: 10px; }
.wrw-name-row > input { min-width: 0; }

/* Store combobox. */
.wrw-store-box { position: relative; }
.wrw-store-results { position: absolute; top: calc(100% + 4px); left: 0; right: 0; z-index: 30; background: #fff; border: 1.5px solid #d5cfbd; border-radius: 9px; box-shadow: 0 14px 30px rgba(0,0,0,.35); max-height: 200px; overflow-y: auto; display: none; }
.wrw-store-results.wrw-open { display: block; }
.wrw-store-item { padding: 9px 12px; cursor: pointer; border-bottom: 1px solid #f0ece0; font-size: 13px; }
.wrw-store-item:last-child { border-bottom: none; }
.wrw-store-item:hover, .wrw-store-item.wrw-active { background: var(--wrw-primary-pale,#eaf7ef); }
.wrw-store-item .wrw-store-name { font-weight: 600; color: #111; }
.wrw-store-item .wrw-store-addr { font-size: 11px; color: #777; margin-top: 1px; }
.wrw-store-item.wrw-disabled { cursor: not-allowed; opacity: .55; }
.wrw-store-item.wrw-disabled .wrw-store-name::after { content: ' — prizes finished'; color: #c22; font-weight: 400; font-size: 11px; }
.wrw-store-empty { padding: 10px 12px; font-size: 12px; color: #999; }

.wrw-consent { display: flex; align-items: flex-start; gap: 8px; font-family: 'Oswald', sans-serif; font-size: 11.5px; color: #555; line-height: 1.4; margin-top: 2px; cursor: pointer; }
.wrw-consent input[type="checkbox"] { margin: 2px 0 0; width: 15px; height: 15px; flex: 0 0 auto; accent-color: var(--wrw-primary,#00953B); }
.wrw-consent a { color: var(--wrw-primary,#00953B); text-decoration: underline; font-weight: 600; }
.wrw-consent a:hover { opacity: .8; }

.wrw-error { display: none; margin-top: 10px; padding: 9px 12px; border-radius: 8px; background: #fdecec; border: 1px solid #f5b5b5; color: #a11; font-size: 12.5px; line-height: 1.4; font-family: 'Oswald', sans-serif; }
.wrw-error.wrw-show { display: block; }

.wrw-submit { width: 100%; margin-top: 16px; padding: 13px; border: none; border-radius: 10px; background: linear-gradient(180deg,var(--wrw-btn1,#12b24d),var(--wrw-btn2,#00953B)); color: #fff; font-family: 'Anton', sans-serif; font-size: 17px; letter-spacing: 1px; text-transform: uppercase; cursor: pointer; box-shadow: 0 5px 0 var(--wrw-btn-dark,#006e2b), 0 8px 14px rgba(0,0,0,.4); line-height: 1.2; }
.wrw-submit:hover { filter: brightness(1.07); color: #fff; }
.wrw-submit:active { transform: translateY(3px); box-shadow: 0 2px 0 var(--wrw-btn-dark,#006e2b); }
.wrw-submit:disabled { opacity: .65; cursor: wait; transform: none; }

.wrw-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }

/* ------------------------------------------------------------ Win overlay */
.wrw-win { position: fixed; inset: 0; z-index: 99990; display: none; align-items: center; justify-content: center; padding: 20px; background: radial-gradient(circle at 50% 40%, var(--wrw-win-bg1,rgba(0,90,35,.55)), var(--wrw-win-bg2,rgba(2,10,6,.92))); }
.wrw-win.wrw-show { display: flex; }
.wrw-confetti-layer { position: fixed; inset: 0; overflow: hidden; pointer-events: none; }
.wrw-confetti { position: absolute; top: -24px; border-radius: 2px; opacity: .95; animation: wrwConfettiFall linear forwards; }
.wrw-win-card { position: relative; width: 100%; max-width: 330px; text-align: center; background: linear-gradient(180deg,#ffffff,#f4f1e8); border-radius: 22px; padding: 26px 22px 24px; box-shadow: 0 26px 60px rgba(0,0,0,.6); border: 4px solid var(--wrw-accent,#FFD200); animation: wrwWinPop .5s cubic-bezier(.2,1.3,.4,1) both; }
.wrw-win-eyebrow { font-family: 'Oswald', sans-serif; font-weight: 600; font-size: 13px; letter-spacing: 3px; text-transform: uppercase; color: var(--wrw-primary,#00953B); }
.wrw-win-title { font-family: 'Anton', sans-serif; font-size: 34px; line-height: 1; color: var(--wrw-win-title,#d81f1f); text-transform: uppercase; margin: 6px 0 2px; text-shadow: 0 2px 0 rgba(0,0,0,.12); }
.wrw-win-prize-box { margin: 16px auto 6px; width: 180px; height: 180px; border-radius: 18px; background: radial-gradient(circle at 50% 34%, #ffffff, #eef2ee); display: flex; align-items: center; justify-content: center; box-shadow: inset 0 0 0 3px var(--wrw-primary-ring,rgba(0,150,60,.22)), 0 8px 18px rgba(0,0,0,.35); overflow: hidden; }
.wrw-win-prize-img { width: 82%; height: 82%; background-size: contain; background-repeat: no-repeat; background-position: center; filter: drop-shadow(0 4px 6px rgba(0,0,0,.3)); }
.wrw-win-prize-name { font-family: 'Oswald', sans-serif; font-weight: 700; font-size: 22px; text-transform: uppercase; letter-spacing: .5px; color: #111; margin-top: 8px; }
.wrw-win-claim { font-family: 'Oswald', sans-serif; font-size: 12px; color: #666; margin: 6px 0 2px; line-height: 1.45; }
.wrw-win-email-note { font-family: 'Oswald', sans-serif; font-size: 11px; color: #999; margin-top: 10px; padding-top: 10px; border-top: 1px dashed #ddd; }

/* Full-message state (already played / no stock) reuses the card look. */
.wrw-msg-card { text-align: center; font-family: 'Oswald', sans-serif; font-size: 14px; color: #333; line-height: 1.5; padding: 6px 2px 0; }
