/* ============================================================
   دریا سرمایه — Design System
   Brand: Deep Navy #102848 + Bronze Gold #c89858
   RTL, Vazirmatn, logical properties throughout
   ============================================================ */

/* ---------- Fonts (self-hosted Vazirmatn) ---------- */
@font-face{font-family:"Vazirmatn";src:url("../fonts/Vazirmatn-Regular.woff2") format("woff2");font-weight:400;font-display:swap;}
@font-face{font-family:"Vazirmatn";src:url("../fonts/Vazirmatn-Medium.woff2") format("woff2");font-weight:500;font-display:swap;}
@font-face{font-family:"Vazirmatn";src:url("../fonts/Vazirmatn-SemiBold.woff2") format("woff2");font-weight:600;font-display:swap;}
@font-face{font-family:"Vazirmatn";src:url("../fonts/Vazirmatn-Bold.woff2") format("woff2");font-weight:700;font-display:swap;}
@font-face{font-family:"Vazirmatn";src:url("../fonts/Vazirmatn-ExtraBold.woff2") format("woff2");font-weight:800;font-display:swap;}
@font-face{font-family:"Vazirmatn";src:url("../fonts/Vazirmatn-Black.woff2") format("woff2");font-weight:900;font-display:swap;}

/* ---------- Tokens ---------- */
:root{
  /* Brand */
  --navy-900:#0b1d38;
  --navy-800:#102848;   /* brand navy */
  --navy-700:#163458;
  --navy-600:#1e4374;
  --navy-500:#2b568e;

  --gold-600:#a97b34;
  --gold-500:#c89858;   /* brand gold */
  --gold-400:#d9b878;
  --gold-300:#e7cd9c;
  --gold-100:#f6ead4;

  /* Neutrals (warm porcelain) */
  --white:#ffffff;
  --porcelain:#f7f5f1;  /* warm off-white — enamel */
  --mist:#eef1f5;       /* cool light for alt sections */
  --line:#e6e9ef;
  --line-soft:#eef0f4;

  --ink:#0f1e33;        /* headings */
  --text:#33404f;       /* body */
  --muted:#6b7688;      /* secondary */
  --faint:#9aa3b1;

  --success:#1f9d6b;
  --danger:#d4503f;

  /* Typography */
  --font:"Vazirmatn",Tahoma,"Segoe UI",system-ui,sans-serif;
  --fs-hero:clamp(2.3rem,6vw,4.25rem);
  --fs-h1:clamp(1.9rem,4vw,2.9rem);
  --fs-h2:clamp(1.5rem,3vw,2.15rem);
  --fs-h3:clamp(1.2rem,2vw,1.5rem);
  --fs-lead:clamp(1.05rem,1.6vw,1.28rem);
  --fs-body:1rem;
  --fs-sm:.9rem;
  --fs-xs:.8rem;

  /* Space */
  --sp-1:.25rem; --sp-2:.5rem; --sp-3:.75rem; --sp-4:1rem;
  --sp-5:1.5rem; --sp-6:2rem; --sp-7:3rem; --sp-8:4rem; --sp-9:6rem;

  /* Shape */
  --r-sm:8px; --r-md:14px; --r-lg:22px; --r-xl:30px; --r-pill:999px;
  --container:1200px;

  --shadow-sm:0 1px 3px rgba(16,40,72,.06),0 1px 2px rgba(16,40,72,.04);
  --shadow-md:0 8px 24px rgba(16,40,72,.08),0 2px 6px rgba(16,40,72,.05);
  --shadow-lg:0 22px 50px rgba(16,40,72,.14),0 6px 16px rgba(16,40,72,.08);
  --shadow-gold:0 12px 30px rgba(200,152,88,.30);

  --ease:cubic-bezier(.4,.14,.3,1);
  --t:.28s var(--ease);
}

/* ---------- Reset ---------- */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{direction:rtl;font-size:100%;-webkit-text-size-adjust:100%;scroll-behavior:smooth;}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto;}*{animation-duration:.001ms!important;transition-duration:.001ms!important;}}
body{
  font-family:var(--font);
  font-size:var(--fs-body);
  line-height:1.75;
  color:var(--text);
  background:var(--white);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  overflow-x:hidden;
}
img,svg{display:block;max-width:100%;}
a{color:inherit;text-decoration:none;}
button,input,select,textarea{font:inherit;color:inherit;}
button{cursor:pointer;background:none;border:none;}
ul{list-style:none;}
h1,h2,h3,h4{color:var(--ink);line-height:1.25;font-weight:800;letter-spacing:-.01em;}
::selection{background:var(--gold-500);color:var(--navy-900);}
:focus-visible{outline:3px solid var(--gold-500);outline-offset:2px;border-radius:4px;}

/* Scrollbar */
::-webkit-scrollbar{width:11px;height:11px;}
::-webkit-scrollbar-track{background:var(--mist);}
::-webkit-scrollbar-thumb{background:var(--navy-600);border-radius:99px;border:2px solid var(--mist);}

