/* Blake's Spin & Win — homepage feature, site-wide strip, partners mini wheel.
   Owner order Nov 10, 2026. SVG + CSS/JS only, no libraries. */

/* ---------- Homepage billboard ---------- */
.sw-feature{background:linear-gradient(180deg,#101012,#17171a);border-top:3px solid var(--gold);border-bottom:1px solid var(--line)}
.sw-feature-in{display:flex;gap:44px;align-items:center}
.sw-wheel-side{flex:none;text-align:center}
.sw-copy{flex:1;min-width:0}
.sw-copy h2{margin-top:0}
.sw-tap-hint{color:var(--grey);font-size:.9rem;margin:12px 0 0}
.sw-join-note{max-width:340px;margin:14px auto 0;background:var(--panel2);border:1px solid var(--gold);border-radius:var(--radius);padding:12px 14px;color:var(--white);font-size:.95rem}
.sw-join-note strong{color:var(--yellow)}

/* ---------- The wheel ---------- */
.sw-wheel-wrap{position:relative;width:340px;height:340px;max-width:80vw;aspect-ratio:1;margin:0 auto}
.sw-wheel-wrap.sw-small{width:190px;height:190px}
.sw-pointer{position:absolute;top:-7px;left:50%;transform:translateX(-50%);z-index:3;width:0;height:0;border-left:13px solid transparent;border-right:13px solid transparent;border-top:20px solid var(--yellow);filter:drop-shadow(0 2px 3px rgba(0,0,0,.55))}
.sw-wheel{position:absolute;inset:0;border-radius:50%;cursor:pointer;outline-offset:4px}
.sw-wheel:focus-visible{outline:3px solid var(--yellow)}
.sw-rotor{position:absolute;inset:0;border-radius:50%;animation:sw-idle 70s linear infinite;will-change:transform}
.sw-rotor svg{display:block;width:100%;height:100%}
@keyframes sw-idle{to{transform:rotate(360deg)}}
.sw-hub{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:2;width:88px;height:88px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#ffe45e,var(--yellow) 55%,var(--gold));color:#141414;font-weight:900;font-size:.82rem;line-height:1.15;letter-spacing:.5px;display:flex;align-items:center;justify-content:center;text-align:center;border:3px solid #070708;box-shadow:0 4px 14px rgba(0,0,0,.5);pointer-events:none}
.sw-wheel-wrap.sw-small .sw-hub{width:54px;height:54px;font-size:.56rem;border-width:2px}
.sw-wheel.is-settled .sw-rotor{animation:none}

/* ---------- Site-wide strip ---------- */
.sw-strip{background:var(--yellow);color:#141414;border-top:3px solid #141414}
.sw-strip-in{display:flex;gap:16px;align-items:center;justify-content:space-between;padding-top:12px;padding-bottom:12px}
.sw-strip p{margin:0;font-size:1rem;line-height:1.4}
.sw-strip-btn{flex:none;display:inline-block;background:#141414;color:var(--yellow);font-weight:800;padding:11px 20px;border-radius:999px;text-decoration:none;font-size:.95rem}
.sw-strip-btn:hover{background:#000;color:#ffe45e}

/* ---------- Partners page mini ---------- */
.sw-mini{display:flex;gap:20px;align-items:center;background:var(--panel2);border:1px solid var(--line);border-radius:var(--radius);padding:18px;margin-top:24px}
.sw-mini .sw-wheel-side{flex:none}
.sw-mini p{margin:0}
.sw-mini .sw-tap-hint{margin-top:8px}

@media (max-width:820px){
  .sw-feature-in{flex-direction:column;gap:26px}
  .sw-copy{text-align:center}
  .sw-copy .btnrow{justify-content:center}
  .sw-strip-in{flex-direction:column;text-align:center;gap:10px}
  .sw-mini{flex-direction:column;text-align:center}
}
@media (prefers-reduced-motion: reduce){
  .sw-rotor{animation:none}
}
