/* CasinosBuddy Wheel of Fortune (see wheel.js). Dark premium panel in both themes. */
.cbw{--cbw-size:min(460px,86vw);position:relative;isolation:isolate;overflow:hidden;border-radius:var(--radius-2xl,16px);
  background:#0c111d;color:#fff;border:1px solid rgba(233,185,73,.16);
  box-shadow:0 0 0 1px rgba(233,185,73,.08) inset,0 30px 70px -34px rgba(40,30,140,.9)}
.cbw-bg{position:absolute;inset:0;z-index:-1}
.cbw-bg img{width:100%;height:100%;object-fit:cover;object-position:right center;display:block}
.cbw-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#0c111d 0%,rgba(12,17,29,.86) 30%,rgba(12,17,29,.25) 62%,rgba(12,17,29,0) 80%)}
.cbw-grid{display:grid;grid-template-columns:minmax(0,1fr) var(--cbw-size) minmax(0,.85fr);align-items:center;gap:32px;padding:40px}
.cbw-copy{max-width:360px}
.cbw-kicker{display:inline-flex;align-items:center;gap:8px;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#e9b949;font-weight:600}
.cbw-kicker::before{content:"";width:8px;height:8px;border-radius:50%;background:#e9b949;box-shadow:0 0 0 0 rgba(233,185,73,.7);animation:cbwPulse 1.8s infinite}
.cbw-title{margin:10px 0 0;font-size:clamp(26px,3.2vw,38px);line-height:1.1;font-weight:700;letter-spacing:-.01em;text-shadow:0 2px 24px rgba(0,0,0,.4)}
.cbw-title span{background:linear-gradient(90deg,#fff1c1,#e9b949 50%,#c58a2a);-webkit-background-clip:text;background-clip:text;color:transparent}
.cbw-text{margin-top:12px;color:var(--color-gray-300,#d0d5dd);font-size:15px;line-height:1.6}
.cbw-cta{margin-top:22px;display:inline-flex;align-items:center;gap:10px;padding:14px 26px;border-radius:999px;border:0;cursor:pointer;
  font-weight:700;letter-spacing:.04em;color:#1b1402;background:linear-gradient(180deg,#fff1c1,#e9b949 45%,#c58a2a);
  box-shadow:0 10px 30px -8px rgba(233,185,73,.7),inset 0 1px 0 rgba(255,255,255,.7);transition:transform .2s,box-shadow .2s}
.cbw-cta:hover{transform:translateY(-2px);box-shadow:0 16px 36px -8px rgba(233,185,73,.85),inset 0 1px 0 rgba(255,255,255,.7)}
.cbw.is-spinning .cbw-cta{opacity:.6;pointer-events:none}
.cbw-status{margin-top:12px;font-size:13px;color:var(--color-gray-400,#98a2b3)}
.cbw-status b{color:#fff;font-variant-numeric:tabular-nums}
.cbw-again{background:none;border:0;padding:0;color:#e9b949;text-decoration:underline;cursor:pointer;font:inherit}
.cbw-note{margin-top:16px;font-size:11px;color:var(--color-gray-500,#667085)}

/* stage */
.cbw-stage{position:relative;width:var(--cbw-size);aspect-ratio:1;justify-self:center}
.cbw-glow{position:absolute;inset:-8%;border-radius:50%;z-index:0;
  background:radial-gradient(circle,rgba(233,185,73,.35) 0%,rgba(90,70,255,.28) 38%,transparent 66%);filter:blur(6px);animation:cbwBreath 4s ease-in-out infinite}
.cbw-disc{position:absolute;inset:16.8%;border-radius:50%;z-index:1;will-change:transform;box-shadow:0 0 40px rgba(0,0,0,.6) inset}
.cbw-disc svg{display:block;width:100%;height:100%;border-radius:50%}
.cbw-label{fill:#fff;font:800 50px/1 Outfit,system-ui,sans-serif;letter-spacing:1px;paint-order:stroke;stroke:rgba(10,12,40,.55);stroke-width:6px}
.cbw-rim{position:absolute;inset:0;width:100%;height:100%;z-index:2;pointer-events:none;filter:drop-shadow(0 18px 30px rgba(0,0,0,.55))}
/* chasing shimmer over the bulbs */
.cbw-lights{position:absolute;inset:0;z-index:3;border-radius:50%;pointer-events:none;mix-blend-mode:screen;
  background:conic-gradient(from 0deg,transparent 0 70%,rgba(255,236,170,.75) 80%,transparent 90%);
  -webkit-mask:radial-gradient(circle,transparent 0 76%,#000 79% 95%,transparent 97%);mask:radial-gradient(circle,transparent 0 76%,#000 79% 95%,transparent 97%);
  animation:cbwChase 3.2s linear infinite}
.cbw.is-spinning .cbw-lights{animation-duration:.7s}
.cbw.is-won .cbw-lights{animation:cbwFlash .3s steps(2) 6}
.cbw-hub{position:absolute;left:50%;top:50%;width:24%;aspect-ratio:1;transform:translate(-50%,-50%);z-index:4;border:0;padding:0;border-radius:50%;
  background:none;cursor:pointer;filter:drop-shadow(0 8px 16px rgba(0,0,0,.6));transition:transform .2s}
.cbw-hub img{width:100%;height:100%;display:block;border-radius:50%}
.cbw-hub span{position:absolute;left:50%;bottom:-2px;transform:translate(-50%,100%);padding:4px 12px;border-radius:999px;font:800 12px/1 Outfit,system-ui,sans-serif;
  letter-spacing:.12em;color:#1b1402;background:linear-gradient(180deg,#fff1c1,#e9b949);box-shadow:0 6px 16px -4px rgba(0,0,0,.6);white-space:nowrap}
.cbw-hub:hover{transform:translate(-50%,-50%) scale(1.05)}
.cbw.is-spinning .cbw-hub{pointer-events:none}
.cbw-pointer{position:absolute;left:50%;top:1.5%;width:12%;transform:translateX(-50%);z-index:5;transform-origin:50% 18%;filter:drop-shadow(0 6px 10px rgba(0,0,0,.6))}
.cbw-pointer.tick{animation:cbwTick .12s ease-out}

/* result dialog */
.cbw-modal{position:fixed;inset:0;margin:auto;height:fit-content;max-height:92vh;max-width:min(440px,92vw);width:100%;border:0;padding:0;border-radius:20px;color:#fff;overflow:hidden;
  background:radial-gradient(120% 90% at 50% 0%,#2c2390 0%,#121735 55%,#0c111d 100%);box-shadow:0 0 0 1px rgba(233,185,73,.35),0 40px 80px -20px rgba(0,0,0,.8)}
.cbw-modal::backdrop{background:rgba(5,7,20,.72);backdrop-filter:blur(3px)}
.cbw-modal-body{position:relative;z-index:1;padding:30px 28px 24px;text-align:center}
.cbw-modal-close{position:absolute;right:12px;top:10px;z-index:2;width:34px;height:34px;border-radius:50%;border:0;cursor:pointer;color:#fff;background:rgba(255,255,255,.08);font-size:20px;line-height:1}
.cbw-modal-icon{width:120px;height:120px;margin:0 auto;animation:cbwPop .5s cubic-bezier(.2,1.6,.4,1)}
.cbw-modal-kicker{margin-top:6px;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:#e9b949}
.cbw-modal-casino{margin-top:12px;display:flex;align-items:center;justify-content:center;gap:10px;font-weight:600;font-size:18px}
.cbw-modal-casino img{border-radius:10px}
.cbw-modal-offer{margin-top:8px;font-size:24px;font-weight:800;line-height:1.2;background:linear-gradient(90deg,#fff1c1,#e9b949);-webkit-background-clip:text;background-clip:text;color:transparent}
.cbw-modal-actions{margin-top:20px;display:flex;gap:10px;justify-content:center;flex-wrap:wrap}
.cbw-modal-actions .btn-outline{color:#fff;background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.25)}
.cbw-modal-actions .btn-outline:hover{background:rgba(255,255,255,.16)}
.cbw-modal-small{margin-top:14px;font-size:11px;color:#98a2b3}
.cbw-confetti{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:3}

@keyframes cbwChase{to{transform:rotate(360deg)}}
@keyframes cbwFlash{50%{opacity:.15}}
@keyframes cbwBreath{50%{opacity:.7;transform:scale(1.03)}}
@keyframes cbwTick{0%{transform:translateX(-50%) rotate(0)}40%{transform:translateX(-50%) rotate(-14deg)}100%{transform:translateX(-50%) rotate(0)}}
@keyframes cbwPulse{70%{box-shadow:0 0 0 8px rgba(233,185,73,0)}100%{box-shadow:0 0 0 0 rgba(233,185,73,0)}}
@keyframes cbwPop{0%{transform:scale(.4);opacity:0}100%{transform:scale(1);opacity:1}}
@media (prefers-reduced-motion:reduce){.cbw-lights,.cbw-glow,.cbw-kicker::before{animation:none}}

/* responsive */
@media (max-width:1279px){.cbw-grid{grid-template-columns:minmax(0,1fr) var(--cbw-size)}.cbw-bg::after{background:linear-gradient(90deg,#0c111d 0%,rgba(12,17,29,.8) 40%,rgba(12,17,29,.55) 100%)}}
@media (max-width:767px){
  .cbw{--cbw-size:min(360px,82vw)}
  .cbw-grid{grid-template-columns:1fr;gap:20px;padding:24px 18px 28px;text-align:center}
  .cbw-copy{max-width:none;order:1}.cbw-stage{order:2}
  .cbw-bg img{object-position:85% top}
  .cbw-bg::after{background:linear-gradient(0deg,#0c111d 30%,rgba(12,17,29,.75) 70%,rgba(12,17,29,.55) 100%)}
}
/* sidebar menu badge */
.cbw-new{margin-left:auto;padding:2px 7px;border-radius:999px;font-size:10px;font-weight:700;letter-spacing:.06em;color:#1b1402;background:linear-gradient(180deg,#fff1c1,#e9b949)}

/* ---------- floating launcher (bottom right): pill with the wheel sticking out on the left ---------- */
.cbw-fab{position:fixed;right:22px;bottom:22px;z-index:60;display:flex;align-items:center;height:54px;padding:0 22px 0 66px;border:0;cursor:pointer;
  border-radius:12px;color:#fff;font:700 19px/1 Outfit,system-ui,sans-serif;letter-spacing:.01em;white-space:nowrap;
  background:linear-gradient(90deg,#2a2492 0%,#16196a 55%,#101452 100%);
  box-shadow:inset 0 0 0 1.5px rgba(196,200,255,.55),inset 0 1px 0 rgba(255,255,255,.25),0 12px 30px -10px rgba(16,20,82,.9),0 0 24px -6px rgba(90,80,255,.6);
  transition:transform .2s ease,box-shadow .2s ease}
.cbw-fab:hover{transform:translateY(-2px);box-shadow:inset 0 0 0 1.5px rgba(233,185,73,.8),inset 0 1px 0 rgba(255,255,255,.3),0 16px 36px -10px rgba(16,20,82,1),0 0 30px -4px rgba(233,185,73,.5)}
.cbw-fab-wheel{position:absolute;left:-14px;top:50%;width:72px;height:72px;transform:translateY(-50%);filter:drop-shadow(0 6px 10px rgba(0,0,0,.55));animation:cbwFabNudge 6s ease-in-out 3s infinite}
.cbw-fab-wheel img{position:absolute;inset:0;width:100%;height:100%}
.cbw-fab-disc{position:absolute;inset:17%;border-radius:50%;animation:cbwChase 10s linear infinite;
  background:conic-gradient(#4b3bd6 0 45deg,#141a3a 0 90deg,#4b3bd6 0 135deg,#141a3a 0 180deg,#4b3bd6 0 225deg,#141a3a 0 270deg,#4b3bd6 0 315deg,#141a3a 0 360deg)}
.cbw-fab-disc::after{content:"";position:absolute;inset:0;border-radius:50%;background:repeating-conic-gradient(rgba(233,185,73,.95) 0 1.4deg,transparent 0 45deg)}
.cbw-fab .cbw-fab-hub{inset:37%;width:26%;height:26%}
.cbw-fab-label{text-shadow:0 1px 2px rgba(0,0,0,.4)}
.cbw-fab-dot{display:none;position:absolute;top:-8px;right:-8px;min-width:22px;height:22px;padding:0 6px;border-radius:999px;font-size:12px;line-height:22px;
  color:#fff;background:#f04438;box-shadow:0 0 0 2px #0c111d;animation:cbwPulseRed 1.6s infinite}
.cbw-fab.has-spin .cbw-fab-dot{display:block}
@keyframes cbwFabNudge{0%,86%,100%{transform:translateY(-50%) rotate(0)}90%{transform:translateY(-50%) rotate(-40deg)}95%{transform:translateY(-50%) rotate(25deg)}}
@keyframes cbwPulseRed{70%{box-shadow:0 0 0 2px #0c111d,0 0 0 8px rgba(240,68,56,0)}}
@media (max-width:767px){.cbw-fab{right:14px;bottom:16px;height:auto;padding:0;background:none;box-shadow:none;border-radius:50%;opacity:0;transform:translateY(24px) scale(.6);pointer-events:none;transition:opacity .45s ease,transform .55s cubic-bezier(.2,1.4,.4,1)}.cbw-fab.is-visible{opacity:1;transform:none;pointer-events:auto}.cbw-fab:hover{transform:none;box-shadow:none}.cbw-fab-label{display:none}.cbw-fab-wheel{position:relative;left:auto;top:auto;width:68px;height:68px;transform:none;filter:drop-shadow(0 8px 14px rgba(0,0,0,.6)) drop-shadow(0 0 14px rgba(233,185,73,.45));animation:cbwFabNudgeM 6s ease-in-out 3s infinite}.cbw-fab-dot{top:-2px;right:-2px}}@keyframes cbwFabNudgeM{0%,86%,100%{transform:rotate(0)}90%{transform:rotate(-40deg)}95%{transform:rotate(25deg)}}
@media (prefers-reduced-motion:reduce){.cbw-fab-wheel,.cbw-fab-disc{animation:none}}

/* ---------- wheel dialog ---------- */
.cbw-pop{position:fixed;inset:0;margin:auto;width:min(560px,94vw);height:fit-content;max-height:96vh;overflow:auto;padding:0;border:0;border-radius:28px;color:#fff;
  background:radial-gradient(90% 60% at 50% 0%,#33289e 0%,#151a3d 55%,#0c111d 100%);
  box-shadow:0 0 0 1px rgba(233,185,73,.4),0 50px 120px -30px rgba(0,0,0,.9),0 0 90px -20px rgba(75,59,214,.7)}
.cbw-pop::backdrop{background:radial-gradient(circle at 50% 45%,rgba(44,35,144,.55),rgba(5,7,20,.88) 60%);backdrop-filter:blur(4px)}
.cbw-pop[open]{animation:cbwPopIn .35s cubic-bezier(.2,1.2,.4,1)}
.cbw-pop-close{position:absolute;right:14px;top:14px;z-index:10;width:38px;height:38px;border-radius:50%;border:0;cursor:pointer;color:#fff;font-size:22px;line-height:1;background:rgba(255,255,255,.1)}
.cbw-pop-close:hover{background:rgba(255,255,255,.2)}
.cbw--pop{--cbw-size:min(440px,80vw,56vh);background:none;border:0;box-shadow:none;overflow:visible;border-radius:0}
.cbw--pop .cbw-grid{display:flex;flex-direction:column;align-items:center;gap:18px;padding:34px 22px 26px;text-align:center}
.cbw--pop .cbw-copy{max-width:420px}
.cbw--pop .cbw-title{margin-top:8px;font-size:clamp(28px,6vw,40px);letter-spacing:.06em;text-transform:uppercase}
.cbw--pop .cbw-text{margin-top:6px}
.cbw-actions{display:flex;flex-direction:column;align-items:center}
.cbw--pop .cbw-cta{margin-top:4px;min-width:220px;justify-content:center;font-size:18px;letter-spacing:.14em;text-transform:uppercase}
.cbw--pop .cbw-note{max-width:380px}
@keyframes cbwPopIn{0%{opacity:0;transform:scale(.92)}100%{opacity:1;transform:none}}
.cbw--pop .cbw-copy,.cbw--pop .cbw-stage,.cbw--pop .cbw-actions{order:0}
@media (max-width:767px){.cbw--pop{--cbw-size:min(330px,80vw,50vh)}.cbw--pop .cbw-grid{gap:14px;padding:30px 16px 22px}}
.cbw-pop{overflow-x:hidden;overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgba(233,185,73,.45) transparent}
.cbw-pop::-webkit-scrollbar{width:6px;height:0}.cbw-pop::-webkit-scrollbar-thumb{background:rgba(233,185,73,.45);border-radius:6px}.cbw-pop::-webkit-scrollbar-track{background:transparent}
.cbw--pop .cbw-grid{overflow:hidden}
@media (max-height:880px) and (min-width:768px){.cbw--pop{--cbw-size:min(400px,80vw,46vh)}.cbw--pop .cbw-grid{gap:12px;padding:26px 22px 20px}.cbw--pop .cbw-title{font-size:32px}.cbw--pop .cbw-note{margin-top:10px}}
