/* ═══════════════════════════════════════════════════════
    FRY KHANA — SPIN WHEEL  (public/css/fk-spin.css)
    Tokens layouts/website.blade.php se
   ═══════════════════════════════════════════════════════ */

.sp-section { padding-bottom: 4rem; }

.sp-head { text-align: center; margin-bottom: 2.5rem; }
.sp-head .section-eyebrow { justify-content: center; }
.sp-sub {
    color: rgba(253,246,236,.42); margin: .9rem auto 0;
    font-size: .9rem; max-width: 400px; line-height: 1.8;
}

/* ── CARDS ── */
.sp-card {
    background: var(--card); border: 1px solid var(--border);
    border-radius: var(--radius-lg); padding: 1.75rem;
}
.sp-card-center { max-width: 480px; margin: 0 auto; text-align: center; }
.sp-card-center h3 { font-size: 1.3rem; margin-bottom: .5rem; }
.sp-card-center p { color: rgba(253,246,236,.4); font-size: .88rem; margin-bottom: 1.25rem; }
.sp-big-icon { font-size: 2.2rem; color: var(--brown); margin-bottom: .85rem; }
.sp-card-title { font-size: 1.15rem; margin-bottom: .3rem; }
.sp-card-sub { font-size: .82rem; color: rgba(253,246,236,.38); margin-bottom: 1.25rem; }

/* ── LOGIN ── */
.sp-login-grid {
    display: grid; grid-template-columns: 1fr 1fr;
    gap: 1.25rem; max-width: 820px; margin: 0 auto; align-items: start;
}
.sp-form { display: flex; flex-direction: column; gap: .9rem; }
.sp-field label {
    display: flex; align-items: center; gap: .4rem;
    font-size: .68rem; letter-spacing: .1em; text-transform: uppercase;
    color: var(--brown); font-weight: 700; margin-bottom: .4rem;
}
.sp-field input {
    width: 100%; background: var(--card2); border: 1px solid var(--border);
    border-radius: var(--radius); padding: .8rem .9rem;
    color: var(--cream); font-family: inherit; font-size: .95rem;
    transition: border-color .2s;
}
.sp-field input:focus { outline: none; border-color: var(--amber); }
.sp-field input::placeholder { color: rgba(253,246,236,.2); }
.sp-submit { width: 100%; justify-content: center; }

.sp-alert {
    display: flex; align-items: center; gap: .5rem;
    background: rgba(216,90,48,.1); border: 1px solid rgba(216,90,48,.3);
    color: var(--red); border-radius: var(--radius);
    padding: .65rem .8rem; font-size: .8rem; margin-bottom: .9rem;
}

.sp-divider {
    display: flex; align-items: center; gap: .75rem;
    margin: 1.25rem 0 .9rem; color: rgba(253,246,236,.25); font-size: .72rem;
}
.sp-divider::before, .sp-divider::after {
    content: ''; flex: 1; height: 1px; background: var(--border);
}

/* ── PRIZE LIST ── */
.sp-prize-list { list-style: none; padding: 0; margin: 0 0 1rem; }
.sp-prize-list li {
    display: flex; align-items: center; gap: .6rem;
    padding: .55rem 0; border-bottom: 1px solid var(--border);
}
.sp-prize-list li:last-child { border-bottom: none; }
.sp-dot { width: 10px; height: 10px; border-radius: 50%; flex-shrink: 0; border: 1px solid rgba(253,246,236,.15); }
.sp-prize-label { font-size: .85rem; font-weight: 600; }
.sp-prize-urdu { margin-left: auto; font-size: .78rem; color: var(--brown); font-family: 'Noto Nastaliq Urdu', serif; }
.sp-fine { font-size: .7rem; color: rgba(253,246,236,.26); line-height: 1.6; }
.sp-fine-center { text-align: center; margin-top: .75rem; }

/* ── WHEEL ── */
.sp-wheel-wrap { max-width: 460px; margin: 0 auto; text-align: center; }

.sp-user {
    display: flex; align-items: center; justify-content: space-between;
    background: var(--card); border: 1px solid var(--border);
    border-radius: var(--radius); padding: .75rem 1rem;
    margin-bottom: 1.5rem; text-align: left;
}
.sp-user-name { font-weight: 700; font-size: .95rem; }
.sp-user-points { font-size: .75rem; color: var(--amber); margin-top: .1rem; }
.sp-logout {
    background: none; border: none; cursor: pointer; font-family: inherit;
    color: rgba(253,246,236,.3); font-size: .75rem; transition: color .2s;
}
.sp-logout:hover { color: var(--red); }

.sp-stage { position: relative; margin: 0 auto; max-width: 380px; }
.sp-stage canvas {
    width: 100%; height: auto; display: block;
    filter: drop-shadow(0 16px 44px rgba(0,0,0,.55));
}
.sp-pointer {
    position: absolute; top: -6px; left: 50%; transform: translateX(-50%);
    width: 0; height: 0; z-index: 2;
    border-left: 14px solid transparent;
    border-right: 14px solid transparent;
    border-top: 26px solid var(--amber);
    filter: drop-shadow(0 3px 6px rgba(0,0,0,.6));
}