/* ---------- Layout ---------- */
.container{width:100%;max-width:var(--container);margin-inline:auto;padding-inline:clamp(1rem,4vw,2rem);}
.section{padding-block:clamp(3rem,7vw,6rem);}
.section--soft{background:var(--porcelain);}
.section--mist{background:var(--mist);}
.section--navy{background:var(--navy-800);color:#dfe6f0;}
.section--tight{padding-block:clamp(2rem,4vw,3rem);}

.stack>*+*{margin-block-start:var(--sp-4);}
.grid{display:grid;gap:clamp(1rem,2.2vw,1.75rem);}
.hidden{display:none!important;}

/* ---------- Section header ---------- */
.sec-head{max-width:640px;margin-block-end:clamp(1.75rem,4vw,2.75rem);}
.sec-head--center{margin-inline:auto;text-align:center;}
.eyebrow{
  display:inline-flex;align-items:center;gap:.5rem;
  font-size:var(--fs-xs);font-weight:700;letter-spacing:.14em;
  color:var(--gold-600);text-transform:uppercase;margin-block-end:.9rem;
}
.eyebrow::before{content:"";width:26px;height:2px;background:var(--gold-500);border-radius:2px;}
.eyebrow svg{width:15px;height:15px;}
.sec-head--center .eyebrow::before{display:none;}
.sec-title{font-size:var(--fs-h2);font-weight:900;color:var(--ink);}
.sec-sub{margin-block-start:.7rem;color:var(--muted);font-size:var(--fs-lead);line-height:1.7;}

/* ---------- Buttons ---------- */
.btn{
  --btn-bg:var(--navy-800);--btn-fg:#fff;--btn-bd:transparent;
  display:inline-flex;align-items:center;justify-content:center;gap:.6rem;
  padding:.85rem 1.6rem;border-radius:var(--r-pill);
  background:var(--btn-bg);color:var(--btn-fg);border:1.5px solid var(--btn-bd);
  font-weight:700;font-size:.98rem;line-height:1;white-space:nowrap;
  transition:transform var(--t),box-shadow var(--t),background var(--t),color var(--t),border-color var(--t);
}
.btn:hover{transform:translateY(-2px);}
.btn:active{transform:translateY(0);}
.btn svg{width:1.2em;height:1.2em;}
.btn-primary{--btn-bg:var(--navy-800);box-shadow:0 10px 24px rgba(16,40,72,.22);}
.btn-primary:hover{--btn-bg:var(--navy-700);box-shadow:0 14px 30px rgba(16,40,72,.3);}
.btn-gold{--btn-bg:var(--gold-500);--btn-fg:var(--navy-900);box-shadow:var(--shadow-gold);}
.btn-gold:hover{--btn-bg:var(--gold-400);}
.btn-outline{--btn-bg:transparent;--btn-fg:var(--navy-800);--btn-bd:var(--navy-800);}
.btn-outline:hover{--btn-bg:var(--navy-800);--btn-fg:#fff;}
.btn-light{--btn-bg:#fff;--btn-fg:var(--navy-800);box-shadow:var(--shadow-md);}
.btn-ghost{--btn-bg:transparent;--btn-fg:var(--navy-700);padding-inline:.75rem;}
.btn-ghost:hover{--btn-bg:var(--mist);}
.btn-block{width:100%;}
.btn-lg{padding:1.05rem 2rem;font-size:1.05rem;}
.btn-sm{padding:.6rem 1.05rem;font-size:.85rem;}
.btn[disabled]{opacity:.55;cursor:not-allowed;transform:none;}

/* ---------- Wave motif (signature) ---------- */
.wave-divider{display:block;width:100%;height:auto;color:inherit;}
.wave-rule{display:flex;align-items:center;gap:.75rem;color:var(--gold-500);}
.wave-rule svg{width:64px;height:14px;}
.wave-rule::before,.wave-rule::after{content:"";height:1px;flex:1;background:linear-gradient(90deg,transparent,var(--gold-300));}

/* ---------- Badge / tags ---------- */
.badge{display:inline-flex;align-items:center;gap:.35rem;font-size:var(--fs-xs);font-weight:700;padding:.3rem .6rem;border-radius:var(--r-pill);}
.badge-off{background:var(--danger);color:#fff;}
.badge-new{background:var(--gold-500);color:var(--navy-900);}
.badge-soft{background:var(--gold-100);color:var(--gold-600);}
.badge-navy{background:var(--navy-800);color:#fff;}

/* ---------- Top bar ---------- */
.topbar{background:var(--navy-900);color:#c8d3e4;font-size:var(--fs-xs);}
.topbar .container{display:flex;align-items:center;justify-content:space-between;min-height:42px;gap:1rem;flex-wrap:wrap;}
.topbar a{transition:color var(--t);}
.topbar a:hover{color:var(--gold-400);}
.topbar-info{display:flex;gap:1.4rem;align-items:center;flex-shrink:0;}
.topbar-info span{display:inline-flex;align-items:center;gap:.4rem;white-space:nowrap;}
.topbar-info a{display:inline-flex;align-items:center;gap:.4rem;white-space:nowrap;font-weight:600;letter-spacing:.02em;}
.topbar-info svg{width:15px;height:15px;color:var(--gold-500);}
.topbar-social{display:flex;gap:.35rem;}
.topbar-social a{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:rgba(255,255,255,.08);}
.topbar-social svg{width:14px;height:14px;}

/* ---------- Header / nav ---------- */
.site-header{position:sticky;top:0;z-index:60;background:rgba(255,255,255,.92);backdrop-filter:blur(12px);border-block-end:1px solid var(--line);transition:box-shadow var(--t);}
.site-header.scrolled{box-shadow:var(--shadow-md);}
.nav{display:flex;align-items:center;gap:1.5rem;min-height:82px;}
.brand{display:flex;align-items:center;gap:.7rem;flex-shrink:0;}
.brand img{height:56px;width:auto;}
.brand-txt{display:flex;flex-direction:column;line-height:1.15;}
.brand-txt b{font-size:1.15rem;font-weight:900;color:var(--navy-800);letter-spacing:-.02em;}
.brand-txt span{font-size:.62rem;color:var(--gold-600);font-weight:600;letter-spacing:.02em;}
.nav-menu{display:flex;gap:.35rem;margin-inline-start:auto;}
.nav-menu a{position:relative;padding:.55rem .9rem;border-radius:var(--r-sm);font-weight:600;font-size:.97rem;color:var(--navy-800);transition:color var(--t),background var(--t);}
.nav-menu a:hover{background:var(--mist);}
.nav-menu a.active{color:var(--gold-600);}
.nav-menu a.active::after{content:"";position:absolute;inset-inline:.9rem;bottom:.15rem;height:2px;background:var(--gold-500);border-radius:2px;}
.nav-actions{display:flex;align-items:center;gap:.4rem;}
.icon-btn{position:relative;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;color:var(--navy-800);transition:background var(--t),color var(--t);}
.icon-btn:hover{background:var(--mist);}
.icon-btn svg{width:22px;height:22px;}
.cart-count{position:absolute;top:2px;inset-inline-start:2px;min-width:19px;height:19px;padding:0 4px;display:grid;place-items:center;font-size:.66rem;font-weight:800;background:var(--gold-500);color:var(--navy-900);border-radius:99px;line-height:1;}
.cart-count:empty,.cart-count[data-count="0"]{display:none;}
.nav-toggle{display:none;}

/* Mobile drawer */
.nav-drawer-backdrop{position:fixed;inset:0;background:rgba(11,29,56,.5);opacity:0;visibility:hidden;transition:opacity var(--t),visibility var(--t);z-index:70;}
.nav-drawer-backdrop.open{opacity:1;visibility:visible;}
.nav-drawer{position:fixed;inset-block:0;inset-inline-end:0;width:min(84vw,320px);background:#fff;z-index:80;transform:translateX(-100%);transition:transform var(--t);display:flex;flex-direction:column;padding:1.25rem;box-shadow:var(--shadow-lg);}
.nav-drawer.open{transform:translateX(0);}
.nav-drawer .drawer-head{display:flex;align-items:center;justify-content:space-between;margin-block-end:1rem;padding-block-end:1rem;border-block-end:1px solid var(--line);}
.nav-drawer a{padding:.85rem .5rem;border-radius:var(--r-sm);font-weight:600;color:var(--navy-800);border-block-end:1px solid var(--line-soft);}
.nav-drawer a:hover{background:var(--mist);}

/* ---------- Hero ---------- */
.hero{position:relative;background:linear-gradient(160deg,var(--navy-900),var(--navy-800) 55%,var(--navy-700));color:#eaf0f8;overflow:hidden;}
.hero::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 82% 12%,rgba(200,152,88,.22),transparent 42%),radial-gradient(circle at 8% 90%,rgba(43,86,142,.4),transparent 45%);pointer-events:none;}
.hero-badge{display:inline-flex;align-items:center;gap:.5rem;background:rgba(200,152,88,.14);border:1px solid rgba(200,152,88,.35);color:var(--gold-300);padding:.4rem 1rem;border-radius:var(--r-pill);font-size:var(--fs-sm);font-weight:600;margin-block-end:1.5rem;}
.hero-badge span{width:8px;height:8px;border-radius:50%;background:var(--gold-400);box-shadow:0 0 0 4px rgba(217,184,120,.25);}
.hero h1{font-size:var(--fs-hero);font-weight:900;color:#fff;letter-spacing:-.02em;line-height:1.12;}
.hero h1 em{font-style:normal;color:var(--gold-400);position:relative;white-space:nowrap;}
.hero-lead{margin-block:1.5rem;font-size:var(--fs-lead);color:#b9c6da;max-width:33ch;line-height:1.85;}
.hero-cta{display:flex;gap:.9rem;flex-wrap:wrap;}
.hero-stats{display:flex;gap:2.2rem;margin-block-start:2.8rem;flex-wrap:wrap;}
.hero-stat b{display:block;font-size:1.9rem;font-weight:900;color:var(--gold-400);line-height:1;}
.hero-stat span{font-size:var(--fs-sm);color:#9fb0c8;margin-block-start:.4rem;display:block;}
.hero-wave{position:absolute;inset-block-end:-1px;inset-inline:0;color:var(--white);line-height:0;}
.hero .container{position:relative;z-index:2;}

/* stats band — زیر هیرو، جای hero-stats قبلی */
.stats-band{background:var(--white);border-block-end:1px solid var(--line);}
.stats-band .hero-stats{margin:0;justify-content:center;gap:clamp(1.6rem,6vw,4.5rem);padding-block:1.6rem;}
.stats-band .hero-stat{text-align:center;}
.stats-band .hero-stat b{color:var(--gold-600);}
.stats-band .hero-stat span{color:var(--muted);}

/* ---------- Feature strip ---------- */
.features{display:grid;grid-template-columns:repeat(4,1fr);gap:1.25rem;}
.feature{display:flex;align-items:center;gap:1rem;padding:1.35rem;background:#fff;border:1px solid var(--line);border-radius:var(--r-md);transition:transform var(--t),box-shadow var(--t),border-color var(--t);}
.feature:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);border-color:var(--gold-300);}
.feature-ic{flex-shrink:0;width:52px;height:52px;border-radius:14px;display:grid;place-items:center;background:var(--gold-100);color:var(--gold-600);}
.feature-ic svg{width:26px;height:26px;}
.feature b{display:block;font-size:1rem;color:var(--ink);font-weight:700;}
.feature span{font-size:var(--fs-sm);color:var(--muted);}

/* ---------- Category cards ---------- */
.cat-grid{grid-template-columns:repeat(4,1fr);}
.cat-card{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;gap:.9rem;padding:2rem 1.25rem;background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;transition:transform var(--t),box-shadow var(--t),border-color var(--t);}
.cat-card::after{content:"";position:absolute;inset-block-start:0;inset-inline:0;height:4px;background:linear-gradient(90deg,var(--gold-500),var(--gold-300));transform:scaleX(0);transform-origin:inline-end;transition:transform var(--t);}
.cat-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg);border-color:transparent;}
.cat-card:hover::after{transform:scaleX(1);}
.cat-ill{width:96px;height:96px;display:grid;place-items:center;}
.cat-ill svg,.cat-ill img{width:100%;height:100%;object-fit:contain;}
.cat-card b{font-size:1.08rem;color:var(--ink);font-weight:700;}
.cat-card span{font-size:var(--fs-sm);color:var(--muted);}
.cat-card .cat-go{margin-block-start:.3rem;font-size:var(--fs-sm);font-weight:700;color:var(--gold-600);display:inline-flex;align-items:center;gap:.35rem;}
.cat-card:hover .cat-go svg{transform:translateX(-4px);}
.cat-go svg{width:16px;height:16px;transition:transform var(--t);}

/* ---------- Product card ---------- */
.prod-grid{grid-template-columns:repeat(4,1fr);}
.prod-card{position:relative;display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;transition:transform var(--t),box-shadow var(--t),border-color var(--t);}
.prod-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg);border-color:transparent;}
.prod-media{position:relative;aspect-ratio:1/1;background:linear-gradient(160deg,#fbfcfd,#eef1f5);display:grid;place-items:center;padding:1.4rem;}
.prod-media img{width:100%;height:100%;object-fit:contain;transition:transform var(--t);}
.prod-card:hover .prod-media img{transform:scale(1.06);}
.prod-tags{position:absolute;inset-block-start:.8rem;inset-inline-start:.8rem;display:flex;flex-direction:column;gap:.4rem;align-items:flex-start;}
.prod-fav{position:absolute;inset-block-start:.7rem;inset-inline-end:.7rem;width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.85);display:grid;place-items:center;color:var(--muted);opacity:0;transform:translateY(-6px);transition:opacity var(--t),transform var(--t),color var(--t);}
.prod-card:hover .prod-fav{opacity:1;transform:none;}
.prod-fav:hover{color:var(--danger);}
.prod-fav svg{width:20px;height:20px;}
.prod-body{display:flex;flex-direction:column;gap:.5rem;padding:1.1rem 1.2rem 1.3rem;flex:1;}
.prod-brand{font-size:var(--fs-xs);color:var(--gold-600);font-weight:700;letter-spacing:.02em;}
.prod-name{font-size:1rem;font-weight:700;color:var(--ink);line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:3em;}
.prod-name a::after{content:"";position:absolute;inset:0;}
.prod-rating{display:flex;align-items:center;gap:.3rem;font-size:var(--fs-xs);color:var(--muted);}
.stars{display:inline-flex;color:var(--gold-500);}
.stars svg{width:14px;height:14px;}
.prod-foot{margin-block-start:auto;display:flex;align-items:flex-end;justify-content:space-between;gap:.5rem;padding-block-start:.6rem;}
.price{display:flex;flex-direction:column;line-height:1.2;}
.price del{font-size:var(--fs-xs);color:var(--faint);}
.price b{font-size:1.2rem;font-weight:900;color:var(--navy-800);}
.price b i{font-style:normal;font-size:.7rem;font-weight:600;color:var(--muted);margin-inline-start:.2rem;}
.add-btn{flex-shrink:0;width:46px;height:46px;border-radius:14px;background:var(--navy-800);color:#fff;display:grid;place-items:center;transition:transform var(--t),background var(--t);z-index:2;}
.add-btn:hover{background:var(--gold-500);color:var(--navy-900);transform:scale(1.08);}
.add-btn svg{width:22px;height:22px;}

/* ---------- Brands strip ---------- */
.brands{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center;}
.brand-chip{display:grid;place-items:center;height:76px;min-width:150px;padding:0 1.75rem;background:#fff;border:1px solid var(--line);border-radius:var(--r-md);font-weight:800;font-size:1.15rem;color:var(--navy-700);letter-spacing:.01em;transition:transform var(--t),box-shadow var(--t),color var(--t);}
.brand-chip:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);color:var(--gold-600);}
.brand-chip small{font-weight:600;color:var(--faint);font-size:.7rem;margin-inline-start:.35rem;}

/* ---------- CTA banner ---------- */
.cta-band{position:relative;background:linear-gradient(135deg,var(--navy-800),var(--navy-600));border-radius:var(--r-xl);padding:clamp(2.5rem,5vw,4rem);color:#fff;overflow:hidden;text-align:center;}
.cta-band::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 15% 20%,rgba(200,152,88,.25),transparent 40%);}
.cta-band h2{color:#fff;font-size:var(--fs-h1);position:relative;}
.cta-band p{position:relative;color:#c3d0e4;margin-block:1rem 1.8rem;font-size:var(--fs-lead);}
.cta-band .hero-cta{position:relative;justify-content:center;}

/* ---------- Testimonials ---------- */
.quote-grid{grid-template-columns:repeat(3,1fr);}
.quote{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:1.75rem;display:flex;flex-direction:column;gap:1rem;transition:transform var(--t),box-shadow var(--t);}
.quote:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);}
.quote-mark{font-size:3rem;line-height:.6;color:var(--gold-300);font-weight:900;font-family:Georgia,serif;height:1.4rem;}
.quote p{color:var(--text);line-height:1.9;}
.quote-by{display:flex;align-items:center;gap:.8rem;margin-block-start:auto;}
.quote-av{width:44px;height:44px;border-radius:50%;background:var(--navy-800);color:var(--gold-400);display:grid;place-items:center;font-weight:800;}
.quote-by b{display:block;color:var(--ink);font-size:.95rem;}
.quote-by span{font-size:var(--fs-xs);color:var(--muted);}

/* ---------- Footer ---------- */
.site-footer{background:var(--navy-900);color:#a9b7cc;font-size:var(--fs-sm);position:relative;}
.footer-wave{color:var(--navy-900);line-height:0;}
.footer-top{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.3fr;gap:2.5rem;padding-block:clamp(2.5rem,5vw,4rem);}
.footer-brand b{font-size:1.4rem;font-weight:900;color:#fff;display:block;}
.footer-brand span{color:var(--gold-400);font-size:.8rem;}
.footer-brand p{margin-block:1rem;line-height:1.9;color:#93a3ba;max-width:34ch;}
.footer h4{color:#fff;font-size:1rem;margin-block-end:1.2rem;font-weight:700;}
.footer-links a{display:block;padding-block:.4rem;color:#a9b7cc;transition:color var(--t),padding var(--t);}
.footer-links a:hover{color:var(--gold-400);padding-inline-start:.4rem;}
.footer-contact li{display:flex;gap:.7rem;padding-block:.45rem;align-items:flex-start;}
.footer-contact svg{width:18px;height:18px;color:var(--gold-500);flex-shrink:0;margin-block-start:.2rem;}
.footer-social{display:flex;gap:.6rem;margin-block-start:1.2rem;}
.footer-social a{width:40px;height:40px;border-radius:12px;background:rgba(255,255,255,.06);display:grid;place-items:center;transition:background var(--t),transform var(--t);}
.footer-social a:hover{background:var(--gold-500);color:var(--navy-900);transform:translateY(-3px);}
.footer-social svg{width:19px;height:19px;}
.footer-trust{margin-block-start:1.4rem;}
.footer-trust a{display:inline-grid;place-items:center;padding:.55rem;border-radius:14px;background:#fff;transition:transform var(--t),box-shadow var(--t);}
.footer-trust a:hover{transform:translateY(-3px);box-shadow:0 10px 24px rgba(0,0,0,.28);}
.footer-trust img{display:block;width:90px;height:auto;}
.footer-bottom{border-block-start:1px solid rgba(255,255,255,.08);padding-block:1.4rem;display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;font-size:var(--fs-xs);color:#7e8ea6;}
.footer-newsletter{display:flex;gap:.5rem;margin-block-start:1rem;}
.footer-newsletter input{flex:1;padding:.75rem 1rem;border-radius:var(--r-pill);border:1px solid rgba(255,255,255,.15);background:rgba(255,255,255,.06);color:#fff;}
.footer-newsletter input::placeholder{color:#7e8ea6;}

/* ---------- Breadcrumb ---------- */
.crumb{display:flex;align-items:center;gap:.5rem;font-size:var(--fs-sm);color:var(--muted);padding-block:1.25rem;flex-wrap:wrap;}
.crumb a:hover{color:var(--gold-600);}
.crumb svg{width:15px;height:15px;color:var(--faint);transform:scaleX(-1);}
.crumb .cur{color:var(--ink);font-weight:600;}

/* ---------- Forms ---------- */
.field{display:flex;flex-direction:column;gap:.45rem;}
.field label{font-weight:600;font-size:var(--fs-sm);color:var(--ink);}
.field label i{color:var(--danger);font-style:normal;}
.field input,.field textarea,.field select{
  padding:.85rem 1.05rem;border:1.5px solid var(--line);border-radius:var(--r-md);
  background:#fff;transition:border-color var(--t),box-shadow var(--t);width:100%;
}
.field input:focus,.field textarea:focus,.field select:focus{outline:none;border-color:var(--gold-500);box-shadow:0 0 0 4px rgba(200,152,88,.15);}
.field textarea{resize:vertical;min-height:130px;}
.field .hint{font-size:var(--fs-xs);color:var(--muted);}

/* ---------- Search bar ---------- */
.search-bar{border-block-start:1px solid var(--line);background:var(--porcelain);animation:slideDown .3s var(--ease);}
@keyframes slideDown{from{opacity:0;transform:translateY(-8px);}to{opacity:1;transform:none;}}
.search-form{display:flex;align-items:center;gap:.7rem;padding-block:1rem;}
.search-form svg{width:22px;height:22px;color:var(--muted);flex-shrink:0;}
.search-form input{flex:1;border:none;background:none;font-size:1.05rem;padding:.4rem 0;}
.search-form input:focus{outline:none;}

/* ---------- Toast ---------- */
#toast-host{position:fixed;inset-block-end:1.5rem;inset-inline-start:1.5rem;z-index:200;display:flex;flex-direction:column;gap:.6rem;}
.toast{display:flex;align-items:center;gap:.6rem;background:var(--navy-800);color:#fff;padding:.85rem 1.2rem;border-radius:var(--r-pill);box-shadow:var(--shadow-lg);font-weight:600;font-size:.92rem;opacity:0;transform:translateY(14px);transition:opacity .3s var(--ease),transform .3s var(--ease);max-width:min(90vw,380px);}
.toast.in{opacity:1;transform:none;}
.toast svg{width:20px;height:20px;flex-shrink:0;color:var(--gold-400);}
.toast--success{background:var(--success);}
.toast--success svg{color:#fff;}

/* ---------- Card interaction states ---------- */
.prod-fav.on{color:var(--danger);opacity:1;transform:none;}
.add-btn.added{background:var(--success);color:#fff;}

/* ---------- Page head ---------- */
.page-head{background:linear-gradient(180deg,var(--porcelain),#fff);border-block-end:1px solid var(--line);}
.page-head .container{padding-block:clamp(1.25rem,3vw,2.25rem);}
.page-head h1{font-size:var(--fs-h1);}
.page-head p{color:var(--muted);margin-block-start:.45rem;}

/* ---------- Shop layout ---------- */
.shop{display:grid;grid-template-columns:280px 1fr;gap:2rem;align-items:start;padding-block:clamp(1.5rem,4vw,3rem);}
.filters{position:sticky;top:104px;background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:1.4rem;display:flex;flex-direction:column;gap:1.4rem;}
.filters-head{display:none;align-items:center;justify-content:space-between;}
.filter-group+.filter-group{border-block-start:1px solid var(--line-soft);padding-block-start:1.4rem;}
.filter-group>h4{font-size:1rem;margin-block-end:.9rem;color:var(--ink);}
.filter-list{display:flex;flex-direction:column;gap:.15rem;max-height:240px;overflow:auto;}
.filter-opt{display:flex;align-items:center;gap:.6rem;padding:.5rem;border-radius:var(--r-sm);cursor:pointer;font-size:.93rem;transition:background var(--t);}
.filter-opt:hover{background:var(--mist);}
.filter-opt input{accent-color:var(--navy-800);width:17px;height:17px;flex-shrink:0;}
.filter-opt .cnt{margin-inline-start:auto;font-size:.72rem;color:var(--faint);background:var(--mist);padding:.1rem .45rem;border-radius:99px;}
.price-row{display:flex;gap:.5rem;align-items:center;}
.price-row input{width:100%;padding:.6rem;border:1.5px solid var(--line);border-radius:var(--r-sm);font-size:.85rem;text-align:center;}
.price-row span{color:var(--faint);}
.btn-reset{align-self:flex-start;font-size:.85rem;color:var(--danger);font-weight:700;display:inline-flex;gap:.35rem;align-items:center;}

.shop-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-block-end:1.5rem;flex-wrap:wrap;}
.shop-count{color:var(--muted);font-size:.95rem;}
.shop-count b{color:var(--ink);font-weight:800;}
.shop-sort{display:flex;align-items:center;gap:.6rem;font-size:.9rem;color:var(--muted);}
.shop-sort select{padding:.6rem 1.1rem;border:1.5px solid var(--line);border-radius:var(--r-pill);background:#fff;font-weight:700;font-size:.88rem;color:var(--ink);cursor:pointer;}
.chips{display:flex;flex-wrap:wrap;gap:.5rem;margin-block-end:1.25rem;}
.chip{display:inline-flex;align-items:center;gap:.4rem;background:var(--gold-100);color:var(--gold-600);padding:.4rem .85rem;border-radius:var(--r-pill);font-size:.82rem;font-weight:700;}
.chip button{display:grid;place-items:center;color:currentColor;opacity:.7;}
.chip button:hover{opacity:1;}
.chip svg{width:14px;height:14px;}
.filter-toggle{display:none;}
.filters-backdrop{display:none;}

.empty{text-align:center;padding:4rem 1rem;color:var(--muted);grid-column:1/-1;}
.empty-ic{width:76px;height:76px;border-radius:50%;background:var(--mist);display:grid;place-items:center;margin-inline:auto;margin-block-end:1.2rem;color:var(--faint);}
.empty-ic svg{width:38px;height:38px;}
.empty h3{color:var(--ink);margin-block-end:.5rem;}

@media (max-width:900px){
  .shop{grid-template-columns:1fr;}
  .filters{display:none;position:fixed;inset-block:0;inset-inline-end:0;top:0;width:min(86vw,330px);z-index:90;border-radius:0;max-height:100dvh;overflow:auto;box-shadow:var(--shadow-lg);}
  .filters.open{display:flex;}
  .filters-head{display:flex;}
  .filters-backdrop.open{display:block;position:fixed;inset:0;background:rgba(11,29,56,.5);z-index:85;}
  .filter-toggle{display:inline-flex;align-items:center;gap:.4rem;padding:.6rem 1.1rem;border:1.5px solid var(--navy-800);border-radius:var(--r-pill);font-weight:700;font-size:.88rem;color:var(--navy-800);}
  .filter-toggle svg{width:18px;height:18px;}
}

/* ---------- Product detail ---------- */
.product{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1.5rem,4vw,3.5rem);align-items:start;}
.p-gallery{position:sticky;top:104px;}
.p-main{position:relative;aspect-ratio:1;background:radial-gradient(circle at 50% 38%,#fff,#e9edf3);border:1px solid var(--line);border-radius:var(--r-xl);display:grid;place-items:center;padding:clamp(.9rem,3vw,1.9rem);overflow:hidden;}
.p-main img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 18px 28px rgba(16,40,72,.16));transition:transform .5s cubic-bezier(.2,.7,.2,1);}
.p-main:hover img{transform:scale(1.06);}
.p-tags-abs{position:absolute;inset-block-start:1.2rem;inset-inline-start:1.2rem;z-index:2;display:flex;flex-direction:column;gap:.5rem;}
.p-brandline{display:flex;align-items:center;gap:.6rem;color:var(--gold-600);font-weight:700;font-size:.95rem;}
.p-brandline svg{width:20px;height:20px;flex-shrink:0;}
.p-info h1{font-size:clamp(1.5rem,3vw,2.05rem);line-height:1.45;margin-block:.6rem;}
.p-rating{display:flex;align-items:center;gap:.5rem;color:var(--muted);font-size:.9rem;margin-block-end:1.2rem;}
.p-stock{display:inline-flex;align-items:center;gap:.45rem;color:var(--success);font-weight:700;font-size:.9rem;}
.p-stock::before{content:"";width:9px;height:9px;border-radius:50%;background:var(--success);box-shadow:0 0 0 4px rgba(31,157,107,.15);}
.p-price{display:flex;align-items:center;gap:1rem;padding:1.3rem 0;border-block:1px solid var(--line);flex-wrap:wrap;margin-block:1.2rem;}
.p-price .now{font-size:clamp(1.6rem,3vw,2.1rem);font-weight:900;color:var(--navy-800);}
.p-price .now i{font-size:.85rem;font-weight:600;color:var(--muted);margin-inline-start:.35rem;}
.p-price del{color:var(--faint);font-size:1.05rem;}
.p-highlights{display:flex;flex-direction:column;gap:.75rem;margin-block:1.4rem;}
.p-highlights li{display:flex;gap:.6rem;align-items:center;color:var(--text);}
.p-highlights svg{width:20px;height:20px;color:var(--success);flex-shrink:0;}
.p-buy{display:grid;grid-template-columns:auto 1fr;gap:.7rem .8rem;align-items:stretch;margin-block:1.6rem;}
.p-buy .qty{grid-row:1;height:100%;}
.p-buy .btn-primary{grid-row:1;margin:0;}
.p-buy .btn-gold{grid-column:1 / -1;margin:0;}
.qty{display:flex;align-items:center;border:1.5px solid var(--line);border-radius:var(--r-pill);overflow:hidden;flex-shrink:0;}
.qty button{width:44px;height:50px;display:grid;place-items:center;color:var(--navy-800);}
.qty button:hover{background:var(--mist);}
.qty span{min-width:46px;text-align:center;font-weight:800;font-size:1.05rem;}
.p-trust{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-block-start:1.6rem;padding-block-start:1.6rem;border-block-start:1px solid var(--line);}
.p-trust .t{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.55rem;font-size:.8rem;color:var(--muted);font-weight:600;}
.p-trust .t-ic{width:48px;height:48px;border-radius:14px;background:var(--gold-100);color:var(--gold-600);display:grid;place-items:center;}
.p-trust svg{width:24px;height:24px;}
.p-detail{display:grid;grid-template-columns:1.4fr 1fr;gap:clamp(1.5rem,4vw,3rem);align-items:start;}
.p-detail h2{font-size:var(--fs-h3);margin-block-end:1rem;}
.p-detail p{line-height:2;color:var(--text);}
.spec-table{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;}
.spec-table tr+tr{border-block-start:1px solid var(--line-soft);}
.spec-table th,.spec-table td{text-align:start;padding:.95rem 1.3rem;font-size:.93rem;}
.spec-table th{color:var(--muted);font-weight:600;width:42%;background:var(--porcelain);}
.spec-table td{color:var(--ink);font-weight:700;}
@media (max-width:900px){.product{grid-template-columns:1fr;}.p-gallery{position:static;}.p-detail{grid-template-columns:1fr;}}

/* ---------- Cart & checkout ---------- */
.cart-layout{display:grid;grid-template-columns:1fr 370px;gap:clamp(1.2rem,3vw,2.2rem);align-items:start;}
.cart-items{display:flex;flex-direction:column;gap:1rem;}
.cart-item{display:grid;grid-template-columns:96px 1fr auto;gap:1.2rem;align-items:center;background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:1rem;transition:box-shadow var(--t);}
.cart-item:hover{box-shadow:var(--shadow-sm);}
.ci-img{width:96px;height:96px;border-radius:var(--r-md);background:radial-gradient(circle at 50% 40%,#fff,#eef1f5);border:1px solid var(--line-soft);display:grid;place-items:center;}
.ci-img img{width:74%;height:auto;}
.ci-info b{display:block;font-size:1rem;color:var(--ink);line-height:1.6;}
.ci-info b a:hover{color:var(--gold-600);}
.ci-brand{color:var(--gold-600);font-size:.82rem;font-weight:700;}
.ci-unit{color:var(--muted);font-size:.85rem;margin-block-start:.4rem;}
.ci-end{display:flex;flex-direction:column;align-items:flex-end;gap:.8rem;height:100%;justify-content:space-between;}
.ci-line{font-weight:900;color:var(--navy-800);white-space:nowrap;}
.ci-line i{font-size:.8rem;font-weight:600;color:var(--muted);margin-inline-start:.3rem;}
.ci-remove{display:inline-flex;align-items:center;gap:.35rem;color:var(--muted);font-size:.82rem;}
.ci-remove:hover{color:var(--danger);}
.ci-remove svg{width:17px;height:17px;}
.cart-item .qty button{width:38px;height:42px;}
.cart-item .qty span{min-width:40px;font-size:1rem;}

.cart-summary{position:sticky;top:104px;background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);overflow:hidden;}
.cs-head{padding:1.2rem 1.3rem;border-block-end:1px solid var(--line);font-weight:800;color:var(--navy-800);font-size:1.1rem;}
.cs-body{padding:1.3rem;}
.summary-row{display:flex;justify-content:space-between;align-items:center;padding-block:.6rem;color:var(--text);font-size:.93rem;}
.summary-row .muted{color:var(--muted);}
.summary-row.total{border-block-start:1px dashed var(--line);margin-block-start:.6rem;padding-block-start:1rem;font-size:1.05rem;font-weight:800;color:var(--navy-800);}
.summary-row.total b{font-size:1.35rem;color:var(--gold-600);}
.summary-row.total i{font-size:.8rem;font-weight:600;color:var(--muted);margin-inline-start:.3rem;}
.cs-note{background:var(--gold-100);color:var(--gold-600);border-radius:var(--r-md);padding:.85rem 1rem;font-size:.82rem;line-height:1.9;margin-block:1.1rem;display:flex;gap:.6rem;}
.cs-note svg{width:20px;height:20px;flex-shrink:0;margin-block-start:.15rem;}
.checkout-form{display:flex;flex-direction:column;gap:.85rem;}

/* form validation states + compact layout */
.checkout-form .field textarea{min-height:80px;}
.field.invalid input,.field.invalid textarea{border-color:var(--danger);}
.field-err{color:var(--danger);font-size:.78rem;display:none;}
.field.invalid .field-err{display:block;}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:.85rem;}

@media (max-width:900px){.cart-layout{grid-template-columns:1fr;}.cart-summary{position:static;}}
@media (max-width:520px){.cart-item{grid-template-columns:72px 1fr;}.ci-img{width:72px;height:72px;}.ci-end{grid-column:1 / -1;flex-direction:row;align-items:center;justify-content:space-between;}.form-grid{grid-template-columns:1fr;}}

/* ---------- About ---------- */
.about-story{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1.5rem,4vw,3.5rem);align-items:center;}
.about-visual{position:relative;aspect-ratio:1/1.02;border-radius:var(--r-xl);background:linear-gradient(160deg,var(--navy-900),var(--navy-700));display:grid;place-items:center;overflow:hidden;box-shadow:var(--shadow-lg);}
.about-visual::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 30% 22%,rgba(200,152,88,.28),transparent 58%);}
.about-visual::after{content:"";position:absolute;inset-block-end:-1px;inset-inline:0;height:40%;background:radial-gradient(120% 100% at 50% 100%,rgba(200,152,88,.16),transparent 70%);}
.about-visual img{width:62%;position:relative;z-index:1;filter:drop-shadow(0 18px 34px rgba(0,0,0,.4));}
.about-float{position:absolute;z-index:2;background:rgba(255,255,255,.96);backdrop-filter:blur(6px);border-radius:var(--r-md);padding:.7rem 1rem;box-shadow:var(--shadow-md);display:flex;align-items:center;gap:.6rem;font-size:.8rem;font-weight:700;color:var(--navy-800);}
.about-float svg{width:22px;height:22px;color:var(--gold-600);}
.about-float.a1{inset-block-start:1.4rem;inset-inline-start:1.4rem;}
.about-float.a2{inset-block-end:1.4rem;inset-inline-end:1.4rem;}
.about-list{display:grid;gap:1rem;margin-block:1.6rem;}
.about-list li{display:flex;gap:.75rem;align-items:flex-start;color:var(--text);line-height:1.8;}
.about-list svg{width:22px;height:22px;color:var(--success);flex-shrink:0;margin-block-start:.25rem;}
.stat-band{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(1rem,3vw,2rem);text-align:center;}
.stat-band .s b{font-size:clamp(2rem,4vw,2.9rem);font-weight:900;color:var(--gold-400);display:block;line-height:1;}
.stat-band .s span{color:#c9d3e0;font-size:.9rem;margin-block-start:.6rem;display:block;}

/* ---------- Contact ---------- */
.contact-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:clamp(1.5rem,4vw,3rem);align-items:start;}
.contact-cards{display:grid;gap:1rem;}
.contact-card{display:flex;gap:1rem;align-items:flex-start;background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:1.25rem;transition:box-shadow var(--t),transform var(--t);}
.contact-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px);}
.contact-card .cc-ic{width:50px;height:50px;border-radius:14px;background:var(--gold-100);color:var(--gold-600);display:grid;place-items:center;flex-shrink:0;}
.contact-card .cc-ic svg{width:25px;height:25px;}
.contact-card b{display:block;color:var(--navy-800);margin-block-end:.35rem;}
.contact-card .cc-body span,.contact-card .cc-body a{display:block;color:var(--muted);font-size:.92rem;line-height:1.9;}
.contact-card .cc-body a:hover{color:var(--gold-600);}
.contact-form-card{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);padding:clamp(1.3rem,3vw,2rem);}
.contact-form-card h3{color:var(--navy-800);margin-block-end:.4rem;}
.contact-form-card>p{color:var(--muted);font-size:.9rem;margin-block-end:1.4rem;}
.map-embed{border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--line);margin-block-start:1.5rem;aspect-ratio:16/6.5;background:var(--mist);}
.map-embed iframe{width:100%;height:100%;border:0;display:block;filter:grayscale(.15);}
@media (max-width:900px){.about-story{grid-template-columns:1fr;}.stat-band{grid-template-columns:repeat(2,1fr);}.contact-grid{grid-template-columns:1fr;}}

/* ---------- Utility ---------- */
.text-center{text-align:center;}
.mt-6{margin-block-start:var(--sp-6);}
.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s var(--ease),transform .7s var(--ease);}
.reveal.in{opacity:1;transform:none;}

/* ---------- Responsive ---------- */
@media (max-width:1024px){
  .cat-grid,.prod-grid{grid-template-columns:repeat(3,1fr);}
  .features{grid-template-columns:repeat(2,1fr);}
  .footer-top{grid-template-columns:1fr 1fr;}
  .quote-grid{grid-template-columns:1fr;}
}
@media (max-width:768px){
  .nav-menu,.topbar-info .hide-sm{display:none;}
  .nav-toggle{display:grid;}
  .cat-grid,.prod-grid{grid-template-columns:repeat(2,1fr);}
  .brand img{height:46px;}
  .brand-txt{display:none;}
  .hero-stats{gap:1.4rem;}
}
@media (max-width:480px){
  .features{grid-template-columns:1fr;}
  .footer-top{grid-template-columns:1fr;}
  .prod-grid{grid-template-columns:1fr 1fr;gap:.85rem;}
  .prod-body{padding:.85rem;}
}

/* ============================================================
   Modal — پنجره‌ی شناور (z-index بین کشوی منو ۷۰ و توست ۲۰۰)
   ============================================================ */
.modal{position:fixed;inset:0;z-index:150;display:none;}
.modal.open{display:flex;align-items:center;justify-content:center;padding:1rem;}
body.modal-open{overflow:hidden;}
.modal-backdrop{position:absolute;inset:0;background:rgba(8,20,38,.68);backdrop-filter:blur(5px);animation:mdFade .25s var(--ease);}
.modal-card{
  position:relative;width:min(520px,100%);max-height:calc(100vh - 2rem);overflow-y:auto;
  background:#fff;border-radius:var(--r-lg);box-shadow:var(--shadow-lg);
  animation:mdRise .3s var(--ease);
}
.modal-x{
  position:absolute;inset-block-start:.85rem;inset-inline-end:.85rem;z-index:2;
  width:38px;height:38px;border:none;border-radius:50%;background:var(--mist);color:var(--navy-800);
  display:grid;place-items:center;cursor:pointer;transition:background var(--t),color var(--t);
}
.modal-x:hover{background:var(--navy-800);color:#fff;}
.modal-x svg{width:18px;height:18px;}
.modal-body{padding:clamp(1.4rem,4vw,2.1rem);}
.modal-head{margin-block-end:1.5rem;padding-inline-end:2.6rem;}
.modal-eyebrow{display:inline-flex;align-items:center;gap:.4rem;background:var(--gold-100);color:var(--gold-600);font-size:var(--fs-xs);font-weight:700;padding:.32rem .7rem;border-radius:var(--r-pill);}
.modal-eyebrow svg{width:14px;height:14px;}
.modal-head h2{margin-block:.7rem .5rem;font-size:var(--fs-h3);font-weight:900;color:var(--ink);}
.modal-head p{font-size:var(--fs-sm);color:var(--muted);line-height:1.8;}
@keyframes mdFade{from{opacity:0;}to{opacity:1;}}
@keyframes mdRise{from{opacity:0;transform:translateY(14px) scale(.96);}to{opacity:1;transform:none;}}

/* ============================================================
   گردونه شانس — Lucky wheel
   ============================================================ */
.hero--wheel .hero-lead{max-width:60ch;margin-inline:auto;}
.wheel-hero{position:relative;padding-block:clamp(2.2rem,5vw,4rem) clamp(4rem,8vw,6.5rem);}
.wheel-hero-head{text-align:center;}
.wheel-hero-head .hero-badge{margin-block-end:1.1rem;}
.wheel-hero-body{
  display:grid;grid-template-columns:minmax(0,1fr) minmax(0,26rem);
  gap:clamp(1.5rem,4vw,3.5rem);align-items:center;margin-block-start:clamp(1.8rem,4vw,3rem);
}

/* ---- صحنه‌ی گردونه ---- */
.wheel-stage{position:relative;width:clamp(260px,78vw,460px);aspect-ratio:1;margin-inline:auto;justify-self:center;}
.wheel-glow{position:absolute;inset:-12%;border-radius:50%;background:radial-gradient(circle,rgba(200,152,88,.34),transparent 62%);animation:wGlow 4.5s ease-in-out infinite;pointer-events:none;}
@keyframes wGlow{0%,100%{opacity:.55;transform:scale(.96);}50%{opacity:1;transform:scale(1.04);}}
.wheel-spin{position:absolute;inset:0;transform-origin:50% 50%;will-change:transform;filter:drop-shadow(0 24px 46px rgba(0,0,0,.42));}
.wheel-svg{width:100%;height:100%;}
.wheel-svg text{font-family:var(--font);font-size:15.5px;font-weight:800;}
.wheel-spin image{filter:saturate(1.05);}

/* لامپ‌های دور قاب */
.wled{fill:#fff5e0;opacity:.45;}
.is-spinning .wled{animation:wLed .55s linear infinite;animation-delay:calc(var(--i) * -.045s);}
.is-won .wled{animation:wLed .34s linear infinite;animation-delay:calc(var(--i) * -.03s);}
@keyframes wLed{0%,100%{opacity:.28;}50%{opacity:1;}}

/* نشانگر بالای گردونه */
.wheel-pointer{position:absolute;inset-block-start:-4%;inset-inline:0;margin-inline:auto;width:11%;filter:drop-shadow(0 5px 10px rgba(0,0,0,.45));z-index:3;transform-origin:50% 30%;}
.is-spinning .wheel-pointer{animation:wTick .09s linear infinite;}
@keyframes wTick{0%,100%{transform:rotate(0);}50%{transform:rotate(-7deg);}}

/* دکمه‌ی مرکز */
.wheel-hub{
  position:absolute;inset-block-start:50%;inset-inline:0;margin-inline:auto;transform:translateY(-50%);
  width:23%;aspect-ratio:1;border:none;border-radius:50%;background:none;cursor:pointer;z-index:4;
  display:grid;place-content:center;gap:.1rem;color:var(--navy-900);
  transition:transform var(--t);
}
.wheel-hub:hover:not([disabled]){transform:translateY(-50%) scale(1.08);}
.wheel-hub svg{width:clamp(15px,3.4vw,20px);height:auto;margin-inline:auto;color:var(--navy-800);}
.wheel-hub b{font-size:clamp(.66rem,1.7vw,.86rem);font-weight:900;letter-spacing:-.01em;}
.wheel-hub[disabled]{cursor:default;opacity:.75;}
.wheel-live{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);}

/* ---- ستون کنار گردونه ---- */
.wheel-side-title{font-size:1.12rem;font-weight:800;color:var(--gold-300);margin-block-end:.9rem;}
.prize-list{list-style:none;display:grid;gap:.5rem;}
.prize-item{
  display:flex;align-items:center;gap:.85rem;
  background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);
  border-radius:var(--r-md);padding:.6rem .8rem;
  transition:background var(--t),border-color var(--t);
}
.prize-item:hover{background:rgba(255,255,255,.12);border-color:rgba(200,152,88,.45);}
.prize-art{flex-shrink:0;width:46px;height:46px;border-radius:12px;background:#fff;display:grid;place-items:center;overflow:hidden;}
.prize-art img{width:100%;height:100%;object-fit:contain;}
.prize-art svg{width:24px;height:24px;color:var(--gold-600);}
.prize-txt b{display:block;font-size:.97rem;font-weight:700;color:#fff;line-height:1.5;}
.prize-txt small{font-size:var(--fs-xs);color:#9fb0c8;}
.wheel-cta{display:flex;gap:.8rem;flex-wrap:wrap;margin-block-start:1.5rem;}
.wheel-note{margin-block-start:1rem;font-size:var(--fs-xs);color:#9fb0c8;line-height:1.8;}

/* ---- فرم ورود ---- */
.wheel-form{display:grid;gap:1.05rem;}
.wheel-form .field.invalid input{border-color:var(--danger);}
.code-input{text-align:center;letter-spacing:.5em;font-size:1.4rem;font-weight:800;padding-inline:.5rem!important;}
.wheel-form-foot:empty{display:none;}
.wheel-form-note{display:flex;align-items:center;gap:.45rem;font-size:var(--fs-xs);color:var(--muted);}
.wheel-form-note svg{width:15px;height:15px;color:var(--success);flex-shrink:0;}
.btn-spin{display:none;width:1.1em;height:1.1em;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;animation:btnSpin .7s linear infinite;}
.btn.is-busy .btn-spin{display:block;}
@keyframes btnSpin{to{transform:rotate(360deg);}}

/* ---- صفحه‌ی نتیجه ---- */
.win{text-align:center;}
.win-eyebrow{display:inline-flex;align-items:center;gap:.4rem;background:var(--gold-100);color:var(--gold-600);font-size:var(--fs-xs);font-weight:700;padding:.32rem .8rem;border-radius:var(--r-pill);}
.win-eyebrow svg{width:14px;height:14px;}
.win h2{margin-block:.8rem 0;font-size:var(--fs-h2);font-weight:900;color:var(--navy-800);}
.win-art{display:grid;place-items:center;margin-block:1rem;}
.win-art img{width:150px;height:150px;object-fit:contain;}
.win-ic{display:grid;place-items:center;width:118px;height:118px;border-radius:50%;background:radial-gradient(circle at 40% 32%,var(--gold-100),var(--gold-400));box-shadow:var(--shadow-gold);}
.win-ic svg{width:56px;height:56px;color:var(--navy-800);}
.win-amount{font-size:1.3rem;font-weight:900;color:var(--gold-600);line-height:1.4;}
.win-amount span{display:block;font-size:var(--fs-sm);font-weight:500;color:var(--muted);}
.win-code{
  margin-block:1.4rem;padding:1.15rem;border-radius:var(--r-md);
  background:var(--porcelain);border:1.5px dashed var(--gold-400);
  display:grid;gap:.6rem;justify-items:center;
}
.win-code-cap{font-size:var(--fs-xs);font-weight:700;color:var(--gold-600);}
.win-code b{font-size:1.65rem;font-weight:900;color:var(--navy-800);letter-spacing:.06em;direction:ltr;font-feature-settings:"tnum";}
.win-note{font-size:var(--fs-sm);color:var(--muted);line-height:1.8;}
.win-cta{display:grid;gap:.7rem;margin-block-start:1.3rem;}
.win-fine{margin-block-start:1rem;font-size:var(--fs-xs);color:var(--faint);}

/* ---- کاغذرنگی ---- */
.confetti{position:fixed;inset:0;z-index:190;pointer-events:none;overflow:hidden;}
.confetti i{
  position:absolute;inset-block-start:-8vh;inset-inline-start:var(--x);
  width:var(--w);height:var(--h);border-radius:2px;opacity:0;
  animation:cfFall var(--d) var(--delay) linear forwards;
}
@keyframes cfFall{
  0%{opacity:1;transform:translateY(0) rotate(0);}
  100%{opacity:0;transform:translateY(112vh) rotate(var(--r));}
}

/* ---- واکنش‌گرا ---- */
@media (max-width:900px){
  .wheel-hero-body{grid-template-columns:1fr;}
  .wheel-side{max-width:32rem;margin-inline:auto;width:100%;}
  .wheel-side-title{text-align:center;}
  .wheel-cta{justify-content:center;}
  .wheel-note{text-align:center;}
}
@media (max-width:520px){
  .wheel-cta .btn{width:100%;}
  .wheel-svg text{font-size:17px;}
  .win-code b{font-size:1.35rem;}
}
@media (prefers-reduced-motion:reduce){
  .wheel-glow,.is-spinning .wled,.is-won .wled,.is-spinning .wheel-pointer{animation:none;}
  .confetti{display:none;}
}

