/* Alzar Luck — Vault + big overlays (v9.0).
   Full-page overlays over ANY surface (game page + home banner): the win
   result and the saved-prizes list. Colours come from the theme tokens
   (--az-*), so the night/mint variations keep working.
   The overlay covers THE WHOLE PAGE — never a small message buried under
   the wheel — so a player who is mid-game on mobile instantly sees it. */

.alzv-root{--v-navy:var(--az-navy,#222D65);--v-navy-deep:var(--az-navy-deep,#161D47);--v-green:var(--az-green,#1A994A);--v-green-deep:var(--az-green-deep,#137A3A);
        --v-mint:var(--az-mint,#E6F4EB);--v-line:var(--az-line,#E3E6F0);--v-ink:var(--az-ink,#141A3D);--v-muted:var(--az-muted,#5A6187);--v-gold:var(--az-gold,#F2B33D);--v-sale:var(--az-sale,#D93A3A);
        position:fixed;inset:0;z-index:100002;direction:rtl;visibility:hidden;opacity:0;transition:opacity .22s ease,visibility .22s;
        font-family:var(--wp--preset--font-family--body,"DIN Next LT Arabic",system-ui,sans-serif)}
.alzv-root.is-open{visibility:visible;opacity:1}
.alzv-root [hidden]{display:none!important}
.alzv-root *{box-sizing:border-box}

/* The scrim dims the WHOLE page behind the overlay. */
.alzv-overlay__scrim{position:absolute;inset:0;background:rgba(13,17,45,.62);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);cursor:pointer;animation:alzv-fade .25s ease both}

/* The card: big, branded, centered — scales from phone to desktop. */
.alzv-card{position:relative;margin:auto;max-width:520px;width:calc(100% - 28px);max-height:calc(100dvh - 28px);overflow:auto;overscroll-behavior:contain;
        background:#fff;border-radius:28px;box-shadow:0 30px 80px -24px rgba(13,17,45,.55);animation:alzv-pop .38s cubic-bezier(.34,1.4,.64,1) both;
        display:flex;flex-direction:column;padding:0 0 1.15rem}
@media (min-width:700px){.alzv-card{max-width:560px}}
@keyframes alzv-fade{from{opacity:0}to{opacity:1}}
@keyframes alzv-pop{from{opacity:0;transform:translateY(26px) scale(.94)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.alzv-root *,.alzv-root *::before,.alzv-root *::after{animation-duration:.01ms!important}}

.alzv-x{position:absolute;top:.65rem;inset-inline-end:.65rem;z-index:3;width:40px;height:40px;border:0;border-radius:999px;background:rgba(255,255,255,.14);color:#fff;font-size:1.05rem;cursor:pointer;display:grid;place-items:center;transition:background .2s,transform .2s}
.alzv-x:hover{background:rgba(255,255,255,.26);transform:rotate(90deg)}
.alzv-x:focus-visible{outline:3px solid var(--v-gold);outline-offset:2px}

/* ---------- Result card ---------- */
.alzv-card--result{padding-top:0}
.alzv-result__head{position:relative;display:flex;align-items:center;gap:1rem;padding:1.5rem 1.4rem 1.2rem;border-radius:28px 28px 0 0;
        background:linear-gradient(130deg,var(--v-navy) 0%,color-mix(in srgb,var(--v-navy) 66%,var(--v-green-deep)) 100%);color:#fff;overflow:hidden}
.alzv-result__head::after{content:"";position:absolute;inset-block-start:-45%;inset-inline-end:-18%;width:62%;aspect-ratio:1;border-radius:50%;background:radial-gradient(closest-side,color-mix(in srgb,var(--v-gold) 42%,transparent),transparent 70%);pointer-events:none}
.alzv-result__gift{flex-shrink:0;display:grid;place-items:center;width:92px;height:92px;border-radius:26px;background:rgba(255,255,255,.13);backdrop-filter:blur(3px);animation:alzv-bounce .9s cubic-bezier(.34,1.56,.64,1) both .15s}
@keyframes alzv-bounce{from{transform:scale(.4);opacity:0}to{transform:none;opacity:1}}
.alzv-result__gift svg{filter:drop-shadow(0 10px 16px rgba(0,0,0,.28))}
.alzv-result__headtxt{min-width:0}
.alzv-result__eyebrow{margin:0 0 .3rem;font-size:.85rem;font-weight:700;color:var(--v-gold)}
.alzv-result__title{margin:0;font-size:clamp(1.25rem,4.5vw,1.7rem);font-weight:800;line-height:1.3;color:#fff;text-wrap:balance}

.alzv-card--result>*:not(.alzv-result__head){padding-inline:1.4rem}
.alzv-result__price{margin:.2rem 0 0;display:flex;flex-wrap:wrap;align-items:center;gap:.6rem;justify-content:center;font-size:1.05rem;color:var(--v-muted)}
.alzv-result__price strong{font-size:clamp(1.5rem,5vw,1.9rem);font-weight:800;color:var(--v-green-deep)}
.alzv-result__price del{font-size:1rem}
.alzv-result__off{background:var(--v-sale);color:#fff;font-size:.8rem;font-weight:800;border-radius:999px;padding:.2rem .6rem}

.alzv-result__code{display:flex;align-items:center;justify-content:center;gap:.6rem;margin:.9rem 1.4rem 0;flex-wrap:wrap}
.alzv-result__code code{direction:ltr;font:800 1.35rem/1 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.14em;background:var(--v-mint);color:var(--v-navy);border:1.5px dashed color-mix(in srgb,var(--v-green) 45%,var(--v-line));border-radius:14px;padding:.7rem 1.1rem}
.alzv-copy{border:1.5px solid var(--v-line);background:#fff;border-radius:999px;padding:.5rem 1rem;font-weight:700;font-size:.88rem;color:var(--v-navy);cursor:pointer;font-family:inherit;transition:border-color .2s,background .2s}
.alzv-copy:hover{border-color:var(--v-green);background:var(--v-mint)}
.alzv-copy.is-done{border-color:var(--v-green);background:var(--v-mint);color:var(--v-green-deep)}

.alzv-result__meta{margin:.95rem 0 0;text-align:center;font-size:.92rem;color:var(--v-muted);font-weight:600}

.alzv-result__btns{display:grid;gap:.6rem;margin:1.05rem 1.4rem 0}
@media (min-width:420px){.alzv-result__btns{grid-template-columns:1fr 1fr}.alzv-result__btns .is-wa{grid-column:1/-1}}
.alzv-btn{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;min-height:52px;border:0;border-radius:999px;padding:0 1.2rem;
        font-weight:800;font-size:1rem;font-family:inherit;cursor:pointer;text-decoration:none;transition:background .2s,transform .15s,border-color .2s}
.alzv-btn:active{transform:scale(.98)}
.alzv-btn:focus-visible{outline:3px solid var(--v-navy);outline-offset:2px}
.alzv-btn.is-wa{background:#1FA855;color:#fff;box-shadow:0 14px 30px -14px rgba(31,168,85,.65)}
.alzv-btn.is-wa:hover{background:#178A45;color:#fff}
.alzv-btn.is-again{background:var(--v-navy);color:#fff}
.alzv-btn.is-again:hover{background:var(--v-navy-deep)}
.alzv-btn.is-ghost{background:var(--az-mist,#EEF0F8);color:var(--v-navy)}
.alzv-btn.is-ghost:hover{background:color-mix(in srgb,var(--v-navy) 14%,#fff)}
.alzv-result__note{margin:.9rem 1.4rem 0;font-size:.78rem;color:var(--v-muted);line-height:1.7;text-align:center}

/* ---------- Vault card (جوائزي + التواريخ) ---------- */
.alzv-vault__head{padding:1.45rem 1.5rem 1rem;border-radius:28px 28px 0 0;background:linear-gradient(130deg,var(--v-navy) 0%,color-mix(in srgb,var(--v-navy) 66%,var(--v-green-deep)) 100%);color:#fff}
.alzv-card--vault{padding-top:0}
.alzv-vault__title{margin:0;font-size:1.45rem;font-weight:800;color:#fff;display:flex;align-items:center;gap:.55rem}
.alzv-vault__title::before{content:"🏆";font-size:1.2rem}
.alzv-vault__sub{margin:.4rem 0 0;font-size:.9rem;font-weight:600;color:color-mix(in srgb,#fff 82%,transparent)}
.alzv-card--vault .alzv-x{top:.65rem;inset-inline-end:.65rem}
.alzv-card--vault{position:relative}

.alzv-vault__list{display:grid;gap:.65rem;padding:.9rem 1.25rem 0;overflow:visible}
.alzv-item{display:flex;align-items:center;gap:.85rem;background:#fff;border:1.5px solid var(--v-line);border-radius:20px;padding:.85rem .95rem;transition:border-color .2s,box-shadow .2s}
.alzv-item:hover{box-shadow:0 16px 34px -24px rgba(13,17,45,.5)}
.alzv-item.is-confirmed{border-color:color-mix(in srgb,var(--v-green) 55%,var(--v-line))}
.alzv-item.is-used{border-color:var(--v-line);opacity:.75}
.alzv-item.is-expired{border-color:color-mix(in srgb,var(--v-sale) 45%,var(--v-line));opacity:.8}
.alzv-item__gift{flex-shrink:0;display:grid;place-items:center;width:52px;height:52px;border-radius:16px;background:var(--v-mint)}
.alzv-item__info{min-width:0;flex:1;display:grid;gap:.3rem}
.alzv-item__name{font-weight:800;color:var(--v-ink);font-size:1rem;line-height:1.4}
.alzv-item__meta{margin:0;display:flex;flex-wrap:wrap;align-items:center;gap:.45rem;font-size:.85rem;color:var(--v-muted)}
.alzv-item__dot{opacity:.5}
.alzv-item__date{color:var(--v-navy,#222D65);font-weight:800;font-size:.85rem} /* v1.9.3: darker + bolder (VLM contrast note) */
.alzv-item__code{justify-self:start;direction:ltr;font-weight:800;font-size:.9rem;color:var(--v-navy);background:var(--v-mint);border:1.5px dashed color-mix(in srgb,var(--v-green) 45%,var(--v-line));border-radius:10px;padding:.3rem .7rem;cursor:pointer;user-select:none}
.alzv-item__code:hover{border-color:var(--v-green)}
.alzv-item__st{justify-self:start;font-size:.75rem;font-weight:800;padding:.22rem .7rem;border-radius:999px;background:color-mix(in srgb,var(--v-gold) 26%,#fff);color:#7a4d00}
.alzv-item.is-confirmed .alzv-item__st{background:var(--v-mint);color:var(--v-green-deep)}
.alzv-item.is-used .alzv-item__st{background:var(--az-mist,#EEF0F8);color:var(--v-muted)}
.alzv-item.is-expired .alzv-item__st{background:#FDECEC;color:var(--v-sale)}

.alzv-vault__empty{display:grid;justify-items:center;gap:.4rem;text-align:center;padding:1.6rem 1rem 1.2rem}
.alzv-vault__empty-gift{display:grid;place-items:center;width:88px;height:88px;border-radius:999px;background:var(--v-mint);animation:alzv-bounce .8s cubic-bezier(.34,1.56,.64,1) both}
.alzv-vault__empty-t{margin:.6rem 0 0;font-weight:800;font-size:1.15rem;color:var(--v-navy)}
.alzv-vault__empty-s{margin:0;font-size:.92rem;color:var(--v-muted);line-height:1.7;max-width:34ch}

.alzv-vault__btns{display:grid;gap:.6rem;margin:1rem 1.25rem 0}
@media (min-width:420px){.alzv-vault__btns{grid-template-columns:1fr 1fr}.alzv-vault__btns .is-wa{grid-column:1/-1}}
.alzv-vault__btns .is-wa{grid-column:auto}

/* ---------- "جوائزي (n)" chip on the hero / banner ---------- */
.alzv-chip{display:inline-flex;align-items:center;gap:.5rem;border:0;border-radius:999px;padding:.55rem 1.15rem;cursor:pointer;font-family:inherit;font-weight:800;font-size:.95rem;
        background:rgba(255,255,255,.14);color:#fff;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);border:1px solid rgba(255,255,255,.22);
        transition:background .2s,transform .18s}
.alzv-chip:hover{background:rgba(255,255,255,.24);transform:translateY(-1px)}
.alzv-chip:focus-visible{outline:3px solid var(--v-gold);outline-offset:2px}
.alzv-chip__ic{filter:drop-shadow(0 3px 6px rgba(0,0,0,.25))}

/* v2.2.0 merge (from the argon run) — Joyful Celebratory Prize Win Experience (#60) */
.alzv-card--result{border:3px solid #F2B33D;box-shadow:0 0 0 6px rgba(242,179,61,.25),0 34px 85px -20px rgba(13,17,45,.65)}
.alzv-result__head{background:radial-gradient(circle at 85% 20%,rgba(242,179,61,.42),transparent 55%),linear-gradient(135deg,#137A3A 0%,#222D65 65%,#161D47 100%) !important}
.alzv-result__eyebrow::before{content:"🎉 مبروك! ";color:#FFE082}
.alzv-result__gift{border:2px solid rgba(242,179,61,.65);box-shadow:0 0 28px rgba(242,179,61,.45)}
.alzv-btn.is-cart{background:linear-gradient(135deg,#16A34A,#137A3A);color:#fff !important;box-shadow:0 14px 30px -10px rgba(22,163,74,.65);border:2px solid rgba(255,255,255,.35)}
.alzv-btn.is-cart:hover{filter:brightness(1.08);color:#fff !important}

/* v1.9.4 — selective booking: a tick box per live prize + the disabled
   WhatsApp button state while nothing is ticked. */
.alzv-item__pick{appearance:none;-webkit-appearance:none;flex-shrink:0;width:26px;height:26px;margin:0;border:2px solid color-mix(in srgb,var(--v-navy,#222D65) 45%,var(--v-line));border-radius:9px;background:#fff;cursor:pointer;position:relative;transition:background .18s,border-color .18s,transform .12s}
.alzv-item__pick:hover{border-color:var(--v-green);transform:scale(1.06)}
.alzv-item__pick:checked{background:var(--v-green,#1FA855);border-color:var(--v-green,#1FA855)}
.alzv-item__pick:checked::after{content:'';position:absolute;inset:0;margin:auto;width:8px;height:13px;border:solid #fff;border-width:0 3px 3px 0;transform:rotate(45deg) translate(-1px,-2px)}
.alzv-item__pick:focus-visible{outline:3px solid var(--v-gold);outline-offset:2px}
.alzv-btn.is-wa.is-off{background:var(--az-mist,#EEF0F8);color:var(--v-muted);box-shadow:none;cursor:not-allowed;pointer-events:auto}
.alzv-item.is-expired .alzv-item__pick{display:none}
.alzv-btn.is-cart:disabled{opacity:.6;cursor:wait}
/* v1.9.3 — the prize-row CTA: a proper gradient pill, not a tiny grey chip. */
.alzv-item__cart{margin-top:10px;justify-self:start;border:0;border-radius:999px;padding:.5rem 1.15rem;font:inherit;font-size:.82rem;font-weight:800;color:#fff;cursor:pointer;background:linear-gradient(135deg,#22305e 0%,#3b4a86 55%,#22305e 100%);background-size:200% 100%;background-position:0 0;box-shadow:0 10px 24px -12px rgba(34,48,94,.75);transition:background-position .35s ease,transform .15s ease,filter .15s ease}
.alzv-item__cart:hover{background-position:100% 0;transform:translateY(-1px)}
.alzv-item__cart:focus-visible{outline:3px solid var(--v-gold);outline-offset:2px}
.alzv-item__cart:disabled{opacity:.6;cursor:wait;transform:none}
/* v1.9.3 — live deadline badge (hold/pickup countdown) + muted dead rows. */
.alzv-item__deadline{justify-self:start;margin-top:4px;font-size:.78rem;font-weight:800;color:var(--v-green-deep,#1d6b45);background:var(--v-mint,#E7F6EE);border-radius:999px;padding:.24rem .75rem;border:1px dashed color-mix(in srgb,var(--v-green) 45%,var(--v-mist,#EEF0F8))}
.alzv-item.is-dead .alzv-item__gift{opacity:.45;filter:grayscale(1)}
.alzv-item.is-dead .alzv-item__name{color:var(--v-muted)}
.alzv-item.is-dead .alzv-item__code{opacity:.55}
/* v1.9.3 — device-gate note inside جوائزي (server truth unavailable until activated). */
.alzv-vault__lock{display:flex;align-items:center;gap:8px;margin:0 0 10px;padding:.6rem .85rem;border-radius:12px;background:#FFF6E8;border:1px dashed #E8B664;color:#8a5a00;font-size:.85rem;font-weight:700}

/* v2.2.0 merge — floating sparkles over the win card (JS in vault.js; card/glow rules above) */
.alzv-card--result{position:relative}
.alzv-confetti{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:3}
.alzv-confetti i{position:absolute;font-style:normal;font-size:1.4rem;animation:alzv-sparkle 1.8s ease-in-out infinite;opacity:.85}
.alzv-confetti i:nth-child(1){top:12%;left:10%;animation-delay:0s}
.alzv-confetti i:nth-child(2){top:18%;right:12%;animation-delay:.25s}
.alzv-confetti i:nth-child(3){bottom:14%;left:22%;animation-delay:.5s}
.alzv-confetti i:nth-child(4){top:45%;left:48%;animation-delay:.75s}
.alzv-confetti i:nth-child(5){bottom:16%;right:20%;animation-delay:1s}
.alzv-confetti i:nth-child(6){top:28%;left:75%;animation-delay:1.2s}
@keyframes alzv-sparkle{0%,100%{transform:translateY(0) scale(1);opacity:.9}50%{transform:translateY(-8px) scale(1.22);opacity:1}}
@media (prefers-reduced-motion:reduce){.alzv-confetti i{animation:none}}
