/* Spin & Win — builds on /mindset/mindset.css */
.notice{background:rgba(246,183,52,.12);border:1px solid rgba(246,183,52,.45);color:#ffe2a6;border-radius:14px;padding:12px 14px;font-size:14px;margin:14px 0 0}
.notice b{color:#fff}
.wheelbox{position:relative;width:min(340px,86vw);aspect-ratio:1;margin:26px auto 6px}
.wheel-svg{width:100%;height:100%;display:block;border-radius:50%;box-shadow:0 0 0 8px rgba(255,255,255,.08),0 0 0 10px rgba(141,198,63,.5),0 18px 50px rgba(0,0,0,.45),0 0 60px rgba(41,168,224,.25);transition:transform 5.2s cubic-bezier(.12,.7,.08,1)}
.wheel-svg text{font:900 30px "Montserrat",system-ui,sans-serif;fill:#0B1E3D}
.wheel-svg text.lt{fill:#fff}
.pointer{position:absolute;top:-14px;left:50%;transform:translateX(-50%);width:0;height:0;border-left:17px solid transparent;border-right:17px solid transparent;border-top:32px solid #fff;filter:drop-shadow(0 3px 4px rgba(0,0,0,.5));z-index:3}
.hub{position:absolute;inset:0;margin:auto;width:27%;height:27%;border-radius:50%;background:#0B1E3D;border:4px solid #fff;display:grid;place-items:center;overflow:hidden;box-shadow:0 4px 14px rgba(0,0,0,.5);z-index:2}
.hub img{width:100%;height:100%;object-fit:cover}
.spinning .btn{pointer-events:none;opacity:.7}
/* coupon */
.coupon{position:relative;margin:14px auto 0;max-width:460px;border-radius:24px;padding:22px 22px 18px;text-align:center;overflow:hidden;
  background:radial-gradient(80% 60% at 50% 0%,rgba(41,168,224,.35),rgba(41,168,224,0) 70%),linear-gradient(160deg,#10285a,#0B1E3D 55%,#081630);
  border:1.5px solid rgba(141,198,63,.6);box-shadow:0 20px 50px rgba(0,0,0,.45)}
.coupon:before,.coupon:after{content:"";position:absolute;top:58%;width:26px;height:26px;border-radius:50%;background:var(--deep)}
.coupon:before{left:-13px}.coupon:after{right:-13px}
.c-top{display:flex;align-items:center;justify-content:center;gap:10px;text-align:left}
.c-top img{border-radius:50%}
.c-top b{display:block;font:900 18px var(--head);letter-spacing:.04em}
.c-top span{color:var(--lime);font:700 12px var(--body);letter-spacing:.14em;text-transform:uppercase}
.c-pct{font:900 clamp(56px,17vw,84px)/1 var(--head);margin:16px 0 4px;background:linear-gradient(90deg,var(--lime),var(--sky));-webkit-background-clip:text;background-clip:text;color:transparent}
.c-on{margin:0 0 14px;color:#dbe4f1;font-size:14px}
.c-code{border:2px dashed rgba(255,255,255,.35);border-radius:14px;padding:10px;margin:0 0 14px}
.c-code span,.c-row span{display:block;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.12em;font-weight:700}
.c-code b{font:900 28px var(--head);letter-spacing:.12em;color:#fff}
.c-row{display:grid;grid-template-columns:1fr 1.4fr;gap:10px;text-align:left}
.c-row b{font-size:14px}
.c-status{margin:14px 0 0;font-weight:700;font-size:14px;border-radius:999px;padding:6px 12px;display:inline-block}
.c-status.upcoming{background:rgba(246,183,52,.16);color:var(--gold)}
.c-status.active{background:rgba(141,198,63,.18);color:var(--lime)}
.c-status.expired{background:rgba(255,255,255,.08);color:var(--silver)}
.c-status.redeemed{background:rgba(41,168,224,.18);color:var(--sky)}
.claim .seg{margin-top:12px}
.claim .seg button{text-align:center}
.terms{margin-top:34px;padding:16px 18px;border-radius:16px;background:rgba(255,255,255,.03);border:1px solid var(--line);font-size:13.5px;color:#c9d4e4}
.terms h3{font-size:15px;color:#fff}
.terms ol{padding-left:20px;margin:0 0 10px}
.terms li{margin:6px 0}
.terms b{color:#fff}
.plink{color:var(--sky)}
@keyframes pop{0%{transform:scale(.85);opacity:0}60%{transform:scale(1.04);opacity:1}100%{transform:scale(1)}}
.coupon.pop{animation:pop .55s ease}
@media (prefers-reduced-motion:reduce){.wheel-svg{transition-duration:.01s}.coupon.pop{animation:none}}

/* save / share coupon card */
.save-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px}
.save-row .btn{flex:1 1 180px;margin:0}
.save-row [hidden],.card-preview[hidden]{display:none!important}
.card-preview{margin:14px auto 0;max-width:340px;text-align:center}
.card-preview img{display:block;width:100%;height:auto;border-radius:14px;border:1px solid var(--line);-webkit-touch-callout:default;user-select:auto}
.card-preview figcaption{font-size:12.5px;color:#aab6c9;margin-top:8px;line-height:1.45}
.card-preview figcaption b{color:#fff}