/* ── SPIN BUTTON ── */
.sp-spin-btn {
    margin-top: 1.75rem; width: 100%; max-width: 300px;
    display: inline-flex; align-items: center; justify-content: center; gap: .6rem;
    background: var(--amber); color: var(--dark); border: none;
    border-radius: 100px; padding: 1rem 2rem; cursor: pointer;
    font-family: inherit; font-size: 1rem; font-weight: 800;
    letter-spacing: .08em; text-transform: uppercase;
    box-shadow: 0 10px 30px rgba(239,159,39,.3);
    transition: transform .18s, box-shadow .18s;
}
.sp-spin-btn:hover:not(:disabled) { transform: translateY(-2px); box-shadow: 0 14px 38px rgba(239,159,39,.42); }
.sp-spin-btn:active:not(:disabled) { transform: translateY(0); }
.sp-spin-btn:disabled { opacity: .45; cursor: not-allowed; box-shadow: none; }
.sp-spin-btn.spinning i { animation: sp-rot 1s linear infinite; }
@keyframes sp-rot { to { transform: rotate(360deg) } }

/* ── DONE / CODE ── */
.sp-done {
    margin-top: 1.75rem;
    background: var(--card); border: 1px solid var(--border);
    border-radius: var(--radius-lg); padding: 1.25rem;
}
.sp-done-label { font-size: .68rem; letter-spacing: .12em; text-transform: uppercase; color: var(--brown); font-weight: 700; }
.sp-done-prize { font-size: 1.4rem; font-weight: 800; color: var(--amber); margin: .35rem 0 .85rem; }
.sp-done-next { font-size: .75rem; color: rgba(253,246,236,.3); margin-top: .85rem; }

.sp-code-box {
    display: inline-flex; align-items: center; gap: .5rem;
    background: var(--dark); border: 1px dashed var(--amber);
    border-radius: var(--radius); padding: .6rem .5rem .6rem .9rem;
}
.sp-code {
    font-size: 1.15rem; font-weight: 800; letter-spacing: .12em;
    color: var(--amber); font-family: 'Space Grotesk', monospace;
}
.sp-copy {
    background: var(--card2); border: 1px solid var(--border); cursor: pointer;
    color: rgba(253,246,236,.5); border-radius: 8px;
    width: 30px; height: 30px; display: grid; place-items: center;
    font-size: .75rem; transition: all .18s;
}
.sp-copy:hover { color: var(--amber); border-color: var(--amber); }
.sp-copy.copied { color: #4ade80; border-color: #4ade80; }
.sp-code-meta { font-size: .7rem; color: rgba(253,246,236,.3); margin-top: .5rem; }

/* ── MODAL ── */
.sp-modal {
    position: fixed; inset: 0; z-index: 200;
    background: rgba(15,9,4,.86); backdrop-filter: blur(10px);
    display: none; align-items: center; justify-content: center; padding: 1.25rem;
}
.sp-modal.show { display: flex; animation: sp-fade .25s ease; }
@keyframes sp-fade { from { opacity: 0 } to { opacity: 1 } }

.sp-modal-box {
    background: var(--card); border: 1px solid var(--border);
    border-radius: var(--radius-lg); padding: 2rem 1.5rem;
    max-width: 380px; width: 100%; text-align: center;
    animation: sp-pop .35s cubic-bezier(.34,1.56,.64,1);
}
@keyframes sp-pop { from { transform: scale(.85); opacity: 0 } to { transform: scale(1); opacity: 1 } }

.sp-modal-icon {
    width: 62px; height: 62px; margin: 0 auto 1rem; border-radius: 50%;
    display: grid; place-items: center; font-size: 1.6rem;
    background: var(--amber-dim); border: 1px solid var(--border); color: var(--amber);
}
.sp-modal-icon.win     { background: rgba(40,167,69,.12); border-color: rgba(40,167,69,.35); color: #4ade80; }
.sp-modal-icon.nothing { background: var(--card2); color: var(--brown); }
.sp-modal-label { font-size: .68rem; letter-spacing: .12em; text-transform: uppercase; color: var(--brown); font-weight: 700; }
.sp-modal-prize { font-size: 1.6rem; font-weight: 800; color: var(--amber); margin: .35rem 0 .5rem; }
.sp-modal-msg { font-size: .85rem; color: rgba(253,246,236,.42); margin-bottom: 1.1rem; line-height: 1.6; }
.sp-modal-box .sp-code-box { margin-bottom: .4rem; }
.sp-modal-box .sp-submit { margin-top: 1.25rem; }

/* ── RESPONSIVE ── */
@media (max-width: 780px) {
    .sp-login-grid { grid-template-columns: 1fr; }
    .sp-why { order: -1; }
}
@media (max-width: 420px) {
    .sp-stage { max-width: 300px; }
    .sp-code { font-size: 1rem; }
}
