/*!
 * هفت‌رنگ — قالب HTML فروشگاهی صنایع دستی و زعفران
 * نسخه   : 3.2.0
 * فایل   : assets/css/styles.css — تنها فایل استایل پروژه
 * وابستگی: ندارد (بدون بوت‌استرپ، بدون CDN، کاملاً آفلاین)
 * مستندات: docs.html · README.md · قراردادها: CONTRIBUTING.md
 *
 * فهرست بخش‌ها
 *  ۱. @font-face ......... فونت‌های لوکال
 *  ۲. :root .............. متغیرهای رنگ، فونت و سایه
 *  ۳. ریست و پایه ........ * / body / تیترها / تصاویر
 *  ۴. عناصر تزئینی ....... بشقاب چرخان و سرو کناری
 *  ۵. سرصفحه ............. نوار اعلان، هدر شیشه‌ای، ناوبری، مگامنو
 *  ۶. کامپوننت‌ها ........ دکمه، کارت محصول، عنوان بخش
 *  ۷. شبکه ............... container و grid-*
 *  ۸. پاصفحه
 *  ۹. مسیر و فرم‌ها
 * ۱۰. واکنش‌گرایی
 * ۱۱. بلوک نسخهٔ ۳ ...... پوسته، سبد، پرداخت، مقایسه، وبلاگ، احراز هویت، ۴۰۴
 *
 * نکته: برای تغییر رنگ کل قالب فقط بخش ۲ (:root) را ویرایش کنید.
 */

