/* Колело на късмета - public/assets/js/wheel.js */
.kw{--kw-ink:#11141B;--kw-lime:#D4F23C;--kw-muted:#59606C;--kw-field:#E7EAE3;--kw-line:#D9DCD6;
  position:fixed;inset:0;z-index:2147483000;display:flex;align-items:center;justify-content:center;padding:16px}
.kw[hidden]{display:none}
html.kw-open{overflow:hidden;scrollbar-gutter:stable}
.kw__backdrop{position:absolute;inset:0;background:rgba(17,20,27,.62);backdrop-filter:blur(4px);opacity:0;transition:opacity .25s}
.kw__dialog{position:relative;display:grid;grid-template-columns:1.05fr 1fr;width:min(940px,100%);max-height:calc(100dvh - 32px);overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;
  background:#fff;border-radius:28px;box-shadow:0 40px 90px -30px rgba(17,20,27,.55);opacity:0;transform:translateY(14px) scale(.98);transition:opacity .25s,transform .3s cubic-bezier(.2,.7,.2,1)}
.kw.is-in .kw__backdrop{opacity:1}
.kw.is-in .kw__dialog{opacity:1;transform:none}
.kw__x{position:absolute;top:12px;right:14px;z-index:3;width:40px;height:40px;border-radius:50%;background:var(--kw-field);color:var(--kw-ink);font-size:26px;line-height:1;border:0;cursor:pointer}
.kw__x:hover{background:var(--kw-ink);color:#fff}

/* Колелото */
.kw__stage{background:var(--kw-field);display:flex;align-items:center;justify-content:center;padding:70px 34px 40px}
.kw__wheel{position:relative;width:min(390px,100%);aspect-ratio:1}
/* Въртящият се квадрат е затворен в кръг: ъглите му не излизат навън и не местят скрола (иначе страницата „трепери"). */
.kw__clip{position:absolute;inset:0;border-radius:50%;overflow:hidden;contain:paint;box-shadow:0 18px 34px rgba(17,20,27,.28);transform:translateZ(0)}
.kw__rot{position:absolute;inset:0;will-change:transform;transform:rotate(0deg);backface-visibility:hidden}
.kw__disc{display:block;width:100%;height:100%}
.kw__val{font-family:var(--font-display,"Alumni Sans","Arial Narrow",Impact,sans-serif);font-weight:900;font-size:62px;letter-spacing:-.01em}
.kw__val--free{font-size:30px;letter-spacing:.02em}
.kw__crown{position:absolute;left:0;top:-16%;width:100%;height:116%;z-index:2;pointer-events:none;overflow:visible;filter:drop-shadow(0 6px 10px rgba(17,20,27,.28))}
.kw__hub{position:absolute;left:50%;top:50%;z-index:2;width:30%;aspect-ratio:1;transform:translate(-50%,-50%);border-radius:50%;
  background:var(--kw-ink);color:#fff;border:0;box-shadow:0 0 0 6px var(--kw-lime),0 0 0 10px var(--kw-ink),0 10px 24px rgba(17,20,27,.4);
  font-family:var(--font-display,"Alumni Sans",Impact,sans-serif);font-weight:900;font-size:clamp(18px,2.6vw,26px);letter-spacing:.02em;cursor:pointer;transition:transform .2s}
.kw__hub:hover{transform:translate(-50%,-50%) scale(1.04)}
.kw.is-spinning .kw__hub,.kw.is-won .kw__hub{cursor:default}
.kw.is-spinning .kw__hub:hover{transform:translate(-50%,-50%)}

/* Текст и форма */
.kw__panel{padding:56px 44px 40px;display:flex;flex-direction:column;justify-content:center}
.kw__step{display:flex;flex-direction:column;gap:14px}
.kw__step[hidden]{display:none}
.kw__eyebrow{align-self:flex-start;font-size:11px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--kw-ink);background:var(--kw-lime);padding:6px 10px;border-radius:999px}
.kw__title{margin:0;font-family:var(--font-display,"Alumni Sans",Impact,sans-serif);font-weight:900;text-transform:uppercase;font-size:clamp(40px,5vw,58px);line-height:.9;color:var(--kw-ink)}
.kw__title em{font-style:normal;background:var(--kw-lime);padding:0 .12em;border-radius:10px}
.kw__lead{margin:0;font-size:15px;line-height:1.55;color:var(--kw-muted)}
.kw__form{display:flex;flex-direction:column;gap:12px;margin-top:4px}
.kw__hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;opacity:0}
.kw__email{height:56px;border-radius:999px;border:1.5px solid var(--kw-line);padding:0 22px;font-size:16px;color:var(--kw-ink);background:#fff;outline:none;transition:border-color .2s,box-shadow .2s}
.kw__email:focus{border-color:var(--kw-ink);box-shadow:0 0 0 4px #D4F23C}
.kw__consent{display:flex;gap:10px;align-items:flex-start;font-size:12.5px;line-height:1.5;color:var(--kw-muted);cursor:pointer}
.kw__consent input{width:18px;height:18px;margin:1px 0 0;accent-color:var(--kw-ink);flex:none}
.kw__consent a{color:var(--kw-ink);text-decoration:underline}
.kw__go{display:inline-flex;align-items:center;justify-content:center;height:56px;border-radius:999px;background:var(--kw-ink);color:#fff;border:0;
  font-weight:700;font-size:13px;letter-spacing:.14em;text-transform:uppercase;text-decoration:none;cursor:pointer;transition:transform .2s,background .2s}
.kw__go:hover{transform:translateY(-2px)}
.kw__go:disabled{opacity:.7;cursor:default;transform:none}
/* Мястото за грешката е запазено винаги - иначе при празен имейл формата „пораства" и диалогът подскача. */
.kw__err{margin:-4px 0 0;min-height:19px;font-size:13px;line-height:19px;color:#B42318;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.kw__err[hidden]{display:block;visibility:hidden}
.kw__email.is-bad{border-color:#B42318}
.kw__no{align-self:center;background:none;border:0;color:var(--kw-muted);font-size:13px;text-decoration:underline;cursor:pointer;padding:4px}
.kw__code{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:18px 20px;border-radius:14px;border:2px dashed var(--kw-ink);background:var(--kw-lime);
  font-family:var(--font-body,system-ui,sans-serif);font-variant-numeric:tabular-nums;font-weight:700;font-size:24px;letter-spacing:.12em;color:var(--kw-ink);cursor:pointer}
.kw__code small{font-family:var(--font-body,system-ui,sans-serif);font-size:11px;letter-spacing:.14em;text-transform:uppercase}
.kw__fine{margin:0;font-size:12.5px;color:var(--kw-muted)}

/* Плаващо копче */
.kw-pill{position:fixed;left:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:90;display:inline-flex;align-items:center;gap:8px;height:46px;padding:0 18px 0 6px;
  border-radius:999px;border:0;background:var(--n-ink,#11141B);color:#fff;font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;
  box-shadow:0 14px 30px -12px rgba(17,20,27,.6);cursor:pointer;transition:transform .2s}
.kw-pill[hidden]{display:none}
.kw-pill b{display:inline-flex;align-items:center;justify-content:center;height:34px;padding:0 12px;border-radius:999px;background:#D4F23C;color:#11141B;font-weight:800}
.kw-pill:hover{transform:translateY(-2px)}
.kw-pill.is-copied::after{content:"Копирано";margin-left:4px;color:#D4F23C}

@media (max-width:760px){
  .kw{align-items:flex-end;padding:0}
  .kw__dialog{grid-template-columns:1fr;border-radius:28px 28px 0 0;max-height:94dvh}
  .kw__stage{padding:56px 22px 18px}
  .kw__wheel{width:min(270px,72vw)}
  .kw__panel{padding:18px 20px calc(22px + env(safe-area-inset-bottom,0px))}
  .kw__step{gap:10px}
  .kw__title{font-size:40px}
  .kw__lead{font-size:14px}
  .kw__val{font-size:66px}
}
@media (prefers-reduced-motion:reduce){
  .kw__dialog,.kw__backdrop{transition:none}
}