/* ---------- فونت‌های لوکال (بدون نیاز به اینترنت) ---------- */
@font-face{font-family:'Vazirmatn';src:url('../fonts/vazirmatn-400.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:'Vazirmatn';src:url('../fonts/vazirmatn-500.woff2') format('woff2');font-weight:500;font-display:swap}
@font-face{font-family:'Vazirmatn';src:url('../fonts/vazirmatn-700.woff2') format('woff2');font-weight:700;font-display:swap}
@font-face{font-family:'Vazirmatn';src:url('../fonts/vazirmatn-900.woff2') format('woff2');font-weight:900;font-display:swap}
@font-face{font-family:'VazirmatnLatin';src:url('../fonts/vazirmatn-latin-400.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:'VazirmatnLatin';src:url('../fonts/vazirmatn-latin-700.woff2') format('woff2');font-weight:700;font-display:swap}
@font-face{font-family:'Lalezar';src:url('../fonts/lalezar-400.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:'LalezarLatin';src:url('../fonts/lalezar-latin-400.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:'Amiri';src:url('../fonts/amiri-400.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:'Amiri';src:url('../fonts/amiri-700.woff2') format('woff2');font-weight:700;font-display:swap}
@font-face{font-family:'Marcellus';src:url('../fonts/marcellus-400.woff2') format('woff2');font-weight:400;font-display:swap}

:root{
  /* پالت برگرفته از کاشی و مینای اصفهان */
  --ivory:      #F8F2E4;
  --parchment:  #F1E8D3;
  --sand:       #E5D8BB;
  --turquoise:  #157F8D;
  --turquoise-2:#2BA3AE;
  --lajvard:    #14355F;
  --lajvard-2:  #1D4E79;
  --gold:       #C9A227;
  --gold-2:     #E9C874;
  --lacquer:    #A8352F;
  --saffron:    #B03A2E;
  --saffron-2:  #D97742;
  --amber:      #F2B84B;
  --ink:        #3B2F23;
  --ink-soft:   #6E5E4E;

  --font-body:'Vazirmatn','VazirmatnLatin',sans-serif;
  --font-display:'Lalezar','LalezarLatin',cursive;

  --arch: 42% 42% 8px 8px;
  --shadow-soft: 0 10px 30px rgba(59,47,35,.14);
  --shadow-deep: 0 26px 60px rgba(20,53,95,.28);
}
html[lang="ar"]{--font-body:'Vazirmatn',sans-serif;--font-display:'Amiri',serif}
html[lang="en"]{--font-body:'VazirmatnLatin','Vazirmatn',sans-serif;--font-display:'Marcellus','LalezarLatin',serif}

*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}

body{
  font-family:var(--font-body);
  background:var(--ivory);
  color:var(--ink);
  overflow-x:hidden;
  line-height:1.9;
}
/* اسلیمی واقعی: گنبد شیخ لطف‌الله در پس‌زمینه کل صفحه */
body::before{
  content:"";position:fixed;inset:0;z-index:0;pointer-events:none;
  background:url('../img/pattern-eslimi-dome.jpg') center/cover fixed;
  opacity:.08;
}
body > *,
body > main > *{position:relative;z-index:1}
main{display:block}

::selection{background:var(--turquoise);color:#fff}

/* ---------- اسکرول‌بار سفارشی ---------- */
/* فایرفاکس */
html{scrollbar-width:thin;scrollbar-color:var(--turquoise) var(--parchment)}
/* کروم / اج / سافاری */
::-webkit-scrollbar{width:12px;height:12px}
::-webkit-scrollbar-track{
  background:
    repeating-linear-gradient(45deg,rgba(201,162,39,.10) 0 6px,transparent 6px 12px),
    var(--parchment);
  border-inline-start:1px solid rgba(201,162,39,.35);
}
::-webkit-scrollbar-thumb{
  border-radius:20px;border:3px solid transparent;background-clip:content-box;
  background-image:linear-gradient(160deg,var(--turquoise-2),var(--turquoise) 45%,var(--lajvard));
  box-shadow:inset 0 0 0 1px rgba(233,200,116,.55);
}
::-webkit-scrollbar-thumb:hover{
  background-image:linear-gradient(160deg,var(--gold-2),var(--gold) 55%,#8f6a1e);
}
::-webkit-scrollbar-thumb:active{background-image:linear-gradient(160deg,var(--saffron-2),var(--saffron))}
::-webkit-scrollbar-corner{background:var(--parchment)}

/* اسکرول درون‌بخشی (مگامنو، جدول مقایسه، فهرست مستندات) نازک‌تر */
.hsearch-res::-webkit-scrollbar,
.cmp-wrap::-webkit-scrollbar,
.doc-side::-webkit-scrollbar,
pre.code::-webkit-scrollbar,
.code::-webkit-scrollbar{width:8px;height:8px}
pre.code::-webkit-scrollbar-track,.code::-webkit-scrollbar-track{background:#141a26;border:none}
pre.code::-webkit-scrollbar-thumb,.code::-webkit-scrollbar-thumb{
  background-image:linear-gradient(160deg,#3d5a80,#22304a);box-shadow:none;border-width:2px;
}

h1,h2,h3,.display{font-family:var(--font-display);font-weight:400;letter-spacing:.5px}
html[lang="en"] h1,html[lang="en"] h2,html[lang="en"] h3{letter-spacing:1px}

img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
ul{list-style:none}
button{font-family:inherit;cursor:pointer;border:none;background:none}

/* ---------- بشقاب مینای واقعی چرخان — نیم‌دایره سمت راست ---------- */
.mina-side{
  position:fixed;top:50%;right:0;z-index:1;pointer-events:none;
  width:min(44vw,540px);aspect-ratio:1;
  transform:translate(50%,-50%);
  filter:drop-shadow(-26px 12px 44px rgba(20,53,95,.45));
}
.mina-side img{
  width:100%;height:100%;object-fit:cover;border-radius:50%;
  border:6px solid var(--gold-2);
  outline:2px solid rgba(201,162,39,.6);outline-offset:8px;
  animation:spin 55s linear infinite;
}
@keyframes spin{to{transform:rotate(360deg)}}
@media (max-width:1150px){.mina-side{display:none}}

.sarv-side{
  position:fixed;bottom:-30px;z-index:1;width:170px;pointer-events:none;
  filter:drop-shadow(0 18px 24px rgba(59,47,35,.25));
  animation:sway 9s ease-in-out infinite;transform-origin:bottom center;
}
.sarv-side.left{left:-40px;transform:scaleX(-1)}
@keyframes sway{0%,100%{transform:scaleX(-1) rotate(-1.2deg)}50%{transform:scaleX(-1) rotate(1.4deg)}}
@media (max-width:1400px){.sarv-side{width:120px}}
@media (max-width:1150px){.sarv-side{display:none}}

/* ---------- نوار ارسی: عکس واقعی شیشه‌های رنگی ---------- */
.top-strip{
  position:relative;z-index:60;color:#fff;font-size:.85rem;text-align:center;
  padding:.5rem 1rem;overflow:hidden;isolation:isolate;
  text-shadow:0 1px 4px rgba(0,0,0,.8);font-weight:500;
}
.top-strip::before{
  content:"";position:absolute;inset:0;z-index:-1;
  background:url('../img/pattern-orsi-window.jpg') center 30%/cover;
  filter:saturate(1.3) brightness(.85);
}
.top-strip::after{
  content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(rgba(20,20,40,.35),rgba(20,20,40,.45));
}
.top-strip b{color:var(--gold-2)}

/* ---------- سردر شیشه‌ای — الهام از ارسی نصیرالملک ---------- */
header.site-header{
  position:sticky;top:0;z-index:50;isolation:isolate;
  background:rgba(24,22,38,.6);
  backdrop-filter:blur(18px) saturate(1.5);
  -webkit-backdrop-filter:blur(18px) saturate(1.5);
  border-bottom:1.5px solid rgba(233,200,116,.5);
  color:var(--ivory);
}
/* جام‌های رنگی ارسی */
header.site-header::before{
  content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:.42;
  background:repeating-linear-gradient(100deg,
    rgba(226,58,108,.55) 0 70px,
    rgba(38,96,196,.5) 70px 145px,
    rgba(242,178,42,.5) 145px 210px,
    rgba(26,148,94,.45) 210px 275px,
    rgba(126,58,182,.5) 275px 345px);
}
/* گره‌چینی چوبی میان جام‌ها */
header.site-header::after{
  content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:.55;
  background:
    repeating-linear-gradient(100deg, rgba(46,30,16,.65) 0 3px, transparent 3px 70px),
    repeating-linear-gradient(0deg, rgba(46,30,16,.5) 0 2px, transparent 2px 34px);
}
.header-inner{
  max-width:1280px;margin:auto;padding:.65rem 1.4rem;
  display:flex;align-items:center;gap:1.4rem;
}
.logo{display:flex;align-items:center;gap:.7rem}
.logo .shamse-mini{width:50px;height:50px;flex:0 0 auto;animation:spin 40s linear infinite;
  filter:drop-shadow(0 2px 6px rgba(0,0,0,.5))}
.logo .name{line-height:1.2}
.logo .name b{font-family:var(--font-display);font-size:1.45rem;color:var(--gold-2);display:block}
.logo .name span{font-size:.7rem;color:rgba(248,242,228,.8);letter-spacing:2px}

nav.main-nav{display:flex;gap:.15rem;margin-inline-start:auto}
nav.main-nav a{
  padding:.5rem .95rem;border-radius:12px 12px 4px 4px;font-weight:500;font-size:.92rem;
  position:relative;transition:.3s;color:var(--ivory);text-shadow:0 1px 3px rgba(0,0,0,.5);
}
nav.main-nav a::after{
  content:"";position:absolute;inset-inline:18%;bottom:3px;height:2px;border-radius:2px;
  background:linear-gradient(90deg,transparent,var(--gold-2),transparent);
  transform:scaleX(0);transition:.35s;
}
nav.main-nav a:hover,nav.main-nav a.active{color:var(--gold-2)}
nav.main-nav a:hover::after,nav.main-nav a.active::after{transform:scaleX(1)}
.nav-star{color:var(--amber) !important;font-weight:700}

/* آیکون‌های زبان، پروفایل و سبد در انتهای نوار می‌نشینند
   (در فارسی/عربی سمت چپ، در انگلیسی سمت راست) */
.header-actions{display:flex;align-items:center;gap:.45rem;margin-inline-start:auto}
.icon-btn{
  width:42px;height:42px;display:grid;place-items:center;border-radius:50%;
  border:1.5px solid rgba(233,200,116,.55);color:var(--gold-2);transition:.3s;position:relative;
  background:rgba(0,0,0,.25);
}
.icon-btn:hover{background:var(--gold-2);color:#3d2c07;transform:translateY(-2px)}
.icon-btn .badge{
  position:absolute;top:-4px;left:-4px;background:var(--lacquer);color:#fff;
  font-size:.62rem;width:18px;height:18px;border-radius:50%;display:grid;place-items:center;font-weight:700;
}

/* سوییچر زبان */
.lang-switch{
  display:flex;border:1.5px solid rgba(233,200,116,.55);border-radius:24px;overflow:hidden;
  background:rgba(0,0,0,.3);
}
/* دکمه‌های زبان با پرچم (SVG درون‌خطی، بدون وابستگی) */
.lang-switch button{
  padding:.3rem .42rem;display:grid;place-items:center;transition:.25s;line-height:0;
  filter:grayscale(.55) opacity(.7);
}
.lang-switch button svg{
  width:26px;height:17px;border-radius:3px;display:block;
  box-shadow:0 0 0 1px rgba(0,0,0,.25);
}
.lang-switch button:hover{filter:grayscale(0) opacity(.95)}
.lang-switch button.on{background:var(--gold-2);filter:none}
.lang-switch button.on svg{box-shadow:0 0 0 1px rgba(0,0,0,.35)}

.menu-toggle{display:none;color:var(--gold-2);font-size:1.3rem}
.mobile-nav{
  display:none;flex-direction:column;background:rgba(24,22,38,.96);
  border-bottom:2px solid var(--gold);padding:.6rem 1.4rem 1rem;color:var(--ivory);
}
.mobile-nav.open{display:flex}
.mobile-nav a{padding:.7rem .4rem;border-bottom:1px dashed rgba(233,200,116,.35);font-weight:600}

/* ---------- دکمه‌ها ---------- */
.btn{
  display:inline-flex;align-items:center;gap:.6rem;
  padding:.85rem 2rem;border-radius:16px 16px 8px 8px;
  font-weight:700;font-size:1rem;transition:.35s;position:relative;overflow:hidden;
}
.btn-gold{
  background:linear-gradient(135deg,var(--gold) 0%,var(--gold-2) 50%,var(--gold) 100%);
  background-size:200% 200%;color:#3d2c07;box-shadow:0 8px 22px rgba(201,162,39,.4);
}
.btn-gold:hover{background-position:100% 0;transform:translateY(-3px);box-shadow:0 14px 30px rgba(201,162,39,.5)}
.btn-outline{border:2px solid var(--turquoise);color:var(--turquoise)}
.btn-outline:hover{background:var(--turquoise);color:var(--ivory);transform:translateY(-3px)}
.btn-red{background:var(--lacquer);color:#fff;box-shadow:0 8px 22px rgba(168,53,47,.35)}
.btn-red:hover{transform:translateY(-3px)}
.btn-saffron{
  background:linear-gradient(135deg,var(--saffron) 0%,var(--saffron-2) 60%,var(--amber) 140%);
  color:#fff;box-shadow:0 10px 26px rgba(176,58,46,.45);
}
.btn-saffron:hover{transform:translateY(-3px);box-shadow:0 16px 34px rgba(176,58,46,.55);filter:saturate(1.1)}

/* ---------- عنوان بخش ---------- */
.section-title{text-align:center;margin:0 auto 2.6rem;max-width:680px}
.section-title .eyebrow{color:var(--lacquer);font-size:.85rem;font-weight:700;letter-spacing:4px}
.section-title h2{font-size:clamp(1.7rem,3.5vw,2.5rem);color:var(--turquoise);margin:.2rem 0 .4rem}
.section-title .ornament{display:flex;align-items:center;justify-content:center;gap:.8rem;color:var(--gold)}
.section-title .ornament::before,.section-title .ornament::after{
  content:"";height:1.5px;width:90px;background:linear-gradient(90deg,transparent,var(--gold));
}
.section-title .ornament::after{background:linear-gradient(90deg,var(--gold),transparent)}
.section-title p{color:var(--ink-soft);font-size:.95rem;margin-top:.6rem}

/* ---------- نوار خط میخی (کتیبه) میان بخش‌ها ---------- */
.cune-band{
  height:64px;position:relative;isolation:isolate;overflow:hidden;
  background:url('../img/pattern-cuneiform.jpg') repeat-x center/auto 130%;
  filter:sepia(.5);
  border-block:2px solid rgba(201,162,39,.55);
  opacity:.85;
}
.cune-band::after{
  content:"";position:absolute;inset:0;background:linear-gradient(rgba(248,242,228,.25),rgba(248,242,228,.25));
}

/* ---------- کتیبه: بنر تمام‌عرض با عکس واقعی ---------- */
.katibe{
  position:relative;isolation:isolate;color:var(--ivory);
  background-size:cover;background-position:center;background-attachment:fixed;
  padding:6rem 0;text-align:center;
}
@media (hover:none){.katibe{background-attachment:scroll}}
.katibe::before{
  content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(rgba(12,20,36,.55),rgba(12,20,36,.7));
}
.katibe::after{
  content:"";position:absolute;inset:18px;pointer-events:none;
  border:2px solid rgba(233,200,116,.6);
  outline:1px dashed rgba(233,200,116,.3);outline-offset:6px;
  border-radius:110px 110px 14px 14px;
}
.katibe .eyebrow{color:var(--gold-2);letter-spacing:4px;font-weight:700;font-size:.85rem}
.katibe h2{font-size:clamp(1.9rem,4.2vw,3.2rem);color:#fff;margin:.4rem 0 .8rem}
.katibe p{max-width:46rem;margin:0 auto 1.8rem;opacity:.92}

/* ---------- کارت محصول ---------- */
.tilt-wrap{perspective:1100px}
.card-arch{
  background:#fff;border-radius:var(--arch);
  border:1.5px solid rgba(201,162,39,.45);
  box-shadow:var(--shadow-soft);
  overflow:hidden;position:relative;
  transform-style:preserve-3d;
  transition:box-shadow .4s ease, border-color .4s ease;
  will-change:transform;
}
.tilt-wrap:hover .card-arch{box-shadow:var(--shadow-deep);border-color:var(--gold)}
.card-arch .frame{
  margin:10px 10px 0;border-radius:46% 46% 4px 4px;overflow:hidden;position:relative;
  border:1px solid rgba(21,127,141,.25);aspect-ratio:1/1.08;
  background:linear-gradient(160deg,var(--sand),var(--parchment));
  transform:translateZ(28px);
}
.card-arch .frame img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.8,.2,1)}
.tilt-wrap:hover .frame img{transform:scale(1.09)}
.card-arch .frame .shine{
  position:absolute;inset:0;background:linear-gradient(115deg,transparent 30%,rgba(255,255,255,.5) 48%,transparent 60%);
  transform:translateX(120%);transition:transform .9s ease;pointer-events:none;
}
.tilt-wrap:hover .shine{transform:translateX(-120%)}
.card-arch .tag{
  position:absolute;top:16px;right:16px;z-index:3;background:var(--lacquer);color:#fff;
  font-size:.72rem;font-weight:700;padding:.28rem .8rem;border-radius:20px;transform:translateZ(46px);
  box-shadow:0 6px 14px rgba(168,53,47,.4);
}
.card-arch .body{padding:1rem 1.2rem 1.3rem;text-align:center;transform:translateZ(36px)}
.card-arch .kind{font-size:.74rem;color:var(--turquoise);letter-spacing:2px;font-weight:700}
.card-arch h3{font-size:1.15rem;margin:.15rem 0 .3rem;color:var(--ink)}
.card-arch .stars{color:var(--gold);font-size:.85rem;letter-spacing:2px}
.card-arch .stars small{color:var(--ink-soft);letter-spacing:0;margin-inline-start:.3rem}
.card-arch .price-row{display:flex;justify-content:center;align-items:baseline;gap:.7rem;margin:.5rem 0 .8rem}
.card-arch .price{font-weight:900;font-size:1.2rem;color:var(--lajvard-2)}
.card-arch .old{color:var(--ink-soft);text-decoration:line-through;font-size:.85rem}
.card-arch .add{
  width:100%;padding:.7rem;border-radius:12px;font-weight:700;
  background:linear-gradient(135deg,var(--turquoise),var(--turquoise-2));color:#fff;transition:.3s;
}
.card-arch .add:hover{filter:brightness(1.08)}

/* ---------- شبکه‌ها ---------- */
.container{max-width:1280px;margin:auto;padding:0 1.4rem;position:relative;z-index:2}
.grid-4{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1.6rem}
.grid-3{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:1.6rem}
section{padding:4.5rem 0}

/* ---------- ظاهرشدن هنگام اسکرول ---------- */
.reveal{opacity:0;transform:translateY(36px);transition:opacity .8s ease,transform .8s ease}
.reveal.in{opacity:1;transform:none}

/* ---------- پاورقی: کاشی مینایی واقعی ---------- */
footer.site-footer{
  margin-top:3rem;color:var(--ivory);position:relative;z-index:2;isolation:isolate;
  overflow:hidden;
}
footer.site-footer::before{
  content:"";position:absolute;inset:0;z-index:-2;
  background:url('../img/pattern-eslimi-tile.jpg') center/cover;
}
footer.site-footer::after{
  content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(165deg,rgba(14,32,60,.88),rgba(20,53,95,.9) 55%,rgba(10,45,60,.92));
}
.footer-arches{display:flex;height:26px;overflow:hidden}
.footer-arches span{flex:1;background:var(--ivory);border-radius:0 0 50% 50%/0 0 100% 100%}
.footer-grid{
  max-width:1280px;margin:auto;padding:3.2rem 1.4rem 2rem;
  display:grid;grid-template-columns:1.35fr .9fr .9fr 1.35fr;gap:2.2rem;
}
.footer-grid h4{font-family:var(--font-display);font-size:1.2rem;color:var(--gold-2);margin-bottom:.9rem}
.footer-grid a{display:block;padding:.28rem 0;opacity:.88;font-size:.92rem;transition:.3s}
.footer-grid a:hover{opacity:1;transform:translateX(-6px);color:var(--gold-2)}
html[dir="ltr"] .footer-grid a:hover{transform:translateX(6px)}
.footer-grid p{opacity:.88;font-size:.92rem}
/* ---------- پاصفحه: ستون تماس — نشانی، شبکه‌های اجتماعی، نمادها ---------- */
.f-contact p{margin:0}
.f-lines{margin-top:.55rem;display:grid;gap:.2rem;font-size:.92rem;opacity:.88}
.f-lines a{display:inline;padding:0;opacity:1}
.f-lines .num{font-family:inherit;unicode-bidi:isolate}

/* ردیف آیکون‌های شبکه‌های اجتماعی — درست زیر نشانی */
.f-social{
  display:flex;flex-wrap:wrap;gap:.55rem;margin-top:1.1rem;
}
.f-social a{
  width:40px;height:40px;padding:0;flex:0 0 auto;
  display:grid;place-items:center;border-radius:12px;
  color:var(--ivory);opacity:.9;
  background:rgba(248,242,228,.08);
  border:1px solid rgba(233,200,116,.28);
  transition:transform .3s,background .3s,border-color .3s,color .3s;
}
.f-social a:hover,.f-social a:focus-visible{
  transform:translateY(-3px);
  background:rgba(233,200,116,.16);
  border-color:var(--gold-2);
  color:var(--gold-2);
}
html[dir="ltr"] .f-social a:hover{transform:translateY(-3px)}
.f-social svg{width:19px;height:19px;display:block}

/* دو کارت کوچک: مجوز و نماد اعتماد الکترونیکی */
.f-badges{
  display:grid;grid-template-columns:1fr 1fr;gap:.6rem;margin-top:1.15rem;
}
.f-badges .f-badge{
  display:flex;flex-direction:column;align-items:center;gap:.45rem;
  padding:.85rem .5rem .75rem;opacity:1;
  border-radius:16px;text-align:center;
  background:rgba(248,242,228,.07);
  border:1px solid rgba(233,200,116,.3);
  transition:transform .3s,background .3s,border-color .3s;
}
.f-badges .f-badge:hover,.f-badges .f-badge:focus-visible{
  transform:translateY(-3px);background:rgba(233,200,116,.14);border-color:var(--gold-2);
}
.f-badge .seal{
  flex:0 0 auto;width:40px;height:40px;border-radius:50%;
  display:grid;place-items:center;
  background:linear-gradient(150deg,rgba(233,200,116,.24),rgba(21,127,141,.24));
  border:1px solid rgba(233,200,116,.45);color:var(--gold-2);
}
.f-badge .seal svg{width:21px;height:21px;display:block}
.f-badge .txt{display:grid;gap:.1rem;line-height:1.4;min-width:0}
.f-badge .t{font-size:.72rem;font-weight:700;color:var(--gold-2)}
.f-badge .s{font-size:.63rem;opacity:.7;letter-spacing:.01em}

.copy{
  border-top:1px solid rgba(233,200,116,.3);padding:1.1rem 1.4rem;font-size:.85rem;
  display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:.5rem 1.6rem;
}
.copy>span{opacity:.85}
/* امضای طراح — نامِ لاتین با bdi ایزوله می‌شود تا در راست‌چین هم درست بنشیند */
.copy .sign{display:inline-flex;align-items:center;gap:.45rem;opacity:.72;font-size:.82rem}
.copy .sign::before{content:"✦";color:var(--gold-2);font-size:.7rem;opacity:.9}
.copy .sign-name{
  font-family:'VazirmatnLatin',var(--font-body);font-weight:700;letter-spacing:.02em;
  color:var(--gold-2);opacity:1;
}

/* ---------- مسیر: روی بورد سفید خوانا ---------- */
.crumbs{
  display:inline-flex;gap:.5rem;align-items:center;font-size:.85rem;color:var(--ink-soft);
  margin-top:1.4rem;padding:.45rem 1.3rem;border-radius:30px;
  background:rgba(255,255,255,.9);
  backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
  border:1.5px solid rgba(201,162,39,.45);box-shadow:0 6px 18px rgba(59,47,35,.1);
}
.crumbs a:hover{color:var(--turquoise)}
.crumbs .sep{color:var(--gold)}

/* ---------- بورد خوانایی متن روی پس‌زمینه شلوغ ---------- */
/* بورد شیشه‌ای (glassmorphism) — شفاف با تارکردن پس‌زمینه */
.hero-board{
  position:relative;isolation:isolate;
  background:linear-gradient(135deg,rgba(255,255,255,.30),rgba(255,255,255,.10) 55%,rgba(233,200,116,.14));
  backdrop-filter:blur(22px) saturate(1.5);
  -webkit-backdrop-filter:blur(22px) saturate(1.5);
  border:1px solid rgba(255,255,255,.55);
  border-radius:36px 36px 18px 18px;
  padding:2.4rem 2.4rem 2.2rem;
  box-shadow:
    0 22px 60px rgba(59,47,35,.18),
    inset 0 1px 0 rgba(255,255,255,.7),
    inset 0 -1px 0 rgba(255,255,255,.25);
}
/* برقِ لبهٔ شیشه */
.hero-board::before{
  content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  border-radius:inherit;
  background:linear-gradient(115deg,transparent 25%,rgba(255,255,255,.35) 45%,transparent 62%);
}
.hero-board::after{
  content:"";position:absolute;inset:6px;z-index:-1;pointer-events:none;
  border:1px dashed rgba(201,162,39,.45);border-radius:30px 30px 12px 12px;
}
@supports not ((backdrop-filter: blur(2px)) or (-webkit-backdrop-filter: blur(2px))){
  .hero-board{background:rgba(248,242,228,.9)}
}
.z-board{
  background:rgba(24,8,6,.62);
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  border:1.5px solid rgba(233,200,116,.45);
  border-radius:36px 36px 16px 16px;
  padding:2.4rem 2.4rem 2.2rem;
  box-shadow:0 18px 50px rgba(0,0,0,.35);
}
@media (max-width:560px){.hero-board,.z-board{padding:1.6rem 1.3rem}}

/* ---------- فرم‌ها ---------- */
.field{margin-bottom:1.1rem}
.field label{display:block;font-size:.85rem;font-weight:700;color:var(--ink-soft);margin-bottom:.35rem}
.field input,.field select,.field textarea{
  width:100%;padding:.75rem 1rem;border-radius:12px;border:1.5px solid var(--sand);
  background:#fff;font-family:inherit;font-size:.95rem;color:var(--ink);transition:.3s;
}
.field input:focus,.field select:focus,.field textarea:focus{
  outline:none;border-color:var(--turquoise);box-shadow:0 0 0 4px rgba(21,127,141,.12);
}


/* ---------- دسترس‌پذیری: پیوند پرش و حلقهٔ فوکوس ----------
   «پرش به محتوای اصلی» فقط با Tab دیده می‌شود و کاربر صفحه‌کلید را
   از سرصفحه و مگامنو رد می‌کند. حلقهٔ فوکوس روی همه‌ی عناصر تعاملی
   با :focus-visible می‌آید تا کلیکِ ماوس حلقه نگیرد. */
.skip-link{
  position:fixed;top:-100px;inset-inline-start:1rem;z-index:999;
  padding:.7rem 1.4rem;border-radius:0 0 14px 14px;
  background:var(--lajvard);color:var(--ivory);font-weight:700;font-size:.9rem;
  box-shadow:var(--shadow-deep);transition:top .25s ease;
}
.skip-link:focus{top:0}
#main:focus{outline:none}

:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{
  outline:3px solid var(--turquoise-2);
  outline-offset:3px;
  border-radius:6px;
}
/* روی زمینه‌های تیره (سرصفحه، پاصفحه، کتیبه) حلقه طلایی خواناتر است */
.site-header :where(a,button,input,select):focus-visible,
.site-footer :where(a,button):focus-visible,
.katibe :where(a,button):focus-visible,
.post-hero :where(a,button):focus-visible,
.page-head :where(a,button):focus-visible,
.mobile-dock :where(a,button):focus-visible{
  outline-color:var(--gold-2);
}
/* حالت پرتضاد ویندوز: حلقه را از رنگ سامانه بگیر */
@media (forced-colors:active){
  :where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{
    outline:3px solid Highlight;
  }
}


/* ============================================================
   سازگاری مرورگر — کروم/اج (بلینک)، فایرفاکس (گکو)، سافاری (وب‌کیت)
   هر قاعده اینجا برای یک تفاوتِ دیده‌شده در آزمون است، نه احتیاطِ کور.
   ============================================================ */

/* سافاریِ iOS اندازهٔ متن را در چرخش افقی بزرگ می‌کند */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}

/* سافاری ظاهر بومیِ خودش را روی دکمه و ورودی می‌گذارد و طراحی را خراب می‌کند */
button,input[type="submit"],input[type="search"]{-webkit-appearance:none;appearance:none}

/* accent-color رنگ چک‌باکس و لغزنده را می‌دهد (کروم ۹۳+، فایرفاکس ۹۲+،
   سافاری ۱۵٫۴+). برای سافاریِ قدیم‌تر لغزنده دستی رنگ می‌گیرد. */
@supports not (accent-color:auto){
  .range{-webkit-appearance:none;appearance:none;background:transparent}
  .range::-webkit-slider-runnable-track{height:5px;border-radius:4px;background:var(--sand)}
  .range::-webkit-slider-thumb{
    -webkit-appearance:none;appearance:none;margin-top:-6px;
    width:17px;height:17px;border-radius:50%;background:var(--gold);
    border:2px solid #fff;box-shadow:0 2px 6px rgba(20,53,95,.35);cursor:pointer;
  }
}

/* سافاری زیر نسخهٔ ۱۶ overflow:clip را نمی‌شناسد و آن قاعده را دور می‌ریزد */
@supports not (overflow:clip){
  .container,section,footer.site-footer{overflow-x:hidden}
}

/* فایرفاکسِ زیر ۱۲۱ و سافاریِ زیر ۱۵٫۴ ‎:has()‎ ندارند؛ app.js همان کار را
   با کلاس .is-picked انجام می‌دهد. هر دو مسیر یک ظاهر می‌دهند. */
.addr-pick label.is-picked{
  border-color:var(--turquoise);background:rgba(21,127,141,.05);
}

/* یادداشت صفحه‌های توسعه‌دهنده (docs / ui-kit) */
.dev-only-note{
  display:inline-block;margin-top:.9rem;padding:.5rem 1.1rem;border-radius:30px;
  font-size:.82rem;background:rgba(233,200,116,.16);
  border:1px solid rgba(233,200,116,.45);color:var(--gold-2);
}

/* ---------- ریسپانسیو ---------- */
@media (max-width:900px){
  .footer-grid{grid-template-columns:1fr 1fr}
  nav.main-nav{display:none}
  .menu-toggle{display:grid !important}
}
@media (max-width:560px){
  .footer-grid{grid-template-columns:1fr}
  section{padding:3rem 0}
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms !important;transition-duration:.01ms !important}
}

/* ============================================================
   نسخه ۳ — مگامنو، جست‌وجوی زنده، رنگ‌بندی، سبد، پرداخت،
   مقایسه، وبلاگ، احراز هویت و ۴۰۴
   ============================================================ */

/* ---------- پوسته‌های رنگی — انتخابِ توسعه‌دهنده، نه کنترلِ کاربر ----------
   انتخابگر رنگِ سردر برداشته شده است. این پوسته‌ها فقط با گذاشتن صفت
   data-theme روی تگ <html> (یا فراخوانی setTheme از کنسول) فعال می‌شوند.
   نمونهٔ زندهٔ هر چهار پوسته در صفحهٔ ui-kit.html است.                      */
html[data-theme="saffron"]{--turquoise:#B03A2E;--turquoise-2:#D97742;--lajvard:#5A1A12;--lajvard-2:#8C2C1E}
html[data-theme="lajvard"]{--turquoise:#14355F;--turquoise-2:#2C6CA8;--lajvard:#0D2340;--lajvard-2:#1D4E79}
html[data-theme="garnet"] {--turquoise:#7B1E3A;--turquoise-2:#A83254;--lajvard:#4A1024;--lajvard-2:#6E1B33}

/* ---------- جای عناصر تزئینی بر پایهٔ زبان ----------
   فارسی/عربی (rtl): بشقاب چپ  ·  سرو راست
   انگلیسی   (ltr): بشقاب راست ·  سرو چپ            */
.mina-side{
  left:0;right:auto;
  transform:translate(-50%,-50%);
  filter:drop-shadow(26px 12px 44px rgba(20,53,95,.45));
}
html[dir="ltr"] .mina-side{
  left:auto;right:0;
  transform:translate(50%,-50%);
  filter:drop-shadow(-26px 12px 44px rgba(20,53,95,.45));
}

.sarv-side.left{left:auto;right:-40px;animation-name:swayR}
@keyframes swayR{
  0%,100%{transform:scaleX(1) rotate(1.2deg)}
  50%    {transform:scaleX(1) rotate(-1.4deg)}
}
html[dir="ltr"] .sarv-side.left{right:auto;left:-40px;animation-name:sway}

/* ---------- ارتفاع سردر و هم‌ترازی سکشن‌ها ---------- */
:root{--header-h:126px}
html{scroll-padding-top:calc(var(--header-h) + 16px)}
section,[id]{scroll-margin-top:calc(var(--header-h) + 16px)}
/* هیرو دقیقاً یک نمای کامل زیر سردر */
.hero{min-height:calc(100svh - var(--header-h));padding:2.2rem 0 3rem}
.z-hero{padding:3rem 0 4.5rem}
section{padding:3.6rem 0}
.summary{top:calc(var(--header-h) + 16px)}
aside.filters{top:calc(var(--header-h) + 16px)}
.id-card{top:calc(var(--header-h) + 16px)}
@media (max-width:900px){:root{--header-h:74px}}

/* سردر جمع‌شونده هنگام اسکرول (مشابه دیجی‌کالا) */
header.site-header{transition:box-shadow .3s}
header.site-header.shrink{box-shadow:0 10px 30px rgba(0,0,0,.35)}
header.site-header.shrink .header-inner{padding-block:.35rem}
header.site-header.shrink .logo .shamse-mini{width:38px;height:38px}
header.site-header.shrink .logo .name span{display:none}
header.site-header.shrink .logo .name b{font-size:1.2rem}
header.site-header.shrink .hsearch{padding-block:.3rem}
header.site-header.shrink nav.main-nav a,
header.site-header.shrink .mega-btn{padding-block:.42rem}

/* ---------- سردر: ظاهر یکسان در همهٔ صفحات ----------
   پایهٔ تیرهٔ مات تا محتوای پشت سر، رنگ هدر را تغییر ندهد؛
   جام‌های ارسی و بلور شیشه‌ای روی همین پایه می‌نشینند. */
header.site-header{
  background:linear-gradient(180deg,rgba(17,15,30,.93),rgba(24,22,42,.9));
  backdrop-filter:blur(16px) saturate(1.4);
  -webkit-backdrop-filter:blur(16px) saturate(1.4);
}
header.site-header::before{opacity:.3}
header.site-header::after{opacity:.4}
nav.main-nav{background:rgba(0,0,0,.3)}

/* ---------- سردر: ردیف جست‌وجو + ردیف ناوبری ---------- */
.header-inner{gap:1rem}
.hsearch{
  position:relative;flex:1;max-width:520px;display:flex;align-items:center;gap:.6rem;
  background:rgba(255,255,255,.94);border:1.5px solid rgba(233,200,116,.6);
  border-radius:16px;padding:.45rem .9rem;
}
.hsearch svg{color:var(--ink-soft);flex:0 0 auto}
.hsearch input{
  flex:1;border:none;background:none;font-family:inherit;font-size:.92rem;color:var(--ink);
}
.hsearch input:focus{outline:none}
.hsearch-res{
  display:none;position:absolute;inset-inline:0;top:calc(100% + .5rem);z-index:80;
  background:#fff;border:1.5px solid var(--gold);border-radius:16px;overflow:hidden;
  box-shadow:var(--shadow-deep);max-height:60vh;overflow-y:auto;
}
.hsearch-res.on{display:block}
.hsearch-res a{
  display:flex;gap:.8rem;align-items:center;padding:.6rem .9rem;border-bottom:1px dashed var(--sand);
  color:var(--ink);transition:.2s;
}
.hsearch-res a:hover{background:var(--parchment)}
.hsearch-res img{width:46px;height:46px;object-fit:cover;border-radius:10px;flex:0 0 auto}
.hsearch-res b{display:block;font-size:.9rem;font-weight:600}
.hsearch-res small{color:var(--turquoise);font-size:.76rem}
.hsearch-res .empty{padding:1rem;text-align:center;color:var(--ink-soft);font-size:.88rem}

/* ناوبری ردیف دوم + مگامنو */
nav.main-nav{
  display:block;margin:0;border-top:1px solid rgba(233,200,116,.25);
  background:rgba(0,0,0,.18);
}
.nav-inner{
  max-width:1280px;margin:auto;padding:0 1.4rem;display:flex;align-items:center;gap:.15rem;
}
nav.main-nav a{padding:.6rem .95rem;border-radius:0}
.mega-wrap{position:relative;margin-inline-end:.6rem}
.mega-btn{
  display:flex;align-items:center;gap:.5rem;padding:.6rem 1.1rem;font-weight:700;font-size:.92rem;
  color:#3d2c07;background:var(--gold-2);border-radius:0 0 12px 12px;transition:.3s;
}
.mega-btn:hover{background:#fff}
.mega{
  display:none;position:absolute;inset-inline-start:0;top:100%;z-index:70;width:min(880px,92vw);
  background:#fff;border:1.5px solid var(--gold);border-top:none;border-radius:0 0 20px 20px;
  box-shadow:var(--shadow-deep);padding:1.4rem;
  grid-template-columns:repeat(4,1fr);gap:1.2rem;
}
.mega-wrap:hover .mega,.mega.on{display:grid}
nav.main-nav .mega h5{
  font-family:var(--font-display);font-size:1.02rem;color:var(--turquoise);margin-bottom:.5rem;
  padding-bottom:.35rem;border-bottom:1.5px solid var(--sand);text-shadow:none;
}
/* specificity بالاتر از nav.main-nav a تا رنگ روشن منو را ارث نبرد */
nav.main-nav .mega a{
  display:block;padding:.34rem .4rem;font-size:.88rem;font-weight:500;
  color:var(--ink) !important;text-shadow:none;border-radius:8px;transition:.2s;
}
nav.main-nav .mega a:hover{
  color:#fff !important;background:var(--turquoise);padding-inline-start:.9rem;
}
nav.main-nav .mega a::after{display:none}
nav.main-nav .mega .promo{
  grid-column:span 1;border-radius:16px;overflow:hidden;position:relative;min-height:160px;padding:0;
}
nav.main-nav .mega .promo:hover{background:none;padding-inline-start:0}
.mega .promo img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}
nav.main-nav .mega .promo span{
  position:absolute;inset-inline:0;bottom:0;padding:1.6rem .8rem .8rem;color:#fff !important;
  font-size:.84rem;font-weight:700;line-height:1.6;
  background:linear-gradient(transparent,rgba(12,20,36,.92));text-align:center;
}
@media (max-width:1100px){.mega{grid-template-columns:repeat(2,1fr)}}
@media (max-width:900px){
  nav.main-nav{display:none}
  .hsearch{max-width:none}
}
@media (max-width:640px){
  .header-inner{flex-wrap:wrap}
  .hsearch{order:3;flex-basis:100%}
}

/* ---------- شمارش معکوس پیشنهاد شگفت‌انگیز ---------- */
.deal{
  background:linear-gradient(135deg,var(--saffron),var(--saffron-2) 60%,var(--amber));
  border-radius:24px;padding:1.4rem 1.6rem;color:#fff;display:flex;align-items:center;gap:1.4rem;
  flex-wrap:wrap;box-shadow:var(--shadow-deep);margin-bottom:1.8rem;
}
.deal .lbl{font-family:var(--font-display);font-size:1.5rem;color:#fff}
.deal .lbl small{display:block;font-family:var(--font-body);font-size:.78rem;opacity:.9;font-weight:500}
.countdown{display:flex;gap:.5rem;margin-inline-start:auto}
.countdown div{
  background:rgba(0,0,0,.28);border:1px solid rgba(255,255,255,.3);border-radius:12px;
  padding:.4rem .7rem;text-align:center;min-width:56px;
}
.countdown b{display:block;font-family:var(--font-display);font-size:1.3rem;line-height:1.2}
.countdown span{font-size:.66rem;opacity:.85}

/* ---------- سبد خرید ---------- */
.cart-layout{display:grid;grid-template-columns:1fr 340px;gap:1.8rem;align-items:start;padding:2rem 0 4rem}
.cart-item{
  background:#fff;border:1.5px solid var(--sand);border-radius:18px;padding:1rem;
  display:flex;gap:1rem;align-items:center;margin-bottom:1rem;transition:.3s;
}
.cart-item:hover{border-color:var(--gold);box-shadow:var(--shadow-soft)}
.cart-item>img{width:96px;height:96px;object-fit:cover;border-radius:14px;flex:0 0 auto;border:1.5px solid var(--sand)}
.cart-item .info{flex:1;min-width:0}
.cart-item .info h3{font-size:1.05rem;color:var(--ink)}
.cart-item .info .kind{font-size:.76rem;color:var(--turquoise);font-weight:700;letter-spacing:1px}
.cart-item .info .attrs{font-size:.8rem;color:var(--ink-soft);margin-top:.2rem}
.cart-item .side{text-align:center;display:flex;flex-direction:column;gap:.5rem;align-items:center}
.qty-box{display:flex;align-items:center;border:1.5px solid var(--sand);border-radius:12px;background:#fff;overflow:hidden}
.qty-box button{width:34px;height:36px;font-size:1.1rem;color:var(--turquoise)}
.qty-box button:hover{background:var(--parchment)}
.qty-box span{width:36px;text-align:center;font-weight:900;font-size:.9rem}
.cart-item .price{font-family:var(--font-display);font-size:1.15rem;color:var(--lajvard-2)}
.cart-item .rm{color:var(--lacquer);font-size:.78rem;font-weight:700}
.summary{
  position:sticky;top:150px;background:#fff;border:2px solid var(--gold);border-radius:22px;
  overflow:hidden;box-shadow:var(--shadow-deep);
}
.summary .h{background:linear-gradient(135deg,var(--parchment),var(--sand));padding:.9rem 1.2rem;
  font-family:var(--font-display);font-size:1.15rem;color:var(--turquoise);border-bottom:2px solid var(--gold)}
.summary .b{padding:1.1rem 1.2rem}
.summary .row{display:flex;justify-content:space-between;padding:.5rem 0;font-size:.9rem;color:var(--ink-soft)}
.summary .row b{color:var(--ink)}
.summary .row.off b{color:var(--lacquer)}
.summary .tot{border-top:1.5px dashed var(--sand);margin-top:.6rem;padding-top:.9rem;font-size:1rem}
.summary .tot b{font-family:var(--font-display);font-size:1.5rem;color:var(--saffron)}
.summary .btn{width:100%;justify-content:center;margin-top:1rem}
.coupon{display:flex;gap:.4rem;margin-top:.9rem}
.coupon input{flex:1;border:1.5px solid var(--sand);border-radius:10px;padding:.55rem .8rem;font-family:inherit;font-size:.85rem}
.coupon input:focus{outline:none;border-color:var(--turquoise)}
.coupon button{background:var(--turquoise);color:#fff;border-radius:10px;padding:0 1rem;font-weight:700;font-size:.85rem}
.empty-state{text-align:center;padding:4rem 1rem}
.empty-state .ic{font-size:4rem;margin-bottom:.6rem}
.empty-state h2{color:var(--turquoise);margin-bottom:.5rem}
.empty-state p{color:var(--ink-soft);margin-bottom:1.4rem}
@media (max-width:900px){.cart-layout{grid-template-columns:1fr}.summary{position:static}}

/* ---------- پرداخت مرحله‌ای ---------- */
.steps{display:flex;align-items:center;max-width:760px;margin:2rem auto 2.4rem;position:relative}
.steps .st{flex:1;display:flex;flex-direction:column;align-items:center;gap:.4rem;position:relative;z-index:2}
.steps .st .n{
  width:42px;height:42px;border-radius:50%;display:grid;place-items:center;font-weight:900;
  background:#fff;border:2px solid var(--sand);color:var(--ink-soft);transition:.35s;
}
.steps .st.done .n{background:var(--turquoise);border-color:var(--turquoise);color:#fff}
.steps .st.now .n{background:var(--gold);border-color:var(--gold);color:#3d2c07;box-shadow:0 0 0 6px rgba(201,162,39,.18)}
.steps .st small{font-size:.76rem;color:var(--ink-soft);font-weight:600}
.steps .st.now small{color:var(--gold);font-weight:800}
.steps::before{
  content:"";position:absolute;inset-inline:12%;top:20px;height:2px;
  background:repeating-linear-gradient(90deg,var(--sand) 0 8px,transparent 8px 14px);
}
label.pay-card{display:flex}
.pay-card{
  background:#fff;border:1.5px solid var(--sand);border-radius:18px;padding:1.2rem 1.4rem;margin-bottom:1rem;
  display:flex;gap:1rem;align-items:flex-start;cursor:pointer;transition:.3s;
}
.pay-card:hover{border-color:var(--gold)}
.pay-card.on{border-color:var(--turquoise);background:rgba(21,127,141,.05);box-shadow:var(--shadow-soft)}
.pay-card input{accent-color:var(--turquoise);width:18px;height:18px;margin-top:.3rem}
.pay-card b{color:var(--turquoise)}
.pay-card p{font-size:.85rem;color:var(--ink-soft);margin-top:.15rem}
.pay-card .logo-box{
  margin-inline-start:auto;width:56px;height:40px;border-radius:8px;display:grid;place-items:center;
  background:var(--parchment);font-size:1.3rem;
}

/* ---------- مقایسه ---------- */
.cmp-wrap{overflow-x:auto;background:#fff;border:1.5px solid var(--sand);border-radius:20px;box-shadow:var(--shadow-soft)}
.cmp{width:100%;border-collapse:collapse;min-width:720px}
.cmp th,.cmp td{padding:.9rem 1rem;border-bottom:1px dashed var(--sand);text-align:center;font-size:.9rem}
.cmp th:first-child,.cmp td:first-child{
  text-align:start;font-weight:700;color:var(--ink-soft);background:var(--parchment);
  position:sticky;inset-inline-start:0;width:170px;
}
.cmp thead th{background:linear-gradient(160deg,var(--parchment),var(--sand));border-bottom:2px solid var(--gold)}
.cmp thead img{width:110px;height:110px;object-fit:cover;border-radius:14px;margin:0 auto .5rem;border:2px solid #fff;box-shadow:var(--shadow-soft)}
.cmp thead b{display:block;color:var(--ink);font-size:.95rem}
.cmp .price{font-family:var(--font-display);font-size:1.15rem;color:var(--lajvard-2)}
.cmp .yes{color:#1c7c3f;font-weight:900}
.cmp .no{color:var(--lacquer);font-weight:900}

/* ---------- وبلاگ ---------- */
.blog-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.6rem}
.post{
  background:#fff;border:1.5px solid var(--sand);border-radius:20px;overflow:hidden;
  box-shadow:var(--shadow-soft);transition:.4s;display:flex;flex-direction:column;
}
.post:hover{transform:translateY(-6px);box-shadow:var(--shadow-deep);border-color:var(--gold)}
.post .ph{position:relative;aspect-ratio:1.7;overflow:hidden}
.post .ph img{width:100%;height:100%;object-fit:cover;transition:transform .9s}
.post:hover .ph img{transform:scale(1.08)}
.post .ph .cat{
  position:absolute;top:12px;inset-inline-start:12px;background:var(--turquoise);color:#fff;
  font-size:.72rem;font-weight:700;border-radius:20px;padding:.22rem .8rem;
}
.post .b{padding:1rem 1.2rem 1.3rem;flex:1;display:flex;flex-direction:column}
.post h3{font-size:1.15rem;color:var(--ink);margin-bottom:.4rem}
.post p{font-size:.86rem;color:var(--ink-soft);flex:1}
.post .meta{display:flex;gap:1rem;font-size:.76rem;color:var(--ink-soft);margin-top:.8rem;
  padding-top:.7rem;border-top:1px dashed var(--sand)}
.post .meta span{display:flex;align-items:center;gap:.3rem}
.post-hero{
  position:relative;isolation:isolate;color:#fff;text-align:center;padding:6rem 1.4rem;
  background-size:cover;background-position:center;
}
.post-hero::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(rgba(12,20,36,.5),rgba(12,20,36,.8))}
.post-hero h1{font-size:clamp(1.9rem,4vw,3rem);color:var(--gold-2)}
.post-body{max-width:780px;margin:auto;padding:2.4rem 0 3rem}
.post-body p{color:var(--ink-soft);margin-bottom:1.1rem;font-size:1rem}
.post-body h2{color:var(--turquoise);font-size:1.5rem;margin:1.8rem 0 .7rem}
.post-body blockquote{
  border-inline-start:4px solid var(--gold);background:var(--parchment);
  padding:1rem 1.3rem;border-radius:0 14px 14px 0;margin:1.4rem 0;color:var(--ink);font-weight:600;
}
html[dir="ltr"] .post-body blockquote{border-radius:14px 0 0 14px}
.post-body figure{margin:1.6rem 0}
.post-body figure img{width:100%;border-radius:18px;border:1.5px solid var(--sand)}
.post-body figcaption{text-align:center;font-size:.8rem;color:var(--ink-soft);margin-top:.5rem}
.tagrow{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:1.6rem}
.tagrow a{background:var(--parchment);border:1px solid var(--sand);border-radius:20px;
  padding:.28rem .9rem;font-size:.8rem;color:var(--ink-soft);transition:.25s}
.tagrow a:hover{background:var(--turquoise);color:#fff;border-color:var(--turquoise)}

/* ---------- احراز هویت ---------- */
.auth-wrap{
  min-height:78vh;display:grid;grid-template-columns:1fr 1fr;align-items:stretch;
}
.auth-art{
  position:relative;isolation:isolate;display:grid;place-items:center;padding:3rem;color:#fff;text-align:center;
}
.auth-art::before{content:"";position:absolute;inset:0;z-index:-2;background:url('../img/pattern-orsi-hall.jpg') center/cover}
.auth-art::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(160deg,rgba(12,20,36,.72),rgba(20,53,95,.8))}
.auth-art h2{color:var(--gold-2);font-size:2rem;margin-bottom:.6rem}
.auth-art p{opacity:.9;max-width:26rem;margin:auto}
.auth-art .marks{display:flex;flex-direction:column;gap:.6rem;margin-top:1.6rem;text-align:start}
.auth-art .marks div{display:flex;gap:.6rem;align-items:center;font-size:.9rem;opacity:.92}
.auth-box{display:grid;place-items:center;padding:3rem 1.4rem}
.auth-card{width:min(420px,100%)}
.auth-card .ttl{font-family:var(--font-display);font-size:1.8rem;color:var(--turquoise);margin-bottom:.3rem}
.auth-card .sub{font-size:.9rem;color:var(--ink-soft);margin-bottom:1.6rem}
.auth-card .btn{width:100%;justify-content:center;margin-top:.6rem}
.auth-alt{text-align:center;font-size:.88rem;color:var(--ink-soft);margin-top:1.2rem}
.auth-alt a{color:var(--turquoise);font-weight:700}
.otp{display:flex;gap:.6rem;direction:ltr;justify-content:center;margin:1.4rem 0}
.otp input{
  width:52px;height:60px;text-align:center;font-size:1.5rem;font-weight:900;
  border:1.5px solid var(--sand);border-radius:14px;background:#fff;color:var(--ink);font-family:inherit;
}
.otp input:focus{outline:none;border-color:var(--turquoise);box-shadow:0 0 0 4px rgba(21,127,141,.12)}
@media (max-width:880px){.auth-wrap{grid-template-columns:1fr}.auth-art{display:none}}

/* ---------- ۴۰۴ ---------- */
.nf{text-align:center;padding:4rem 1.4rem 5rem;position:relative}
.nf .big{
  font-family:var(--font-display);font-size:clamp(6rem,20vw,13rem);line-height:1;
  background:linear-gradient(160deg,var(--gold),var(--saffron));
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.nf h1{color:var(--turquoise);font-size:1.9rem;margin:.4rem 0 .6rem}
.nf p{color:var(--ink-soft);max-width:32rem;margin:0 auto 1.8rem}
.nf .acts{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}

/* ---------- اعلان سبد (toast) ---------- */
.toast{
  position:fixed;inset-inline-end:20px;bottom:20px;z-index:100;
  background:var(--lajvard);color:#fff;border:1.5px solid var(--gold-2);
  border-radius:16px;padding:.85rem 1.3rem;box-shadow:var(--shadow-deep);
  display:flex;gap:.7rem;align-items:center;font-weight:600;font-size:.9rem;
  transform:translateY(140%);transition:transform .45s cubic-bezier(.2,.9,.3,1.2);
}
.toast.on{transform:none}
.toast .ok{color:#7ee0a4;font-size:1.1rem}

/* ---------- کارت گروه کوچک (استفاده در چند صفحه) ---------- */
.mini-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:1rem}
.mini{
  background:#fff;border:1.5px solid var(--sand);border-radius:16px;padding:.8rem;text-align:center;transition:.3s;
}
.mini:hover{border-color:var(--gold);transform:translateY(-4px);box-shadow:var(--shadow-soft)}
.mini img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:12px;margin-bottom:.5rem}
.mini b{font-size:.86rem;display:block;color:var(--ink)}
.mini span{font-size:.78rem;color:var(--lajvard-2);font-weight:700}

/* ---------- دکمهٔ خطی: پس‌زمینهٔ مات تا روی هر پس‌زمینه‌ای خوانا بماند ---------- */
.btn-outline{
  background:rgba(255,255,255,.94);
  backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);
  box-shadow:0 6px 18px rgba(59,47,35,.12);font-weight:800;
}
.btn-outline:hover{background:var(--turquoise);color:#fff}
/* روی پس‌زمینه‌های تیره (کتیبه و هیروی زعفران) نسخهٔ روشن */
.katibe .btn-outline,.z-hero .btn-outline{
  background:rgba(255,255,255,.12);color:var(--gold-2);border-color:var(--gold-2);
}
.katibe .btn-outline:hover,.z-hero .btn-outline:hover{background:var(--gold-2);color:#3d2c07}

/* ---------- خوانایی متن‌های توضیح روی هیروها ---------- */
.hero p.lead{
  color:#2E241B;font-weight:500;opacity:1;
  text-shadow:0 1px 0 rgba(255,255,255,.7);
}
.hero .eyebrow{color:var(--lacquer);font-weight:800}
.hero-stats div span{color:#4A3D30;font-weight:600}
.z-hero p.lead{color:#fff;opacity:1;font-weight:500;text-shadow:0 2px 8px rgba(0,0,0,.55)}
.z-hero .eyebrow{text-shadow:0 2px 6px rgba(0,0,0,.6)}
.z-usp span{color:#fff;font-weight:600;text-shadow:0 1px 4px rgba(0,0,0,.5)}
.katibe p{opacity:1;color:#F3EDE0;font-weight:500;text-shadow:0 2px 8px rgba(0,0,0,.6)}
.cat-hero p,.page-head p{opacity:1;color:#F3EDE0;font-weight:500;text-shadow:0 2px 8px rgba(0,0,0,.55)}
.section-title p{color:#5B4B3C;font-weight:500}
.saffron-sec .section-title p{color:#F6EFE2;font-weight:500}
.story p{color:#4A3D30}
.saffron-card p{opacity:1;color:#F3EAD8}
.saffron-strip div{opacity:1;color:#F6EFE2;font-weight:500}

/* ============================================================
   موبایل: رفع اسکرول افقی + نوار ناوبری پایین‌چسبان (اپ‌مانند)
   ============================================================ */

/* ---------- ۱) هیچ چیز از عرض صفحه بیرون نزند ---------- */
html,body{max-width:100%;overflow-x:hidden;overscroll-behavior-x:none}
img,video,svg,iframe,table{max-width:100%}
/* عناصری که ممکن است از قاب بیرون بزنند، در موبایل مهار می‌شوند */
.hero,.hero-visual,.z-hero,.z-visual,.story,.saffron-sec,
.container,section,footer.site-footer{overflow-x:clip}
@media (max-width:900px){
  .float-jar{inset-inline-end:6px;bottom:-14px;width:104px}
  .float-tag{inset-inline-start:6px;top:6%}
  .z-chip.c1{inset-inline-end:2px;top:2%}
  .z-chip.c2{inset-inline-start:2px;bottom:2%}
  .steps::before{inset-inline:16%}
  .otp input{width:44px;height:52px;font-size:1.25rem}
  .deal{gap:.9rem;padding:1.1rem 1.2rem}
  .countdown{margin-inline-start:0;width:100%;justify-content:center}
  .cune-band{background-size:auto 110%}
}
@media (max-width:420px){
  .otp{gap:.35rem}
  .otp input{width:38px;height:46px;font-size:1.05rem}
  .countdown div{min-width:48px;padding:.35rem .5rem}
  .container{padding-inline:1rem}
}

/* ---------- ۲) نوار ناوبری پایین صفحه (فقط موبایل) ---------- */
.mobile-dock{display:none}
@media (max-width:900px){
  .mobile-dock{
    display:grid;grid-template-columns:repeat(5,1fr);
    position:fixed;inset-inline:0;bottom:0;z-index:75;
    background:linear-gradient(180deg,rgba(20,18,36,.94),rgba(14,12,26,.97));
    backdrop-filter:blur(16px) saturate(1.3);
    -webkit-backdrop-filter:blur(16px) saturate(1.3);
    border-top:1.5px solid rgba(233,200,116,.5);
    padding-bottom:env(safe-area-inset-bottom);
    box-shadow:0 -8px 26px rgba(0,0,0,.35);
  }
  /* نوار جام‌های ارسی روی لبهٔ بالایی */
  .mobile-dock::before{
    content:"";position:absolute;inset-inline:0;top:0;height:3px;
    background:repeating-linear-gradient(90deg,
      #E23A6C 0 18px,#2660C4 18px 36px,#F2B22A 36px 54px,#1A945E 54px 72px,#7E3AB6 72px 90px);
    opacity:.85;
  }
  .mobile-dock a,.mobile-dock button{
    display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.22rem;
    padding:.55rem 0 .5rem;color:rgba(248,242,228,.72);font-size:.66rem;font-weight:600;
    position:relative;transition:color .25s;
  }
  .mobile-dock a.active,.mobile-dock a:active,.mobile-dock button.on{color:var(--gold-2)}
  .mobile-dock a.active::before{
    content:"";position:absolute;top:0;inset-inline:26%;height:3px;border-radius:0 0 4px 4px;
    background:var(--gold-2);
  }
  .mobile-dock .ic{position:relative;display:grid;place-items:center}
  .mobile-dock .badge{
    position:absolute;top:-5px;inset-inline-end:-8px;background:var(--lacquer);color:#fff;
    font-size:.58rem;min-width:16px;height:16px;border-radius:9px;display:grid;place-items:center;font-weight:700;
  }
  /* فضای لازم تا نوار روی محتوای پاصفحه نیفتد */
  body{padding-bottom:66px}
  /* منوی کشویی قدیمی به شکل «برگهٔ پایین» باز می‌شود */
  .mobile-nav{
    position:fixed;inset-inline:0;bottom:66px;z-index:74;max-height:60vh;overflow-y:auto;
    border-top:2px solid var(--gold);border-bottom:none;
    border-radius:20px 20px 0 0;box-shadow:0 -14px 40px rgba(0,0,0,.45);
    padding:1rem 1.4rem 1.2rem;
  }
  .mobile-nav::before{
    content:"";display:block;width:44px;height:4px;border-radius:4px;
    background:rgba(233,200,116,.55);margin:0 auto .8rem;
  }
  /* دکمهٔ همبرگر سردر دیگر لازم نیست */
  .menu-toggle{display:none !important}
}

/* ---------- سردر ساده صفحات داخلی ---------- */
.page-head{
  position:relative;isolation:isolate;color:#fff;text-align:center;padding:3.2rem 1.4rem 3.6rem;
}
.page-head::before{content:"";position:absolute;inset:0;z-index:-2;background:url('../img/pattern-eslimi-tile.jpg') center/cover}
.page-head::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(150deg,rgba(10,45,60,.84),rgba(20,53,95,.8))}
.page-head h1{color:var(--gold-2);font-size:clamp(1.8rem,4vw,2.8rem)}
.page-head p{opacity:.9;max-width:34rem;margin:.5rem auto 0;font-size:.95rem}
