﻿/* =========================================================
   Iteklo â€” Premium Minimal Design System  v2
   Font: IRANSansX (local)  |  Icons: inline SVG
   ========================================================= */
@font-face{font-family:'IRANSansX';src:url('../fonts/iran-sans-x-regular.woff') format('woff');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'IRANSansX';src:url('../fonts/iran-sans-x-medium.woff') format('woff');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:'IRANSansX';src:url('../fonts/iran-sans-x-medium.woff') format('woff');font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:'IRANSansX';src:url('../fonts/iran-sans-x-bold.woff') format('woff');font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:'IRANSansX';src:url('../fonts/iran-sans-x-bold.woff') format('woff');font-weight:800;font-style:normal;font-display:swap}
@font-face{font-family:'IRANSansXV';src:url('../fonts/iran-sans-x-v.woff') format('woff');font-weight:100 900;font-style:normal;font-display:swap}

:root {
  --brand: #7c3aed;
  --brand-600: #6d28d9;
  --brand-700: #5b21b6;
  --brand-soft: #f3f0ff;
  --brand-softer: #faf8ff;
  --accent: #fb7185;
  --accent-2: #f43f5e;
  --gold: #f59e0b;

  /* Ø®Ù†Ø«ÛŒ */
  --ink: #0f1020;
  --ink-2: #2e2e42;
  --muted: #8a8aa3;
  --line: #eceaf3;
  --line-2: #f4f3f8;
  --bg: #f7f6fb;
  --card: #ffffff;
  --green: #10b981;

  --radius: 18px;
  --radius-sm: 12px;
  --radius-xs: 9px;

  --shadow-xs: 0 1px 2px rgba(15, 16, 32, .04);
  --shadow-sm: 0 4px 14px -8px rgba(15, 16, 32, .12);
  --shadow: 0 14px 40px -18px rgba(15, 16, 32, .22);
  --shadow-brand: 0 16px 40px -16px rgba(124, 58, 237, .45);

  --grad: linear-gradient(135deg, #7c3aed 0%, #a855f7 45%, #ec4899 100%);
  --grad-soft: linear-gradient(135deg, #f3f0ff, #fdf2f8);
}

* { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }

body {
  font-family: 'IRANSansX', 'IRANSansXV';
  background: var(--bg);
  color: var(--ink);
  direction: rtl;
  line-height: 1.85;
  font-size: 14px;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

a { color: inherit; text-decoration: none; transition: color .2s, background .2s; }
img { max-width: 100%; display: block; }
h1, h2, h3, h4 { line-height: 1.45; font-weight: 700; letter-spacing: -.2px; }
.container { max-width: 1280px; margin: 0 auto; padding: 0 22px; }
::selection { background: var(--brand); color: #fff; }
svg { display: inline-block; vertical-align: middle; flex-shrink: 0; }

/* Ø§Ø³Ú©Ø±ÙˆÙ„â€ŒØ¨Ø§Ø± */
::-webkit-scrollbar { width: 11px; height: 11px; }
::-webkit-scrollbar-thumb { background: #d9d6e6; border-radius: 99px; border: 3px solid var(--bg); }
::-webkit-scrollbar-thumb:hover { background: var(--brand); }

/* ---------- Buttons ---------- */
.btn {
  display: inline-flex; align-items: center; gap: 8px; justify-content: center;
  padding: 12px 24px; border: none; border-radius: 999px;
  background: var(--ink); color: #fff; cursor: pointer; font-size: 14px;
  font-family: inherit; font-weight: 700; transition: transform .18s cubic-bezier(.34,1.56,.64,1), box-shadow .25s, background .2s, filter .2s;
  box-shadow: var(--shadow-sm);
}
.btn:hover { transform: translateY(-3px); }
.btn:active { transform: translateY(-1px); }
.btn-grad { background: var(--grad); box-shadow: var(--shadow-brand); }
.btn-grad:hover { filter: brightness(1.06); }
.btn-brand { background: var(--brand); box-shadow: 0 10px 26px -12px var(--brand); }
.btn-light { background: #fff; color: var(--brand); }
.btn-outline { background: #fff; border: 1.5px solid var(--line); color: var(--ink); box-shadow: none; }
.btn-outline:hover { border-color: var(--brand); color: var(--brand); }
.btn-green { background: var(--green); box-shadow: 0 10px 26px -12px var(--green); }
.btn-danger { background: var(--accent-2); box-shadow: 0 10px 26px -12px var(--accent-2); }
.btn-sm { padding: 8px 16px; font-size: 12.5px; }
.btn-lg { padding: 15px 32px; font-size: 15px; }
.btn-block { width: 100%; }
.btn-icon-flip { flex-direction: row-reverse; }
.btn:disabled { opacity: .5; cursor: not-allowed; transform: none; filter: grayscale(.3); }

/* ---------- Button loading spinner ---------- */
.btn.is-loading { color: transparent !important; pointer-events: none; position: relative; opacity: 1; filter: none; }
.btn.is-loading > * { visibility: hidden; }
.btn.is-loading::after {
  content: ""; position: absolute; top: 50%; left: 50%; width: 18px; height: 18px;
  margin: -9px 0 0 -9px; border-radius: 50%;
  border: 2px solid rgba(255,255,255,.4); border-top-color: #fff;
  animation: btn-spin .6s linear infinite;
}
.btn-outline.is-loading::after, .btn-light.is-loading::after { border-color: rgba(124,58,237,.25); border-top-color: var(--brand); }
@keyframes btn-spin { to { transform: rotate(360deg); } }

/* ---------- Header ---------- */
.header { position: sticky; top: 0; z-index: 60; background: rgba(255,255,255,.78); backdrop-filter: saturate(180%) blur(16px); border-bottom: 1px solid var(--line); }
.header-top-banner { width: 100%; line-height: 1.6; }
.header-top-banner:empty { display: none; }
.header-top-banner--desktop { display: block; }
.header-top-banner--mobile { display: none; }
@media (max-width: 880px) {
  .header-top-banner--desktop { display: none; }
  .header-top-banner--mobile { display: block; }
}
.header-top { display: flex; align-items: center; gap: 24px; padding: 15px 0; justify-content: space-between;}
.logo { font-size: 27px; font-weight: 800; letter-spacing: -1px; display: inline-flex; align-items: center; gap: 8px; }
.logo .mark { width: 38px; height: 38px; border-radius: 12px; background: var(--grad); display: grid; place-items: center; color: #fff; box-shadow: var(--shadow-brand); }
.logo .txt { background: var(--grad); -webkit-background-clip: text; background-clip: text; color: transparent; }
.search-box { flex: 1; display: flex; align-items: center; gap: 10px; max-width: 580px; background: var(--bg); border: 1.5px solid var(--line); border-radius: 15px; padding: 5px 6px 5px 16px; color: var(--muted); transition: border-color .2s, box-shadow .2s, background .2s; }
.search-box:focus-within { border-color: var(--brand); background: #fff; color: var(--brand); box-shadow: 0 0 0 4px rgba(124,58,237,.12); }
.search-box > svg { flex-shrink: 0; transition: color .2s; }
.search-box input { flex: 1; padding: 11px 0; border: none; background: transparent; font-family: inherit; font-size: 14px; outline: none; color: var(--ink); }
.search-box input::placeholder { color: var(--muted); }
.search-box button { border-radius: 11px; padding: 10px 22px; box-shadow: none; font-size: 13.5px; flex-shrink: 0; }
.search-box button:hover { transform: none; filter: brightness(1.06); }

/* ---------- Smart Search ---------- */
.ss-wrap {
  position: relative;
  flex: 1;
  max-width: 580px;
  z-index: 103;
}
.ss-wrap .ss-form {
  max-width: none;
  width: 100%;
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  padding: 4px 14px;
  gap: 10px;
  color: #9ca3af;
}
.ss-wrap .ss-form:focus-within,
.ss-wrap.is-open .ss-form {
  border-color: #d1d5db;
  background: #fff;
  color: #6b7280;
  box-shadow: none;
}
.ss-wrap .ss-form > svg { color: #9ca3af; flex-shrink: 0; }
.ss-wrap .ss-form input {
  font-size: 13.5px;
  padding: 12px 0;
  color: #111827;
}
.ss-wrap .ss-form input::placeholder { color: #9ca3af; }
.ss-clear {
  appearance: none;
  border: none;
  background: transparent;
  color: #9ca3af;
  width: 32px;
  height: 32px;
  border-radius: 8px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  flex-shrink: 0;
  padding: 0;
  transition: color .15s, background .15s;
}
.ss-clear:hover { color: #374151; background: #f3f4f6; }
.ss-clear[hidden] { display: none !important; }

.ss-panel {
  position: absolute;
  top: 100%;
  right: 0;
  left: 0;
  margin-top: 4px;
  z-index: 103;
  background: #fff;
  border: 1px solid #d1d5db;
  border-radius: 4px;
  box-shadow: 0 4px 12px rgba(15, 16, 32, .1);
  max-height: 70vh;
  overflow-y: auto;
  overscroll-behavior: contain;
  padding: 12px 8px;
  animation: ssIn .14s ease;
}
@keyframes ssIn {
  from { opacity: 0; transform: translateY(-3px); }
  to { opacity: 1; transform: translateY(0); }
}

.ss-idle { padding: 0; }
.ss-idle-inner {
  display: flex;
  flex-direction: column;
  gap: 14px;
  padding: 4px 4px 2px;
}
.ss-block { margin-bottom: 16px; }
.ss-block:last-child { margin-bottom: 0; }
.ss-block-head {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 14px;
  font-weight: 500;
  color: #111827;
  margin-bottom: 8px;
  padding: 0 4px;
}
.ss-block-head svg {
  width: 16px;
  height: 16px;
  color: #6b7280;
}

.ss-sec {
  display: flex;
  flex-direction: column;
  gap: 8px;
  width: 100%;
  margin-bottom: 0;
  color: #111827;
  padding: 0 4px;
  position: relative;
  z-index: 2;
}
.ss-sec-popular { order: 0; }
.ss-sec-title {
  font-size: 14px;
  font-weight: 500;
  color: #111827;
}
.ss-sec-title-popular {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.ss-sec-title-popular svg {
  width: 15px;
  height: 15px;
  color: #6b7280;
}
.ss-chips {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px;
}
.ss-chip {
  appearance: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  width: fit-content;
  white-space: nowrap;
  border: 1px solid #e5e7eb;
  background: #fff;
  color: #4b5563;
  font-family: inherit;
  font-size: 13px;
  font-weight: 400;
  line-height: 1.4;
  padding: 6px 10px;
  border-radius: 4px;
  cursor: pointer;
  text-decoration: none;
  transition: border-color .15s, color .15s;
}
.ss-chip:hover {
  border-color: var(--brand, #7c3aed);
  color: var(--brand, #7c3aed);
}

.ss-custom-html {
  display: block;
  width: 100%;
  box-sizing: border-box;
  margin: 0;
  padding: 0 4px 4px;
  border-radius: 8px;
  overflow: hidden;
  position: relative;
  z-index: 1;
  order: 1;
  min-height: 0;
}
.ss-custom-html[hidden] { display: none !important; }

.ss-prods {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 4px;
  width: 100%;
}
.ss-prod { width: 100%; }
.ss-prod-link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  width: 100%;
  height: 100%;
  padding: 4px 0;
  border-radius: 4px;
  text-decoration: none;
  color: inherit;
  text-align: center;
}
.ss-prod-link:hover { background: transparent; }
.ss-prod-img {
  width: 48px;
  height: 48px;
  flex-shrink: 0;
  object-fit: contain;
  display: block;
}
.ss-prod-body {
  display: flex;
  flex-grow: 1;
  align-items: center;
  gap: 16px;
  min-width: 0;
}
.ss-prod-name {
  flex-grow: 1;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.5;
  color: #374151;
  text-align: right;
  padding-left: 16px;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.ss-prod-link:hover .ss-prod-name { color: #111827; }

.ss-view-all {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: 4px;
  padding: 8px 0;
  font-size: 14px;
  font-weight: 700;
  color: var(--accent-2, #e11d8a) !important;
  text-decoration: none;
  background: none;
  border: none;
  cursor: pointer;
  font-family: inherit;
}
.ss-view-all:hover { color: #be185d !important; }

.ss-no-result,
.ss-empty-hint {
  display: block;
  padding: 8px 4px 20px;
  font-size: 14px;
  color: #6b7280;
}
.ss-empty-hint { text-align: center; padding: 24px 8px; }

.ss-loading {
  padding: 8px 4px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.ss-skel {
  height: 42px;
  border-radius: 4px;
  background: linear-gradient(90deg, #f3f4f6 25%, #e5e7eb 37%, #f3f4f6 63%);
  background-size: 400% 100%;
  animation: ssShimmer 1.1s ease infinite;
}
.ss-skel-short { width: 55%; }
.ss-skel-chips { height: 32px; }
@keyframes ssShimmer {
  0% { background-position: 100% 0; }
  100% { background-position: 0 0; }
}

@media (max-width: 600px) {
  .ss-panel { padding: 10px 6px; }
  .ss-prod-name { font-size: 12px; line-height: 1.4; padding-left: 8px; }
  .ss-wrap .ss-form { padding: 3px 12px; }
}

.header-actions { display: flex; align-items: center; gap: 12px; }
.icon-link { position: relative; display: inline-flex; align-items: center; justify-content: center; width: 46px; height: 46px; border-radius: 14px; background: var(--bg); color: var(--ink-2); transition: .2s; }
.icon-link:hover { background: var(--brand-soft); color: var(--brand); transform: translateY(-2px); }
.cart-badge .count {
  position: absolute; top: -5px; left: -5px; background: var(--accent-2); color: #fff;
  border-radius: 999px; min-width: 20px; height: 20px; font-size: 11px; padding: 0 5px;
  display: flex; align-items: center; justify-content: center; font-weight: 700; border: 2px solid #fff;
}
.main-nav { border-top: 1px solid var(--line); background: rgba(255,255,255,.6); }
.main-nav ul { display: flex; gap: 4px; list-style: none; padding: 7px 0; flex-wrap: wrap; }
.main-nav a { display: inline-flex; align-items: center; gap: 6px; padding: 9px 16px; border-radius: 999px; font-weight: 600; color: var(--ink-2); font-size: 13.5px; }
.main-nav a:hover { background: var(--brand-soft); color: var(--brand); }

/* ---------- Hero ---------- */
.hero { position: relative; border-radius: 28px; overflow: hidden; margin: 26px 0; background: var(--grad); color: #fff; box-shadow: var(--shadow-brand); isolation: isolate; }
.hero::before { content: ''; position: absolute; inset: 0; background:
  radial-gradient(420px 420px at 88% -20%, rgba(255,255,255,.28), transparent 60%),
  radial-gradient(360px 360px at 5% 120%, rgba(255,255,255,.18), transparent 60%); z-index: -1; }
.hero-inner { display: grid; grid-template-columns: 1.25fr 1fr; align-items: center; gap: 24px; padding: 56px; min-height: 340px; }
.hero .pill { display: inline-flex; align-items: center; gap: 7px; background: rgba(255,255,255,.18); border: 1px solid rgba(255,255,255,.3); padding: 6px 14px; border-radius: 999px; font-size: 12.5px; font-weight: 600; margin-bottom: 18px; }
.hero h1 { font-size: 42px; font-weight: 800; margin-bottom: 16px; line-height: 1.3; }
.hero p { font-size: 16px; opacity: .94; margin-bottom: 26px; max-width: 480px; }
.hero-art { font-size: 170px; text-align: center; filter: drop-shadow(0 26px 40px rgba(0,0,0,.3)); animation: float 5s ease-in-out infinite; }
@keyframes float { 0%,100% { transform: translateY(0) rotate(-2deg); } 50% { transform: translateY(-16px) rotate(2deg); } }
.slider img { width: 100%; border-radius: 28px; }

/* ---------- Home carousel (Khanoumi-style keen-slider) ---------- */
.home-carousel {
  position: relative;
  min-height: 200px;
  margin: 16px 0 24px;
  direction: ltr;
}
.home-carousel__slider {
  width: 100%;
}
.home-carousel__slide {
  overflow: hidden;
  border-radius: 8px;
  min-width: 0;
  text-decoration: none;
  color: inherit;
}
.home-carousel__slide picture {
  display: block;
  background: var(--line-2);
}
.home-carousel__img {
  width: 100%;
  display: block;
  min-height: 200px;
  object-fit: cover;
}
.home-carousel__arrow {
  display: none;
  position: absolute;
  bottom: 50%;
  transform: translateY(50%);
  z-index: 10;
  padding: 0;
  border: none;
  background: transparent;
  cursor: pointer;
  align-items: center;
}
.home-carousel__arrow-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border: 1px solid #d8d6e0;
  border-radius: 6px;
  background: rgba(255,255,255,.92);
  color: var(--ink);
  transition: background .2s, border-color .2s;
}
.home-carousel__arrow:hover .home-carousel__arrow-btn {
  background: #fff;
  border-color: #c4c4d0;
}
.home-carousel__arrow:focus-visible .home-carousel__arrow-btn {
  outline: 2px solid var(--brand);
  outline-offset: 2px;
}
.home-carousel__arrow--next { right: 5.5%; }
.home-carousel__arrow--prev { left: 5.5%; }
.home-carousel__dots {
  position: absolute;
  left: 50%;
  bottom: 0;
  transform: translateX(-50%);
  display: flex;
  align-items: center;
  justify-content: center;
  padding-bottom: 8px;
  z-index: 10;
  pointer-events: none;
}
.home-carousel__dot {
  position: relative;
  margin-left: 4px;
  width: 4px;
  height: 4px;
  padding: 0;
  border: 0;
  border-radius: 1px;
  background: #6b7280;
  cursor: pointer;
  pointer-events: auto;
  transition: width .25s ease, height .25s ease, border-radius .25s ease, background .25s ease;
}
.home-carousel__dot::after {
  content: '';
  position: absolute;
  inset: -10px;
}
.home-carousel__dot.is-active {
  width: 16px;
  height: 6px;
  border-radius: 2px;
  background: rgba(255,255,255,.95);
}
.home-carousel__dot:focus-visible {
  outline: 2px solid var(--brand);
  outline-offset: 2px;
}
.home-carousel.is-single .home-carousel__slide {
  min-width: 0;
  width: 100% !important;
  max-width: none !important;
}
@media (min-width: 1024px) {
  .home-carousel { min-height: 330px; }
  .home-carousel__img { min-height: 300px; }
  .home-carousel__arrow { display: flex; }
  .home-carousel__arrow-btn { width: 40px; height: 40px; }
  .home-carousel__dots { padding-bottom: 16px; }
}
@media (prefers-reduced-motion: reduce) {
  .home-carousel__dot { transition: none; }
}

/* ---------- Sections ---------- */
.section { margin: 60px 0; }
.section-title { display: flex; align-items: center; justify-content: space-between; margin-bottom: 26px; gap: 16px; }
.section-title h2 { font-size: 23px; display: inline-flex; align-items: center; gap: 10px; }
.section-title h2 .ti { width: 42px; height: 42px; border-radius: 13px; background: var(--brand-soft); color: var(--brand); display: grid; place-items: center; }
.section-title .more { color: var(--brand); font-weight: 700; font-size: 13px; display: inline-flex; align-items: center; gap: 4px; padding: 8px 14px; border-radius: 999px; transition: .2s; }
.section-title .more:hover { background: var(--brand-soft); }

/* ---------- Grids ---------- */
.grid { display: grid; gap: 22px; }
.grid-2 { grid-template-columns: repeat(2, 1fr); }
.grid-3 { grid-template-columns: repeat(3, 1fr); }
.grid-4 { grid-template-columns: repeat(4, 1fr); }
.grid-5 { grid-template-columns: repeat(5, 1fr); }
.grid-6 { grid-template-columns: repeat(6, 1fr); }

/* ---------- Product Card ---------- */
.product-card { background: var(--card); border-radius: var(--radius); border: 1px solid var(--line); overflow: hidden; transition: transform .3s cubic-bezier(.2,.8,.2,1), box-shadow .3s, border-color .3s; position: relative; }
.product-card:hover { transform: translateY(-8px); box-shadow: var(--shadow); border-color: transparent; }
.product-card .thumb { aspect-ratio: 1; overflow: hidden; background: var(--grad-soft); position: relative; display: block; }
.product-card .thumb img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s cubic-bezier(.2,.8,.2,1); }
.product-card:hover .thumb img { transform: scale(1.08); }
.product-card .quick { position: absolute; inset-inline-end: 12px; inset-block-start: 12px; display: flex; flex-direction: column; gap: 8px; opacity: 0; transform: translateX(-10px); transition: .28s; z-index: 3; }
.product-card:hover .quick { opacity: 1; transform: translateX(0); }
.product-card .quick button, .product-card .quick a { width: 38px; height: 38px; border-radius: 50%; background: rgba(255,255,255,.95); border: none; display: grid; place-items: center; cursor: pointer; color: var(--ink-2); box-shadow: var(--shadow-sm); transition: .2s; }
.product-card .quick button:hover, .product-card .quick a:hover { background: var(--brand); color: #fff; }
.product-card .body { padding: 15px 17px 18px; }
.product-card .ptitle { font-weight: 600; font-size: 13.5px; height: 44px; overflow: hidden; color: var(--ink); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.product-card .price { display: flex; align-items: baseline; gap: 8px; margin-top: 12px; }
.product-card .price .current { font-weight: 800; color: var(--ink); font-size: 16px; }
.product-card .price .current small { font-weight: 500; color: var(--muted); font-size: 11px; }
.product-card .price .old { color: var(--muted); text-decoration: line-through; font-size: 12px; }
.badge { position: absolute; top: 12px; right: 12px; z-index: 2; color: #fff; font-size: 11px; padding: 5px 11px; border-radius: 999px; font-weight: 800; box-shadow: var(--shadow-sm); display: inline-flex; align-items: center; gap: 4px; }
.badge-off { background: var(--accent-2); }
.badge-pop { background: var(--gold); }

/* ---------- Cards ---------- */
.card { background: var(--card); border-radius: var(--radius); border: 1px solid var(--line); padding: 26px; box-shadow: var(--shadow-xs); }
.card + .card { margin-top: 20px; }

/* category cards (legacy — فقط در صورت استفادهٔ قدیمی) */
.cat-card.legacy-cat { display: flex; flex-direction: column; align-items: center; gap: 14px; padding: 26px 14px; background: var(--card); border: 1px solid var(--line); border-radius: var(--radius); transition: .3s; }

/* ===== خرید بر اساس دسته — اسلایدر کوچک (hc-) ===== */
.hc-section .section-title{margin-bottom:18px}
.hc-wrap{position:relative;padding:0 4px}
.hc-track{display:flex;gap:14px;overflow-x:auto;overflow-y:hidden;padding:6px 2px 14px;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;scrollbar-width:none}
.hc-track::-webkit-scrollbar{display:none}
.hc-chip{flex:0 0 88px;width:88px;scroll-snap-align:start;display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;color:inherit;text-decoration:none}
.hc-img{width:72px;height:72px;border-radius:18px;overflow:hidden;border:1px solid var(--line);background:#fff;box-shadow:var(--shadow-xs);display:grid;place-items:center;transition:border-color .2s,box-shadow .2s,transform .2s}
.hc-img img{width:100%;height:100%;object-fit:cover;display:block}
.hc-img-ph{background:linear-gradient(145deg,hsl(var(--hc-h,265),68%,93%),hsl(var(--hc-h,265),58%,82%));color:hsl(var(--hc-h,265),48%,46%)}
.hc-chip:hover .hc-img{border-color:var(--brand);box-shadow:0 10px 22px -12px rgba(124,58,237,.45);transform:translateY(-3px)}
.hc-lbl{font-size:11.5px;font-weight:700;line-height:1.5;color:var(--ink);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;width:100%}
.hc-all .hc-all-ic{background:var(--grad-soft);color:var(--brand);border-style:dashed;border-color:#d8ccf5}
.hc-all:hover .hc-all-ic{background:var(--grad);color:#fff;border-color:transparent}
.hc-all .hc-lbl{color:var(--brand)}
.hc-nav{position:absolute;top:28px;width:34px;height:34px;border-radius:50%;border:1px solid var(--line);background:#fff;color:var(--brand);box-shadow:0 6px 16px -8px rgba(15,23,42,.35);cursor:pointer;display:grid;place-items:center;z-index:2;transition:transform .15s,opacity .15s}
.hc-nav:hover{transform:scale(1.08)}
.hc-nav-next{left:0}
.hc-nav-prev{right:0}
.hc-nav-prev svg{transform:rotate(180deg)}
.hc-nav.is-off{opacity:0;pointer-events:none}
@media(max-width:640px){
  .hc-wrap{padding:0}
  .hc-nav{display:none}
  .hc-chip{flex:0 0 80px;width:80px}
  .hc-img{width:64px;height:64px;border-radius:16px}
  .hc-lbl{font-size:11px}
}

/* feature */
.feature { display: flex; align-items: center; gap: 16px; padding: 22px; background: var(--card); border: 1px solid var(--line); border-radius: var(--radius); transition: .25s; }
.feature:hover { box-shadow: var(--shadow-sm); transform: translateY(-3px); }
.feature .ico { width: 56px; height: 56px; border-radius: 16px; background: var(--grad-soft); color: var(--brand); display: grid; place-items: center; }
.feature strong { display: block; font-size: 14.5px; }
.feature span { color: var(--muted); font-size: 12.5px; }

/* brand chip */
.brand-chip { display: flex; align-items: center; justify-content: center; padding: 24px; background: var(--card); border: 1px solid var(--line); border-radius: var(--radius); font-weight: 800; color: var(--ink-2); transition: .25s; font-size: 15px; }
.brand-chip:hover { color: var(--brand); border-color: var(--brand); transform: translateY(-4px); box-shadow: var(--shadow-sm); }

/* ---------- Forms ---------- */
.form-group { margin-bottom: 18px; }
.form-group label { display: block; margin-bottom: 8px; font-weight: 700; font-size: 13px; color: var(--ink-2); }
.form-control {
  width: 100%; padding: 13px 15px; border: 1.5px solid var(--line);
  border-radius: var(--radius-sm); font-family: inherit; font-size: 14px; background: #fff; transition: border .2s, box-shadow .2s;
}
.form-control:focus { outline: none; border-color: var(--brand); box-shadow: 0 0 0 4px var(--brand-soft); }
textarea.form-control { min-height: 120px; resize: vertical; }
.form-row { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; }
.checkbox-row { display: flex; align-items: center; gap: 9px; }
.checkbox-row input { width: 18px; height: 18px; accent-color: var(--brand); }

/* ---------- Tables ---------- */
.table-wrap { overflow-x: auto; background: var(--card); border-radius: var(--radius); border: 1px solid var(--line); box-shadow: var(--shadow-xs); }
table { width: 100%; border-collapse: collapse; }
th, td { padding: 15px 18px; text-align: right; border-bottom: 1px solid var(--line-2); font-size: 13px; vertical-align: middle; }
th { background: var(--bg); font-weight: 800; color: var(--ink-2); }
tbody tr:last-child td { border-bottom: none; }
tbody tr { transition: background .15s; }
tbody tr:hover { background: var(--brand-softer); }

/* ---------- Chips ---------- */
.chip { padding: 4px 13px; border-radius: 999px; font-size: 12px; font-weight: 700; display: inline-block; width: fit-content; align-self: flex-start; }
.chip-pending { background: #fff3d6; color: #92620e; }
.chip-success { background: #d7f7e9; color: #06724b; }
.chip-danger { background: #ffe1e3; color: #9f1227; }
.chip-info { background: var(--brand-soft); color: var(--brand-700); }
.chip-shipped { background: #dbeafe; color: #1d4ed8; }

/* ---------- Alerts / Toast ---------- */
.alert { padding: 15px 18px; border-radius: var(--radius-sm); margin-bottom: 18px; border: 1px solid transparent; display: flex; align-items: center; gap: 10px; font-weight: 600; }
.alert-success { background: #ecfdf5; color: #06724b; border-color: #b6f0d8; }
.alert-error { background: #fff1f2; color: #9f1227; border-color: #ffd0d4; }

.toast-wrap { position: fixed; bottom: 26px; left: 26px; z-index: 9999; display: flex; flex-direction: column; gap: 10px; }
.toast { padding: 14px 22px; border-radius: var(--radius-sm); color: #fff; box-shadow: var(--shadow); animation: slideUp .35s cubic-bezier(.2,.8,.2,1); font-weight: 700; font-size: 13px; display: flex; align-items: center; gap: 9px; }
.toast.success { background: var(--green); }
.toast.error { background: var(--accent-2); }
@keyframes slideUp { from { transform: translateY(24px); opacity: 0; } to { transform: translateY(0); opacity: 1; } }

/* ---------- Pagination ---------- */
.pagination { display: flex; gap: 8px; justify-content: center; margin: 44px 0; }
.pagination a, .pagination span { min-width: 42px; padding: 10px 15px; border: 1.5px solid var(--line); border-radius: 13px; background: #fff; font-weight: 700; transition: .2s; text-align: center; }
.pagination a:hover { border-color: var(--brand); color: var(--brand); transform: translateY(-2px); }
.pagination .active { background: var(--brand); color: #fff; border-color: var(--brand); }

/* ---------- Breadcrumb ---------- */
.breadcrumb { display: flex; gap: 8px; align-items: center; color: var(--muted); font-size: 13px; margin: 22px 0; flex-wrap: wrap; }
.breadcrumb a:hover { color: var(--brand); }

/* ---------- Split layout ---------- */
.layout-split { display: grid; grid-template-columns: 290px 1fr; gap: 28px; align-items: start; margin: 28px 0; }
.layout-split > * { min-width: 0; }
.sidebar-box { background: var(--card); border-radius: var(--radius); border: 1px solid var(--line); padding: 24px; position: sticky; top: 150px; box-shadow: var(--shadow-xs); }
.sb-avatar { width: 64px; height: 64px; border-radius: 20px; background: var(--grad); color: #fff; display: grid; place-items: center; margin: 0 auto 10px; }
.sidebar-menu { list-style: none; }
.sidebar-menu a { display: flex; align-items: center; gap: 11px; padding: 12px 15px; border-radius: 13px; color: var(--ink-2); font-weight: 600; }
.sidebar-menu a .sb-badge {
  margin-inline-start: auto; min-width: 22px; height: 22px; padding: 0 7px;
  display: inline-flex; align-items: center; justify-content: center;
  border-radius: 999px; background: linear-gradient(135deg, #a855f7, #ec4899);
  color: #fff; font-size: 11px; font-weight: 800; line-height: 1;
  box-shadow: 0 2px 8px rgba(168, 85, 247, .35);
}
.sidebar-menu a:hover, .sidebar-menu a.active { background: var(--brand-soft); color: var(--brand); }

/* پنل کاربری در موبایل: منوی افقی اسکرول‌شونده به‌جای ساید‌بار عمودی */
@media (max-width: 992px) {
  .layout-split { margin-top: 16px; }
  .layout-split > .sidebar-box {
    position: sticky; top: 66px; z-index: 20; padding: 8px;
    border-radius: 14px; margin-bottom: 4px;
    background: color-mix(in srgb, var(--card) 88%, transparent);
    backdrop-filter: saturate(1.4) blur(8px);
  }
  .layout-split > .sidebar-box .sb-profile { display: none; }
  .layout-split > .sidebar-box .sidebar-menu {
    display: flex; gap: 7px; overflow-x: auto; scroll-snap-type: x proximity;
    -webkit-overflow-scrolling: touch; scrollbar-width: none; -ms-overflow-style: none;
    margin: 0; padding: 2px;
  }
  .layout-split > .sidebar-box .sidebar-menu::-webkit-scrollbar { display: none; }
  .layout-split > .sidebar-box .sidebar-menu li { flex: 0 0 auto; scroll-snap-align: start; }
  .layout-split > .sidebar-box .sidebar-menu a {
    white-space: nowrap; padding: 9px 14px; border-radius: 999px;
    border: 1px solid var(--line); background: var(--card); font-size: 12.5px; gap: 7px;
  }
  .layout-split > .sidebar-box .sidebar-menu a svg { width: 16px; height: 16px; }
  .layout-split > .sidebar-box .sidebar-menu a.active { border-color: transparent; background: var(--brand-soft); }
  .layout-split > .sidebar-box .sidebar-menu a .sb-badge {
    margin-inline-start: 0; min-width: 18px; height: 18px; font-size: 10px; padding: 0 5px;
  }
}

/* ---------- Footer ---------- */
.footer { background: #0f1020; color: #9a9ab5; margin-top: 90px; padding: 60px 0 26px; }
.footer-grid { display: grid; grid-template-columns: 1.5fr 1fr 1fr 1.1fr; gap: 40px; }
.footer h4 { color: #fff; margin-bottom: 18px; font-size: 15px; }
.footer .logo .txt { color: #fff; -webkit-text-fill-color: #fff; }
.footer ul { list-style: none; }
.footer li { margin-bottom: 11px; display: flex; align-items: center; gap: 8px; }
.footer a:hover { color: #fff; }
.socials { display: flex; gap: 10px; margin-top: 16px; }
.socials a { width: 42px; height: 42px; border-radius: 12px; background: rgba(255,255,255,.07); display: grid; place-items: center; color: #cfcfe6; transition: .25s; }
.socials a:hover { background: var(--grad); color: #fff; transform: translateY(-3px); }
.footer-bottom { text-align: center; border-top: 1px solid rgba(255,255,255,.08); margin-top: 44px; padding-top: 26px; font-size: 13px; }

.footer-below {
  margin-top: 28px;
  padding: 22px 0 8px;
  border-top: 1px solid rgba(255,255,255,.08);
  background: rgba(0,0,0,.18);
}
.footer-below-content {
  color: #b4b4c8;
  font-size: 13px;
  line-height: 1.9;
}
.footer-below-content.is-collapsed {
  max-height: 4.8rem;
  -webkit-line-clamp: 3;
}
.footer-below-content p { margin: 0 0 .7em; }
.footer-below-content p:last-child { margin-bottom: 0; }
.footer-below-content a { color: #ddd6fe; text-decoration: underline; }
.footer-below-fade {
  background: linear-gradient(to top, #0a0b14, transparent) !important;
}
.footer-below-toggle {
  background: transparent;
  border-color: rgba(255,255,255,.18);
  color: #c4b5fd;
}
.footer-below-toggle:hover {
  background: rgba(255,255,255,.06);
  border-color: rgba(196,181,253,.45);
  color: #fff;
}

/* ---------- Product detail ---------- */
.gallery-main { border-radius: var(--radius); overflow: hidden; border: 1px solid var(--line); background: var(--grad-soft); }
.gallery-main img { width: 100%; aspect-ratio: 1; object-fit: cover; }
.gallery-thumbs { display: flex; gap: 10px; margin-top: 12px; flex-wrap: wrap; }
.gallery-thumbs img { width: 66px; height: 66px; object-fit: cover; border-radius: 13px; cursor: pointer; border: 2px solid var(--line); transition: .2s; }
.gallery-thumbs img:hover { border-color: var(--brand); transform: translateY(-2px); }
.price-box { background: var(--grad-soft); border-radius: var(--radius); padding: 24px; border: 1px solid var(--line); }
.price-lg { font-size: 30px; font-weight: 800; color: var(--ink); }
.color-swatch { width: 30px; height: 30px; border-radius: 50%; border: 2px solid #fff; box-shadow: 0 0 0 1.5px var(--line); display: inline-block; cursor: pointer; }
.variant-pill { padding: 9px 17px; border: 1.5px solid var(--line); border-radius: 999px; cursor: pointer; font-size: 13px; font-weight: 600; transition: .2s; background: #fff; display: inline-flex; align-items: center; }
.variant-pill .vg-opt-thumb { width: 22px; height: 22px; border-radius: 50%; object-fit: cover; margin-left: 6px; border: 1px solid rgba(0,0,0,.08); }
.variant-pill:hover, .variant-pill.active { border-color: var(--brand); background: var(--brand-soft); color: var(--brand); }

/* ---------- Auth ---------- */
.auth-wrap { min-height: 100vh; display: flex; align-items: center; justify-content: center; padding: 20px; position: relative; overflow: hidden; background: var(--bg); }
.auth-wrap::before { content: ''; position: absolute; width: 700px; height: 700px; background: var(--grad); filter: blur(120px); opacity: .22; top: -200px; border-radius: 50%; }
.auth-card { background: rgba(255,255,255,.92); backdrop-filter: blur(10px); border-radius: 26px; box-shadow: var(--shadow); padding: 42px; width: 100%; max-width: 440px; border: 1px solid var(--line); position: relative; }
.auth-card h1 { text-align: center; margin-bottom: 8px; font-size: 23px; }
.auth-card .sub { text-align: center; color: var(--muted); margin-bottom: 28px; font-size: 13px; }
.dev-otp { background: #fffbeb; border: 1px dashed var(--gold); color: #92620e; padding: 11px; border-radius: 13px; text-align: center; margin-top: 14px; font-weight: 800; }

/* ---------- Admin ---------- */
.admin-body { display: flex; min-height: 100vh; background: var(--bg); }
.admin-sidebar { width: 264px; background: #fff; border-left: 1px solid var(--line); padding: 24px 0; position: sticky; top: 0; height: 100vh; overflow-y: auto; }
.admin-sidebar .brand { font-size: 23px; font-weight: 800; padding: 0 24px 24px; display: flex; align-items: center; gap: 9px; }
.admin-sidebar .brand .mark { width: 36px; height: 36px; border-radius: 11px; background: var(--grad); display: grid; place-items: center; color: #fff; }
.admin-sidebar .brand .txt { background: var(--grad); -webkit-background-clip: text; background-clip: text; color: transparent; }
.admin-sidebar .brand .brand-logo { height: 40px; width: auto; flex-shrink: 0; }
.admin-sidebar ul { list-style: none; }
.admin-sidebar a { display: flex; align-items: center; gap: 12px; padding: 12px 24px; color: var(--ink-2); font-weight: 600; transition: .2s; border-right: 3px solid transparent; font-size: 13.5px; }
.admin-sidebar a:hover { background: var(--brand-softer); color: var(--brand); }
.admin-sidebar a.active { background: var(--brand-soft); color: var(--brand); border-right-color: var(--brand); font-weight: 800; }
.admin-main { flex: 1; padding: 30px; overflow-x: auto; }
.admin-topbar { display: flex; justify-content: space-between; align-items: center; margin-bottom: 28px; }
.admin-topbar h1 { font-size: 23px; }
.stats-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; margin-bottom: 18px; }
.stat-card { background: #fff; border-radius: var(--radius); border: 1px solid var(--line); padding: 22px; transition: .25s; display: flex; align-items: center; gap: 16px; }
.stat-card:hover { box-shadow: var(--shadow); transform: translateY(-4px); }
.stat-card .si { width: 52px; height: 52px; border-radius: 15px; background: var(--grad-soft); color: var(--brand); display: grid; place-items: center; }
.stat-card .num { font-size: 26px; font-weight: 800; color: var(--ink); }
.stat-card .label { color: var(--muted); font-size: 12.5px; }
.page-head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 22px; gap: 16px; flex-wrap: wrap; }

/* ---------- Utilities ---------- */
.flex { display: flex; } .between { justify-content: space-between; } .items-center { align-items: center; }
.gap { gap: 12px; } .wrap { flex-wrap: wrap; } .col { flex-direction: column; }
.muted { color: var(--muted); }
.mt { margin-top: 16px; } .mb { margin-bottom: 16px; } .mt-lg { margin-top: 34px; }
.text-center { text-align: center; }
hr { border: none; border-top: 1px solid var(--line); margin: 16px 0; }
.empty-state { text-align: center; padding: 64px 20px; color: var(--muted); }
.empty-state .ico { width: 84px; height: 84px; border-radius: 24px; background: var(--grad-soft); color: var(--brand); display: grid; place-items: center; margin: 0 auto 16px; }

/* ÙˆØ±ÙˆØ¯ ØªØ¯Ø±ÛŒØ¬ÛŒ Ú©Ø§Ø±Øªâ€ŒÙ‡Ø§ */
@keyframes rise { from { opacity: 0; transform: translateY(16px); } to { opacity: 1; transform: translateY(0); } }
.grid > * { animation: rise .5s both; }
.grid > *:nth-child(2) { animation-delay: .04s; }
.grid > *:nth-child(3) { animation-delay: .08s; }
.grid > *:nth-child(4) { animation-delay: .12s; }
.grid > *:nth-child(5) { animation-delay: .16s; }

/* ---------- Responsive ---------- */
@media (max-width: 992px) {
  .hero-inner { grid-template-columns: 1fr; padding: 36px; text-align: center; }
  .hero-art { display: none; }
  .hero h1 { font-size: 30px; }
  .grid-6, .grid-5 { grid-template-columns: repeat(3, 1fr); }
  .grid-4 { grid-template-columns: repeat(2, 1fr); }
  .footer-grid { grid-template-columns: repeat(2, 1fr); }
  .layout-split { grid-template-columns: 1fr; }
  .admin-sidebar { position: fixed; right: -264px; z-index: 100; transition: .3s; box-shadow: var(--shadow); }
  .admin-sidebar.open { right: 0; }
}
@media (max-width: 600px) {
  .grid-6, .grid-5, .grid-4, .grid-3 { grid-template-columns: repeat(2, 1fr); }
  .grid-2 { grid-template-columns: 1fr; }
  .stats-grid { grid-template-columns: repeat(2, 1fr); }
  .form-row { grid-template-columns: 1fr; }
  .header-top { flex-wrap: wrap; }
  .search-box { order: 3; max-width: 100%; width: 100%; }
  .ss-wrap { order: 3; max-width: 100%; width: 100%; }
  .ss-panel { max-height: min(60vh, 420px); }
}

/* =========================================================
   Cart & Checkout components
   ========================================================= */
.page-title { display: flex; align-items: center; gap: 12px; margin-bottom: 6px; font-size: 24px; }
.page-title .ti { width: 46px; height: 46px; border-radius: 14px; background: var(--grad-soft); color: var(--brand); display: grid; place-items: center; }

/* Ù…Ø±Ø§Ø­Ù„ Ø®Ø±ÛŒØ¯ */
.steps { display: flex; align-items: center; gap: 0; margin: 22px 0 28px; }
.steps .step { display: flex; align-items: center; gap: 9px; color: var(--muted); font-weight: 700; font-size: 13px; }
.steps .step .dot { width: 32px; height: 32px; border-radius: 50%; background: #fff; border: 2px solid var(--line); display: grid; place-items: center; font-size: 13px; transition: .2s; }
.steps .step.active { color: var(--brand); }
.steps .step.active .dot { background: var(--grad); border-color: transparent; color: #fff; box-shadow: var(--shadow-brand); }
.steps .step.done .dot { background: var(--green); border-color: transparent; color: #fff; }
.steps .bar { flex: 1; height: 2px; background: var(--line); margin: 0 12px; border-radius: 2px; min-width: 30px; }
.steps .step.active ~ .bar { background: var(--line); }

/* Ø¢ÛŒØªÙ… Ø³Ø¨Ø¯ */
.cart-item { display: flex; gap: 16px; align-items: center; padding: 16px; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; transition: .2s; margin-bottom: 14px; }
.cart-item:hover { box-shadow: var(--shadow-sm); }
.cart-item .ci-img { width: 92px; height: 92px; border-radius: 14px; object-fit: cover; background: var(--grad-soft); flex-shrink: 0; }
.cart-item .ci-info { flex: 1; min-width: 0; }
.cart-item .ci-info h4 { font-size: 14.5px; margin-bottom: 4px; }
.cart-item .ci-meta { color: var(--muted); font-size: 12px; }
.cart-item .ci-price { font-weight: 800; font-size: 15px; white-space: nowrap; }
.cart-item .ci-price .old { display: block; font-size: 11px; color: var(--muted); text-decoration: line-through; font-weight: 500; }

/* Ø§Ø³ØªÙ¾Ø± ØªØ¹Ø¯Ø§Ø¯ */
.qty-stepper { display: inline-flex; align-items: center; border: 1.5px solid var(--line); border-radius: 999px; overflow: hidden; background: #fff; }
.qty-stepper button { width: 36px; height: 36px; border: none; background: transparent; cursor: pointer; color: var(--brand); display: grid; place-items: center; transition: .15s; }
.qty-stepper button:hover { background: var(--brand-soft); }
.qty-stepper .val { min-width: 38px; text-align: center; font-weight: 800; font-size: 14px; }
.qty-stepper.disabled { opacity: .5; pointer-events: none; filter: grayscale(.4); }
.icon-btn { width: 38px; height: 38px; border-radius: 12px; border: 1.5px solid var(--line); background: #fff; cursor: pointer; display: grid; place-items: center; color: var(--muted); transition: .2s; }
.icon-btn:hover { border-color: var(--accent-2); color: var(--accent-2); background: #fff1f2; }

/* Ø®Ù„Ø§ØµÙ‡ Ø³ÙØ§Ø±Ø´ */
.summary-card { background: var(--card); border-radius: var(--radius); border: 1px solid var(--line); padding: 24px; position: sticky; top: 100px; box-shadow: var(--shadow-xs); }
.summary-card h4 { margin-bottom: 18px; display: flex; align-items: center; gap: 8px; }
.summary-row { display: flex; justify-content: space-between; align-items: center; padding: 9px 0; font-size: 13.5px; }
.summary-row.muted-row { color: var(--muted); }
.summary-row.discount { color: var(--green); font-weight: 700; }
.summary-total { display: flex; justify-content: space-between; align-items: center; padding: 16px 0 4px; border-top: 1px dashed var(--line); margin-top: 8px; }
.summary-total .amount { font-size: 20px; font-weight: 800; color: var(--brand); }
.trust-row { display: flex; gap: 16px; justify-content: center; margin-top: 16px; padding-top: 16px; border-top: 1px solid var(--line-2); color: var(--muted); font-size: 11.5px; }
.trust-row span { display: inline-flex; align-items: center; gap: 5px; }

/* Ú©Ø§Ø±Øª Ø¢Ø¯Ø±Ø³ Ø§Ù†ØªØ®Ø§Ø¨ÛŒ */
.addr-card { display: flex; gap: 14px; align-items: flex-start; padding: 16px 18px; border: 1.5px solid var(--line); border-radius: var(--radius); cursor: pointer; transition: .2s; margin-bottom: 12px; background: #fff; }
.addr-card:hover { border-color: var(--brand); }
.addr-card input { margin-top: 4px; accent-color: var(--brand); width: 18px; height: 18px; flex-shrink: 0; }
.addr-card.selected { border-color: var(--brand); background: var(--brand-softer); box-shadow: 0 0 0 3px var(--brand-soft); }
.addr-card .at { font-weight: 700; display: flex; align-items: center; gap: 7px; }
.addr-card .ad { color: var(--muted); font-size: 12.5px; margin-top: 3px; }

/* ÙØ±Ù… Ø¯Ø±ÙˆÙ†â€ŒØ®Ø·ÛŒ Ø§ÙØ²ÙˆØ¯Ù† Ø¢Ø¯Ø±Ø³ (Ø¢Ú©Ø§Ø±Ø¯Ø¦ÙˆÙ†) */
.collapse { max-height: 0; overflow: hidden; transition: max-height .35s ease; }
.collapse.open { max-height: 900px; }
.add-addr-btn { display: flex; align-items: center; gap: 10px; width: 100%; padding: 16px 18px; border: 1.5px dashed var(--brand); border-radius: var(--radius); background: var(--brand-softer); color: var(--brand); font-weight: 700; cursor: pointer; font-family: inherit; transition: .2s; }
.add-addr-btn:hover { background: var(--brand-soft); }

/* =========================================================
   Modal
   ========================================================= */
.modal-overlay {
  position: fixed; inset: 0; z-index: 1000; background: rgba(15, 16, 32, .55);
  backdrop-filter: blur(4px); display: flex; align-items: center; justify-content: center;
  padding: 20px; opacity: 0; visibility: hidden; transition: opacity .25s, visibility .25s;
}
.modal-overlay.open { opacity: 1; visibility: visible; }
.modal {
  background: #fff; border-radius: 24px; width: 100%; max-width: 440px;
  padding: 32px; box-shadow: var(--shadow); text-align: center;
  transform: translateY(24px) scale(.96); transition: transform .3s cubic-bezier(.34,1.56,.64,1);
}
.modal-overlay.open .modal { transform: translateY(0) scale(1); }
.modal .m-ico { width: 84px; height: 84px; border-radius: 50%; background: #d7f7e9; color: var(--green); display: grid; place-items: center; margin: 0 auto 18px; animation: pop .4s cubic-bezier(.34,1.56,.64,1); }
@keyframes pop { 0% { transform: scale(0); } 100% { transform: scale(1); } }
.modal h3 { font-size: 19px; margin-bottom: 6px; }
.modal p { color: var(--muted); margin-bottom: 24px; font-size: 13.5px; }
.modal .m-product { display: flex; align-items: center; gap: 12px; background: var(--bg); border-radius: 14px; padding: 12px; margin-bottom: 22px; text-align: right; }
.modal .m-product img { width: 56px; height: 56px; border-radius: 11px; object-fit: cover; }
.modal .m-product .mp-title { font-weight: 700; font-size: 13px; }
.modal .m-product .mp-price { color: var(--brand); font-weight: 800; font-size: 13px; margin-top: 3px; }
.modal .m-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.modal-close { position: absolute; }

/* =========================================================
   Checkout v2
   ========================================================= */
.checkout-grid { display: grid; grid-template-columns: 1fr 360px; gap: 26px; align-items: start; margin: 26px 0; }

.co-block { background: var(--card); border: 1px solid var(--line); border-radius: var(--radius); padding: 22px 24px; margin-bottom: 20px; box-shadow: var(--shadow-xs); }
.co-head { display: flex; align-items: center; gap: 12px; margin-bottom: 18px; }
.co-head h4 { display: flex; align-items: center; gap: 8px; font-size: 15.5px; }
.co-head .n { width: 30px; height: 30px; border-radius: 50%; background: var(--grad); color: #fff; display: grid; place-items: center; font-weight: 800; font-size: 13px; box-shadow: var(--shadow-brand); }
.co-head .co-edit { margin-inline-start: auto; color: var(--brand); font-weight: 700; font-size: 12.5px; display: inline-flex; align-items: center; gap: 5px; }
.co-head .co-edit:hover { text-decoration: underline; }

/* Ù„ÛŒØ³Øª Ø¢Ø¯Ø±Ø³ */
.addr-list { display: grid; gap: 12px; }
.addr-card { position: relative; display: flex; gap: 13px; align-items: flex-start; padding: 16px 18px; border: 1.5px solid var(--line); border-radius: 15px; cursor: pointer; transition: .2s; background: #fff; }
.addr-card:hover { border-color: var(--brand); }
.addr-card input { margin-top: 3px; accent-color: var(--brand); width: 18px; height: 18px; flex-shrink: 0; }
.addr-card.selected { border-color: var(--brand); background: var(--brand-softer); }
.addr-card .at { font-weight: 700; display: flex; align-items: center; gap: 7px; flex-wrap: wrap; }
.addr-card .ad { color: var(--muted); font-size: 12.5px; margin-top: 4px; }
.addr-card .addr-check { position: absolute; top: 14px; left: 14px; width: 24px; height: 24px; border-radius: 50%; background: var(--brand); color: #fff; display: none; place-items: center; }
.addr-card.selected .addr-check { display: grid; }
.addr-empty { text-align: center; padding: 30px 16px; color: var(--muted); border: 1.5px dashed var(--line); border-radius: 15px; }
.addr-empty svg { color: var(--brand); opacity: .6; margin-bottom: 8px; }
.addr-empty p { margin: 0; font-size: 13px; }

.addr-form { background: var(--brand-softer); border: 1px solid var(--line); border-radius: 15px; padding: 20px; }

/* Ø§Ù‚Ù„Ø§Ù… checkout */
.co-items { display: grid; gap: 14px; }
.co-item { display: flex; align-items: center; gap: 13px; }
.co-item img { width: 56px; height: 56px; border-radius: 12px; object-fit: cover; background: var(--grad-soft); }
.co-item .ci-t { font-weight: 600; font-size: 13px; }

@media (max-width: 992px) {
  .checkout-grid { grid-template-columns: 1fr; }
  .checkout-grid .summary-card { position: static; }
}

/* نوار چسبان موبایل — سبد / آدرس / پرداخت */
.co-m-bar { display: none; }
@media (max-width: 768px) {
  .co-cta-desk { display: none !important; }
  .co-m-bar {
    display: flex;
    align-items: center;
    gap: 12px;
    position: fixed;
    inset-inline: 0;
    bottom: 0;
    z-index: 80;
    padding: 10px 14px calc(10px + env(safe-area-inset-bottom, 0px));
    background: #fff;
    border-top: 1px solid var(--line);
    box-shadow: 0 -8px 24px rgba(15, 16, 32, .08);
  }
  .co-m-bar--split { justify-content: space-between; }
  .co-m-bar-btn {
    flex: 1 1 auto;
    min-width: 0;
    margin: 0 !important;
    border-radius: 5px !important;
    white-space: nowrap;
  }
  .co-m-bar--split .co-m-bar-btn { flex: 1 1 58%; }
  .co-m-bar-price {
    flex: 0 0 auto;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 2px;
    min-width: 0;
  }
  .co-m-bar-label {
    font-size: 11px;
    color: var(--muted);
    font-weight: 600;
    line-height: 1.3;
  }
  .co-m-bar-amount {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 15px;
    font-weight: 800;
    color: var(--ink);
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
  }
  .co-m-bar-amount .toman-ic { width: .95em; height: .95em; }
  body:has(.co-m-bar) .checkout-grid,
  body:has(.co-m-bar) #cartWrap {
    padding-bottom: calc(88px + env(safe-area-inset-bottom, 0px));
  }
}

/* =========================================================
   Cart v2 (rows)
   ========================================================= */
.cart-list { display: grid; gap: 4px; }
.cart-row {
  display: grid; grid-template-columns: 92px 1fr auto auto; gap: 18px; align-items: center;
  padding: 18px 4px; border-bottom: 1px solid var(--line-2); transition: opacity .3s, transform .3s;
}
.cart-row:last-child { border-bottom: none; }
.cart-row .cr-img { width: 92px; height: 92px; border-radius: 14px; overflow: hidden; background: var(--grad-soft); display: block; }
.cart-row .cr-img img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s; }
.cart-row .cr-img:hover img { transform: scale(1.07); }
.cart-row .cr-main { min-width: 0; }
.cart-row .cr-title { font-weight: 700; font-size: 14.5px; margin-bottom: 5px; }
.cart-row .cr-meta { display: inline-flex; align-items: center; gap: 5px; font-size: 12px; color: var(--brand); background: var(--brand-soft); padding: 3px 10px; border-radius: 999px; margin-bottom: 6px; }
.cart-row .cr-unit { font-size: 12.5px; }
.cart-row .cr-controls { display: flex; justify-content: center; }
.cart-row .cr-price { text-align: left; display: flex; flex-direction: column; align-items: flex-end; gap: 3px; min-width: 130px; }
.cart-row .cr-total { font-weight: 800; font-size: 16px; color: var(--ink); white-space: nowrap; }
.cart-row .cr-old { font-size: 12px; color: var(--muted); text-decoration: line-through; }
.cart-row .cr-remove { background: none; border: none; cursor: pointer; color: var(--muted); font-family: inherit; font-size: 12px; display: inline-flex; align-items: center; gap: 5px; padding: 4px 0; transition: .2s; font-weight: 600; }
.cart-row .cr-remove:hover { color: var(--accent-2); }

@media (max-width: 600px) {
  .cart-row { grid-template-columns: 70px 1fr; grid-template-areas: 'img main' 'ctrl price'; gap: 12px; }
  .cart-row .cr-img { grid-area: img; width: 70px; height: 70px; }
  .cart-row .cr-main { grid-area: main; }
  .cart-row .cr-controls { grid-area: ctrl; justify-content: flex-start; }
  .cart-row .cr-price { grid-area: price; align-items: flex-end; }
}

/* =========================================================
   Product Detail Page (PDP)
   ========================================================= */
.pdp { display: grid; grid-template-columns: 460px 1fr; gap: 36px; align-items: start; margin: 22px 0; background: var(--card); border: 1px solid var(--line); border-radius: var(--radius); padding: 28px; box-shadow: var(--shadow-xs); }
.pdp-gallery { position: sticky; top: 100px; }
.pdp-gallery .gallery-main { position: relative; }
.pdp-off { position: absolute; top: 14px; right: 14px; z-index: 2; background: var(--accent-2); color: #fff; padding: 6px 13px; border-radius: 999px; font-weight: 800; font-size: 12px; box-shadow: var(--shadow-sm); }
.gallery-thumbs img.active { border-color: var(--brand); box-shadow: 0 0 0 2px var(--brand-soft); }

.pdp-brand { display: inline-flex; align-items: center; gap: 6px; color: var(--brand); background: var(--brand-soft); padding: 5px 13px; border-radius: 999px; font-weight: 700; font-size: 12.5px; }
.pdp-title { font-size: 26px; margin: 14px 0 12px; line-height: 1.5; }
.pdp-rating { display: flex; align-items: center; gap: 10px; margin-bottom: 18px; font-size: 13px; }
.stars { display: inline-flex; gap: 2px; color: #d4d4d8; }
.stars .on { color: var(--gold); }
.stars.big { gap: 3px; }
.stars.sm { margin: 4px 0; }
.pdp-desc { color: var(--ink-2); margin-bottom: 22px; line-height: 2; }
.pdp-variants { margin-bottom: 22px; }
.pdp-variants .lbl { display: block; font-weight: 700; font-size: 13px; margin-bottom: 10px; }

.pdp-buy { background: var(--grad-soft); border: 1px solid var(--line); border-radius: var(--radius); padding: 22px; }
.pdp-stockline { display: flex; align-items: center; gap: 10px; margin-bottom: 14px; }
.pdp-pricerow { display: flex; align-items: center; justify-content: space-between; margin-bottom: 18px; }
.pdp-old { color: var(--muted); text-decoration: line-through; font-size: 14px; margin-top: 4px; }
.pdp-actions { display: flex; gap: 12px; align-items: center; }
.pdp-trust { display: flex; justify-content: space-between; gap: 8px; margin-top: 18px; padding-top: 16px; border-top: 1px dashed var(--line); color: var(--muted); font-size: 12px; flex-wrap: wrap; }
.pdp-trust span { display: inline-flex; align-items: center; gap: 6px; }

/* ØªØ¨â€ŒÙ‡Ø§ */
.pdp-tabs { padding: 0; overflow: hidden; }
.tab-nav { display: flex; gap: 4px; border-bottom: 1px solid var(--line); padding: 8px 12px 0; overflow-x: auto; }
.tab-btn { display: inline-flex; align-items: center; gap: 7px; padding: 14px 20px; border: none; background: none; cursor: pointer; font-family: inherit; font-weight: 700; font-size: 14px; color: var(--muted); border-bottom: 3px solid transparent; transition: .2s; white-space: nowrap; }
.tab-btn:hover { color: var(--ink); }
.tab-btn.active { color: var(--brand); border-bottom-color: var(--brand); }
.tab-pane { display: none; padding: 26px; }
.tab-pane.active { display: block; animation: rise .35s both; }

/* توضیحات محصول — جمع‌شونده */
.pdp-description { position: relative; display: flex; width: 100%; flex-direction: column; gap: 8px; }
@media (min-width: 992px) { .pdp-description { gap: 12px; } }
.pdp-description-title { text-align: right; font-size: 14px; font-weight: 700; color: var(--ink); margin: 0; }
@media (min-width: 992px) { .pdp-description-title { font-size: 16px; } }
.pdp-description-wrap { position: relative; width: 100%; }
.pdp-content.is-collapsed {
  display: -webkit-box;
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;
  overflow: hidden;
  max-height: 5rem;
  text-overflow: ellipsis;
}
.pdp-description.is-expanded .pdp-content.is-collapsed {
  display: block;
  -webkit-line-clamp: unset;
  -webkit-box-orient: unset;
  overflow: visible;
  max-height: none;
}
.pdp-description-fade {
  position: absolute;
  bottom: 0;
  right: 0;
  height: 75%;
  width: 100%;
  background: linear-gradient(to top, #fff, transparent);
  pointer-events: none;
}
.pdp-description-toggle {
  align-self: center;
  margin-top: 4px;
  padding: 8px 20px;
  border: 1.5px solid var(--line);
  border-radius: 999px;
  background: #fff;
  color: var(--brand);
  font-family: inherit;
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
  transition: .2s;
}
.pdp-description-toggle:hover { background: var(--brand-softer); border-color: var(--brand-soft); }

/* متن جمع‌شونده — دسته‌بندی و سایر بخش‌ها */
.text-collapse { position: relative; display: flex; width: 100%; flex-direction: column; gap: 8px; }
.text-collapse-wrap { position: relative; width: 100%; }
.text-collapse-content.is-collapsed {
  display: -webkit-box;
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;
  overflow: hidden;
  max-height: 5rem;
  text-overflow: ellipsis;
}
.text-collapse.is-expanded .text-collapse-content.is-collapsed {
  display: block;
  -webkit-line-clamp: unset;
  -webkit-box-orient: unset;
  overflow: visible;
  max-height: none;
}
.text-collapse-fade {
  position: absolute;
  bottom: 0;
  right: 0;
  height: 75%;
  width: 100%;
  background: linear-gradient(to top, #fff, transparent);
  pointer-events: none;
}
.text-collapse-toggle {
  align-self: center;
  margin-top: 4px;
  padding: 8px 20px;
  border: 1.5px solid var(--line);
  border-radius: 999px;
  background: #fff;
  color: var(--brand);
  font-family: inherit;
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
  transition: .2s;
}
.text-collapse-toggle:hover { background: var(--brand-softer); border-color: var(--brand-soft); }
.cat-hero-desc { max-width: 680px; margin: 0 auto; }
.cat-hero-desc .text-collapse-content { color: var(--ink-2); font-size: 13.5px; line-height: 2; margin: 0; }
.cat-show-hero .text-collapse-fade { background: linear-gradient(to top, hsl(var(--h), 70%, 95%), transparent); }
.cat-content-collapse { margin-top: 8px; }
.cat-content-collapse .text-collapse-content.is-collapsed {
  display: block;
  -webkit-line-clamp: unset;
  -webkit-box-orient: unset;
  max-height: 9rem;
  overflow: hidden;
}
.cat-content-collapse .text-collapse-fade { background: linear-gradient(to top, var(--bg, #fff), transparent); }

.prose { line-height: 2.1; color: var(--ink-2); }
.prose h2, .prose h3 { margin: 18px 0 10px; color: var(--ink); }
.prose ul { padding-right: 22px; margin: 10px 0; }
.spec-table { width: 100%; border-collapse: collapse; }
.spec-table th { width: 32%; background: var(--bg); font-weight: 700; }
.spec-table th, .spec-table td { padding: 13px 16px; border: 1px solid var(--line); text-align: right; font-size: 13.5px; }

/* =========================================================
   Comments
   ========================================================= */
.cmt-wrap { display: grid; grid-template-columns: 260px 1fr; gap: 30px; align-items: start; }
.cmt-summary { background: var(--grad-soft); border: 1px solid var(--line); border-radius: var(--radius); padding: 24px; text-align: center; position: sticky; top: 100px; }
.cmt-avg { font-size: 48px; font-weight: 800; color: var(--brand); line-height: 1; }
.cmt-summary .stars { justify-content: center; margin: 10px 0; }
.cmt-bar { display: flex; align-items: center; gap: 8px; font-size: 12px; margin-bottom: 7px; }
.cmt-bar span { display: inline-flex; align-items: center; gap: 3px; color: var(--gold); min-width: 28px; }
.cmt-bar .bar { flex: 1; height: 7px; background: #fff; border-radius: 99px; overflow: hidden; }
.cmt-bar .bar i { display: block; height: 100%; background: var(--gold); border-radius: 99px; transition: width .5s; }

.cmt-card { display: flex; gap: 14px; padding: 18px; border: 1px solid var(--line); border-radius: 15px; margin-bottom: 14px; background: #fff; transition: .2s; }
.cmt-card:hover { box-shadow: var(--shadow-sm); }
.cmt-ava { width: 46px; height: 46px; border-radius: 50%; background: var(--grad); color: #fff; display: grid; place-items: center; font-weight: 800; font-size: 18px; flex-shrink: 0; }
.cmt-text { margin-top: 8px; color: var(--ink-2); line-height: 1.9; }
.cmt-reply { background: var(--brand-softer); border-right: 3px solid var(--brand); padding: 12px 14px; border-radius: 10px; margin-top: 12px; font-size: 13px; }
.cmt-reply strong { color: var(--brand); display: inline-flex; align-items: center; gap: 5px; }

.cmt-form { background: var(--bg); border: 1px solid var(--line); border-radius: var(--radius); padding: 24px; margin-top: 22px; }
.rating-input { display: inline-flex; gap: 4px; cursor: pointer; color: #d4d4d8; }
.rating-input span.on { color: var(--gold); }
.rating-input span:hover { transform: scale(1.15); }

/* =========================================================
   Inventory & stock badge
   ========================================================= */
.stock-badge { transition: .2s; }
.inv-stock:focus { border-color: var(--brand); }

@media (max-width: 992px) {
  .pdp { grid-template-columns: 1fr; }
  .pdp-gallery { position: static; }
  .cmt-wrap { grid-template-columns: 1fr; }
  .cmt-summary { position: static; }
}

/* =========================================================
   Blog single page
   ========================================================= */
.reading-bar { position: fixed; top: 0; right: 0; left: 0; height: 4px; background: transparent; z-index: 70; }
.reading-bar span { display: block; height: 100%; width: 0; background: var(--grad); transition: width .1s; }

.blog-hero-cats{display:flex;flex-wrap:wrap;gap:7px}
.blog-hero-cats .chip{background:rgba(255,255,255,.2);color:#fff;backdrop-filter:blur(4px)}
.blog-hero-img { position: relative; border-radius: 24px; overflow: hidden; aspect-ratio: 21/8; box-shadow: var(--shadow); background: var(--grad-soft); }
.blog-hero-img > img { width: 100%; height: 100%; object-fit: cover; }
.blog-hero-overlay { position: absolute; inset: 0; display: flex; flex-direction: column; justify-content: flex-end; gap: 12px; padding: 36px; background: linear-gradient(to top, rgba(15,16,32,.85) 10%, rgba(15,16,32,.25) 60%, transparent); color: #fff; }
.blog-hero-overlay h1 { font-size: 30px; line-height: 1.5; max-width: 760px; text-shadow: 0 2px 12px rgba(0,0,0,.3); }
.blog-meta { display: flex; gap: 18px; flex-wrap: wrap; font-size: 13px; opacity: .95; }
.blog-meta span { display: inline-flex; align-items: center; gap: 6px; }

.blog-layout { display: grid; grid-template-columns: 1fr 320px; gap: 28px; align-items: start; margin-bottom: 40px; }
.blog-card { padding: 32px; }
.blog-lead { font-size: 17px; font-weight: 700; color: var(--ink); line-height: 2; padding-bottom: 18px; margin-bottom: 22px; border-bottom: 2px solid var(--line-2); }

/* ØªØ§ÛŒÙ¾ÙˆÚ¯Ø±Ø§ÙÛŒ Ù…Ø­ØªÙˆØ§ */
.prose { line-height: 2.2; color: var(--ink-2); font-size: 15px; }
.prose > * { margin-bottom: 18px; }
.prose h2 { font-size: 22px; color: var(--ink); margin: 34px 0 14px; padding-right: 14px; position: relative; scroll-margin-top: 90px; }
.prose h2::before { content: ''; position: absolute; right: 0; top: 4px; bottom: 4px; width: 5px; border-radius: 4px; background: var(--grad); }
.prose h3 { font-size: 18px; color: var(--ink); margin: 26px 0 12px; scroll-margin-top: 90px; }
.prose p { margin-bottom: 16px; }
.prose ul, .prose ol { padding-right: 24px; margin: 14px 0; }
.prose li { margin-bottom: 10px; position: relative; }
.prose ul li::marker { color: var(--brand); }
.prose img { border-radius: var(--radius); margin: 22px 0; }
.prose a { color: var(--brand); font-weight: 600; }
.prose blockquote { border-right: 4px solid var(--brand); background: var(--brand-softer); padding: 16px 20px; border-radius: 12px; margin: 20px 0; color: var(--ink-2); }

/* Ø§Ø´ØªØ±Ø§Ú©â€ŒÚ¯Ø°Ø§Ø±ÛŒ */
.blog-share { display: flex; align-items: center; justify-content: space-between; gap: 14px; flex-wrap: wrap; margin-top: 34px; padding-top: 22px; border-top: 2px solid var(--line-2); }
.blog-share .muted { display: inline-flex; align-items: center; gap: 8px; font-weight: 600; }
.share-btn { width: 42px; height: 42px; border-radius: 12px; border: 1.5px solid var(--line); background: #fff; display: grid; place-items: center; color: var(--ink-2); cursor: pointer; transition: .2s; }
.share-btn:hover { background: var(--grad); color: #fff; border-color: transparent; transform: translateY(-3px); }
.blog-section-title { display: flex; align-items: center; gap: 9px; font-size: 18px; margin-bottom: 20px; }

/* Ø³Ø§ÛŒØ¯Ø¨Ø§Ø± Ø¨Ù„Ø§Ú¯ */
.blog-side > .sidebar-box { top: 90px; }
.blog-side-title { display: flex; align-items: center; gap: 8px; font-size: 15px; margin-bottom: 16px; padding-bottom: 12px; border-bottom: 1px solid var(--line); }
.toc-box { position: sticky; top: 90px; }
.toc { list-style: none; display: flex; flex-direction: column; gap: 2px; }
.toc li a { display: block; padding: 9px 12px; border-radius: 10px; color: var(--ink-2); font-size: 13px; font-weight: 600; border-right: 2px solid transparent; transition: .2s; }
.toc li a:hover { background: var(--brand-softer); color: var(--brand); }
.toc li a.active { background: var(--brand-soft); color: var(--brand); border-right-color: var(--brand); }
.toc li.toc-sub a { padding-right: 26px; font-weight: 500; font-size: 12.5px; color: var(--muted); }

.side-articles { display: flex; flex-direction: column; gap: 14px; }
.side-article { display: flex; gap: 12px; align-items: center; }
.side-article img { width: 64px; height: 64px; border-radius: 12px; object-fit: cover; background: var(--grad-soft); flex-shrink: 0; }
.side-article .sa-title { font-weight: 600; font-size: 13px; line-height: 1.6; transition: .2s; }
.side-article:hover .sa-title { color: var(--brand); }

/* ÙÙ‡Ø±Ø³Øª Ù…Ø·Ø§Ù„Ø¨ Ù…ÙˆØ¨Ø§ÛŒÙ„ */
.toc-mobile { display: none; margin-bottom: 22px; }
.toc-m-head { display: flex; justify-content: space-between; align-items: center; padding: 14px 16px; background: var(--brand-softer); border: 1px solid var(--line); border-radius: 12px; cursor: pointer; font-weight: 700; color: var(--brand); }
.toc-m-list { list-style: none; max-height: 0; overflow: hidden; transition: max-height .3s; margin: 0; padding: 0 16px; }
.toc-mobile.open .toc-m-list { max-height: 600px; padding: 12px 16px; border: 1px solid var(--line); border-top: none; border-radius: 0 0 12px 12px; }
.toc-mobile.open .toc-m-arrow { transform: rotate(180deg); }
.toc-m-list li { margin-bottom: 8px; }
.toc-m-list li a { color: var(--ink-2); font-size: 13px; }
.toc-m-list li.toc-sub a { padding-right: 14px; color: var(--muted); font-size: 12.5px; }

@media (max-width: 992px) {
  .blog-layout { grid-template-columns: 1fr; }
  .blog-side .toc-box { display: none !important; }
  .toc-mobile { display: block; }
  .blog-hero-overlay h1 { font-size: 22px; }
  .blog-hero-img { aspect-ratio: 16/10; }
}

/* =========================================================
   Ø¹Ù†ÙˆØ§Ù†â€ŒÙ‡Ø§ Ø±Ø§Ø³Øªâ€ŒÚ†ÛŒÙ† + ÙØ§ÛŒÙ„ Ø¢Ù¾Ù„ÙˆØ¯ Ú†Ø´Ù…â€ŒÙ†ÙˆØ§Ø²
   ========================================================= */
h1, h2, h3, h4, h5, h6 { text-align: right; }
.text-center, .auth-card h1, .auth-card .sub, .modal h3, .modal p,
.empty-state h1, .empty-state h2, .empty-state h3,
.stat-card .num, .hero-art { text-align: center; }

/* ÙˆØ±ÙˆØ¯ÛŒ ÙØ§ÛŒÙ„ Ø³ÙØ§Ø±Ø´ÛŒ */
input[type=file], input[type=file].form-control {
  width: 100%;
  font-family: inherit;
  font-size: 13px;
  color: var(--muted);
  background: var(--brand-softer);
  border: 1.5px dashed var(--brand);
  border-radius: var(--radius-sm);
  padding: 12px;
  cursor: pointer;
  transition: .2s;
}
input[type=file]:hover, input[type=file].form-control:hover { background: var(--brand-soft); border-color: var(--brand-600); }
input[type=file]::file-selector-button,
input[type=file].form-control::file-selector-button {
  font-family: inherit;
  font-weight: 700;
  font-size: 12.5px;
  background: var(--grad);
  color: #fff;
  border: none;
  padding: 9px 18px;
  border-radius: 999px;
  margin-inline-end: 14px;
  cursor: pointer;
  transition: .2s;
}
input[type=file]::file-selector-button:hover,
input[type=file].form-control::file-selector-button:hover { filter: brightness(1.08); }

/* Ø¬Ø¹Ø¨Ù‡ ØªØµÙˆÛŒØ± Ø´Ø§Ø®Øµ */
.media-field { background: var(--bg); border: 1px solid var(--line); border-radius: var(--radius); padding: 16px; }
.media-field .preview { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 12px; }
.media-field .preview img { width: 84px; height: 84px; object-fit: cover; border-radius: 12px; border: 2px solid var(--line); }
.media-field .preview .ph { width: 84px; height: 84px; border-radius: 12px; background: var(--grad-soft); color: var(--brand); display: grid; place-items: center; }

/* Ù‚ÛŒÙ…Øª ÙˆÛŒÚ˜Ú¯ÛŒ Ø±ÙˆÛŒ ØµÙØ­Ù‡ Ù…Ø­ØµÙˆÙ„ */
.variant-pill .vp-price { font-size: 11px; color: var(--brand); font-weight: 800; margin-right: 6px; }
.variant-pill.active .vp-price { color: var(--brand-700); }

/* Ø§Ù†Ø¨Ø§Ø±Ø¯Ø§Ø±ÛŒ - ÙˆÛŒÚ˜Ú¯ÛŒâ€ŒÙ‡Ø§ */
.attr-toggle { margin-top: 6px; display: inline-flex; align-items: center; gap: 5px; background: var(--brand-soft); color: var(--brand); border: none; border-radius: 999px; padding: 4px 11px; font-family: inherit; font-size: 11px; font-weight: 700; cursor: pointer; transition: .2s; }
.attr-toggle:hover { background: var(--brand); color: #fff; }
.attr-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 14px; padding: 8px 0; }
.attr-stock-card { background: #fff; border: 1px solid var(--line); border-radius: 14px; padding: 14px; }

/* Ø³Ø§Ø²Ù†Ø¯Ù‡Ù” ØªÙ†ÙˆØ¹ Ù…Ø­ØµÙˆÙ„ (Ø§Ø¯Ù…ÛŒÙ†) */
.group-box { border: 1.5px solid var(--line); border-radius: 14px; padding: 16px; margin-bottom: 14px; background: var(--brand-softer); }
.group-box .opts { margin: 10px 0; }
.group-box .opt-row { margin-bottom: 8px; }

/* Ø§Ù†ØªØ®Ø§Ø¨ Ú†Ù†Ø¯ Ù…Ø­ØµÙˆÙ„ (Ú©Ø¯ ØªØ®ÙÛŒÙ) */
.prod-pick { max-height: 280px; overflow-y: auto; border: 1px solid var(--line); border-radius: 12px; padding: 8px; }
.prod-pick-item { display: flex; align-items: center; gap: 9px; padding: 8px 10px; border-radius: 9px; cursor: pointer; font-size: 13px; }
.prod-pick-item:hover { background: var(--brand-softer); }
.prod-pick-item input { accent-color: var(--brand); width: 17px; height: 17px; }

/* Ú©ÙˆÙ¾Ù† Ø¯Ø± Ø³Ø¨Ø¯/ØªØ³ÙˆÛŒÙ‡ */
.coupon-box { display: flex; gap: 10px; margin: 14px 0; }
.coupon-box input { flex: 1; text-transform: uppercase; font-family: monospace; }

/* ÙÛŒÙ„Ø¯ Ú©Ø¯ ØªØ®ÙÛŒÙ (Ø·Ø±Ø§Ø­ÛŒ Ø¬Ø¯ÛŒØ¯) */
.coupon-wrap { margin: 16px 0; }
.coupon-field {
  display: flex; align-items: center; gap: 8px;
  background: #fff; border: 1.5px dashed var(--brand);
  border-radius: 14px; padding: 6px 6px 6px 6px; transition: .2s;
}
.coupon-field:focus-within { box-shadow: 0 0 0 4px var(--brand-soft); border-style: solid; }
.coupon-field .coupon-ico { display: grid; place-items: center; width: 34px; height: 34px; color: var(--brand); flex-shrink: 0; }
.coupon-field input {
  flex: 1; border: none; outline: none; background: transparent; font-family: inherit;
  font-size: 13.5px; font-weight: 700; letter-spacing: .5px; padding: 8px 0; min-width: 0;
}
.coupon-field input::placeholder { font-weight: 500; letter-spacing: 0; color: var(--muted); }
.coupon-field button {
  border: none; cursor: pointer; font-family: inherit; font-weight: 800; font-size: 13px;
  color: #fff; background: var(--grad); border-radius: 10px; padding: 9px 18px; transition: .2s; flex-shrink: 0;
}
.coupon-field button:hover { filter: brightness(1.08); }
.coupon-field button:disabled { opacity: .6; cursor: not-allowed; }

/* Ú©Ø§Ø±Øª Ú©Ø¯ Ø§Ø¹Ù…Ø§Ù„â€ŒØ´Ø¯Ù‡ */
.coupon-chip {
  display: flex; align-items: center; gap: 10px;
  background: linear-gradient(135deg, #ecfdf5, #f0fdf4);
  border: 1.5px solid #a7f3d0; border-radius: 14px; padding: 11px 13px;
  position: relative; overflow: hidden;
}
.coupon-chip::before {
  content: ''; position: absolute; right: -10px; top: 50%; transform: translateY(-50%);
  width: 18px; height: 18px; background: var(--bg); border-radius: 50%;
}
.coupon-chip .cc-badge { width: 30px; height: 30px; border-radius: 50%; background: var(--green); color: #fff; display: grid; place-items: center; flex-shrink: 0; }
.coupon-chip .cc-text { flex: 1; font-size: 12.5px; color: #06724b; font-weight: 600; }
.coupon-chip .cc-text b { font-family: monospace; font-size: 13px; }
.coupon-chip .cc-remove { background: rgba(0,0,0,.04); border: none; cursor: pointer; color: var(--accent-2); width: 28px; height: 28px; border-radius: 8px; display: grid; place-items: center; transition: .2s; flex-shrink: 0; }
.coupon-chip .cc-remove:hover { background: #fee2e2; }
.coupon-chip.pop { animation: ccpop .4s cubic-bezier(.34,1.56,.64,1); }
@keyframes ccpop { 0% { transform: scale(.9); opacity: 0; } 100% { transform: scale(1); opacity: 1; } }
.coupon-field.shake { animation: ccshake .4s; }
@keyframes ccshake { 0%,100% { transform: translateX(0); } 25% { transform: translateX(-6px); } 75% { transform: translateX(6px); } }

/* Ø§Ù†ØªØ®Ø§Ø¨ Ø´Ù‡Ø±Ù‡Ø§ (Ø±ÙˆØ´ Ø§Ø±Ø³Ø§Ù„) */
.city-pick { max-height: 420px; overflow-y: auto; border: 1px solid var(--line); border-radius: 12px; padding: 6px; }
.city-prov { border-bottom: 1px solid var(--line-2); padding: 6px 4px; }
.city-prov:last-child { border-bottom: none; }
.city-prov-head { padding: 4px 6px; }
.city-prov-body { display: grid; grid-template-columns: repeat(auto-fill, minmax(120px, 1fr)); gap: 2px; padding: 4px 6px 8px 22px; }
.city-item { display: flex; align-items: center; gap: 7px; padding: 5px 8px; border-radius: 8px; cursor: pointer; font-size: 12.5px; }
.city-item:hover { background: var(--brand-softer); }
.city-item input, .prov-all { accent-color: var(--brand); }

/* Ø±ÙˆØ´ Ø§Ø±Ø³Ø§Ù„ Ø¯Ø± ØªØ³ÙˆÛŒÙ‡ */
.ship-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; }
.ship-method { display: flex; align-items: center; gap: 12px; padding: 14px 15px; border: 1.5px solid var(--line); border-radius: 14px; cursor: pointer; transition: .2s; background: #fff; position: relative; }
.ship-method:hover { border-color: var(--brand); transform: translateY(-1px); }
.ship-method.selected { border-color: var(--brand); background: var(--brand-softer); box-shadow: 0 0 0 3px var(--brand-soft); }
.ship-method .sm-radio { width: 20px; height: 20px; border-radius: 50%; border: 2px solid var(--line); flex-shrink: 0; transition: .2s; position: relative; }
.ship-method.selected .sm-radio { border-color: var(--brand); }
.ship-method.selected .sm-radio::after { content: ''; position: absolute; inset: 3px; border-radius: 50%; background: var(--brand); }
.ship-method .sm-icon { width: 42px; height: 42px; border-radius: 12px; background: var(--grad-soft); color: var(--brand); display: grid; place-items: center; flex-shrink: 0; overflow: hidden; }
.ship-method .sm-icon.has-logo { background: #fff; border: 1px solid var(--line); padding: 4px; }
.ship-method .sm-icon img { width: 100%; height: 100%; object-fit: contain; }
.ship-method.selected .sm-icon:not(.has-logo) { background: var(--grad); color: #fff; }
.ship-method .sm-info { flex: 1; min-width: 0; }
.ship-method .sm-title { font-weight: 700; font-size: 13.5px; }
.ship-method .sm-desc { font-size: 11.5px; color: var(--muted); margin-top: 2px; }
.ship-method .sm-price { font-weight: 800; font-size: 14px; white-space: nowrap; }
.ship-method .sm-price small { font-weight: 500; color: var(--muted); font-size: 10px; }
.ship-method .sm-price .free { color: var(--green); }
.ship-method .sm-price .sm-dest { color: var(--brand); font-size: 12.5px; }

/* Ø¨Ù†Ø± Ø§Ø±Ø³Ø§Ù„ Ø±Ø§ÛŒÚ¯Ø§Ù† (Ù‡Ø¯ÛŒÙ‡) */
.ship-free { display: flex; align-items: center; gap: 14px; padding: 16px 18px; border-radius: 16px; background: linear-gradient(135deg, #ecfdf5, #f0fdf4); border: 1.5px dashed var(--green); }
.ship-free .sf-ico { width: 48px; height: 48px; border-radius: 50%; background: var(--green); color: #fff; display: grid; place-items: center; flex-shrink: 0; box-shadow: 0 6px 16px -6px rgba(16,185,129,.6); }
.ship-free .sf-title { font-weight: 800; color: #06724b; font-size: 15px; }
.ship-free .sf-sub { font-size: 12px; color: #059669; margin-top: 2px; }

/* Ù¾ÛŒØ§Ù… Ù†Ø¨ÙˆØ¯ Ø±ÙˆØ´ Ø§Ø±Ø³Ø§Ù„ */
.ship-empty { display: flex; align-items: center; gap: 10px; padding: 14px 16px; border-radius: 14px; background: #fff7ed; border: 1px dashed var(--amber); color: #92620e; font-size: 12.5px; font-weight: 600; }
.ship-empty svg { flex-shrink: 0; }

@media (max-width: 600px) { .ship-grid { grid-template-columns: 1fr; } }

/* Ø§Ù†ØªØ®Ø§Ø¨ Ø¢ÛŒÚ©ÙˆÙ† Ø±ÙˆØ´ Ø§Ø±Ø³Ø§Ù„ (Ø§Ø¯Ù…ÛŒÙ†) */
.icon-picker { display: flex; flex-wrap: wrap; gap: 10px; }
.icon-opt { width: 48px; height: 48px; border-radius: 12px; border: 1.5px solid var(--line); background: #fff; color: var(--muted); cursor: pointer; display: grid; place-items: center; transition: .2s; }
.icon-opt:hover { border-color: var(--brand); color: var(--brand); transform: translateY(-2px); }
.icon-opt.active { border-color: var(--brand); background: var(--grad); color: #fff; box-shadow: var(--shadow-brand); }

/* Ø±ÙˆØ´ Ù¾Ø±Ø¯Ø§Ø®Øª Ø¯Ø± ØªØ³ÙˆÛŒÙ‡ */
.pay-methods { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; }
.pay-methods .pay-method:only-child { grid-column: 1 / -1; }
.pay-methods-col { grid-template-columns: 1fr; gap: 8px; }
.pay-block { margin-top: 16px; padding-top: 14px; border-top: 1px dashed var(--line); }
.pay-block-title { font-weight: 800; font-size: 13px; margin-bottom: 10px; display: flex; align-items: center; gap: 7px; color: var(--ink-2); }
.pay-methods-col .pay-method { padding: 11px 13px; }
.pay-methods-col .pm-icon { width: 36px; height: 36px; border-radius: 10px; }
.pay-method { display: flex; align-items: center; gap: 12px; padding: 14px 15px; border: 1.5px solid var(--line); border-radius: 14px; cursor: pointer; transition: .2s; background: #fff; }
.pay-method:hover { border-color: var(--brand); }
.pay-method.selected { border-color: var(--brand); background: var(--brand-softer); box-shadow: 0 0 0 3px var(--brand-soft); }
.pay-method .pm-radio { width: 20px; height: 20px; border-radius: 50%; border: 2px solid var(--line); flex-shrink: 0; position: relative; }
.pay-method.selected .pm-radio { border-color: var(--brand); }
.pay-method.selected .pm-radio::after { content: ''; position: absolute; inset: 3px; border-radius: 50%; background: var(--brand); }
.pay-method .pm-icon { width: 42px; height: 42px; border-radius: 12px; background: var(--grad-soft); color: var(--brand); display: grid; place-items: center; flex-shrink: 0; }
.pay-method.selected .pm-icon { background: var(--grad); color: #fff; }
.pay-method .pm-title { font-weight: 700; font-size: 13.5px; }
.pay-method .pm-desc { font-size: 11.5px; color: var(--muted); margin-top: 2px; }
@media (max-width: 600px) { .pay-methods { grid-template-columns: 1fr; } }

/* ØµÙØ­Ù‡ Ú©Ø§Ø±Øª Ø¨Ù‡ Ú©Ø§Ø±Øª */
.card-pay { max-width: 540px; margin: 24px auto; background: var(--card); border: 1px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow-sm); padding: 28px; }
.cp-head { display: flex; align-items: center; gap: 14px; margin-bottom: 18px; }
.cp-head h2 { font-size: 19px; }
.cp-head .cp-ico { width: 52px; height: 52px; border-radius: 15px; background: var(--grad); color: #fff; display: grid; place-items: center; flex-shrink: 0; }
.cp-amount { display: flex; align-items: center; justify-content: space-between; background: var(--brand-softer); border-radius: 14px; padding: 14px 18px; margin-bottom: 20px; }
.cp-timer { display: flex; align-items: center; justify-content: center; gap: 8px; background: #fff7ed; color: #b45309; border: 1px solid #fed7aa; border-radius: 12px; padding: 10px 14px; margin-bottom: 16px; font-size: 13.5px; font-weight: 600; }
.cp-timer b { font-size: 16px; font-variant-numeric: tabular-nums; }
.cp-timer.cp-timer-warn { background: #fef2f2; color: var(--accent-2); border-color: #fecaca; }
.cp-expired { text-align: center; padding: 20px 10px; display: flex; flex-direction: column; align-items: center; }
.cp-expired .cpe-ic { width: 88px; height: 88px; border-radius: 26px; background: #fef2f2; color: var(--accent-2); display: grid; place-items: center; margin-bottom: 14px; }
.cp-expired h2 { font-size: 19px; margin: 0 0 8px; }
.cp-expired p { font-size: 13.5px; line-height: 1.9; margin: 0 0 18px; max-width: 380px; }
.cpe-actions { display: flex; gap: 10px; flex-wrap: wrap; justify-content: center; }
.cp-approved { text-align: center; padding: 20px 10px; display: flex; flex-direction: column; align-items: center; }
.cp-approved .cpa-ic { width: 88px; height: 88px; border-radius: 26px; background: #ecfdf5; color: #059669; display: grid; place-items: center; margin-bottom: 14px; }
.cp-approved h2 { font-size: 19px; margin: 0 0 8px; color: var(--ink); }
.cp-approved p { font-size: 13.5px; line-height: 1.9; margin: 0 0 16px; max-width: 380px; }
.cpa-track { display: flex; align-items: center; gap: 10px; background: var(--brand-softer); border-radius: 12px; padding: 10px 16px; margin-bottom: 18px; font-size: 13px; }
.cpa-track strong { font-size: 16px; color: var(--brand); letter-spacing: .5px; }
.cpa-actions { display: flex; gap: 10px; flex-wrap: wrap; justify-content: center; }
.cp-amount strong { font-size: 20px; color: var(--brand); }
.cp-amount strong small { font-size: 12px; color: var(--muted); }

.bank-card { background: linear-gradient(135deg, #4338ca, #7c3aed 55%, #c026d3); color: #fff; border-radius: 18px; padding: 22px; box-shadow: var(--shadow-lg); margin-bottom: 22px; }
.bc-top { display: flex; align-items: center; justify-content: space-between; margin-bottom: 26px; }
.bc-bank { font-weight: 800; font-size: 15px; }
.bc-chip { width: 42px; height: 30px; border-radius: 7px; background: linear-gradient(135deg, #fde68a, #f59e0b); }
.bc-number { font-size: 22px; font-weight: 800; letter-spacing: 3px; text-align: center; direction: ltr; margin-bottom: 22px; text-shadow: 0 2px 6px rgba(0,0,0,.2); }
.bc-bottom { display: flex; align-items: flex-end; justify-content: space-between; }
.bc-bottom small { opacity: .75; font-size: 11px; }
.bc-copy { background: rgba(255,255,255,.18); border: 1px solid rgba(255,255,255,.3); color: #fff; border-radius: 999px; padding: 7px 14px; cursor: pointer; font-family: inherit; font-size: 12px; font-weight: 700; display: inline-flex; align-items: center; gap: 5px; transition: .2s; }
.bc-copy:hover { background: rgba(255,255,255,.3); }

/* Ø¨Ø®Ø´â€ŒÙ‡Ø§ÛŒ ØªÙ†Ø¸ÛŒÙ…Ø§Øª Ù¾Ø±Ø¯Ø§Ø®Øª */
.pay-setting { padding: 4px 0; }

/* =========================================================
   ØµÙØ­Ù‡ Ù†ØªÛŒØ¬Ù‡ Ù¾Ø±Ø¯Ø§Ø®Øª
   ========================================================= */
.pr-wrap { display: flex; justify-content: center; padding: 30px 16px; }
.pr-card { background: var(--card); border: 1px solid var(--line); border-radius: 24px; box-shadow: var(--shadow); padding: 40px 32px; max-width: 520px; width: 100%; text-align: center; }
.pr-icon { width: 110px; height: 110px; border-radius: 50%; display: grid; place-items: center; margin: 0 auto 22px; position: relative; color: #fff; animation: prpop .5s cubic-bezier(.34,1.56,.64,1); }
.pr-icon.pr-success { background: linear-gradient(135deg, #10b981, #059669); box-shadow: 0 16px 36px -12px rgba(16,185,129,.6); }
.pr-icon.pr-pending { background: linear-gradient(135deg, #f59e0b, #d97706); box-shadow: 0 16px 36px -12px rgba(245,158,11,.6); }
.pr-icon.pr-fail { background: linear-gradient(135deg, #f43f5e, #e11d48); box-shadow: 0 16px 36px -12px rgba(244,63,94,.6); }
.pr-ring { position: absolute; inset: -10px; border-radius: 50%; border: 3px solid currentColor; opacity: .25; animation: prring 1.6s ease-out infinite; }
@keyframes prpop { 0% { transform: scale(0); } 100% { transform: scale(1); } }
@keyframes prring { 0% { transform: scale(.85); opacity: .4; } 100% { transform: scale(1.25); opacity: 0; } }
.pr-title { font-size: 23px; margin-bottom: 8px; text-align: center; }
.pr-sub { color: var(--muted); font-size: 14px; margin-bottom: 24px; text-align: center; }
.pr-track strong { direction: ltr; }

.pr-track { display: flex; align-items: center; justify-content: center; gap: 10px; background: var(--grad-soft); border: 1px dashed var(--brand); border-radius: 14px; padding: 14px; margin-bottom: 18px; }
.pr-track span { color: var(--muted); font-size: 12.5px; }
.pr-track strong { font-family: monospace; font-size: 18px; color: var(--brand); letter-spacing: 1px; }
.pr-copy { background: #fff; border: 1px solid var(--line); width: 32px; height: 32px; border-radius: 9px; cursor: pointer; color: var(--brand); display: grid; place-items: center; }
.pr-copy:hover { background: var(--brand-soft); }

.pr-summary { text-align: right; border: 1px solid var(--line); border-radius: 14px; padding: 6px 16px; margin-bottom: 16px; }
.pr-row { display: flex; align-items: center; justify-content: space-between; padding: 11px 0; font-size: 13px; border-bottom: 1px solid var(--line-2); }
.pr-row:last-child { border-bottom: none; }
.pr-row .chip { width: fit-content; }

.pr-items { text-align: right; border: 1px solid var(--line); border-radius: 14px; padding: 14px 16px; margin-bottom: 20px; }
.pr-items-head { font-weight: 700; font-size: 13px; display: flex; align-items: center; gap: 7px; margin-bottom: 12px; }
.pr-item { display: flex; align-items: center; gap: 10px; padding: 7px 0; }
.pr-item img { width: 40px; height: 40px; border-radius: 9px; object-fit: cover; background: var(--grad-soft); }
.pr-item .pi-title { flex: 1; font-size: 12.5px; font-weight: 600; text-align: right; }
.pr-item .pi-price { font-weight: 800; font-size: 12.5px; white-space: nowrap; }

.pr-actions { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; }

/* =========================================================
   Ù„ÛŒØ³Øª Ø³ÙØ§Ø±Ø´â€ŒÙ‡Ø§ÛŒ Ú©Ø§Ø±Ø¨Ø± (Ú©Ø§Ø±ØªÛŒ)
   ========================================================= */
/* سرصفحه */
.orders-head { margin-bottom: 16px; }
.orders-head h1 { font-size: 20px; margin: 0 0 2px; }
.orders-head p { margin: 0; font-size: 13px; }

/* نوار جستجوی سفارش */
.orders-toolbar { display: flex; gap: 10px; margin-bottom: 16px; flex-wrap: wrap; }
.orders-search { flex: 1; min-width: 200px; display: flex; align-items: center; gap: 9px; background: #fff; border: 1.5px solid var(--line); border-radius: 13px; padding: 0 14px; transition: border-color .15s; }
.orders-search:focus-within { border-color: var(--brand); }
.orders-search svg { color: var(--muted); flex-shrink: 0; }
.orders-search input { flex: 1; min-width: 0; border: none; outline: none; background: transparent; padding: 12px 0; font-family: inherit; font-size: 13.5px; color: var(--ink); }
.orders-search .os-clear { display: grid; place-items: center; color: var(--muted); flex-shrink: 0; }
.orders-search .os-clear:hover { color: var(--accent-2); }
.orders-toolbar .btn { flex-shrink: 0; }
@media (max-width: 560px) { .orders-toolbar .btn { width: 100%; justify-content: center; } }

/* حالت خالی */
.orders-empty { text-align: center; padding: 46px 20px; display: flex; flex-direction: column; align-items: center; }
.orders-empty .oe-ic { display: grid; place-items: center; width: 84px; height: 84px; border-radius: 24px; background: var(--brand-soft); color: var(--brand); margin-bottom: 14px; }
.orders-empty h3 { margin: 0 0 8px; font-size: 17px; color: var(--ink); }
.orders-empty p { color: var(--muted); }

/* لیست سفارش‌ها — مینیمال */
.order-list { display: flex; flex-direction: column; gap: 10px; }
.order-row {
    display: flex; align-items: center; gap: 14px;
    background: var(--card); border: 1px solid var(--line); border-radius: 16px;
    padding: 13px 16px; cursor: pointer; transition: border-color .18s, box-shadow .18s;
}
.order-row:hover { border-color: var(--brand); box-shadow: var(--shadow-xs); }

/* تصاویر هم‌پوشان کوچک */
.or-thumbs { display: flex; align-items: center; flex-shrink: 0; }
.or-thumbs .oc-thumb, .or-thumbs .oc-more { margin-inline-start: -10px; }
.or-thumbs > :first-child { margin-inline-start: 0; }
.oc-thumb { width: 44px; height: 44px; border-radius: 11px; overflow: hidden; border: 2px solid var(--card); background: var(--grad-soft); flex-shrink: 0; }
.oc-thumb img { width: 100%; height: 100%; object-fit: cover; }
.oc-more { width: 44px; height: 44px; border-radius: 11px; border: 2px solid var(--card); background: var(--brand-soft); color: var(--brand); display: grid; place-items: center; font-weight: 800; font-size: 12px; flex-shrink: 0; }

/* بخش میانی: عنوان + متادیتا */
.or-main { flex: 1; min-width: 0; }
.or-title { font-weight: 700; font-size: 13.5px; color: var(--ink); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.or-title .muted { font-weight: 500; }
.or-meta { display: flex; align-items: center; gap: 7px; margin-top: 4px; font-size: 12px; color: var(--muted); flex-wrap: wrap; }
.or-meta svg { flex-shrink: 0; }
.or-meta .or-cell { display: inline-flex; align-items: center; gap: 4px; }
.or-meta .or-sep { opacity: .45; }
.or-track { cursor: pointer; background: none; border: none; padding: 0; margin: 0; font-family: inherit; color: var(--muted); transition: color .15s; }
.or-track span { font-family: monospace; direction: ltr; }
.or-track:hover { color: var(--brand); }

/* سمت چپ: وضعیت + مبلغ — ستون مرتب و هم‌تراز در همهٔ ردیف‌ها */
.or-side { display: flex; flex-direction: column; align-items: flex-end; justify-content: center; gap: 6px; flex-shrink: 0; text-align: end; min-width: 116px; }
.or-status { display: inline-flex; align-items: center; gap: 6px; font-size: 12px; font-weight: 700; color: var(--muted); white-space: nowrap; }
.or-status .sdot { width: 8px; height: 8px; border-radius: 50%; background: var(--muted); flex-shrink: 0; }
.or-total { font-weight: 800; font-size: 14.5px; color: var(--ink); white-space: nowrap; }
.or-total small { font-weight: 500; color: var(--muted); }
.or-chev { color: var(--line); flex-shrink: 0; }
.order-row:hover .or-chev { color: var(--brand); }

/* رنگ وضعیت (نقطه + متن) */
.os--warn   .sdot { background: var(--gold); }      .os--warn   .or-status { color: #b45309; }
.os--info   .sdot { background: var(--brand); }     .os--info   .or-status { color: var(--brand-700); }
.os--ship   .sdot { background: #3b82f6; }          .os--ship   .or-status { color: #1d4ed8; }
.os--ok     .sdot { background: var(--green); }      .os--ok     .or-status { color: #06724b; }
.os--danger .sdot { background: var(--accent-2); }  .os--danger .or-status { color: var(--accent-2); }
.os--muted  .sdot { background: var(--muted); }     .os--muted  .or-status { color: var(--muted); }

.od-order-status { display: inline-flex; align-items: center; gap: 8px; font-size: 13px; font-weight: 800; padding: 6px 14px; border-radius: 999px; background: #f8fafc; color: var(--muted); }
.od-order-status .sdot { width: 9px; height: 9px; border-radius: 50%; background: var(--muted); flex-shrink: 0; }
.od-order-status--warn   { background: #fff7ed; color: #b45309; } .od-order-status--warn   .sdot { background: var(--gold); }
.od-order-status--info   { background: var(--brand-soft); color: var(--brand-700); } .od-order-status--info   .sdot { background: var(--brand); }
.od-order-status--ship   { background: #eff6ff; color: #1d4ed8; } .od-order-status--ship   .sdot { background: #3b82f6; }
.od-order-status--ok     { background: #ecfdf5; color: #06724b; } .od-order-status--ok     .sdot { background: var(--green); }
.od-order-status--danger { background: #fef2f2; color: #b91c1c; } .od-order-status--danger .sdot { background: var(--accent-2); }
.od-order-status--muted  { background: #f8fafc; color: var(--muted); } .od-order-status--muted  .sdot { background: var(--muted); }
.od-status-chip { font-size: 13px; padding: 5px 14px; }

@media (max-width: 560px) {
  .order-row { flex-wrap: wrap; gap: 12px; }
  .or-main { flex-basis: calc(100% - 60px); }
  .or-chev { display: none; }
  .or-side {
    flex-direction: row; align-items: center; justify-content: space-between; width: 100%;
    margin-top: 4px; padding-top: 11px; border-top: 1px dashed var(--line-2);
  }
}

/* ===== ØªØ³ÙˆÛŒÙ‡ â€” ÙˆØ±ÙˆØ¯ Ù…Ù‡Ù…Ø§Ù† ===== */
.guest-checkout{display:grid;grid-template-columns:1fr 360px;gap:24px;align-items:start;margin-top:18px}
.guest-login-card{background:#fff;border:1px solid var(--border,#eef0f3);border-radius:18px;padding:34px 30px;text-align:center;box-shadow:0 10px 40px rgba(20,20,50,.05)}
.guest-login-card .glc-ico{display:inline-flex;align-items:center;justify-content:center;width:64px;height:64px;border-radius:50%;background:linear-gradient(135deg,var(--brand,#6d5efc),#9d7bff);color:#fff;margin-bottom:14px}
.guest-login-card h2{font-size:21px;margin:0 0 8px}
.guest-login-card .sub{color:var(--muted,#7a7f8c);font-size:13.5px;line-height:1.9;margin-bottom:22px}
.guest-login-card form{max-width:340px;margin:0 auto;text-align:right}
.guest-login-card .dev-otp{background:#fff7e6;border:1px dashed #f0b429;color:#8a6d00;border-radius:10px;padding:8px 12px;font-size:13px;text-align:center;margin-top:10px;direction:ltr}
@media(max-width:860px){.guest-checkout{grid-template-columns:1fr}.guest-summary{order:-1}}

/* ===== Ù…Ø¯Ø§Ù„ ÙˆØ±ÙˆØ¯ (Ù…Ù‡Ù…Ø§Ù†) ===== */
.login-modal{position:relative;text-align:center;max-width:420px}
.login-modal .lm-close{position:absolute;top:14px;left:14px;width:34px;height:34px;border-radius:50%;border:none;background:var(--bg,#f4f5f7);color:var(--muted,#7a7f8c);display:grid;place-items:center;cursor:pointer;transition:background .2s}
.login-modal .lm-close:hover{background:#ffe3e3;color:#e03131}
.login-modal .lm-ico{display:inline-flex;align-items:center;justify-content:center;width:62px;height:62px;border-radius:50%;background:linear-gradient(135deg,var(--brand,#6d5efc),#9d7bff);color:#fff;margin:0 auto 14px;animation:pop .4s cubic-bezier(.34,1.56,.64,1)}
.login-modal h3{font-size:19px;margin-bottom:6px}
.login-modal .lm-sub{color:var(--muted,#7a7f8c);font-size:13px;line-height:1.9;margin-bottom:20px}
.login-modal .lm-form{text-align:right}
.login-modal input[type=number]{-moz-appearance:textfield;appearance:textfield}
.login-modal input[type=number]::-webkit-outer-spin-button,
.login-modal input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.login-modal #lmOtpInput.shake{animation:shake .4s}
.login-modal .lm-tabs{display:flex;gap:8px;margin:0 0 18px;padding:4px;background:var(--bg,#f4f5f7);border-radius:12px}
.login-modal .lm-tab{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:6px;border:none;background:transparent;color:var(--muted,#7a7f8c);font:inherit;font-size:12.5px;font-weight:700;padding:10px 8px;border-radius:9px;cursor:pointer;transition:.2s}
.login-modal .lm-tab.is-active{background:#fff;color:var(--brand,#6d5efc);box-shadow:0 2px 8px rgba(15,16,32,.08)}
.auth-min .am-tabs{margin-bottom:18px}
.login-modal .dev-otp{background:#fff7e6;border:1px dashed #f0b429;color:#8a6d00;border-radius:10px;padding:8px 12px;font-size:13px;text-align:center;margin-top:10px;direction:ltr}
.pf-security .pf-detail-head{margin-bottom:12px}

/* ===== Ù¾ÛŒØ´Ù†Ù‡Ø§Ø¯ Ø®Ø±ÛŒØ¯ Ø¹Ù…Ø¯Ù‡ (ØµÙØ­Ù‡ Ù…Ø­ØµÙˆÙ„) ===== */
.bulk-offer{display:flex;align-items:center;gap:10px;margin:14px 0;padding:11px 14px;border-radius:12px;font-size:13px;line-height:1.7;
  background:linear-gradient(135deg,#fff4e6,#ffe8cc);border:1px solid #ffd8a8;color:#a85a00}
.bulk-offer .bo-ico{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;background:#fff;color:#f08c00;flex-shrink:0}
.bulk-offer b{color:#d9480f;font-weight:800}


/* =========================================================
   PDP — Minimal v5  (مینیمال، چشم‌نواز، airy)
   ========================================================= */
.pdp{
  display:grid;grid-template-columns:1fr 1fr;gap:54px;align-items:start;margin:24px 0 0;
  background:#fff;border:1px solid var(--line);border-radius:20px;padding:34px 38px;box-shadow:none;
  position:relative;overflow:visible;
}
.pdp::before{content:none}

/* ---- گالری ---- */
.pdp-gallery{display:flex;flex-direction:column;gap:14px;position:sticky;top:96px}
.pdp-gallery .gallery-main{
  order:1;position:relative;border-radius:16px;overflow:hidden;border:1px solid var(--line);
  background:#fff;display:grid;place-items:center;
}
.pdp-gallery .gallery-main img{width:100%;aspect-ratio:1;object-fit:cover}
.pdp-off{
  position:absolute;top:14px;left:14px;right:auto;z-index:2;display:inline-flex;align-items:center;gap:3px;
  background:var(--accent-2);color:#fff;font-weight:800;font-size:11.5px;padding:5px 11px;border-radius:999px;line-height:1;
}
.pdp-off small{font-size:10px;font-weight:600}
.pdp-gallery .gallery-thumbs{order:2;display:flex;flex-direction:row;gap:10px;flex-wrap:nowrap;max-height:none;align-items:center}
.pdp-gallery .gallery-thumbs img,
.pdp-gallery .gallery-thumbs .gallery-thumb{
  width:68px;height:68px;object-fit:cover;border-radius:12px;cursor:pointer;
  border:1px solid var(--line);background:#fff;transition:.18s;opacity:.7;flex-shrink:0;
}
.pdp-gallery .gallery-thumbs img:hover,.pdp-gallery .gallery-thumbs .gallery-thumb:hover{opacity:1}
.pdp-gallery .gallery-thumbs img.active,.pdp-gallery .gallery-thumbs .gallery-thumb.active{border-color:var(--ink);opacity:1}
.gallery-thumb-more{
  width:68px;height:68px;flex-shrink:0;border-radius:12px;border:1px dashed var(--line);
  background:linear-gradient(145deg,#f8fafc,#eef2f7);cursor:pointer;display:flex;flex-direction:column;
  align-items:center;justify-content:center;gap:3px;color:var(--ink-2);transition:.18s;padding:0;
  font-family:'IRANSansXV','IRANSansX',Tahoma,sans-serif;
  -webkit-font-smoothing:antialiased;
}
.gallery-thumb-more:hover{border-color:var(--brand);color:var(--brand);background:var(--brand-softer)}
.gallery-thumb-more .gtm-count,
.gallery-thumb-more .gtm-label{
  font-family:'IRANSansXV','IRANSansX',Tahoma,sans-serif;
  line-height:1.25;
}
.gallery-thumb-more .gtm-count{font-size:15px;font-weight:800}
.gallery-thumb-more .gtm-label{font-size:11px;font-weight:700;letter-spacing:0}
.pdp-gallery-main-open{cursor:zoom-in}
.pdp-gallery-zoom{
  position:absolute;bottom:12px;left:12px;z-index:2;width:36px;height:36px;border-radius:50%;
  background:rgba(255,255,255,.92);color:var(--ink-2);display:grid;place-items:center;
  box-shadow:0 4px 14px rgba(15,16,32,.12);pointer-events:none;
}
body.pdp-glb-open{overflow:hidden}
.pdp-glb{
  position:fixed;inset:0;z-index:1200;padding:0;margin:0;
}
.pdp-glb[hidden]{display:none!important}
.pdp-glb-backdrop{position:absolute;inset:0;background:#000}
.pdp-glb-panel{
  position:relative;z-index:1;width:100%;height:100%;height:100dvh;
  max-width:none;max-height:none;display:flex;flex-direction:column;
}
.pdp-glb-top{
  position:absolute;top:0;left:0;right:0;z-index:4;display:flex;align-items:center;
  justify-content:space-between;gap:12px;color:#fff;padding:max(12px,env(safe-area-inset-top)) 16px 28px;
  background:linear-gradient(180deg,rgba(0,0,0,.72) 0%,rgba(0,0,0,0) 100%);
  pointer-events:none;
}
.pdp-glb-top > *{pointer-events:auto}
.pdp-glb-counter{font-size:14px;font-weight:700;font-family:inherit}
.pdp-glb-close{
  width:44px;height:44px;border:none;border-radius:50%;background:rgba(255,255,255,.16);
  color:#fff;cursor:pointer;display:grid;place-items:center;transition:.15s;
}
.pdp-glb-close:hover{background:rgba(255,255,255,.28)}
.pdp-glb-stage{
  position:relative;flex:1;min-height:0;width:100%;background:#000;
  display:grid;place-items:center;touch-action:pan-y;overflow:hidden;
}
.pdp-glb-stage img{
  max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;display:block;
}
.pdp-glb-nav{
  position:absolute;top:50%;transform:translateY(-50%);z-index:3;width:48px;height:48px;
  border:none;border-radius:50%;background:rgba(255,255,255,.9);color:var(--ink);
  cursor:pointer;display:grid;place-items:center;box-shadow:0 4px 18px rgba(0,0,0,.28);transition:.15s;
}
.pdp-glb-nav:hover{background:#fff}
.pdp-glb-prev{left:max(12px,env(safe-area-inset-left));right:auto}
.pdp-glb-next{right:max(12px,env(safe-area-inset-right));left:auto}
.pdp-glb-next svg{transform:scaleX(-1)}
.pdp-glb-strip{
  position:absolute;bottom:0;left:0;right:0;z-index:4;display:flex;gap:8px;overflow:auto;
  padding:28px 16px max(14px,env(safe-area-inset-bottom));
  background:linear-gradient(0deg,rgba(0,0,0,.72) 0%,rgba(0,0,0,0) 100%);
  scrollbar-width:thin;
}
.pdp-glb-thumb{
  width:64px;height:64px;flex-shrink:0;padding:0;border:2px solid transparent;border-radius:10px;
  overflow:hidden;cursor:pointer;background:#111;opacity:.6;transition:.15s;
}
.pdp-glb-thumb.active{border-color:#fff;opacity:1}
.pdp-glb-thumb img{width:100%;height:100%;object-fit:cover;display:block}
@media (max-width:700px){
  .pdp-gallery .gallery-thumbs img,.pdp-gallery .gallery-thumbs .gallery-thumb,.gallery-thumb-more{width:58px;height:58px}
  .pdp-glb-nav{width:42px;height:42px}
  .pdp-glb-thumb{width:56px;height:56px}
}

/* ---- اطلاعات ---- */
.pdp-info{padding-top:2px}
.pdp-brand{display:inline-flex;align-items:center;gap:5px;color:var(--muted);background:transparent;padding:0;border-radius:0;font-weight:700;font-size:12px;letter-spacing:.3px}
.pdp-brand svg{color:var(--brand)}
.pdp-title{font-size:25px;margin:10px 0 12px;line-height:1.65;color:var(--ink);font-weight:800;letter-spacing:-.3px}
.pdp-rating{display:flex;align-items:center;gap:9px;margin:0 0 20px;font-size:12.5px;color:var(--muted);flex-wrap:wrap;padding-bottom:20px;border-bottom:1px solid var(--line)}
.pdp-rating .stars{display:inline-flex;gap:2px;color:#e2e2ea}
.pdp-rating .stars .on{color:var(--gold)}
.pdp-desc{color:var(--ink-2);margin:20px 0 24px;line-height:2.1;font-size:14px}

/* ---- انتخاب تنوع ---- */
.pdp-variants{margin-bottom:24px}
.pdp-variants .lbl{display:block;font-weight:700;font-size:12.5px;margin-bottom:10px;color:var(--muted)}
.variant-pill{
  padding:9px 16px;border:1.4px solid var(--line);border-radius:11px;cursor:pointer;
  font-size:13px;font-weight:700;transition:.16s;background:#fff;display:inline-flex;align-items:center;gap:5px;color:var(--ink-2);
}
.variant-pill:hover{border-color:var(--ink-2)}
.variant-pill.active{border-color:var(--brand);color:var(--brand);background:#fff;box-shadow:inset 0 0 0 1px var(--brand)}
.variant-pill .vp-price{font-size:11px;color:var(--brand);font-weight:800;margin-right:4px}

/* ---- خرید (تخت، بدون کارت اضافه) ---- */
.pdp-buy{background:transparent;border:none;border-top:1px solid var(--line);border-radius:0;padding:22px 0 0;box-shadow:none}
.pdp-stockline{display:flex;align-items:center;gap:10px;margin-bottom:16px;flex-wrap:wrap}
.pdp-pricerow{margin-bottom:20px}
.pdp-saveline{display:flex;align-items:center;gap:10px;margin-bottom:4px}
.pdp-off-badge{padding:3px 9px;display:inline-flex;background:transparent;color:var(--accent-2);font-weight:800;font-size:12px;border-radius:0}
.pdp-old{color:var(--muted);text-decoration:line-through;font-size:13.5px}
.price-lg{font-size:32px;font-weight:900;color:var(--ink);letter-spacing:-.6px;line-height:1.2}
.pdp-unit{color:var(--muted);font-size:12.5px;font-weight:600;margin-top:6px}
.pdp-unit #curPrice,.pdp-unit #totalQty{color:var(--ink-2);font-weight:800}
.price-lg .cur{font-size:13px;color:var(--muted);font-weight:600}

.pdp-actions{display:flex;gap:12px;align-items:stretch;margin-top:6px}
.pdp-actions .qty-stepper{height:52px;border-radius:12px;border:1.4px solid var(--line)}
.pdp-actions .qty-stepper button{width:44px;height:48px;color:var(--ink-2)}
.pdp-actions .qty-stepper button:hover{background:var(--bg)}
.pdp-actions .qty-stepper .val{min-width:40px;font-size:15px}
.pdp-actions #addBtn{flex:1;height:52px;border-radius:12px;font-size:14.5px;font-weight:800;background:var(--grad);box-shadow:var(--shadow-brand)}
.pdp-actions #addBtn:hover{filter:brightness(1.06)}
.pdp-actions #addBtn[disabled]{opacity:.5;filter:grayscale(.3);cursor:not-allowed;box-shadow:none}

/* ---- خدمات (نوار ساده) ---- */
.pdp-features{list-style:none;display:flex;flex-wrap:wrap;gap:18px 26px;margin-top:24px;padding-top:22px;border-top:1px solid var(--line)}
.pdp-features li{display:flex;gap:9px;align-items:center;background:none;border:none;border-radius:0;padding:0}
.pdp-features li:hover{box-shadow:none}
.pdp-features .fi{width:34px;height:34px;border-radius:9px;background:var(--bg);color:var(--brand);display:grid;place-items:center;flex-shrink:0}
.pdp-features b{display:block;font-size:12px;color:var(--ink);font-weight:700}
.pdp-features small{color:var(--muted);font-size:11px}

/* ---- تب‌ها (مینیمال، آندرلاین) ---- */
.mt-lg{margin-top:24px}
.pdp-tabs{padding:0;overflow:hidden;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:none}
.tab-nav{display:flex;gap:26px;border-bottom:1px solid var(--line);padding:0 26px;overflow-x:auto}
.tab-btn{display:inline-flex;align-items:center;gap:7px;padding:18px 2px;border:none;background:none;cursor:pointer;font-family:inherit;font-weight:700;font-size:13.5px;color:var(--muted);border-bottom:2px solid transparent;transition:.2s;white-space:nowrap}
.tab-btn:hover{color:var(--ink)}
.tab-btn.active{color:var(--ink);border-bottom-color:var(--brand)}
.tab-pane{display:none;padding:28px}
.tab-pane.active{display:block;animation:rise .35s both}
.spec-table{width:100%;border-collapse:collapse}
.spec-table th{width:30%;background:transparent;font-weight:700;color:var(--ink)}
.spec-table th,.spec-table td{padding:13px 4px;border-bottom:1px solid var(--line);text-align:right;font-size:13.5px;color:var(--ink-2)}
.spec-table tr:last-child th,.spec-table tr:last-child td{border-bottom:none}

@media (max-width:992px){
  .pdp{grid-template-columns:1fr;gap:26px;padding:22px}
  .pdp-gallery{position:static}
  .pdp-title{font-size:21px}
  .price-lg{font-size:27px}
}
@media (max-width:520px){
  .pdp{padding:18px}
  .pdp-actions{flex-wrap:wrap}
  .pdp-actions #addBtn{width:100%;flex:none}
}

/* ===== Admin: زیرمنو ===== */
.admin-sidebar .submenu{
    margin:0;padding-right:14px;overflow:hidden;
    max-height:0;opacity:0;transform:translateY(-6px);
    transition:max-height .34s cubic-bezier(.25,.8,.3,1),opacity .26s ease,transform .3s cubic-bezier(.25,.8,.3,1),margin .34s ease;
}
.admin-sidebar .has-sub.open .submenu{max-height:520px;opacity:1;transform:none;margin:2px 0 6px}
.admin-sidebar .submenu li{opacity:0;transform:translateX(10px);transition:opacity .28s ease,transform .28s cubic-bezier(.25,.8,.3,1)}
.admin-sidebar .has-sub.open .submenu li{opacity:1;transform:none}
.admin-sidebar .has-sub.open .submenu li:nth-child(1){transition-delay:.04s}
.admin-sidebar .has-sub.open .submenu li:nth-child(2){transition-delay:.09s}
.admin-sidebar .has-sub.open .submenu li:nth-child(3){transition-delay:.14s}
.admin-sidebar .has-sub.open .submenu li:nth-child(4){transition-delay:.19s}
.admin-sidebar .has-sub.open .submenu li:nth-child(5){transition-delay:.24s}
.admin-sidebar .submenu li a{font-size:13px;padding:8px 12px;display:flex;align-items:center;gap:9px;color:var(--muted)}
.admin-sidebar .submenu li a .dot{width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.5;flex-shrink:0}
.admin-sidebar .submenu li a:hover{color:var(--ink)}
.admin-sidebar .submenu li a.active{color:var(--brand);font-weight:700}
.admin-sidebar .submenu li a.active .dot{opacity:1}

/* ===== Admin: تنظیمات ظاهر ===== */
.appr-toggle{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px;border:1px solid var(--line);border-radius:14px;background:#fff}
.appr-toggle strong{display:block;font-size:14px;color:var(--ink)}
.appr-toggle small{display:block;color:var(--muted);font-size:12px;margin-top:3px}
.switch{position:relative;display:inline-block;width:50px;height:28px;flex-shrink:0}
.switch input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer;z-index:2}
.switch .slider{position:absolute;inset:0;background:#d7d7e2;border-radius:999px;transition:.25s;pointer-events:none}
.switch .slider::before{content:"";position:absolute;width:22px;height:22px;right:3px;top:3px;background:#fff;border-radius:50%;transition:.25s;box-shadow:0 1px 3px rgba(0,0,0,.2)}
.switch input:checked + .slider{background:var(--brand)}
.switch input:checked + .slider::before{transform:translateX(-22px)}
.appr-preview{margin-top:18px;padding:16px;border:1px dashed var(--line);border-radius:14px;background:var(--bg)}
.appr-preview-lbl{font-size:12px;color:var(--muted);margin-bottom:10px;font-weight:700}

/* =========================================================
   دیدگاه‌ها — Redesign (مینیمال/چشم‌نواز)
   ========================================================= */
.cmt-wrap{display:grid;grid-template-columns:300px 1fr;gap:32px;align-items:start}

/* ---- خلاصه امتیاز ---- */
.cmt-summary{background:#fff;border:1px solid var(--line);border-radius:18px;padding:24px;position:sticky;top:100px;text-align:right;box-shadow:none}
.cs-top{display:flex;align-items:center;gap:16px;padding-bottom:18px;margin-bottom:18px;border-bottom:1px solid var(--line)}
.cs-avg{font-size:46px;font-weight:900;color:var(--ink);line-height:1;display:flex;flex-direction:column;align-items:center}
.cs-avg small{font-size:11px;color:var(--muted);font-weight:600;margin-top:4px}
.cmt-summary .stars{justify-content:flex-start;color:#e2e2ea}
.cmt-summary .stars .on{color:var(--gold)}
.cs-count{font-size:12px;color:var(--muted);margin-top:6px}
.cs-bars{display:flex;flex-direction:column;gap:9px;margin-bottom:18px}
.cmt-bar{display:flex;align-items:center;gap:10px;font-size:12px}
.cmt-bar .lbl{display:inline-flex;align-items:center;gap:3px;color:var(--gold);min-width:30px;justify-content:flex-end}
.cmt-bar .bar{flex:1;height:8px;background:var(--bg);border-radius:99px;overflow:hidden}
.cmt-bar .bar i{display:block;height:100%;background:linear-gradient(90deg,#f59e0b,#fbbf24);border-radius:99px;transition:width .6s cubic-bezier(.2,.7,.3,1)}
.cmt-bar .num{color:var(--muted);min-width:18px;text-align:left}
.cs-cta{margin-top:4px}

/* ---- لیست ---- */
.cmt-head{margin-bottom:16px}
.cmt-head h3{font-size:17px;display:flex;align-items:center;gap:8px;color:var(--ink)}
.cmt-head h3 .cnt{background:var(--brand-soft);color:var(--brand);font-size:12px;font-weight:800;min-width:24px;height:24px;border-radius:999px;display:inline-grid;place-items:center;padding:0 7px}
.cmt-list{display:flex;flex-direction:column;gap:14px}
.cmt-card{display:flex;gap:14px;padding:18px;border:1px solid var(--line);border-radius:16px;background:#fff;transition:.2s}
.cmt-card:hover{border-color:#e3def7;box-shadow:0 10px 30px -22px rgba(15,16,32,.4)}
.cmt-ava{width:46px;height:46px;border-radius:14px;color:#fff;display:grid;place-items:center;font-weight:800;font-size:19px;flex-shrink:0}
.cc-body{flex:1;min-width:0}
.cc-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;flex-wrap:wrap}
.cc-name{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.cc-name strong{font-size:14px;color:var(--ink)}
.cc-verify{display:inline-flex;align-items:center;gap:3px;font-size:10.5px;font-weight:700;color:var(--green);background:#e7f8f1;padding:2px 8px;border-radius:999px}
.cc-date{display:inline-flex;align-items:center;gap:4px;color:var(--muted);font-size:11.5px;white-space:nowrap}
.cmt-card .stars.sm{margin:7px 0 2px;color:#e2e2ea}
.cmt-card .stars.sm .on{color:var(--gold)}
.cmt-text{margin-top:8px;color:var(--ink-2);line-height:2;font-size:13.5px}
.cmt-reply{display:flex;flex-direction:column;gap:5px;background:var(--brand-softer);border-right:3px solid var(--brand);padding:12px 14px;border-radius:0 12px 12px 0;margin-top:12px;font-size:13px;color:var(--ink-2)}
.cmt-reply strong{color:var(--brand);display:inline-flex;align-items:center;gap:5px;font-size:12.5px}

/* ---- خالی ---- */
.cmt-empty{text-align:center;padding:48px 20px;border:1px dashed var(--line);border-radius:16px;background:var(--bg)}
.cmt-empty .ico{display:inline-grid;place-items:center;width:64px;height:64px;border-radius:50%;background:#fff;color:var(--brand);border:1px solid var(--line);margin-bottom:14px}
.cmt-empty p{font-weight:700;color:var(--ink);margin-bottom:4px}
.cmt-empty small{color:var(--muted);font-size:12.5px}

/* ---- فرم ---- */
.cmt-form{background:#fff;border:1px solid var(--line);border-radius:18px;padding:26px;margin-top:24px}
.cf-title{margin-bottom:18px;font-size:16px;display:flex;align-items:center;gap:8px;color:var(--ink)}
.cf-rate{background:var(--bg);border:1px solid var(--line);border-radius:14px;padding:16px}
.cf-rate label{margin-bottom:10px;display:block;font-weight:700;font-size:13px}
.rating-input{display:inline-flex;align-items:center;gap:6px;cursor:pointer;color:#dcdce5}
.rating-input span[data-score]{transition:transform .15s,color .15s}
.rating-input span.on{color:var(--gold)}
.rating-input span[data-score]:hover{transform:scale(1.18)}
.rating-input .rate-label{margin-right:10px;font-size:13px;font-weight:800;color:var(--gold);min-width:54px}

@media (max-width:992px){
  .cmt-wrap{grid-template-columns:1fr}
  .cmt-summary{position:static}
}

/* ستاره‌های امتیاز: حالت انتخاب‌شده تو‌پر باشد */
.rating-input span.on svg{fill:currentColor}
.stars .on svg{fill:currentColor}

/* چیپ قابل کلیک (لینک به صفحهٔ مرتبط) */
.chip-link{display:inline-flex;align-items:center;gap:5px;cursor:pointer;transition:.15s;text-decoration:none}
.chip-link:hover{filter:brightness(.96);box-shadow:0 0 0 2px var(--brand-soft)}

/* =========================================================
   مدال هشدار/اطلاع — Redesign (چشم‌نواز)
   متغیر --ac رنگ تأکید و --ac-bg پس‌زمینهٔ روشن آن را تعیین می‌کند
   ========================================================= */
.modal-alert{max-width:400px;padding:34px 30px 26px;border-radius:26px;position:relative;overflow:hidden}
.modal-alert::before{content:"";position:absolute;inset:0 0 auto 0;height:96px;
  background:linear-gradient(180deg,var(--ac-bg),transparent)}
.modal-alert .ma-halo{position:relative;display:grid;place-items:center;width:96px;height:96px;margin:6px auto 16px;
  border-radius:50%;background:var(--ac-bg);animation:pop .4s cubic-bezier(.34,1.56,.64,1)}
.modal-alert .ma-halo::after{content:"";position:absolute;inset:-8px;border-radius:50%;border:2px solid var(--ac);opacity:.18}
.modal-alert .ma-ico{display:grid;place-items:center;width:64px;height:64px;border-radius:50%;background:#fff;color:var(--ac);
  box-shadow:0 8px 22px -10px var(--ac)}
.modal-alert h3{font-size:19px;font-weight:800;color:var(--ink);margin-bottom:8px}
.modal-alert p{color:var(--ink-2);font-size:13.5px;line-height:2;margin-bottom:24px;padding:0 6px}
.modal-alert .ma-btn{height:50px;border-radius:14px;font-weight:800;font-size:14.5px;border:none;cursor:pointer;
  color:#fff;background:var(--ac);box-shadow:0 12px 26px -12px var(--ac);transition:.2s}
.modal-alert .ma-btn:hover{filter:brightness(.95);transform:translateY(-1px)}

/* =========================================================
   صفحهٔ محصولات / جستجو — Redesign (چشم‌نواز)
   ========================================================= */
.shop-search{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:8px 8px 8px 16px;margin:16px 0 18px;box-shadow:var(--shadow-xs);position:relative}
.shop-search .ss-ico{color:var(--muted);flex-shrink:0}
.shop-search input{flex:1;border:none;outline:none;background:none;font-family:inherit;font-size:14px;color:var(--ink);padding:10px 0}
.shop-search input::placeholder{color:var(--muted)}
.shop-search .btn{height:44px;border-radius:12px;flex-shrink:0}

.shop-head{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin-bottom:14px}
.shop-title{font-size:20px;font-weight:800;color:var(--ink)}
.shop-title span{color:var(--brand)}
.shop-count{color:var(--muted);font-size:13px;margin-top:4px}

.filter-chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}
.fchip{display:inline-flex;align-items:center;gap:6px;background:#fff;border:1px solid var(--line);color:var(--ink-2);border-radius:999px;padding:6px 12px;font-size:12.5px;font-weight:700;transition:.18s}
.fchip:hover{border-color:var(--accent-2);color:var(--accent-2)}
.fchip .x{display:inline-grid;place-items:center;opacity:.6}
.fchip:hover .x{opacity:1}
.fchip-clear{background:var(--brand-soft);border-color:transparent;color:var(--brand)}
.fchip-clear:hover{color:var(--brand-700)}

.shop-layout{display:grid;grid-template-columns:260px 1fr;gap:24px;align-items:start}
.shop-layout-no-filters{grid-template-columns:1fr}
.shop-filters{background:#fff;border:1px solid var(--line);border-radius:18px;padding:20px;position:sticky;top:96px}
.shop-filters .sf-block{padding-bottom:16px;margin-bottom:16px;border-bottom:1px solid var(--line)}
.shop-filters .sf-block:last-of-type{border-bottom:none;margin-bottom:0;padding-bottom:0}
.shop-filters h4{display:flex;align-items:center;gap:7px;font-size:13px;font-weight:800;color:var(--ink);margin-bottom:11px}
.shop-filters h4 svg{color:var(--brand)}
.sf-block-collapsible{padding-bottom:12px}
.sf-collapse-trigger{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;border:none;background:transparent;padding:2px 0;font-family:inherit;cursor:pointer;text-align:right;color:var(--ink)}
.sf-collapse-trigger:hover{color:var(--brand)}
.sf-collapse-label{display:inline-flex;align-items:center;gap:7px;font-size:13px;font-weight:800}
.sf-collapse-label svg{color:var(--brand);flex-shrink:0}
.sf-collapse-meta{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:var(--muted);flex-shrink:0}
.sf-collapse-meta svg{transition:transform .2s ease;color:var(--muted)}
.sf-block-collapsible.is-open > .sf-collapse-trigger .sf-collapse-meta svg{transform:rotate(180deg)}
.sf-collapse-body{margin-top:12px}
.sf-collapse-body[hidden]{display:none!important}
.sf-brand-labels{display:flex;align-items:center;justify-content:space-between;gap:10px;flex:1;direction:rtl}
.sf-brand-labels .sf-brand-fa{font-weight:700;text-align:right;order:1;flex:1;min-width:0}
.sf-brand-labels .sf-brand-en{color:var(--muted);font-size:12px;direction:ltr;text-align:left;order:2;flex-shrink:0}
.sf-ms-search{margin-bottom:8px;height:38px;font-size:13px;border-radius:10px}
.sf-ms-list{display:flex;flex-direction:column;gap:4px;padding:2px}
.sf-ms-scroll{max-height:min(280px,42vh);overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}
.sf-ms-list-plain{max-height:none;overflow:visible;padding:0}
.sf-ms-list-plain.sf-ms-scroll{max-height:min(280px,42vh);overflow-y:auto}
.sf-cat-node{display:flex;flex-direction:column}
.sf-cat-line{display:flex;align-items:center;gap:2px;padding-inline-start:calc(var(--sf-depth,0) * 14px)}
.sf-cat-toggle,.sf-cat-toggle-spacer{width:28px;height:28px;flex-shrink:0;display:inline-grid;place-items:center;border:none;background:transparent;padding:0;color:var(--muted);cursor:pointer;border-radius:8px}
.sf-cat-toggle:hover{background:var(--bg);color:var(--brand)}
.sf-cat-toggle svg{transition:transform .18s ease}
.sf-cat-node.is-open > .sf-cat-line > .sf-cat-toggle svg{transform:rotate(180deg)}
.sf-cat-toggle-spacer{visibility:hidden;pointer-events:none}
.sf-cat-children{display:flex;flex-direction:column}
.sf-cat-children[hidden]{display:none!important}
.sf-cat-line .sf-ms-item.sf-cat-item,.sf-cat-line .sf-cat-row{flex:1;min-width:0;padding-inline-start:6px}
.sf-cat-label{display:inline-flex;align-items:baseline;gap:6px;flex-wrap:wrap;line-height:1.6}
.sf-cat-title{font-weight:600}
.sf-cat-count{color:var(--muted);font-size:12px;font-weight:600;flex-shrink:0}
.sf-toggles{display:flex;flex-direction:column;gap:0}
.sf-toggle-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 0;border-bottom:1px solid var(--line);cursor:pointer;font-size:14px;color:var(--ink)}
.sf-toggle-row:last-child{border-bottom:none}
.sf-toggle-label{font-weight:600;line-height:1.5}
.sf-block-toggles{padding-bottom:4px}
.sf-mobile-toggles{padding:4px 18px 8px;border-bottom:1px solid var(--line);margin-bottom:4px}
.sf-mobile-toggles .sf-toggle-row{padding:14px 0}
.sf-cat-drill{display:flex;flex-direction:column;gap:0}
.sf-cat-back{display:flex;align-items:center;gap:8px;width:100%;border:none;background:var(--bg);color:var(--brand);font-family:inherit;font-size:13px;font-weight:700;padding:10px 12px;border-radius:10px;margin-bottom:10px;cursor:pointer}
.sf-cat-back:hover{background:var(--brand-soft)}
.sf-cat-drill-list{display:flex;flex-direction:column}
.sf-cat-drill-item{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;border:none;border-bottom:1px solid var(--line);background:transparent;font-family:inherit;font-size:14px;color:var(--ink);padding:13px 2px;cursor:pointer;text-align:right}
.sf-cat-drill-item:hover{color:var(--brand)}
.sf-cat-drill-title{font-weight:700}
.sf-cat-drill-count{color:var(--muted);font-size:13px;font-weight:600;flex-shrink:0}
.sf-cat-drill-empty{font-size:13px;padding:8px 2px}
.filter-value-chips{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 20px}
.fvc-chip{display:inline-flex;align-items:center;padding:8px 14px;border-radius:999px;border:1px solid var(--line);background:#fff;color:var(--ink-2);font-size:13px;font-weight:700;text-decoration:none;transition:border-color .2s,background .2s,color .2s}
.fvc-chip:hover{border-color:var(--brand);color:var(--brand)}
.fvc-chip.is-active{background:var(--brand-soft);border-color:var(--brand);color:var(--brand-700)}
.sf-ms-item{display:flex;align-items:center;gap:9px;padding:8px 10px;border-radius:10px;border:1px solid transparent;cursor:pointer;font-size:13px;color:var(--ink-2);transition:.15s}
.sf-ms-item:hover{background:var(--bg);border-color:var(--line)}
.sf-ms-item input{width:17px;height:17px;accent-color:var(--brand);cursor:pointer;flex-shrink:0}
.sf-ms-item span{line-height:1.6}
.sf-ms-empty{font-size:12px;margin:6px 2px 0;text-align:center}
.sf-price{display:flex;align-items:center;gap:8px}
.sf-price span{color:var(--muted)}
.sf-price-range{padding:4px 0 8px}
.sf-price-display{margin-bottom:22px}
.sf-price-row{display:flex;align-items:center;justify-content:space-between;padding:16px 0;border-bottom:1px solid var(--line)}
.sf-price-label{font-size:15px;font-weight:500;color:var(--muted)}
.sf-price-value{display:flex;align-items:center;gap:8px}
.sf-price-num{font-size:16px;font-weight:800;color:#021959;letter-spacing:-.02em;border:none;background:transparent;padding:0;margin:0;min-width:72px;max-width:min(42vw,180px);text-align:end;direction:ltr;font-family:inherit;line-height:1.2}
.sf-price-num:focus{outline:none;box-shadow:0 1px 0 0 #2563eb}
.sf-price-num::placeholder{color:#021959;opacity:.45}
.sf-price-toman{display:block;flex-shrink:0}
.sf-price-slider-box{padding-top:6px}
.sf-price-slider{position:relative;height:28px;direction:rtl;touch-action:none}
.sf-price-track{position:absolute;top:50%;left:0;right:0;height:4px;transform:translateY(-50%);background:#e8eaf0;border-radius:4px;pointer-events:none}
.sf-price-track-fill{position:absolute;top:0;bottom:0;background:#2563eb;border-radius:4px}
.sf-price-thumb{position:absolute;top:50%;left:0;right:0;width:100%;height:28px;margin:0;padding:0;transform:translateY(-50%);background:transparent;pointer-events:none;-webkit-appearance:none;appearance:none;direction:rtl}
.sf-price-thumb::-webkit-slider-runnable-track{height:4px;background:transparent;border:none}
.sf-price-thumb::-moz-range-track{height:4px;background:transparent;border:none}
.sf-price-thumb::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:22px;height:22px;border-radius:50%;background:#2563eb;border:3px solid #fff;box-shadow:0 1px 6px rgba(37,99,235,.35);cursor:pointer;pointer-events:all;margin-top:-9px}
.sf-price-thumb::-moz-range-thumb{width:22px;height:22px;border-radius:50%;background:#2563eb;border:3px solid #fff;box-shadow:0 1px 6px rgba(37,99,235,.35);cursor:pointer;pointer-events:all}
.sf-price-thumb-min{z-index:3}
.sf-price-thumb-max{z-index:4}
.sf-price-thumb-min:active,.sf-price-thumb-max:active{z-index:5}
.sf-price-ticks{display:flex;justify-content:space-between;align-items:flex-end;height:10px;margin:10px 4px 0;padding:0 2px}
.sf-price-ticks span{display:block;width:1px;height:6px;background:#d8dbe8;border-radius:1px}
.sf-price-slider-labels{display:flex;justify-content:space-between;margin-top:8px;font-size:13px;font-weight:500;color:var(--muted)}
.sf-check{display:flex;align-items:center;gap:9px;font-size:13px;color:var(--ink-2);cursor:pointer;padding:6px 0}
.sf-check input{width:17px;height:17px;accent-color:var(--brand);cursor:pointer}

.shop-filter-btn{display:none;align-items:center;gap:7px;position:relative;flex-shrink:0}
.shop-filter-badge{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:var(--brand);color:#fff;font-size:11px;font-weight:800;line-height:1}
.shop-toolbar-start{display:flex;align-items:center;gap:10px;min-width:0}
.shop-result-count{white-space:nowrap}

.shop-filter-modal{position:fixed;inset:0;z-index:950;display:flex;align-items:flex-end;justify-content:center}
.shop-filter-modal[hidden]{display:none!important}
.sfm-backdrop{position:absolute;inset:0;background:rgba(15,16,32,.45);backdrop-filter:blur(2px)}
.sfm-panel{position:relative;width:100%;max-width:520px;max-height:88vh;background:#fff;border-radius:20px 20px 0 0;box-shadow:0 -12px 40px -12px rgba(0,0,0,.28);display:flex;flex-direction:column;animation:sfm-rise .28s both}
.sfm-head{display:grid;grid-template-columns:40px 1fr 40px;align-items:center;gap:10px;padding:14px 16px;border-bottom:1px solid var(--line);flex-shrink:0}
.sfm-head h3{margin:0;font-size:16px;font-weight:800;color:var(--ink);text-align:center}
.sfm-back{border:none;background:var(--bg);width:38px;height:38px;border-radius:12px;display:grid;place-items:center;cursor:pointer;color:var(--ink-2);justify-self:start}
.sfm-back[hidden]{visibility:hidden;pointer-events:none}
.sfm-close{border:none;background:var(--bg);width:38px;height:38px;border-radius:12px;display:grid;place-items:center;cursor:pointer;color:var(--ink-2);justify-self:end}
.sfm-body{overflow-y:auto;flex:1;min-height:0}
.sfm-body.shop-filters{position:static;border:none;border-radius:0;padding:0;box-shadow:none}
.sfm-stack{min-height:100%}
.sfm-view{display:block}
.sfm-view[hidden]{display:none!important}
.sf-mobile-menu{display:flex;flex-direction:column}
.sf-nav-row{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:16px 18px;border:none;border-bottom:1px solid var(--line);background:#fff;font-family:inherit;text-align:right;cursor:pointer}
.sf-nav-row:active{background:var(--bg)}
.sf-nav-label{display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:800;color:var(--ink)}
.sf-nav-label svg{color:var(--brand)}
.sf-nav-meta{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--muted)}
.sf-mobile-page{padding:14px 18px 18px}
.sf-mobile-search{margin-bottom:14px;height:42px;border-radius:12px;font-size:14px}
.sf-mobile-section{margin-bottom:16px}
.sf-mobile-section-title{font-size:12px;font-weight:800;color:var(--muted);margin-bottom:8px}
.sf-brand-list{display:flex;flex-direction:column}
.sf-brand-row{display:flex;align-items:center;gap:10px;padding:12px 0;border-bottom:1px solid var(--line);cursor:pointer;font-size:14px;color:var(--ink-2);direction:rtl}
.sf-brand-row input{width:18px;height:18px;accent-color:var(--brand);flex-shrink:0;order:0}
.sf-brand-row-text{display:flex;align-items:center;justify-content:space-between;gap:12px;flex:1;min-width:0;direction:rtl}
.sf-brand-fa{font-weight:700;color:var(--ink);text-align:right;flex:1;min-width:0;order:1}
.sf-brand-en{color:var(--muted);font-size:12.5px;direction:ltr;text-align:left;flex-shrink:0;order:2}
.sf-brand-en-empty{display:none}
.sf-cat-tree{display:flex;flex-direction:column}
.sf-cat-tree .sf-cat-row{padding:11px 0;border-bottom:1px solid var(--line);cursor:pointer;font-size:14px;color:var(--ink-2);display:flex;align-items:center;gap:10px}
.sf-cat-tree .sf-cat-row input{width:18px;height:18px;accent-color:var(--brand);flex-shrink:0}
.sf-cat-tree .sf-cat-line{border-bottom:1px solid var(--line)}
.sf-cat-tree .sf-cat-line .sf-cat-row{border-bottom:none;padding-inline-start:6px}
.sf-filter-value-list{display:flex;flex-direction:column}
.sf-filter-value-row{display:flex;align-items:center;gap:10px;padding:12px 0;border-bottom:1px solid var(--line);cursor:pointer;font-size:14px}
.sf-filter-value-row input{width:18px;height:18px;accent-color:var(--brand)}
.sf-price-mobile{flex-direction:column;align-items:stretch;gap:10px}
.sf-price-mobile span{display:none}
.sf-check-mobile{padding:12px 0;border-bottom:1px solid var(--line)}
.sf-mobile-empty{font-size:13px;text-align:center;padding:18px 0}
.shop-filters-desktop .sf-block-actions-desktop{display:block}
.shop-filter-modal .sf-block-actions-desktop{display:none}
.sfm-foot{display:none;align-items:stretch;gap:10px;padding:12px 18px calc(12px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--line);background:#fff;flex-shrink:0}
.sfm-foot .btn{justify-content:center;gap:7px;margin:0;min-height:46px}
.sfm-foot [data-sfm-apply]{flex:1;border-radius:8px}
.sfm-foot [data-sfm-clear]{flex:0 0 auto;padding-inline:16px;white-space:nowrap;border-radius:8px}
.sfm-foot [data-sfm-apply].is-loading [data-sfm-apply-label]{opacity:.7}
body.shop-filter-open{overflow:hidden}
@keyframes sfm-rise{from{transform:translateY(100%)}to{transform:translateY(0)}}

.shop-results{min-width:0}
.shop-results-body{transition:opacity .2s}
.shop-results-body.is-loading{opacity:.45;pointer-events:none}
.shop-toolbar{display:flex;flex-direction:column;gap:0;background:#fff;border:1px solid var(--line);border-radius:14px;padding:0;margin-bottom:18px;overflow:hidden}
.shop-toolbar-mobile{display:none;gap:10px;padding:12px 14px;border-bottom:1px solid var(--line)}
.shop-toolbar-mobile .btn{flex:1;justify-content:center;gap:7px}
.shop-sort-bar{display:flex;align-items:center;gap:16px;padding:12px 16px;flex-wrap:wrap}
.shop-sort-label{display:flex;align-items:center;gap:8px;flex-shrink:0}
.shop-sort-ic{display:inline-flex;color:var(--ink-2)}
.shop-sort-lbl{font-size:14px;font-weight:800;color:var(--ink-2);white-space:nowrap}
.shop-sort-list{display:flex;align-items:center;gap:18px;flex:1;flex-wrap:wrap;min-width:0}
.shop-sort-item{border:none;background:none;padding:0;font-family:inherit;font-size:14px;font-weight:600;color:var(--muted);cursor:pointer;white-space:nowrap;transition:color .15s}
.shop-sort-item:hover{color:var(--brand)}
.shop-sort-item.is-active{color:var(--brand);font-weight:800}
.shop-sort-count{margin-right:auto;flex-shrink:0}
.shop-sort-count span{font-size:13px;color:var(--muted);white-space:nowrap}
.shop-sort-mobile-btn{display:none}
.shop-sort-count-mobile{display:none;margin-right:auto;font-size:13px;color:var(--muted);white-space:nowrap;padding:0 4px}
.shop-sort-modal{position:fixed;inset:0;z-index:950;display:flex;align-items:flex-end;justify-content:center}
.shop-sort-modal[hidden]{display:none!important}
.shop-sort-modal .sfm-panel{animation:sfm-rise .28s both}
.shop-sort-modal-list{display:flex;flex-direction:column;gap:6px;padding:8px 18px calc(18px + env(safe-area-inset-bottom,0px))}
.shop-sort-modal-item{display:flex;align-items:center;justify-content:space-between;width:100%;padding:14px 16px;border:1px solid var(--line);border-radius:12px;background:#fff;font-family:inherit;font-size:15px;font-weight:700;color:var(--ink-2);cursor:pointer;transition:.15s}
.shop-sort-modal-item.is-active{border-color:var(--brand);background:var(--brand-softer);color:var(--brand)}
.shop-sort-check{color:var(--brand);display:inline-flex}
body.shop-sort-open{overflow:hidden}

.shop-empty{text-align:center;padding:60px 24px;background:#fff;border:1px dashed var(--line);border-radius:18px}
.shop-empty .ico{display:inline-grid;place-items:center;width:78px;height:78px;border-radius:50%;background:var(--brand-soft);color:var(--brand);margin-bottom:16px}
.shop-empty h3{font-size:18px;color:var(--ink);margin-bottom:8px;text-align:center}
.shop-empty p{color:var(--muted);font-size:13.5px;max-width:420px;margin:0 auto;line-height:2;text-align:center}

@media (max-width:880px){
  .shop-layout{grid-template-columns:1fr}
  .shop-filters-desktop{display:none}
  .shop-toolbar-mobile{display:flex;flex-wrap:wrap;align-items:center}
  .shop-sort-bar{display:none}
  .shop-sort-count-mobile{display:block}
  .shop-filter-btn{display:inline-flex}
  .shop-sort-mobile-btn{display:inline-flex}
  .shop-filter-modal{align-items:stretch;justify-content:stretch}
  .shop-filter-modal .sfm-panel{max-width:none;width:100%;height:100%;max-height:none;border-radius:0;animation:none}
  .shop-filter-modal .sfm-backdrop{display:none}
  .sfm-foot{display:flex}
}

/* ---------- تماس با ما ---------- */
.contact-layout{display:grid;grid-template-columns:300px minmax(0,1fr);gap:22px;align-items:start;margin-bottom:32px}
.contact-aside{display:flex;flex-direction:column;gap:18px;position:sticky;top:96px}
.contact-form-card .form-group:last-of-type{margin-bottom:22px}
.contact-card-title{display:flex;align-items:center;gap:9px;font-size:17px;font-weight:800;margin:0 0 8px;color:var(--ink)}
.contact-card-title svg{color:var(--brand);flex-shrink:0}
.contact-card-desc{margin:0 0 22px;color:var(--muted);font-size:13px;line-height:1.9}
.contact-logged-note{display:flex;align-items:flex-start;gap:10px;padding:14px 16px;margin-bottom:18px;border-radius:14px;background:var(--brand-softer);border:1px solid var(--brand-soft);font-size:13px;color:var(--ink-2);line-height:1.8}
.contact-logged-note svg{color:var(--brand);flex-shrink:0;margin-top:2px}
.contact-form-actions{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;padding-top:4px}
.contact-privacy{display:flex;align-items:center;gap:7px;margin:0;font-size:12px;line-height:1.7}
.contact-info-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.contact-info-item{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:14px;border:1px solid var(--line);background:#fafbfc;text-decoration:none;color:inherit;transition:border-color .15s,background .15s}
a.contact-info-item:hover{border-color:var(--brand-soft);background:var(--brand-softer)}
.cii-ico{flex-shrink:0;width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:var(--brand-soft);color:var(--brand)}
.cii-body{min-width:0}
.cii-body small{display:block;font-size:11px;color:var(--muted);margin-bottom:3px}
.cii-body strong{display:block;font-size:13px;font-weight:700;line-height:1.7;word-break:break-word}
.contact-socials{display:flex;gap:10px;flex-wrap:wrap}
.contact-social{width:44px;height:44px;border-radius:12px;border:1px solid var(--line);display:grid;place-items:center;color:var(--brand);background:#fff;transition:border-color .15s,background .15s,color .15s}
.contact-social:hover{border-color:var(--brand);background:var(--brand-softer)}

@media (max-width:880px){
  .contact-layout{
    display:flex;
    flex-direction:column;
    grid-template-columns:1fr;
    gap:16px;
    margin-bottom:24px;
  }
  .contact-form-card{order:1;width:100%;min-width:0}
  .contact-aside{order:2;position:static;width:100%;min-width:0}
  .contact-layout .form-row{grid-template-columns:1fr;gap:12px}
  .contact-form-card,
  .contact-aside .card{padding:18px 16px;border-radius:16px}
  .contact-card-title{font-size:16px;flex-wrap:wrap}
  .contact-card-desc{font-size:12.5px;margin-bottom:18px}
  .contact-form-card .form-group{margin-bottom:14px}
  .contact-form-card .form-group:last-of-type{margin-bottom:18px}
  .contact-form-card textarea.form-control{min-height:140px}
  .contact-form-actions{flex-direction:column-reverse;align-items:stretch;gap:12px}
  .contact-form-actions .btn{width:100%;justify-content:center}
  .contact-privacy{justify-content:center;text-align:center;font-size:11.5px}
  .contact-logged-note{font-size:12.5px;padding:12px 14px}
  .contact-info-item{padding:11px 12px}
  .cii-ico{width:36px;height:36px;border-radius:10px}
  .cii-body strong{font-size:12.5px}
  .contact-socials{justify-content:flex-start}
  .contact-head{align-items:flex-start;margin-bottom:12px}
  .contact-head .shop-title{font-size:18px;line-height:1.6}
  .contact-head .shop-count{font-size:12.5px;line-height:1.9}
}
@media (max-width:480px){
  .contact-layout{gap:14px;margin-bottom:20px}
  .contact-form-card,
  .contact-aside .card{padding:16px 14px}
  .contact-card-title{font-size:15px}
  .contact-socials{justify-content:center}
}

/* ---------- درباره ما ---------- */
.about-head{display:flex;flex-direction:column;align-items:flex-start;gap:0}
.about-tag{
  display:inline-flex;align-items:center;gap:6px;
  font-size:12px;font-weight:700;color:var(--brand);
  background:var(--brand-softer);padding:6px 12px;border-radius:999px;margin-bottom:10px;
}
.about-page{display:flex;flex-direction:column;gap:22px;margin-bottom:40px}
.about-visual{padding:0;overflow:hidden}
.about-visual img{width:100%;max-height:380px;object-fit:cover;display:block}
.about-stats-bar{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));
  padding:0;overflow:hidden;
}
.about-stat-item{
  padding:22px 16px;text-align:center;
  display:flex;flex-direction:column;align-items:center;gap:8px;
}
.about-stat-item--sep{border-inline-end:1px solid var(--line)}
.about-stat-ico{
  width:42px;height:42px;border-radius:12px;
  background:var(--brand-softer);color:var(--brand);
  display:grid;place-items:center;
}
.about-stat-val{font-size:22px;font-weight:800;color:var(--ink);line-height:1.2}
.about-stat-lbl{font-size:12.5px;color:var(--muted);font-weight:600}
.about-layout{
  display:grid;grid-template-columns:minmax(0,1fr) 300px;
  gap:22px;align-items:start;
}
.about-layout--solo{grid-template-columns:1fr}
.about-main{display:flex;flex-direction:column;gap:22px;min-width:0}
.about-aside{position:sticky;top:96px}
.about-block{display:flex;flex-direction:column;gap:14px}
.about-block-head h2{
  margin:0;font-size:18px;font-weight:800;color:var(--ink);
  display:flex;align-items:center;gap:9px;
}
.about-block-head h2 svg{color:var(--brand);flex-shrink:0}
.about-block-head--in{margin-bottom:16px;padding-bottom:14px;border-bottom:1px solid var(--line)}
.about-mvv{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.about-mvv-card{padding:22px 20px;display:flex;flex-direction:column;gap:10px;transition:box-shadow .2s,transform .2s}
.about-mvv-card:hover{box-shadow:var(--shadow-sm);transform:translateY(-2px)}
.about-mvv-ico{
  width:44px;height:44px;border-radius:12px;
  background:var(--grad-soft);color:var(--brand);
  display:grid;place-items:center;
}
.about-mvv-card h3{margin:0;font-size:16px;font-weight:800}
.about-mvv-card p{margin:0;font-size:13.5px;line-height:1.9;color:var(--muted)}
.about-body{padding:24px 26px}
.about-fallback{margin:0;color:var(--ink-2);font-size:15px;line-height:2}
.about-features{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;
}
.about-feat-item{
  display:flex;align-items:flex-start;gap:12px;
  padding:16px 18px;background:#fff;border:1px solid var(--line);
  border-radius:14px;transition:border-color .15s,background .15s;
}
.about-feat-item:hover{border-color:var(--brand-soft);background:var(--brand-softer)}
.about-feat-ico{
  width:40px;height:40px;border-radius:11px;flex-shrink:0;
  background:var(--brand-softer);color:var(--brand);
  display:grid;place-items:center;
}
.about-feat-item h3{margin:0 0 4px;font-size:14.5px;font-weight:800}
.about-feat-item p{margin:0;font-size:13px;line-height:1.85;color:var(--muted)}
.about-timeline-card{padding:20px 22px}
.about-timeline{display:flex;flex-direction:column;gap:0}
.about-tl-item{
  display:grid;grid-template-columns:72px 1fr;gap:16px;
  padding:16px 0;border-bottom:1px solid var(--line);position:relative;
}
.about-tl-item:last-child{border-bottom:none;padding-bottom:0}
.about-tl-item:first-child{padding-top:0}
.about-tl-year{font-size:13px;font-weight:800;color:var(--brand);padding-top:2px}
.about-tl-body h3{margin:0 0 4px;font-size:15px;font-weight:800}
.about-tl-body p{margin:0;font-size:13px;line-height:1.85;color:var(--muted)}
.about-aside-cta h3{margin:0 0 8px;font-size:16px;font-weight:800}
.about-aside-cta p{margin:0 0 14px;font-size:13px;line-height:1.85;color:var(--muted)}
.about-cta-mobile{display:none;text-align:center;padding:24px 20px}
.about-cta-mobile h2{margin:0 0 8px;font-size:18px;font-weight:800}
.about-cta-mobile p{margin:0 0 16px;color:var(--muted);font-size:14px;line-height:1.8}
@media (max-width:960px){
  .about-layout{grid-template-columns:1fr}
  .about-aside{position:static;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
  .about-aside-cta{display:none}
  .about-cta-mobile{display:block}
  .about-stats-bar{grid-template-columns:repeat(2,minmax(0,1fr))}
  .about-stat-item--sep{border-inline-end:none}
  .about-stat-item:nth-child(odd){border-inline-end:1px solid var(--line)}
  .about-stat-item:nth-child(-n+2){border-bottom:1px solid var(--line)}
  .about-mvv{grid-template-columns:1fr}
  .about-features{grid-template-columns:1fr}
}
@media (max-width:640px){
  .about-aside{grid-template-columns:1fr}
  .about-stats-bar{grid-template-columns:1fr}
  .about-stat-item{border-inline-end:none!important;border-bottom:1px solid var(--line)}
  .about-stat-item:last-child{border-bottom:none}
  .about-tl-item{grid-template-columns:1fr;gap:6px}
  .about-body{padding:20px}
}

/* ---------- سوالات متداول (FAQ) ---------- */
.faq-search-bar{margin-bottom:22px}
.faq-layout{margin-bottom:36px}
.faq-aside .card{padding:22px}
.faq-cat-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.faq-cat-btn{width:100%;border:none;cursor:pointer;text-align:right;font-family:inherit}
.faq-cat-btn.is-active{border-color:var(--brand);background:var(--brand-softer)}
.faq-aside-actions{display:flex;flex-direction:column;gap:10px}
.faq-content{min-width:0;display:flex;flex-direction:column;gap:0}
.faq-panel{padding:0;overflow:hidden}
.faq-panel-head{
  display:flex;align-items:center;gap:14px;
  padding:22px 26px;border-bottom:1px solid var(--line);
}
.faq-panel-ico{
  width:48px;height:48px;border-radius:14px;flex-shrink:0;
  background:var(--brand-soft);color:var(--brand);
  display:grid;place-items:center;
}
.faq-panel-head h2{margin:0 0 4px;font-size:18px;font-weight:800;color:var(--ink)}
.faq-panel-head p{margin:0;font-size:12.5px;color:var(--muted);font-weight:600}
.faq-list{padding:16px 22px 20px;display:flex;flex-direction:column;gap:10px}
.faq-dd{position:relative}
.faq-dd-trigger{
  width:100%;display:flex;align-items:center;gap:12px;
  padding:14px 16px;border:1.5px solid var(--line);border-radius:var(--radius-sm);
  background:#fff;cursor:pointer;text-align:right;
  font-family:inherit;font-size:14px;font-weight:700;color:var(--ink);
  transition:border-color .2s,box-shadow .2s,background .2s,border-radius .2s;
}
.faq-dd-trigger:hover{border-color:color-mix(in srgb,var(--brand) 40%,var(--line));background:#fafbfc}
.faq-dd.is-open .faq-dd-trigger{
  border-color:var(--brand);
  box-shadow:0 0 0 4px var(--brand-soft);
  border-bottom-color:transparent;
  border-radius:var(--radius-sm) var(--radius-sm) 0 0;
  background:#fff;
}
.faq-dd-label{flex:1;line-height:1.8;text-align:right}
.faq-dd-chev{
  flex-shrink:0;color:var(--muted);
  display:grid;place-items:center;
  transition:transform .32s ease,color .2s;
}
.faq-dd.is-open .faq-dd-chev{transform:rotate(180deg);color:var(--brand)}
.faq-dd-panel.collapse{
  max-height:0;overflow:hidden;
  border:1.5px solid transparent;border-top:none;
  border-radius:0 0 var(--radius-sm) var(--radius-sm);
  background:#fff;
  margin-top:-1px;
  transition:max-height .35s ease,border-color .2s;
}
.faq-dd-panel.collapse.open{
  max-height:800px;
  border-color:var(--brand);
}
.faq-dd-body{
  padding:14px 16px 18px;
  font-size:14px;line-height:2;color:var(--ink-2);
  font-family:inherit;
  border-top:1px solid var(--line);
}
.faq-no-result{margin-top:0}
@media (max-width:880px){
  .faq-aside{order:1}
  .faq-content{order:2}
  .faq-cat-list{
    flex-direction:row;flex-wrap:nowrap;overflow-x:auto;
    gap:8px;padding-bottom:4px;scrollbar-width:thin;
  }
  .faq-cat-list li{flex:0 0 auto;min-width:210px}
  .faq-cat-btn{white-space:nowrap}
}
@media (prefers-reduced-motion:reduce){
  .faq-dd-chev,.faq-dd-panel.collapse{transition:none!important}
}

/* ===== Admin: سئو / لینک‌های نقشهٔ سایت ===== */
.seo-links{display:flex;flex-direction:column;gap:10px}
.seo-link{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:#fff;transition:.18s}
.seo-link:hover{border-color:var(--brand);background:var(--brand-softer)}
.seo-link span{display:inline-flex;align-items:center;gap:7px;font-weight:700;font-size:13px;color:var(--ink)}
.seo-link span svg{color:var(--brand)}
.seo-link code{font-size:12px;color:var(--muted);background:var(--bg);padding:3px 8px;border-radius:7px}

/* =========================================================
   ریسپانسیو جامع — پنل ادمین + فروشگاه (موبایل‌فرندلی)
   ========================================================= */

/* دکمهٔ همبرگر ادمین: فقط در موبایل */
.admin-burger{display:none;width:42px;height:42px;border-radius:12px;border:1px solid var(--line);background:#fff;color:var(--ink);cursor:pointer;align-items:center;justify-content:center;flex-shrink:0}
.admin-burger:hover{background:var(--brand-soft);color:var(--brand);border-color:var(--brand-soft)}
.admin-backdrop{display:none;position:fixed;inset:0;z-index:90;background:rgba(15,16,32,.5);backdrop-filter:blur(2px);opacity:0;visibility:hidden;transition:opacity .25s,visibility .25s}
.admin-backdrop.show{display:block;opacity:1;visibility:visible}

@media (max-width:1100px){
  .stats-grid{grid-template-columns:repeat(2,1fr)}
}

@media (max-width:992px){
  /* لِی‌اوت‌های دوستونه (فرم‌ها، تنظیمات و ...) تک‌ستونه شوند — حتی اگر inline استایل دارند */
  .layout-split{grid-template-columns:1fr !important}
  .admin-burger{display:inline-flex}
  .admin-main{padding:18px 14px}
  .admin-topbar{gap:12px;margin-bottom:18px}
  .admin-topbar h1{font-size:18px}
  .admin-sidebar{padding-top:16px}
}

@media (max-width:768px){
  /* جدول‌ها: کوچک‌تر و قابل اسکرول افقی */
  th,td{padding:11px 12px;font-size:12.5px}
  .table-wrap{border-radius:14px}
  /* سرستون صفحه‌ها (جستجو + دکمه) عمودی */
  .page-head{flex-direction:column;align-items:stretch;gap:10px}
  .page-head .search-box,.page-head form{max-width:100% !important;width:100%}
  /* اکشن‌های جدول بشکنند */
  td.flex,td .flex{flex-wrap:wrap}
  .admin-main{padding:16px 12px}
}

/* ---------- فروشگاه (front) ---------- */
@media (max-width:860px){
  .header-top{flex-wrap:wrap;gap:12px 16px;padding:12px 0}
  .header-top .logo{font-size:23px}
  .search-box{order:3;width:100%;max-width:100%}
  .ss-wrap{order:3;width:100%;max-width:100%}
  /* منوی اصلی به‌صورت اسکرول افقی (نه چندخطی) */
  .main-nav ul{flex-wrap:nowrap;overflow-x:auto;padding:8px 0;-webkit-overflow-scrolling:touch}
  .main-nav a{white-space:nowrap}
  .main-nav ul::-webkit-scrollbar{height:0}
}

@media (max-width:640px){
  .container{padding:0 14px}
  h1,.page-title{font-size:20px}
  .grid-6,.grid-5,.grid-4,.grid-3{grid-template-columns:repeat(2,1fr);gap:12px}
  .stats-grid{grid-template-columns:repeat(2,1fr)}
  .footer-grid{grid-template-columns:repeat(2,1fr)}
  /* مراحل سبد/تسویه فشرده‌تر */
  .steps{font-size:11px;gap:4px}
  .steps .step .dot{width:26px;height:26px}
  .steps .bar{min-width:14px}
  /* خلاصهٔ پرداخت و فرم‌ها تمام‌عرض */
  .summary-card{position:static}
  .shop-search{flex-wrap:wrap}
  .shop-search input{min-width:0;flex:1 1 100%;order:2}
  .shop-search .ss-ico{order:1}
  .shop-search .btn{order:3;width:100%}
}

@media (max-width:430px){
  .grid-6,.grid-5,.grid-4,.grid-3{grid-template-columns:1fr 1fr}
  .footer-grid{grid-template-columns:1fr}
  .btn{font-size:13px}
  .modal{padding:26px 20px}
  .pdp-features{grid-template-columns:1fr}
}

/* =========================================================
   انبارداری — نمایش/مخفی جزئیات + ریسپانسیو موبایل
   ========================================================= */
.attr-detail{display:none}
.attr-detail.show{display:table-row}

@media (max-width:768px){
  /* جدول انبارداری → کارت در موبایل */
  .inventory-table thead{display:none}
  .inventory-table tbody,.inventory-table td{display:block;width:auto}
  .inventory-table tr[data-inv]{display:block;border:1px solid var(--line);border-radius:16px;margin-bottom:14px;padding:12px 14px;background:#fff;box-shadow:var(--shadow-xs)}
  .inventory-table td{border:none;padding:9px 2px;display:flex;align-items:center;justify-content:space-between;gap:12px}
  .inventory-table td::before{content:attr(data-label);font-weight:700;font-size:12px;color:var(--muted);flex-shrink:0}
  .inventory-table td:first-child{justify-content:flex-start;border-bottom:1px solid var(--line-2);padding-bottom:11px;margin-bottom:4px}
  .inventory-table td:first-child::before{display:none}
  .inventory-table td[data-label="موجودی"] .inv-stock{width:120px}
  .inventory-table td[data-label="وضعیت"]{align-items:flex-start}
  .inventory-table td[data-label="وضعیت"] .checkbox-row{margin-top:0}
  /* ردیف جزئیات ترکیب‌ها/ویژگی‌ها تمام‌عرض */
  .attr-detail.show{display:block;margin:0 0 14px}
  .inventory-table .attr-detail td{display:block;padding:12px;border-radius:14px}
  .inventory-table .attr-detail td::before{display:none}
  .attr-grid{grid-template-columns:1fr}
  .attr-stock-card .flex.gap{flex-wrap:wrap}
  .attr-stock-card .form-group{min-width:120px}
}

/* =========================================================
   صفحهٔ دسته‌بندی‌ها — گرید دسته‌های اصلی
   ========================================================= */
.cat-hero{display:flex;align-items:center;gap:18px;background:linear-gradient(135deg,var(--brand-soft),#fdf2f8);border:1px solid var(--line);border-radius:20px;padding:26px 28px;margin:18px 0 24px}
.cat-hero-ic{flex-shrink:0;width:60px;height:60px;border-radius:18px;background:var(--grad);color:#fff;display:grid;place-items:center;box-shadow:var(--shadow-brand)}
.cat-hero h1{font-size:22px;font-weight:800;color:var(--ink);margin-bottom:4px}
.cat-hero p{color:var(--ink-2);font-size:13.5px}

.cat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-bottom:28px;align-items:start}
.cat-card{background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:var(--shadow-xs);display:flex;flex-direction:column;min-height:100%}
.cat-card-head{display:flex;align-items:center;gap:14px;padding:14px;text-decoration:none;color:inherit;border-bottom:1px solid var(--line);transition:background .15s}
.cat-card-head:hover{background:var(--brand-softer)}
.cat-card-media{flex-shrink:0;width:64px;height:64px;border-radius:14px;overflow:hidden;background:#f4f3f8;display:grid;place-items:center}
.cat-card-media img{width:100%;height:100%;object-fit:cover}
.cat-card-media.no-img{background:linear-gradient(135deg,hsl(var(--h),70%,92%),hsl(var(--h),65%,82%))}
.cat-card-media .cc-ph{color:hsl(var(--h,265),55%,55%);opacity:.85}
.cat-card-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px}
.cat-card-info h2{font-size:15.5px;font-weight:800;color:var(--ink);margin:0;line-height:1.45}
.cat-card-count{display:inline-flex;align-items:center;gap:5px;align-self:flex-start;background:var(--bg);border:1px solid var(--line);color:var(--ink-2);font-size:11.5px;font-weight:700;padding:3px 9px;border-radius:999px}
.cat-card-count svg{color:var(--brand)}
.cat-card-body{padding:10px 12px 14px;flex:1}
.cat-card-body-empty{display:flex;align-items:center}
.cat-card-all{display:inline-flex;align-items:center;gap:4px;color:var(--brand);font-weight:800;font-size:13px;padding:6px 4px}
.cat-card-subs{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.cat-card-subs .cat-card-subs{margin-inline-start:12px;padding-inline-start:10px;border-inline-start:2px solid #ebe8f3}
.cat-card-sub{margin:0}
.cat-card-sub-link{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 10px;border-radius:10px;text-decoration:none;color:var(--ink-2);font-size:13px;transition:background .15s,color .15s}
.cat-card-sub-link:hover{background:var(--bg);color:var(--brand)}
.cat-card-sub-name{font-weight:700;min-width:0;line-height:1.5}
.cat-card-sub-count{font-size:11.5px;font-weight:600;color:var(--muted);flex-shrink:0;background:var(--bg);padding:2px 7px;border-radius:999px}

@media (max-width:980px){
  .cat-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
}
@media (max-width:680px){
  .cat-hero{padding:20px}
  .cat-hero h1{font-size:19px}
  .cat-grid{grid-template-columns:1fr;gap:12px}
  .cat-card-media{width:56px;height:56px;border-radius:12px}
}

/* ===== صفحهٔ تک دسته‌بندی ===== */
.cat-show-hero{display:flex;align-items:center;gap:22px;background:linear-gradient(135deg,hsl(var(--h),70%,95%),#fff);border:1px solid var(--line);border-radius:22px;padding:22px;margin:18px 0 20px;overflow:hidden}
.cat-show-hero .csh-img{flex-shrink:0;width:120px;height:120px;border-radius:18px;overflow:hidden;background:#fff;border:1px solid var(--line)}
.cat-show-hero .csh-img img{width:100%;height:100%;object-fit:cover}
.cat-show-hero .csh-img-logo img{object-fit:contain;padding:10px;background:#fff}
.cat-show-hero .csh-img-ph{display:grid;place-items:center;background:linear-gradient(135deg,hsl(var(--h),70%,88%),hsl(var(--h),65%,78%));color:hsl(var(--h),55%,45%);border:none;font-size:36px;font-weight:800}
.csh-body{flex:1;min-width:0}
.csh-badge{display:inline-flex;align-items:center;gap:5px;background:#fff;border:1px solid var(--line);color:var(--brand);font-weight:800;font-size:12px;padding:5px 12px;border-radius:999px;margin-bottom:10px}
.csh-badge svg{color:var(--brand)}
.csh-body h1{font-size:24px;font-weight:800;color:var(--ink);margin-bottom:8px}
.csh-body > p{color:var(--ink-2);font-size:13.5px;line-height:2;max-width:680px}

.cat-subnav{display:flex;align-items:center;gap:14px;flex-wrap:wrap;background:#fff;border:1px solid var(--line);border-radius:16px;padding:14px 18px;margin-bottom:20px}
.cat-subnav .lbl{display:inline-flex;align-items:center;gap:6px;font-weight:800;font-size:13px;color:var(--ink)}
.cat-subnav .lbl svg{color:var(--brand)}
.cat-subchips{display:flex;flex-wrap:wrap;gap:8px}
.cat-subchip{background:var(--bg);border:1px solid var(--line);color:var(--ink-2);font-size:12.5px;font-weight:700;padding:7px 14px;border-radius:999px;transition:.18s}
.cat-subchip:hover{background:var(--brand-soft);color:var(--brand);border-color:transparent}

@media (max-width:560px){
  .cat-show-hero{flex-direction:column;text-align:center;gap:14px}
  .cat-show-hero .csh-img{width:90px;height:90px}
  .csh-body h1{font-size:20px}
  .cat-hero-desc{align-self:stretch}
}

.listing-page-content{
  margin-top:28px;padding:26px 28px;background:#fff;border:1px solid var(--line);
  border-radius:20px;box-shadow:var(--shadow-xs);
}
@media (max-width:700px){
  .listing-page-content{padding:18px 16px;margin-top:20px}
}

/* ویژگی انتخابی در آیتم‌های نتیجهٔ پرداخت */
.pr-item .pi-title{display:flex;flex-direction:column;gap:2px}
.pr-item .pi-variant{color:var(--muted);font-size:11px;font-weight:600}

/* =========================================================
   پنل ادمین — تیکت‌های پشتیبانی
   ========================================================= */
.ticket-list{display:flex;flex-direction:column;gap:12px}
.ticket-card{display:flex;align-items:center;gap:14px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px 16px;transition:.2s}
.ticket-card:hover{border-color:#e3def7;box-shadow:0 12px 30px -22px rgba(124,58,237,.5);transform:translateY(-2px)}
.tc-avatar{width:44px;height:44px;border-radius:12px;background:var(--grad);color:#fff;display:grid;place-items:center;font-weight:800;font-size:18px;flex-shrink:0}
.tc-main{flex:1;min-width:0}
.tc-subject{font-weight:800;font-size:14px;color:var(--ink);margin-bottom:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tc-meta{display:flex;flex-wrap:wrap;gap:12px;color:var(--muted);font-size:12px}
.tc-meta span{display:inline-flex;align-items:center;gap:4px}
.tc-side{display:flex;flex-direction:column;align-items:flex-end;gap:6px;flex-shrink:0}
.tc-date{font-size:11px;color:var(--muted)}
.tc-go{color:var(--muted);flex-shrink:0}
.ticket-card:hover .tc-go{color:var(--brand)}

/* گفتگو (چت تیکت) */
.tk-thread{display:flex;flex-direction:column;gap:18px;margin-bottom:22px}
.tk-msg{display:flex;gap:12px;align-items:flex-start;max-width:82%}
.tk-msg.tk-user{align-self:flex-start}
.tk-msg.tk-admin{align-self:flex-end;flex-direction:row-reverse}
.tk-ava{width:42px;height:42px;border-radius:50%;background:#eef0f6;color:var(--ink-2);display:grid;place-items:center;font-weight:800;font-size:16px;flex-shrink:0;box-shadow:0 2px 6px -2px rgba(15,23,42,.25)}
.tk-ava-admin{background:var(--grad);color:#fff;box-shadow:0 6px 14px -6px rgba(124,58,237,.7)}
.tk-bubble{position:relative;background:#fff;border:1px solid var(--line);border-radius:16px;padding:12px 15px;box-shadow:var(--shadow-xs);min-width:0}
.tk-msg.tk-user .tk-bubble{border-top-right-radius:5px}
.tk-msg.tk-admin .tk-bubble{background:linear-gradient(135deg,#faf8ff,#f6f2ff);border-color:#e7e0fb;border-top-left-radius:5px}
.tk-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:5px}
.tk-head strong{font-size:12.5px;color:var(--ink);display:inline-flex;align-items:center;gap:6px}
.tk-msg.tk-admin .tk-head strong{color:var(--brand-700)}
.tk-time{font-size:10.5px;color:var(--muted);white-space:nowrap;font-variant-numeric:tabular-nums}
.tk-bubble p{font-size:13.5px;line-height:1.95;color:var(--ink-2);white-space:pre-wrap;margin:0;word-break:break-word}
.tk-reply-box{margin-top:6px}

/* تصویر ضمیمه در حباب */
.tk-img{display:block;margin-top:10px;border-radius:12px;overflow:hidden;border:1px solid var(--line);max-width:220px;background:var(--grad-soft)}
.tk-bubble p + .tk-img{margin-top:10px}
.tk-img img{display:block;width:100%;max-height:200px;object-fit:cover;transition:transform .3s}
.tk-img:hover img{transform:scale(1.05)}

/* فرم پاسخ */
.tk-reply-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:6px}
.tk-attach{display:inline-flex;align-items:center;gap:7px;cursor:pointer;border:1.5px dashed var(--line);border-radius:11px;padding:9px 14px;color:var(--muted);font-size:12.5px;font-weight:700;transition:.15s;max-width:70%}
.tk-attach span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tk-attach:hover{border-color:var(--brand);color:var(--brand);background:var(--brand-softer)}
.tk-attach.has-file{border-style:solid;border-color:var(--brand);color:var(--brand);background:var(--brand-softer)}

@media (max-width:768px){
  .tk-msg{max-width:100%}
  .tc-meta{font-size:11px;gap:8px}
}
a.slider{margin-top:30px;}

/* =========================================================
   صفحهٔ ورود — Redesign (چشم‌نواز)
   ========================================================= */
.auth-wrap::before{display:none}
.auth-min{max-width:400px;padding:42px 36px;text-align:center;background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:0 18px 50px -34px rgba(15,16,32,.28);backdrop-filter:none}
.am-logo{display:inline-flex;align-items:center;gap:8px;font-size:20px;font-weight:800;letter-spacing:-.5px;color:var(--ink);margin-bottom:28px}
.am-logo .mark{width:36px;height:36px;border-radius:11px;background:var(--grad);display:grid;place-items:center;color:#fff}
.auth-min h1{font-size:20px;font-weight:800;margin-bottom:7px}
.am-sub{color:var(--muted);font-size:13px;line-height:1.95;margin-bottom:26px}
.auth-min form{text-align:right}
.am-field{margin-bottom:16px}
.am-field label{display:block;font-size:12.5px;font-weight:700;color:var(--ink-2);margin-bottom:8px}
.auth-min input[type=tel]{width:100%;height:50px;border:1.5px solid var(--line);border-radius:12px;background:#fff;text-align:center;font-size:16px;font-weight:700;letter-spacing:1px;color:var(--ink);font-family:inherit;direction:ltr;transition:.2s}
.auth-min input[type=tel]:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft)}
.auth-min .btn{height:50px;border-radius:12px;font-weight:800;font-size:14.5px}
.am-otp-hint{color:var(--ink-2);font-size:13px;line-height:1.95;margin-bottom:16px;text-align:center}
.am-otp-hint b{color:var(--brand)}
.am-otp{width:100%;height:58px;border:1.5px solid var(--line);border-radius:12px;background:#fff;text-align:center;font-size:24px;font-weight:800;letter-spacing:12px;padding-right:12px;color:var(--ink);font-family:inherit;direction:ltr;transition:.2s;margin-bottom:14px}
.am-otp::placeholder{letter-spacing:6px;color:var(--line-2);font-weight:600}
.am-otp:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft)}
.am-otp.shake{animation:shake .4s}
@keyframes shake{0%,100%{transform:translateX(0)}20%,60%{transform:translateX(-6px)}40%,80%{transform:translateX(6px)}}
.am-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:14px}
.am-link{background:none;border:none;cursor:pointer;font-family:inherit;color:var(--brand);font-weight:700;font-size:12.5px;padding:4px;display:inline-flex;align-items:center;gap:4px}
.am-link:disabled{color:var(--muted);cursor:default}
.am-link:not(:disabled):hover{color:var(--brand-700)}
.am-back{display:inline-block;margin-top:24px;color:var(--muted);font-size:12.5px}
.am-back:hover{color:var(--ink)}
@media(max-width:480px){.auth-min{padding:30px 20px}.am-otp{letter-spacing:9px;font-size:21px}}

/* =========================================================
   پنل کاربری — آدرس‌ها و تیکت‌ها (مینیمال)
   ========================================================= */
.acct-head{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin-bottom:20px;flex-wrap:wrap}
.acct-head h2{display:flex;align-items:center;gap:8px;font-size:20px;font-weight:800;color:var(--ink)}
.acct-head h2 svg{color:var(--brand)}
.acct-head .muted{font-size:12.5px;margin-top:4px}

/* کارت‌های آمار داشبورد کاربر */
.u-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;margin-bottom:8px}
.u-stat{display:flex;align-items:center;gap:13px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px 18px;transition:.2s}
.u-stat:hover{border-color:#e3def7;box-shadow:0 12px 30px -24px rgba(15,16,32,.4)}
.u-stat .us-ic{width:46px;height:46px;border-radius:13px;display:grid;place-items:center;flex-shrink:0}
.u-stat .us-ic.us-brand{background:var(--brand-soft);color:var(--brand)}
.u-stat .us-ic.us-green{background:#e7f8f1;color:#06724b}
.u-stat .us-ic.us-gold{background:#fff5e6;color:#b45309}
.u-stat .us-num{font-size:24px;font-weight:800;color:var(--ink);line-height:1}
.u-stat .us-lbl{font-size:12.5px;color:var(--muted);margin-top:3px}

/* پروفایل کاربر — کارت جزئیات (نمایش) */
.pf-detail{border:1px solid var(--line);border-radius:16px;padding:18px 18px 26px;background:#fff}
.pf-detail-head{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line-2);padding-bottom:14px;font-weight:700;color:var(--ink);font-size:15px}
.pf-edit-link{display:inline-flex;align-items:center;gap:2px;background:none;border:none;cursor:pointer;font-family:inherit;color:var(--brand);font-weight:600;font-size:13.5px;transition:.15s}
.pf-edit-link:hover{color:var(--brand-700)}
.pf-edit-link svg{transition:transform .15s}
.pf-edit-link:hover svg{transform:translateX(-3px)}
.pf-data-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px 18px;margin-top:22px}
.pf-data{display:flex;flex-direction:column;gap:5px;min-width:0}
.pf-data-lbl{font-size:13px;color:var(--muted)}
.pf-data-val{font-size:14px;font-weight:600;color:var(--ink);text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pf-empty{color:var(--muted);font-weight:500}
@media (max-width:900px){.pf-data-grid{grid-template-columns:repeat(3,1fr)}}
@media (max-width:600px){.pf-data-grid{grid-template-columns:repeat(2,1fr);gap:18px 14px}}

/* پروفایل کاربر — فرم ویرایش */
.pf-edit .ac-title{margin-bottom:18px}
.pf-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.pf-field{display:flex;flex-direction:column;gap:6px}
.pf-field-full{grid-column:1 / -1}
.pf-field > label{font-size:13px;font-weight:600;color:var(--ink-2)}
.pf-hint{font-size:11.5px;color:var(--muted);display:inline-flex;align-items:center;gap:5px;min-height:16px}
.pf-hint svg{color:var(--brand)}
.pf-field .form-control.is-ok{border-color:var(--green)}
.pf-field .form-control.is-bad{border-color:var(--accent-2)}
.pf-field .form-control.is-bad + .pf-hint{color:var(--accent-2)}
.pf-date{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:10px}
.pf-tip-label{display:inline-flex;align-items:center;gap:6px}
.pf-tip{position:relative;display:inline-flex;color:var(--brand);cursor:help}
.pf-tip-box{position:absolute;bottom:calc(100% + 8px);right:50%;transform:translateX(50%) scale(.96);width:min(240px,70vw);background:var(--ink);color:#fff;font-size:11.5px;font-weight:500;line-height:1.7;padding:9px 12px;border-radius:10px;box-shadow:0 12px 26px -10px rgba(15,16,32,.5);opacity:0;pointer-events:none;transition:opacity .15s,transform .15s;z-index:20}
.pf-tip-box::after{content:'';position:absolute;top:100%;right:50%;transform:translateX(50%);border:6px solid transparent;border-top-color:var(--ink)}
.pf-tip:hover .pf-tip-box,.pf-tip:focus .pf-tip-box{opacity:1;transform:translateX(50%) scale(1)}
.pf-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}
@media (max-width:600px){
  .pf-grid{grid-template-columns:1fr}
  .pf-actions .btn{flex:1;justify-content:center}
}

.acct-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:22px}
.ac-title{display:flex;align-items:center;gap:7px;font-size:14px;font-weight:800;color:var(--ink);margin-bottom:16px}
.ac-title svg{color:var(--brand)}

.acct-collapse{display:none;margin-bottom:20px}
.acct-collapse.open{display:block;animation:rise .3s both}

.acct-empty{text-align:center;padding:52px 24px;background:#fff;border:1px dashed var(--line);border-radius:16px}
.acct-empty .ico{display:inline-grid;place-items:center;width:70px;height:70px;border-radius:50%;background:var(--brand-soft);color:var(--brand);margin-bottom:14px}
.acct-empty h3{font-size:16px;color:var(--ink);margin-bottom:6px;text-align: center;}
.acct-empty p{color:var(--muted);font-size:13px}

.od-ship-banner{border-color:#bae6fd;background:linear-gradient(135deg,#f0f9ff 0%,#fff 70%);padding:18px 20px}
.od-ship-banner-head{display:flex;align-items:flex-start;gap:12px;margin-bottom:14px}
.od-ship-ico{display:inline-grid;place-items:center;width:42px;height:42px;border-radius:12px;background:#e0f2fe;color:#0284c7;flex-shrink:0}
.od-ship-banner-head p{margin:0;line-height:1.9;font-size:14px;color:var(--ink)}
.od-post-track{padding-top:12px;border-top:1px dashed #bae6fd;text-align:center}
.od-post-track-label{display:block;font-size:12px;margin-bottom:10px}
.od-post-track-code{display:inline-block;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,"Liberation Mono",monospace;font-size:16px;letter-spacing:.5px;color:var(--brand);padding:8px 14px;background:#fff;border:1px solid var(--line);border-radius:10px;margin:0 auto 12px;max-width:100%;word-break:break-all;direction:ltr;unicode-bidi:isolate}
.od-post-track-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px}
.od-post-copy,.od-post-follow{white-space:nowrap}

/* آدرس‌ها */
.addr-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.addr-item{background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px;transition:.2s}
.addr-item:hover{border-color:#e3def7;box-shadow:0 12px 30px -24px rgba(15,16,32,.4)}
.ai-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}
.ai-name{display:inline-flex;align-items:center;gap:6px;font-weight:800;font-size:14px;color:var(--ink)}
.ai-name svg{color:var(--brand)}
.ai-del{width:34px;height:34px;border-radius:10px;border:1px solid var(--line);background:#fff;color:var(--muted);cursor:pointer;display:grid;place-items:center;transition:.2s;flex-shrink:0}
.ai-del:hover{border-color:var(--accent-2);color:var(--accent-2);background:#fff1f2}
.ai-loc{color:var(--ink-2);font-size:13px;font-weight:600;margin-bottom:4px}
.ai-detail{color:var(--ink-2);font-size:13px;line-height:1.9;margin-bottom:12px}
.ai-meta{display:flex;flex-wrap:wrap;gap:10px;padding-top:12px;border-top:1px solid var(--line-2);color:var(--muted);font-size:12px}
.ai-meta span{display:inline-flex;align-items:center;gap:4px}

/* تیکت‌ها (لیست کاربر) */
.tkt-list{display:flex;flex-direction:column;gap:12px}
.tkt-item{display:flex;align-items:center;gap:13px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px 16px;transition:.2s}
.tkt-item:hover{border-color:#e3def7;box-shadow:0 12px 30px -24px rgba(15,16,32,.4);transform:translateY(-2px)}
.tkt-ic{width:42px;height:42px;border-radius:12px;background:var(--brand-soft);color:var(--brand);display:grid;place-items:center;flex-shrink:0}
.tkt-main{flex:1;min-width:0}
.tkt-subject{font-weight:800;font-size:14px;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tkt-date{display:inline-flex;align-items:center;gap:4px;color:var(--muted);font-size:12px;margin-top:4px}
.tkt-go{color:var(--muted);flex-shrink:0}
.tkt-item:hover .tkt-go{color:var(--brand)}

@media (max-width:680px){.addr-grid{grid-template-columns:1fr}}
@media (max-width:480px){
  .acct-head{align-items:stretch}
  .acct-head > .btn{width:100%;justify-content:center}
  .acct-head h2{font-size:18px}
}

/* ===== مدال فرم (افزودن آدرس / تیکت) ===== */
.modal-form{max-width:560px;text-align:right;padding:28px 26px 24px;position:relative;max-height:90vh;overflow:auto}
.modal-form .mf-title{display:flex;align-items:center;gap:8px;font-size:17px;font-weight:800;color:var(--ink);margin-bottom:18px;text-align:right}
.modal-form .mf-title svg{color:var(--brand)}
.modal-form .mf-close{position:absolute;top:14px;left:14px;width:34px;height:34px;border-radius:50%;border:none;background:var(--bg);color:var(--muted);cursor:pointer;display:grid;place-items:center;transition:.2s}
.modal-form .mf-close:hover{background:#ffe3e3;color:#e03131}
.modal-form form{text-align:right}
.modal-form .mf-actions{margin-top:8px}
@media (max-width:560px){.modal-form{padding:22px 18px}}

/* =========================================================
   هدر موبایل — لوگو وسط، آیکن‌ها چپ، همبرگر راست، جستجو پایین
   ========================================================= */
.nav-burger{display:none;width:46px;height:46px;border-radius:14px;background:var(--bg);color:var(--ink-2);border:none;cursor:pointer;align-items:center;justify-content:center;flex-shrink:0;transition:.2s}
.nav-burger:hover{background:var(--brand-soft);color:var(--brand)}

@media (max-width:860px){
  .header-top{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px 10px;padding:12px 0}
  .nav-burger{display:inline-flex;grid-column:1;grid-row:1;justify-self:start}
  .logo{grid-column:2;grid-row:1;justify-content:center;font-size:22px;gap:6px}
  .header-actions{grid-column:3;grid-row:1;justify-self:end;gap:8px}
  .header-actions .admin-link{display:none}
  .header-actions .icon-link{width:42px;height:42px}
  .search-box{grid-column:1 / -1;grid-row:2;max-width:100%;width:100%}
  .ss-wrap{grid-column:1 / -1;grid-row:2;max-width:100%;width:100%;z-index:70}

  /* منوی دسته‌ها به‌صورت کشوی کناری از سمت راست */
  .main-nav{position:fixed;top:0;right:-320px;width:290px;max-width:86vw;height:100vh;height:100dvh;z-index:1300;
            background:#fff;box-shadow:-12px 0 40px -16px rgba(15,16,32,.4);transition:right .3s cubic-bezier(.2,.7,.3,1);
            display:block;border-top:none;overflow-y:auto;padding:0}
  .main-nav.open{right:0}
  .main-nav .container{max-width:none;padding:0}
  .main-nav ul{flex-direction:column;flex-wrap:nowrap;overflow:visible;gap:3px;padding:10px 12px}
  .main-nav li{width:100%}
  .main-nav a{width:100%;border-radius:11px;padding:13px 14px;font-size:14px;color:var(--ink-2)}
  .main-nav a:hover{background:var(--brand-soft);color:var(--brand)}
  .nav-drawer-head{display:flex;align-items:center;justify-content:space-between;padding:16px 16px;border-bottom:1px solid var(--line);position:sticky;top:0;background:#fff;z-index:1}
  .ndh-title{display:inline-flex;align-items:center;gap:8px;font-size:18px;font-weight:800;color:var(--ink)}
  .ndh-title .mark{width:32px;height:32px;border-radius:10px;background:var(--grad);display:grid;place-items:center;color:#fff}
  .ndh-title .ndh-logo{height:44px;width:auto;display:block}
  .ndh-close{width:36px;height:36px;border-radius:50%;border:none;background:var(--bg);color:var(--muted);cursor:pointer;display:grid;place-items:center;transition:.2s}
  .ndh-close:hover{background:#ffe3e3;color:#e03131}
}
/* پس‌زمینهٔ تیرهٔ منوی موبایل */
.nav-backdrop{display:none;position:fixed;inset:0;z-index:1250;background:rgba(15,16,32,.5);backdrop-filter:blur(2px);opacity:0;visibility:hidden;transition:opacity .25s,visibility .25s}
.nav-backdrop.show{display:block;opacity:1;visibility:visible}
/* عناصر کشوی فقط در موبایل دیده می‌شوند */
@media (min-width:861px){ .nav-drawer-head{display:none} }

/* =========================================================
   برندهای محبوب — اسلایدر صفحهٔ اصلی
   ========================================================= */
.hb-section .section-title{margin-bottom:18px}
.hb-wrap{position:relative;padding:0 4px}
.hb-track{display:flex;gap:14px;overflow-x:auto;overflow-y:hidden;padding:6px 2px 14px;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;scrollbar-width:none}
.hb-track::-webkit-scrollbar{display:none}
.hb-card{flex:0 0 118px;width:118px;scroll-snap-align:start;display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center;color:inherit;text-decoration:none;background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px 12px 14px;transition:border-color .22s,box-shadow .22s,transform .22s;position:relative;overflow:hidden}
.hb-card::before{content:"";position:absolute;inset:0 0 auto 0;height:3px;background:var(--grad);transform:scaleX(0);transform-origin:right;transition:transform .25s}
.hb-card:hover{border-color:#e3def7;box-shadow:0 18px 40px -26px rgba(124,58,237,.55);transform:translateY(-4px)}
.hb-card:hover::before{transform:scaleX(1)}
.hb-logo{width:68px;height:68px;border-radius:16px;display:grid;place-items:center;background:var(--bg);overflow:hidden;flex-shrink:0;transition:transform .22s}
.hb-logo img{width:100%;height:100%;object-fit:contain;padding:8px;filter:grayscale(.2);transition:filter .25s}
.hb-card:hover .hb-logo img{filter:grayscale(0)}
.hb-mono{font-size:28px;font-weight:900;color:#fff;background:linear-gradient(135deg,hsl(var(--bh),65%,58%),hsl(var(--bh),70%,46%))}
.hb-card:hover .hb-logo{transform:scale(1.05)}
.hb-name{font-size:12.5px;font-weight:700;color:var(--ink-2);line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;width:100%}
.hb-card:hover .hb-name{color:var(--brand)}
.hb-sub{font-size:10.5px;font-weight:600;color:var(--muted);margin-top:-4px}
.hb-all .hb-all-ic{background:var(--grad-soft);color:var(--brand);border:1px dashed #d8ccf5}
.hb-all:hover .hb-all-ic{background:var(--grad);color:#fff;border-color:transparent}
.hb-all .hb-name{color:var(--brand)}
.hb-nav{position:absolute;top:50%;transform:translateY(-50%);width:36px;height:36px;border-radius:50%;border:1px solid var(--line);background:#fff;color:var(--brand);box-shadow:0 6px 16px -8px rgba(15,23,42,.35);cursor:pointer;display:grid;place-items:center;z-index:2;transition:transform .15s,opacity .15s}
.hb-nav:hover{transform:translateY(-50%) scale(1.08)}
.hb-nav-next{left:0}
.hb-nav-prev{right:0}
.hb-nav-prev svg{transform:rotate(180deg)}
.hb-nav.is-off{opacity:0;pointer-events:none}
@media (max-width:640px){
  .hb-wrap{padding:0}
  .hb-nav{display:none}
  .hb-card{flex:0 0 104px;width:104px;padding:14px 10px 12px}
  .hb-logo{width:58px;height:58px;border-radius:14px}
  .hb-name{font-size:11.5px}
}

/* صفحهٔ همهٔ برندها */
.brand-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:16px;margin-bottom:10px}
.brand-card{display:flex;flex-direction:column;align-items:center;gap:10px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:22px 14px;transition:.22s;position:relative;overflow:hidden;text-decoration:none;color:inherit}
.brand-card::before{content:"";position:absolute;inset:0 0 auto 0;height:3px;background:var(--grad);transform:scaleX(0);transform-origin:right;transition:transform .25s}
.brand-card:hover{border-color:#e3def7;box-shadow:0 18px 40px -26px rgba(124,58,237,.55);transform:translateY(-4px)}
.brand-card:hover::before{transform:scaleX(1)}
.bc-logo{width:72px;height:72px;border-radius:16px;display:grid;place-items:center;background:var(--bg);overflow:hidden;flex-shrink:0;transition:.22s}
.bc-logo img{width:100%;height:100%;object-fit:contain;padding:8px;filter:grayscale(.2);transition:filter .25s}
.brand-card:hover .bc-logo img{filter:grayscale(0)}
.bc-mono{font-size:28px;font-weight:900;color:#fff;background:linear-gradient(135deg,hsl(var(--bh),65%,58%),hsl(var(--bh),70%,46%))}
.brand-card:hover .bc-logo{transform:scale(1.05)}
.bc-name{font-size:13px;font-weight:700;color:var(--ink-2);text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.brand-card:hover .bc-name{color:var(--brand)}
.bc-count{font-size:11px;font-weight:600;color:var(--muted)}
@media (max-width:992px){.brand-grid{grid-template-columns:repeat(4,1fr)}}
@media (max-width:560px){.brand-grid{grid-template-columns:repeat(3,1fr);gap:10px}.bc-logo{width:58px;height:58px}.bc-name{font-size:12px}}
@media (max-width:360px){.brand-grid{grid-template-columns:repeat(2,1fr)}}


/* =========================================================
   اسلایدر پیشنهاد شگفت‌انگیز روز (پنل قرمز)
   ========================================================= */
.amz-dk { position: relative; display: flex; gap: 6px; background: linear-gradient(165deg, #ff4d5e, #e11226 70%); border-radius: 18px; padding: 14px; box-shadow: 0 22px 46px -26px rgba(225,18,38,.7); overflow: hidden; }
.amz-dk::before { content: ""; position: absolute; inset: 0; background: radial-gradient(circle at 92% 0, rgba(255,255,255,.16), transparent 40%); pointer-events: none; }

/* بنر کناری (سمت راست) */
.amz-side { flex: 0 0 152px; position: relative; z-index: 1; display: flex; flex-direction: column; align-items: center; justify-content: space-between; text-align: center; color: #fff; padding: 6px 6px 4px; gap: 10px; }
.amz-title { font-size: 21px; font-weight: 900; line-height: 1.35; }
.amz-title span { display: block; color: #ffd21e; }
.amz-timer { display: inline-flex; align-items: center; gap: 4px; direction: ltr; }
.amz-timer b { font-family: inherit; font-weight: 800; font-size: 14px; background: rgba(0,0,0,.42); color: #fff; border-radius: 8px; padding: 5px 6px; min-width: 30px; text-align: center; font-variant-numeric: tabular-nums; }
.amz-timer i { font-weight: 800; opacity: .75; font-style: normal; }
.amz-pct { font-size: 54px; font-weight: 900; line-height: .8; color: #fff; align-self: center; margin: 2px 0; text-shadow: 0 3px 8px rgba(0,0,0,.18); }
.amz-all { color: #fff; font-weight: 800; font-size: 12.5px; display: inline-flex; align-items: center; gap: 3px; transition: opacity .15s; }
.amz-all:hover { opacity: .82; }

/* ریل محصولات */
.amz-track { flex: 1; min-width: 0; position: relative; z-index: 1; display: flex; gap: 10px; overflow-x: auto; overflow-y: hidden; padding: 2px; scroll-snap-type: x proximity; -webkit-overflow-scrolling: touch; scrollbar-width: none; }
.amz-track::-webkit-scrollbar { display: none; }
.amz-track .product-card { width: 160px; flex: 0 0 160px; background: #fff; scroll-snap-align: start; margin: 0; }

/* کارت اختصاصی پیشنهاد شگفت‌انگیز */
.amz-track .amz-card { width: 170px; flex: 0 0 170px; scroll-snap-align: start; display: flex; flex-direction: column; background: linear-gradient(180deg, #fff 52%, #fff0f2); border-radius: 14px; overflow: hidden; box-shadow: 0 8px 18px -12px rgba(0,0,0,.3); transition: transform .15s, box-shadow .15s; }
.amz-track .amz-card:hover { transform: translateY(-3px); box-shadow: 0 16px 28px -14px rgba(0,0,0,.4); }
.amz-card-thumb { display: block; aspect-ratio: 1/1; background: #fff; overflow: hidden; }
.amz-card-thumb img { width: 100%; height: 100%; object-fit: contain; padding: 8px; }
.amz-card-title { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; padding: 8px 10px 2px; font-size: 12.5px; font-weight: 600; color: var(--ink); line-height: 1.6; min-height: 40px; text-align: center; }
.amz-card-foot { margin-top: auto; padding: 4px 10px 12px; display: flex; flex-direction: column; align-items: center; gap: 5px; }
.amz-card-old { display: inline-flex; align-items: center; gap: 6px; }
.amz-off { background: #e11226; color: #fff; font-weight: 800; font-size: 11px; border-radius: 7px; padding: 2px 7px; }
.amz-oldprice { color: var(--muted); text-decoration: line-through; font-size: 12px; }
.amz-card-price { display: inline-flex; align-items: center; justify-content: center; gap: 3px; font-weight: 800; font-size: 15px; color: var(--ink); }
.amz-card-price small { font-weight: 500; color: var(--muted); font-size: 11px; }
.amz-card-un { color: var(--muted); font-size: 13px; padding: 8px 0; }

/* دکمه‌های ناوبری شناور */
.amz-nav { position: absolute; top: 50%; transform: translateY(-50%); width: 36px; height: 36px; border-radius: 50%; border: none; background: #fff; color: #e11226; box-shadow: 0 6px 16px -6px rgba(0,0,0,.45); cursor: pointer; display: grid; place-items: center; z-index: 4; transition: transform .15s, opacity .15s; }
.amz-nav:hover { transform: translateY(-50%) scale(1.09); }
.amz-nav-next { left: 8px; }
.amz-nav-prev { right: calc(152px + 20px); }
.amz-nav-prev svg { transform: rotate(180deg); }
.amz-nav.is-off { opacity: 0; pointer-events: none; }

@media (max-width: 640px) {
  .amz-dk { flex-direction: column; gap: 12px; padding: 12px; }
  .amz-side { flex-basis: auto; flex-direction: row; flex-wrap: wrap; align-items: center; justify-content: flex-start; width: 100%; padding: 0; gap: 8px 12px; }
  .amz-title { font-size: 16px; line-height: 1.3; }
  .amz-title span { display: inline; }
  .amz-pct { display: none; }
  .amz-all { margin-inline-start: auto; }
  .amz-nav { display: none; }
  .amz-track { width: 100%; }
  .amz-track .product-card { width: 150px; flex-basis: 150px; }
  .amz-track .amz-card { width: 150px; flex-basis: 150px; }
}


/* =========================================================
   منوی مدیریت‌شده — نوار تیره + مگامنوی نوار‌کناری (سبک خانومی)
   ========================================================= */
.main-nav .nav-caret { display: inline-flex; opacity: .7; margin-inline-start: 1px; }

/* ریست: جلوگیری از نشت قوانین نوار (.main-nav ul / .main-nav a) به داخل پنل‌ها */
.main-nav .mega2 ul, .main-nav .mega2-side { display: block; gap: 0; padding: 0; margin: 0; flex-wrap: nowrap; list-style: none; }
.main-nav .mega2 li, .main-nav .mega2-cat { display: block; width: auto; }

/* محتوای مگامنو (مشترک) — با پیشوند .main-nav برای غلبه بر قوانین پایه */
.main-nav .m2c-link { display: flex; align-items: center; gap: 11px; color: var(--ink-2); font-size: 13px; padding: 0; border-radius: 0; font-weight: 500; width: auto; }
.main-nav .m2c-ic { display: inline-flex; align-items: center; justify-content: center; width: 30px; height: 30px; border-radius: 9px; color: var(--brand); flex-shrink: 0; padding: 0; }
.main-nav .m2c-name { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.main-nav .m2c-arr { display: inline-flex; color: var(--muted); opacity: 0; transition: opacity .15s, transform .15s; }
.main-nav .m2-all { display: inline-flex; align-items: center; gap: 6px; color: var(--brand); font-weight: 700; font-size: 13px; padding: 0; border-radius: 0; width: auto; }
.main-nav .m2-col-head { display: block; font-weight: 800; font-size: 13px; color: var(--ink); border-inline-start: 2px solid var(--brand); padding: 0; padding-inline-start: 8px; width: auto; border-radius: 0; }
.main-nav a.m2-col-head:hover { color: var(--brand); background: transparent; }
.main-nav .m2-link { display: block; font-size: 12.6px; color: var(--muted); line-height: 1.95; padding: 0; padding-inline-start: 10px; width: auto; border-radius: 0; }
.main-nav .m2-link:hover { color: var(--brand); background: transparent; }
.main-nav .drop-panel { list-style: none; }
.main-nav .drop-panel a { display: flex; align-items: center; gap: 8px; }

@media (min-width: 861px) {
  /* نوار تیره — فقط آیتم‌های مستقیمِ نوار */
  .main-nav { position: relative; background: #232330; border-top: none; }
  .main-nav .container > ul { gap: 0; padding: 0; align-items: stretch; min-height: 46px; flex-wrap: nowrap; }
  .main-nav .container > ul > li { display: flex; align-items: stretch; }
  .main-nav .container > ul > li > a { color: #e9e9f1; font-weight: 600; font-size: 13.5px; border-radius: 0; padding: 0 16px; height: 46px; display: flex; align-items: center; gap: 7px; white-space: nowrap; }
  .main-nav .container > ul > li > a:hover { background: rgba(255,255,255,.09); color: #fff; }
  .main-nav .nav-mega-trigger { background: var(--grad); color: #fff !important; font-weight: 700; }
  .main-nav .nav-mega-trigger:hover { background: var(--grad); filter: brightness(1.07); }

  .main-nav .nav-has-panel { position: static; }
  .main-nav .nav-drop { position: relative; }

  /* پنل کشویی ساده */
  .main-nav .drop-panel { position: absolute; z-index: 200; top: 100%; right: 0; min-width: 232px; background: #fff; border: 1px solid var(--line); box-shadow: 0 22px 46px -22px rgba(15,16,32,.42); border-radius: 14px; padding: 8px; display: flex; flex-direction: column; gap: 2px; opacity: 0; visibility: hidden; transform: translateY(10px); transition: opacity .2s, transform .2s, visibility .2s; }
  .main-nav .drop-panel a { padding: 10px 12px; border-radius: 10px; font-size: 13px; color: var(--ink-2); font-weight: 600; width: auto; }
  .main-nav .drop-panel a:hover { background: var(--brand-soft); color: var(--brand); }
  .main-nav .nav-drop:hover > .drop-panel { opacity: 1; visibility: visible; transform: translateY(0); }
  .main-nav .nav-drop:hover > a .nav-caret svg { transform: rotate(180deg); transition: transform .2s; }

  /* زیر‌منوی تودرتوی منوی ساده */
  .main-nav .nav-drop-nested { position: relative; }
  .main-nav .nav-drop-nested > a { justify-content: space-between; }
  .main-nav .nav-drop-nested > a .nav-caret { margin-inline-start: auto; display: inline-flex; }
  .main-nav .drop-panel-nested { top: 0; right: calc(100% + 4px); left: auto; transform: translateX(8px); }
  .main-nav .nav-drop-nested:hover > .drop-panel-nested { opacity: 1; visibility: visible; transform: translateX(0); }
  .main-nav .nav-drop-nested:hover > a .nav-caret svg { transform: none; }

  /* مگامنوی نوار‌کناری */
  .main-nav .mega2 { position: absolute; z-index: 200; top: 100%; left: 0; right: 0; background: #fff; box-shadow: 0 30px 60px -28px rgba(15,16,32,.5); border-radius: 0 0 18px 18px; overflow: hidden; opacity: 0; visibility: hidden; transform: translateY(10px); transition: opacity .22s, transform .22s, visibility .22s; }
  .main-nav .nav-mega:hover .mega2 { opacity: 1; visibility: visible; transform: translateY(0); }
  .main-nav .nav-mega:hover > a .nav-caret svg { transform: rotate(180deg); transition: transform .2s; }
  .main-nav .mega2-inner { position: relative; padding: 0; }
  .main-nav .mega2-side { width: 250px; padding: 14px 0; background: #f5f5f8; min-height: 384px; }
  .main-nav .mega2-cat { width: 250px; }
  .main-nav .mega2-cat > .m2c-link { padding: 11px 16px; width: 100%; color: #000; border-inline-start: 3px solid transparent; transition: background .15s, border-color .15s, color .15s; }
  .main-nav .mega2-cat:hover > .m2c-link,
  .main-nav .mega2-side:not(:hover) .mega2-cat.active > .m2c-link { width: 100%; background: #fff; border-inline-start-color: var(--brand); color: var(--ink); font-weight: 700; }
  .main-nav .mega2-cat:hover .m2c-arr { opacity: 1; transform: translateX(-3px); }
  .main-nav .mega2-cat:hover .m2c-ic { color: var(--brand); }

  .main-nav .mega2-panel { position: absolute; top: 0; bottom: 0; right: 250px; left: 0; background: #fff; padding: 22px 28px; overflow-y: auto; display: none; }
  .main-nav .mega2-cat:hover > .mega2-panel,
  .main-nav .mega2-side:not(:hover) .mega2-cat.active > .mega2-panel { display: block; }
  .main-nav .m2-all { margin-bottom: 16px; }
  .main-nav .m2-all svg { transition: transform .15s; }
  .main-nav .m2-all:hover svg { transform: translateX(-3px); }
  .main-nav .m2-cols { display: flex; flex-wrap: wrap; gap: 22px 0; }
  .main-nav .m2-col { min-width: 176px; max-width: 200px; display: flex; flex-direction: column; gap: 7px; padding-inline-end: 20px; }
  .main-nav .m2-col-head { line-height: 1.6; margin-bottom: 2px; }
}

@media (max-width: 860px) {
  .main-nav .nav-has-panel > a { justify-content: space-between; }
  .main-nav .mega2, .main-nav .drop-panel { display: none; padding: 0 0 4px; margin: 0; }
  .main-nav .nav-has-panel.li-open > .mega2, .main-nav .nav-has-panel.li-open > .drop-panel { display: block; }
  .main-nav .nav-has-panel.li-open > a .nav-caret svg { transform: rotate(180deg); }
  .main-nav .drop-panel a { padding: 10px 42px; font-size: 13px; width: 100%; }
  .main-nav .drop-panel-nested a { padding-inline-start: 58px; }
  .main-nav .nav-drop-nested > a .nav-caret svg { transform: rotate(90deg); }
  .main-nav .nav-drop-nested.li-open > a .nav-caret svg { transform: rotate(-90deg); }

  .main-nav .mega2-inner { padding: 0; max-width: none; }
  .main-nav .mega2-side { width: 100%; padding: 0; background: transparent; min-height: 0; }
  .main-nav .mega2-cat { width: 100%; }
  .main-nav .mega2-cat > .m2c-link { padding: 11px 26px; width: 100%; }
  .main-nav .mega2-cat .m2c-arr { opacity: .6; }
  .main-nav .mega2-cat.open .m2c-arr svg { transform: rotate(-90deg); }
  .main-nav .mega2-panel { position: static; display: none; padding: 0 0 6px; background: transparent; }
  .main-nav .mega2-cat.open > .mega2-panel { display: block; }
  .main-nav .m2-all { padding: 8px 38px; margin: 0; width: 100%; }
  .main-nav .m2-cols { display: block; }
  .main-nav .m2-col { padding: 6px 0; min-width: 0; max-width: none; }
  .main-nav .m2-col-head { padding: 8px 44px; border: none; width: 100%; }
  .main-nav .m2-link { padding: 7px 56px; font-size: 13px; width: 100%; }
}


/* =========================================================
   علاقه‌مندی‌ها (Wishlist) + دکمهٔ قلب
   ========================================================= */
/* حالت فعالِ قلب روی کارت محصول و صفحهٔ محصول */
.pc-fav.is-fav { color: var(--accent-2); }
.pc-fav.is-fav svg { fill: var(--accent-2); }
.pdp-fav { flex: 0 0 auto; width: 52px; padding: 0; display: grid; place-items: center; }
.pdp-fav.is-fav { color: var(--accent-2); border-color: var(--accent-2); background: #fff5f6; }
.pdp-fav.is-fav svg { fill: var(--accent-2); }

/* سرصفحه */
.fav-head { margin-bottom: 18px; }
.fav-head-info { display: flex; align-items: center; gap: 13px; }
.fav-head-ic { display: grid; place-items: center; width: 52px; height: 52px; border-radius: 16px; background: #ffe1e6; color: var(--accent-2); flex-shrink: 0; }
.fav-head h1 { font-size: 22px; margin: 0 0 3px; }
.fav-head p { margin: 0; font-size: 13px; }

/* نوار ابزار: جستجو + مرتب‌سازی */
.fav-toolbar { display: flex; gap: 12px; flex-wrap: wrap; margin-bottom: 18px; }
.fav-search { flex: 1; min-width: 200px; display: flex; align-items: center; gap: 9px; background: #fff; border: 1.5px solid var(--line); border-radius: 13px; padding: 0 14px; transition: border-color .15s; }
.fav-search:focus-within { border-color: var(--brand); }
.fav-search svg { color: var(--muted); flex-shrink: 0; }
.fav-search input { flex: 1; border: none; outline: none; background: transparent; padding: 13px 0; font-family: inherit; font-size: 13.5px; color: var(--ink); }
.fav-sort { display: flex; align-items: center; gap: 8px; background: #fff; border: 1.5px solid var(--line); border-radius: 13px; padding: 0 14px; color: var(--muted); }
.fav-sort select { border: none; outline: none; background: transparent; padding: 13px 4px; font-family: inherit; font-size: 13.5px; color: var(--ink); cursor: pointer; }

/* شبکهٔ کارت‌ها */
.fav-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 16px; }
.fav-card { position: relative; transition: opacity .25s, transform .25s; }
.fav-card.removing { opacity: 0; transform: scale(.9); }
.fav-card .fav-view { margin-top: 10px; }
.fav-remove {
    position: absolute; top: 10px; left: 10px; z-index: 3;
    width: 38px; height: 38px; border-radius: 12px; border: none; cursor: pointer;
    display: grid; place-items: center; color: var(--accent-2); background: #fff;
    box-shadow: 0 6px 16px -8px rgba(15,16,32,.4); transition: transform .15s, background .15s;
}
.fav-remove svg { fill: var(--accent-2); }
.fav-remove:hover { transform: scale(1.1); background: var(--accent-2); color: #fff; }
.fav-remove:hover svg { fill: #fff; }

/* حالت بدون نتیجه / خالی */
.fav-noresult, .fav-empty { text-align: center; padding: 40px 20px; color: var(--muted); }
.fav-noresult svg, .fav-empty .fe-ic { color: var(--line); }
.fav-empty { display: flex; flex-direction: column; align-items: center; }
.fav-empty .fe-ic { display: grid; place-items: center; width: 92px; height: 92px; border-radius: 28px; background: #ffe1e6; color: var(--accent-2); margin-bottom: 14px; }
.fav-empty h3 { margin: 0 0 8px; font-size: 18px; color: var(--ink); }

/* صفحه‌بندی علاقه‌مندی‌ها */
.fav-pagination { display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; margin: 30px 0 8px; }
.fav-page-btn {
    min-width: 42px; padding: 10px 15px; border: 1.5px solid var(--line); border-radius: 13px;
    background: #fff; font-weight: 700; font-family: inherit; color: var(--ink);
    cursor: pointer; transition: .2s; text-align: center;
}
.fav-page-btn:hover:not(:disabled):not(.active) { border-color: var(--brand); color: var(--brand); transform: translateY(-2px); }
.fav-page-btn.active { background: var(--brand); color: #fff; border-color: var(--brand); cursor: default; }
.fav-page-btn:disabled { opacity: .45; cursor: not-allowed; }

@media (max-width: 560px) {
  .fav-grid { grid-template-columns: repeat(2, 1fr); gap: 12px; }
  .fav-page-btn { min-width: 38px; padding: 9px 12px; }
}


/* =========================================================
   منوی کشویی حساب کاربری در هدر
   ========================================================= */
.user-menu { position: relative; display: inline-flex; }
.user-dd {
    position: absolute; top: calc(100% + 10px); left: 0; width: 244px;
    background: #fff; border: 1px solid var(--line); border-radius: 16px;
    box-shadow: 0 24px 50px -22px rgba(15,16,32,.42); padding: 8px;
    opacity: 0; visibility: hidden; transform: translateY(8px);
    transition: opacity .2s, transform .2s, visibility .2s; z-index: 200;
}
.user-menu:hover .user-dd, .user-menu.open .user-dd { opacity: 1; visibility: visible; transform: translateY(0); }
.udd-head { display: flex; align-items: center; gap: 11px; padding: 10px 10px 12px; border-bottom: 1px solid var(--line); margin-bottom: 6px; }
.udd-av { width: 44px; height: 44px; border-radius: 13px; background: var(--grad); color: #fff; display: grid; place-items: center; flex-shrink: 0; }
.udd-id { min-width: 0; }
.udd-id strong { display: block; font-size: 13.5px; color: var(--ink); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.udd-id span { font-size: 12px; color: var(--muted); }
.user-dd ul { list-style: none; margin: 0; padding: 0; }
.user-dd li a { display: flex; align-items: center; gap: 9px; padding: 10px 11px; border-radius: 11px; font-size: 13px; color: var(--ink-2); font-weight: 600; transition: background .15s, color .15s; }
.user-dd li a:hover { background: var(--brand-soft); color: var(--brand); }
.user-dd .udd-sep { border-top: 1px solid var(--line); margin-top: 6px; padding-top: 6px; }
.user-dd .udd-sep a { color: var(--accent-2); }
.user-dd .udd-sep a:hover { background: #ffe1e6; color: var(--accent-2); }


/* =========================================================
   فرایند خرید چندمرحله‌ای (آدرس، ارسال، پرداخت)
   ========================================================= */
.steps .bar.done { background: var(--brand); }

/* آدرس انتخاب‌شده (مرحله ۲) */
.sel-addr { display: flex; align-items: flex-start; gap: 12px; background: var(--bg); border: 1px solid var(--line); border-radius: 14px; padding: 14px; }
.sel-addr .sa-ic { width: 44px; height: 44px; border-radius: 13px; background: var(--brand-soft); color: var(--brand); display: grid; place-items: center; flex-shrink: 0; }
.sa-body { flex: 1; min-width: 0; }
.sa-name { font-size: 13.5px; font-weight: 800; color: var(--brand-700); margin-bottom: 5px; display: flex; align-items: center; gap: 5px; }
.sa-text { font-size: 13.5px; line-height: 1.95; color: var(--ink); }
.sa-owner { font-size: 12.5px; color: var(--muted); margin-top: 5px; display: flex; align-items: center; gap: 5px; }
.sel-addr .btn { flex-shrink: 0; align-self: center; }

/* مدال آدرس‌ها */
.addr-modal { max-width: 540px; width: 100%; text-align: right; max-height: 88vh; overflow-y: auto; }
.am-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 16px; }
.am-head h3 { margin: 0; font-size: 18px; }
.am-close { width: 34px; height: 34px; border: none; background: var(--bg); border-radius: 10px; color: var(--muted); cursor: pointer; display: grid; place-items: center; }
.am-close:hover { background: #ffe1e6; color: var(--accent-2); }
.am-add-btn { width: 100%; display: flex; align-items: center; justify-content: center; gap: 8px; padding: 14px; border: 1.5px dashed var(--brand); background: var(--brand-softer); color: var(--brand); border-radius: 13px; font-weight: 700; font-size: 14px; cursor: pointer; font-family: inherit; margin-bottom: 14px; transition: background .15s; }
.am-add-btn:hover { background: var(--brand-soft); }
.am-addrs { display: flex; flex-direction: column; gap: 10px; }
.am-addr { display: flex; align-items: flex-start; gap: 11px; padding: 14px; border: 1.5px solid var(--line); border-radius: 14px; cursor: pointer; transition: border-color .15s, background .15s; position: relative; }
.am-addr:hover { border-color: var(--brand); }
.am-addr.selected { border-color: var(--brand); background: var(--brand-softer); }
.am-addr > input { position: absolute; opacity: 0; pointer-events: none; }
.am-radio { width: 20px; height: 20px; border-radius: 50%; border: 2px solid var(--line); flex-shrink: 0; margin-top: 2px; position: relative; transition: border-color .15s; }
.am-addr.selected .am-radio { border-color: var(--brand); }
.am-addr.selected .am-radio::after { content: ''; position: absolute; inset: 3px; border-radius: 50%; background: var(--brand); }
.am-body { flex: 1; min-width: 0; }
.am-name { font-size: 13px; font-weight: 800; color: var(--brand-700); margin-bottom: 4px; display: flex; align-items: center; gap: 5px; }
.am-name svg { flex-shrink: 0; }
.am-text { font-size: 13px; line-height: 1.85; color: var(--ink); }
.am-owner { font-size: 12px; color: var(--muted); margin-top: 4px; display: flex; align-items: center; gap: 4px; }
.am-edit { background: none; border: none; color: var(--brand); font-weight: 700; font-size: 12.5px; cursor: pointer; font-family: inherit; display: inline-flex; align-items: center; gap: 4px; flex-shrink: 0; align-self: flex-start; }
.am-edit:hover { text-decoration: underline; }
#amForm .form-row-3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.am-check { display: flex; align-items: center; gap: 8px; margin: 10px 0; font-size: 13px; cursor: pointer; color: var(--ink-2); }
.am-check input { width: 17px; height: 17px; accent-color: var(--brand); }
.am-form-actions { display: flex; gap: 10px; justify-content: flex-end; margin-top: 10px; }

/* خلاصهٔ سفارش (مرحله ۳) */
.os-section { padding: 13px 0; border-bottom: 1px solid var(--line); }
.os-section:last-child { border-bottom: none; }
.os-label { font-size: 12.5px; font-weight: 700; color: var(--muted); display: flex; align-items: center; gap: 6px; margin-bottom: 8px; }
.os-addr { font-size: 13px; line-height: 1.95; }
.os-ship { font-size: 13px; font-weight: 600; }
.os-items { display: flex; flex-direction: column; gap: 11px; }
.os-item { display: flex; align-items: center; gap: 11px; }
.os-item img { width: 56px; height: 56px; border-radius: 12px; object-fit: cover; border: 1px solid var(--line); flex-shrink: 0; }
.oi-main { flex: 1; min-width: 0; }
.oi-title { font-size: 13px; font-weight: 600; }
.oi-meta { font-size: 11.5px; color: var(--muted); margin-top: 3px; }
.oi-variant { color: var(--brand); }
.oi-meta { font-size: 11.5px; color: var(--muted); margin-top: 3px; }
.cr-variant { color: var(--brand); font-weight: 600; font-size: .92em; }
.mp-variant { color: var(--brand); font-weight: 600; font-size: .9em; }
.mp-qty { font-size: 12.5px; color: var(--muted); margin-top: 4px; }
.os-notes { font-size: 13px; line-height: 1.95; color: var(--ink-2); background: var(--bg); border-radius: 10px; padding: 10px 12px; }
.oi-price { font-weight: 800; white-space: nowrap; font-size: 13px; }

@media (max-width: 560px) {
  #amForm .form-row-3 { grid-template-columns: 1fr; }
  .sel-addr { flex-wrap: wrap; }
  .sel-addr .btn { width: 100%; }
}


/* ---------- انبارداری: رزرو/قابل‌فروش ---------- */
.inv-meta { display: flex; flex-direction: column; gap: 3px; font-size: 12px; }
.inv-meta .im-res { color: var(--gold); display: inline-flex; align-items: center; gap: 4px; }
.inv-meta .im-sell { color: var(--green); font-weight: 600; }
.inv-meta b { font-weight: 800; }

/* ==================== گردونهٔ شانس ==================== */
.spin-wrap{display:flex;flex-direction:column;gap:18px}
.spin-head{display:flex;justify-content:space-between;align-items:center;gap:16px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px 20px;flex-wrap:wrap}
.spin-chances{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:120px;padding:10px 18px;border-radius:14px;background:var(--grad);color:#fff;box-shadow:0 8px 20px -8px rgba(124,58,237,.6)}
.spin-chances .sc-num{font-size:30px;font-weight:800;line-height:1}
.spin-chances .sc-label{font-size:12px;opacity:.9;margin-top:2px}

.spin-stage{background:linear-gradient(160deg,#1e1b3a,#2d2456 55%,#3b2a63);border:1px solid rgba(255,255,255,.08);border-radius:24px;padding:34px 20px 30px;display:flex;flex-direction:column;align-items:center;gap:22px;position:relative;overflow:hidden}
.spin-stage::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 50% 12%,rgba(168,85,247,.35),transparent 55%);pointer-events:none}
.spin-stage::after{content:'';position:absolute;inset:0;pointer-events:none;opacity:.7;background-image:radial-gradient(1.4px 1.4px at 20% 30%,rgba(255,255,255,.6),transparent),radial-gradient(1.4px 1.4px at 75% 20%,rgba(255,255,255,.5),transparent),radial-gradient(1.2px 1.2px at 60% 72%,rgba(255,255,255,.4),transparent),radial-gradient(1.6px 1.6px at 35% 82%,rgba(255,255,255,.35),transparent),radial-gradient(1.2px 1.2px at 88% 60%,rgba(255,255,255,.35),transparent)}
.spin-disabled{min-height:240px;justify-content:center;background:#fff;border:1px solid var(--line)}
.spin-disabled::before,.spin-disabled::after{display:none}
.spin-empty{text-align:center;color:var(--muted)}
.spin-empty svg{color:#cbd5e1;margin-bottom:10px}
.spin-empty p{margin:0;font-size:14px}

.wheel-box{position:relative;width:min(360px,100%);aspect-ratio:1/1;margin-inline:auto;z-index:1}

/* هالهٔ نورانی پشت گردونه */
.wheel-glow{position:absolute;inset:-16%;border-radius:50%;background:radial-gradient(circle,rgba(168,85,247,.55),rgba(236,72,153,.25) 45%,transparent 70%);filter:blur(18px);z-index:0;animation:wheelGlow 4s ease-in-out infinite}
@keyframes wheelGlow{0%,100%{opacity:.6;transform:scale(1)}50%{opacity:1;transform:scale(1.06)}}

/* قاب فلزی دور گردونه (ثابت) */
.wheel-frame{position:absolute;inset:-3.5%;border-radius:50%;z-index:3;background:conic-gradient(from 0deg,#4a3a7a,#7c3aed,#c084fc,#7c3aed,#4a3a7a);box-shadow:0 0 0 2px rgba(255,255,255,.15),0 22px 55px -14px rgba(0,0,0,.7),inset 0 2px 6px rgba(255,255,255,.4);pointer-events:none}
.wheel-frame::after{content:'';position:absolute;inset:5%;border-radius:50%;background:#151228}

/* لامپ‌های چشمک‌زن (ثابت روی قاب) — چیدمان درصدی و کاملاً واکنش‌گرا */
.wheel-bulbs{position:absolute;inset:0;z-index:4;pointer-events:none}
.wheel-bulbs i{position:absolute;inset:0;transform:rotate(var(--a))}
.wheel-bulbs i::before{content:'';position:absolute;top:-4px;left:50%;width:9px;height:9px;margin-left:-4.5px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff,#fde68a 50%,#f59e0b);box-shadow:0 0 8px 2px rgba(253,224,71,.85);animation:bulbBlink 1.1s ease-in-out infinite;animation-delay:calc(var(--i) * .11s)}
@keyframes bulbBlink{0%,100%{opacity:1}50%{opacity:.25}}
.wheel-box.is-spinning .wheel-bulbs i::before{animation-duration:.34s}

/* گردونهٔ چرخان (SVG) */
.wheel{position:absolute;inset:5%;border-radius:50%;z-index:5;will-change:transform;filter:drop-shadow(0 10px 24px rgba(0,0,0,.45))}
.wheel-svg{width:100%;height:100%;display:block;border-radius:50%}
.wheel-labels{position:absolute;inset:0;pointer-events:none}
.wheel-label{position:absolute;inset:0;display:flex;justify-content:center}
.wheel-label span{display:block;margin-top:11%;max-width:38%;color:#fff;font-size:clamp(10px,3vw,13px);font-weight:800;text-align:center;text-shadow:0 1px 3px rgba(0,0,0,.6);line-height:1.2}
.wheel-pegs{position:absolute;inset:0;pointer-events:none}
.wheel-peg{position:absolute;inset:0;transform:rotate(var(--a))}
.wheel-peg::before{content:'';position:absolute;top:-2px;left:50%;width:10px;height:10px;margin-left:-5px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff,#e2e8f0 55%,#94a3b8);box-shadow:0 1px 3px rgba(0,0,0,.45)}

/* فلَپِر / اشاره‌گر بالا */
.wheel-pointer{position:absolute;top:-6px;left:50%;width:32px;height:44px;z-index:9;transform-origin:50% 16%;transform:translateX(-50%);filter:drop-shadow(0 5px 8px rgba(0,0,0,.5))}
.wheel-pointer::before{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#fff 0%,#fde68a 45%,#f59e0b 100%);clip-path:polygon(50% 100%,0 0,100% 0);border-radius:5px}
.wheel-pointer::after{content:'';position:absolute;top:5px;left:50%;transform:translateX(-50%);width:13px;height:13px;border-radius:50%;background:#fff;box-shadow:inset 0 0 0 3px #f59e0b}
.wheel-pointer.flap{animation:flap .16s ease-out}
@keyframes flap{0%{transform:translateX(-50%) rotate(0)}35%{transform:translateX(-50%) rotate(16deg)}100%{transform:translateX(-50%) rotate(0)}}

/* دکمهٔ مرکزی (SPIN) */
.wheel-hub{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:88px;height:88px;border-radius:50%;border:none;background:radial-gradient(circle at 38% 30%,#fff,#e9d5ff 28%,#a855f7 66%,#7c3aed);color:#fff;font-weight:900;font-size:15px;cursor:pointer;z-index:10;display:grid;place-items:center;line-height:1.05;box-shadow:0 12px 26px -6px rgba(124,58,237,.9),inset 0 3px 10px rgba(255,255,255,.65),inset 0 -7px 13px rgba(76,29,149,.5),0 0 0 5px #fff,0 0 0 7px rgba(124,58,237,.35);transition:transform .15s}
.wheel-hub:hover:not(:disabled){transform:translate(-50%,-50%) scale(1.06)}
.wheel-hub:active:not(:disabled){transform:translate(-50%,-50%) scale(.95)}
.wheel-hub:not(:disabled){animation:hubPulse 1.8s ease-in-out infinite}
.wheel-box.is-spinning .wheel-hub{animation:none}
@keyframes hubPulse{0%,100%{box-shadow:0 12px 26px -6px rgba(124,58,237,.9),inset 0 3px 10px rgba(255,255,255,.65),inset 0 -7px 13px rgba(76,29,149,.5),0 0 0 5px #fff,0 0 0 7px rgba(124,58,237,.4)}50%{box-shadow:0 12px 26px -6px rgba(124,58,237,.9),inset 0 3px 10px rgba(255,255,255,.65),inset 0 -7px 13px rgba(76,29,149,.5),0 0 0 5px #fff,0 0 0 14px rgba(124,58,237,0)}}
.wheel-hub:disabled{background:radial-gradient(circle at 38% 30%,#e2e8f0,#94a3b8);cursor:not-allowed;font-size:12px;box-shadow:0 6px 14px -6px rgba(0,0,0,.4),0 0 0 5px #fff}

/* دکمهٔ صدا */
.spin-sound{position:absolute;top:14px;left:14px;z-index:11;width:40px;height:40px;border-radius:12px;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.1);color:#fff;cursor:pointer;display:grid;place-items:center;backdrop-filter:blur(6px);transition:background .15s}
.spin-sound:hover{background:rgba(255,255,255,.22)}

/* کانفتی */
.confetti-piece{position:absolute;top:-14px;border-radius:2px;z-index:12;pointer-events:none;will-change:transform,opacity;animation:confettiFall linear forwards}
@keyframes confettiFall{0%{transform:translateY(0) rotate(0);opacity:1}100%{transform:translateY(var(--fall,440px)) rotate(var(--spin,720deg));opacity:0}}

@media (prefers-reduced-motion:reduce){.wheel-glow,.wheel-bulbs i::before,.wheel-hub:not(:disabled){animation:none!important}}

/* برجسته‌سازی جایزهٔ برنده پس از توقف */
.wheel-label.won span{animation:wonPulse .55s ease-in-out 4;text-shadow:0 0 12px rgba(255,255,255,.95),0 1px 3px rgba(0,0,0,.6)}
@keyframes wonPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.22)}}

/* حالت موبایل */
@media (max-width:560px){
  .spin-wrap{overflow-x:hidden}
  .spin-stage{padding:24px 12px 22px;border-radius:18px;gap:16px}
  .wheel-hub{width:70px;height:70px;font-size:12.5px}
  .wheel-hub:disabled{font-size:11px}
  .spin-head{padding:15px 16px;gap:12px}
  .spin-chances{min-width:0}
  .spin-chances .sc-num{font-size:26px}
  .spin-sound{width:36px;height:36px;top:10px;left:10px}
  .wheel-label span{font-size:clamp(9px,2.7vw,12px);max-width:42%}
}

.spin-note{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--muted);background:#f8fafc;border:1px dashed var(--line);border-radius:12px;padding:10px 16px;margin-top: 14px;}
.spin-note svg{color:#7c3aed;flex-shrink:0}

.spin-history{background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px 18px}
.spin-history .sh-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}
.spin-history h4{display:flex;align-items:center;gap:8px;margin:0;font-size:15px}
.spin-history h4 svg{color:var(--brand)}
.hist-list{display:flex;flex-direction:column}
.hist-row{display:flex;align-items:center;gap:11px;padding:11px 2px;border-bottom:1px solid var(--line-2)}
.hist-row:last-child{border-bottom:0}
.hist-dot{width:9px;height:9px;border-radius:50%;background:#cbd5e1;flex-shrink:0}
.hist-dot.win{background:var(--brand);box-shadow:0 0 0 3px var(--brand-soft)}
.hist-dot.respin{background:#3b82f6;box-shadow:0 0 0 3px #eaf1fe}
.hist-main{display:flex;align-items:center;gap:6px 9px;flex-wrap:wrap;flex:1;min-width:0}
.hist-prize{font-weight:600;font-size:13.5px;color:var(--ink)}
.hist-emoji{font-size:13.5px;margin-inline-start:3px;line-height:1}
.hist-code{display:inline-flex;align-items:center;gap:6px;background:var(--brand-soft);color:var(--brand);font-weight:700;padding:4px 10px;border-radius:9px;font-size:12px;border:1px solid transparent;cursor:pointer;transition:border-color .15s,background .15s}
.hist-code .hc-label{font-family:'IRANSansX';font-weight:600}
.hist-code .hc-val{font-family:monospace;letter-spacing:.5px}
.hist-code svg{opacity:.7}
.hist-code:hover{border-color:var(--brand)}
.hist-code.copied{background:#e7f8f1;color:#06724b}
.hist-date{font-size:11.5px;margin-inline-start:8px;white-space:nowrap;flex-shrink:0}
/* صفحه‌بندی تاریخچه */
.hist-pagination{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;margin-top:14px}
.hist-page-btn{min-width:36px;padding:7px 12px;border:1.5px solid var(--line);border-radius:11px;background:#fff;font-family:inherit;font-weight:700;font-size:12.5px;color:var(--ink);cursor:pointer;transition:.15s}
.hist-page-btn:hover:not(:disabled):not(.active){border-color:var(--brand);color:var(--brand)}
.hist-page-btn.active{background:var(--brand);color:#fff;border-color:var(--brand);cursor:default}
.hist-page-btn:disabled{opacity:.45;cursor:not-allowed}
.hist-empty{display:flex;flex-direction:column;align-items:center;gap:8px;padding:26px 16px;color:var(--muted);font-size:13px}
.hist-empty svg{color:var(--line)}
.hist-link{color:var(--brand)!important;text-decoration:none;font-weight:600}
.hist-link:hover{text-decoration:underline}

/* ویرایشگر جوایز در پنل ادمین */
.prize-list{display:flex;flex-direction:column;gap:14px}
.prize-row{border:1px solid var(--line);border-radius:14px;padding:14px;background:#fafafa;position:relative}
.pr-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:12px}
.pr-discount{margin-top:10px;padding-top:12px;border-top:1px dashed var(--line)}
.pr-discount .pr-grid{grid-template-columns:repeat(4,1fr)}
.prize-row .pr-del{margin-top:12px}
.switch-row{display:flex;align-items:center;gap:10px;cursor:pointer;font-weight:600}
.switch-row input{width:18px;height:18px;accent-color:#7c3aed}
.badge{display:inline-block;padding:4px 12px;border-radius:20px;font-size:12.5px;font-weight:700}
.badge-green{background:#d7f7e9;color:#10b981}
.badge-muted{background:#f1f5f9;color:#94a3b8}
@media(max-width:560px){.pr-grid,.pr-discount .pr-grid{grid-template-columns:1fr 1fr}}

/* مودال برد گردونه */
.modal-win{text-align:center;position:relative;overflow:hidden}
.modal-win .win-ico{width:78px;height:78px;border-radius:50%;display:grid;place-items:center;margin:0 auto 14px;background:var(--grad);color:#fff;box-shadow:0 10px 26px -8px rgba(124,58,237,.7);animation:winpop .5s cubic-bezier(.2,1.4,.4,1) both}
@keyframes winpop{0%{transform:scale(0) rotate(-30deg);opacity:0}100%{transform:scale(1) rotate(0);opacity:1}}
.modal-win h3{margin:0 0 6px;font-size:20px}
.modal-win .win-prize{margin:0 0 16px;font-size:15px;font-weight:700;color:#7c3aed}
.win-product{display:flex;align-items:center;gap:14px;text-align:right;background:#f8fafc;border:1px solid var(--line);border-radius:14px;padding:12px;margin:0 0 16px}
.win-product img{width:72px;height:72px;border-radius:12px;object-fit:cover;flex-shrink:0;background:#fff}
.win-product-info{flex:1;min-width:0}
.win-product-info .wp-title{font-weight:700;font-size:14px;margin-bottom:8px;line-height:1.4}
.win-code-box{display:flex;align-items:center;justify-content:center;gap:10px;margin:0 0 8px}
.win-code{display:inline-block;font-size:22px;letter-spacing:3px;font-weight:800;color:#7c3aed;background:#f1f5f9;padding:10px 18px;border-radius:12px;border:2px dashed #c4b5fd}
.win-copy{width:46px;height:46px;border-radius:12px;border:none;background:var(--grad);color:#fff;cursor:pointer;display:grid;place-items:center;transition:transform .15s,filter .2s;flex-shrink:0}
.win-copy:hover{transform:scale(1.08)}
.win-copy:active{transform:scale(.94)}
.win-copy.copied{background:#10b981}
.win-note{display:block;color:#64748b;font-size:12px;margin:0 0 18px;line-height:1.6}
.hist-link{color:#7c3aed!important;text-decoration:none}
.hist-link:hover{text-decoration:underline}

/* انتخابگر وضعیت گردونه (ادمین) */
.spin-status-opts{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.ss-opt{display:flex;gap:10px;align-items:flex-start;border:2px solid var(--line);border-radius:14px;padding:12px;cursor:pointer;transition:border-color .15s,background .15s}
.ss-opt input{display:none}
.ss-opt .ss-dot{width:18px;height:18px;border-radius:50%;border:2px solid #cbd5e1;flex-shrink:0;margin-top:2px;transition:.15s;position:relative}
.ss-opt.on{border-color:#7c3aed;background:#faf5ff}
.ss-opt.on .ss-dot{border-color:#7c3aed}
.ss-opt.on .ss-dot::after{content:'';position:absolute;inset:3px;border-radius:50%;background:#7c3aed}
.ss-body{display:flex;flex-direction:column;gap:3px}
.ss-body b{font-size:13.5px}
.ss-body small{color:var(--muted);font-size:11.5px;line-height:1.5}
.badge-warn{background:#fff3d6;color:#b8860b}
@media(max-width:640px){.spin-status-opts{grid-template-columns:1fr}}

/* یادداشت ارسال رایگان (سبد صفر) در مرحلهٔ ارسال */
.ship-note-free{display:flex;align-items:center;gap:8px;background:#faf5ff;border:1px solid #e9d5ff;color:#7c3aed;border-radius:12px;padding:10px 14px;font-size:12.5px;margin-bottom:12px;line-height:1.6}
.ship-note-free svg{flex-shrink:0}
/* یادداشت سفارش رایگان در جزئیات سفارش کاربر */
.od-free-note{display:flex;align-items:flex-start;gap:8px;background:#faf5ff;border:1px solid #e9d5ff;color:#6b21a8;border-radius:12px;padding:10px 14px;font-size:12.5px;line-height:1.7;margin-top:6px}
.od-free-note svg{flex-shrink:0;margin-top:2px;color:#7c3aed}

/* ==================== داشبورد ادمین ==================== */
.dash{display:flex;flex-direction:column;gap:18px}
.kpi-row{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.dash-tip{display:flex;align-items:flex-start;gap:14px;flex-wrap:wrap;padding:16px 18px;border-radius:16px;margin-bottom:16px;border:1px solid #fed7aa;background:linear-gradient(135deg,#fff7ed,#fffbeb)}
.dash-tip-warn{border-color:#fdba74}
.dash-tip-ic{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:#ffedd5;color:#c2410c;flex-shrink:0}
.dash-tip-body{flex:1;min-width:200px}
.dash-tip-body strong{display:block;font-size:14.5px;color:#9a3412;margin-bottom:4px}
.dash-tip-body p{margin:0;font-size:13px;line-height:1.8;color:#9a3412;opacity:.92}
.dash-tip-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.dash-tip .act-clear-btn{color:#dc2626;border-color:#fecaca}
.dash-tip .act-clear-btn:hover{background:#fef2f2;border-color:#f87171;color:#b91c1c}
.act-toggle-card{border:1px solid var(--line-2,var(--line))}
.kpi{background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px 18px;display:flex;flex-direction:column;gap:8px;transition:transform .15s,box-shadow .15s}
.kpi:hover{transform:translateY(-2px);box-shadow:0 12px 26px -16px rgba(15,23,42,.4)}
.kpi-top{display:flex;align-items:center;gap:8px}
.kpi-ic{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;background:#f1f5f9;color:#475569}
.kpi-ic.ic-green{background:#d7f7e9;color:#10b981}
.kpi-ic.ic-blue{background:#dbeafe;color:#3b82f6}
.kpi-ic.ic-amber{background:#fff3d6;color:#d97706}
.kpi-tag{font-size:12.5px;color:var(--muted);font-weight:600}
.kpi-val{font-size:21px;font-weight:800;line-height:1.2}
.kpi-val small{font-size:12px;color:var(--muted);font-weight:600}
.kpi-sub{font-size:11.5px;color:var(--muted);display:flex;align-items:center;gap:5px}
.kpi-primary{background:var(--grad);color:#fff;border:none;box-shadow:0 14px 30px -14px rgba(124,58,237,.8)}
.kpi-primary .kpi-ic{background:rgba(255,255,255,.2);color:#fff}
.kpi-primary .kpi-tag,.kpi-primary .kpi-val small,.kpi-primary .kpi-sub{color:rgba(255,255,255,.9)}
@media(max-width:880px){.kpi-row{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.kpi-row{grid-template-columns:1fr}}

.mini-row{display:grid;grid-template-columns:repeat(6,1fr);gap:12px}
.mini{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:12px;color:inherit;text-decoration:none;transition:border-color .15s,transform .15s}
.mini:hover{border-color:#c4b5fd;transform:translateY(-2px)}
.mini-ic{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:#faf5ff;color:#7c3aed;flex-shrink:0}
.mini b{display:block;font-size:17px;font-weight:800;line-height:1}
.mini small{color:var(--muted);font-size:11.5px}
@media(max-width:880px){.mini-row{grid-template-columns:repeat(3,1fr)}}
@media(max-width:520px){.mini-row{grid-template-columns:repeat(2,1fr)}}

.dash-charts{display:grid;grid-template-columns:1.6fr 1fr;gap:14px}
.dash-bottom{display:grid;grid-template-columns:1fr 1.3fr;gap:14px}
.chart-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px}
.cc-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}
.cc-head h4{margin:0;display:flex;align-items:center;gap:8px;font-size:14.5px}
.cc-head h4 svg{color:#7c3aed}
.cc-total{font-weight:800;font-size:15px;color:#10b981}
.cc-total small{font-size:11px;color:var(--muted);font-weight:600}
.cc-link{font-size:12.5px;color:#7c3aed;text-decoration:none;display:flex;align-items:center;gap:2px}

/* نمودار میله‌ای */
.bar-chart{display:flex;align-items:flex-end;justify-content:space-between;gap:8px;height:160px;padding-top:10px}
.bar-col{flex:1;display:flex;flex-direction:column;align-items:center;gap:8px;height:100%;justify-content:flex-end}
.bar-wrap{position:relative;width:100%;display:flex;justify-content:center;align-items:flex-end;flex:1}
.bar{width:60%;max-width:42px;min-height:4px;border-radius:8px 8px 0 0;background:linear-gradient(180deg,#a78bfa,#7c3aed);transition:filter .15s;animation:barGrow .6s ease both}
@keyframes barGrow{from{transform:scaleY(0);transform-origin:bottom}to{transform:scaleY(1)}}
.bar-col:hover .bar{filter:brightness(1.1)}
.bar-lbl{font-size:11px;color:var(--muted);white-space:nowrap}
.bar-tip{position:absolute;bottom:100%;left:50%;transform:translateX(-50%) translateY(-6px);background:#1e293b;color:#fff;font-size:11px;padding:5px 9px;border-radius:8px;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .15s;z-index:5}
.bar-wrap:hover .bar-tip{opacity:1}

/* دونات */
.donut-box{display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.donut{width:140px;height:140px;border-radius:50%;flex-shrink:0;display:grid;place-items:center;position:relative}
.donut-hole{width:88px;height:88px;border-radius:50%;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center}
.donut-hole b{font-size:24px;font-weight:800;line-height:1}
.donut-hole small{font-size:11px;color:var(--muted)}
.donut-legend{flex:1;min-width:150px;display:flex;flex-direction:column;gap:8px}
.lg-item{display:flex;align-items:center;gap:8px;font-size:12.5px}
.lg-dot{width:11px;height:11px;border-radius:3px;flex-shrink:0}
.lg-lbl{flex:1}
.lg-val{font-weight:700}
@media(max-width:880px){.dash-charts,.dash-bottom{grid-template-columns:1fr}}

/* پرفروش‌ها */
.top-list{display:flex;flex-direction:column;gap:14px}
.top-item{display:flex;align-items:center;gap:12px}
.top-rank{width:26px;height:26px;border-radius:8px;background:#faf5ff;color:#7c3aed;font-weight:800;font-size:13px;display:grid;place-items:center;flex-shrink:0}
.top-item:first-child .top-rank{background:var(--grad);color:#fff}
.top-main{flex:1;min-width:0}
.top-title{display:block;font-size:13px;font-weight:600;color:inherit;text-decoration:none;margin-bottom:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.top-title:hover{color:#7c3aed}
.top-bar{height:7px;background:#f1f5f9;border-radius:6px;overflow:hidden}
.top-bar span{display:block;height:100%;border-radius:6px;background:linear-gradient(90deg,#7c3aed,#ec4899)}
.top-meta{text-align:center;flex-shrink:0}
.top-meta b{display:block;font-size:15px;font-weight:800;line-height:1}
.top-meta small{font-size:10.5px;color:var(--muted)}

/* جدول داشبورد */
.dash-table{width:100%;border-collapse:collapse}
.dash-table th{text-align:right;font-size:12px;color:var(--muted);font-weight:600;padding:8px 10px;border-bottom:1px solid var(--line)}
.dash-table td{padding:10px;border-bottom:1px solid var(--line);font-size:12.5px}
.dash-table tr:last-child td{border-bottom:0}
.st-chip{display:inline-block;padding:3px 10px;border-radius:20px;font-size:11.5px;font-weight:700;color:var(--c);background:color-mix(in srgb,var(--c) 14%,#fff)}

/* badge اعلان در منوی ادمین */
.admin-sidebar a .nav-badge{margin-inline-start:auto;min-width:20px;height:20px;padding:0 6px;border-radius:10px;background:#ef4444;color:#fff;font-size:11.5px;font-weight:800;display:inline-flex;align-items:center;justify-content:center;line-height:1;box-shadow:0 4px 10px -3px rgba(239,68,68,.7);animation:badgePulse 2s infinite}
.admin-sidebar a.active .nav-badge{background:#fff;color:var(--brand)}
@keyframes badgePulse{0%,100%{transform:scale(1)}50%{transform:scale(1.12)}}

/* نشان «ثبت دیدگاه به‌عنوان کاربر واردشده» */
.cf-loggedin{display:flex;align-items:center;gap:8px;background:#faf5ff;border:1px solid #e9d5ff;color:#6b21a8;border-radius:12px;padding:10px 14px;font-size:13px;margin-bottom:4px}
.cf-loggedin svg{color:#7c3aed;flex-shrink:0}
.cf-loggedin strong{color:#7c3aed}

/* ردیف‌های مشخصات محصول در فرم ادمین */
#specsWrap{display:flex;flex-direction:column;gap:10px;margin-bottom:12px}
.spec-row{display:flex;gap:10px;align-items:center}
.spec-row .spec-key{flex:0 0 34%}
.spec-row .spec-val{flex:1}
.spec-row .spec-del{flex-shrink:0}
@media(max-width:520px){.spec-row .spec-key{flex:0 0 40%}}

/* ==================== بازطراحی صفحات لیست ادمین ==================== */
.a-head{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:22px;flex-wrap:wrap}
.a-head .a-title{display:flex;align-items:center;gap:13px;min-width:0}
.a-head .a-ic{width:48px;height:48px;border-radius:15px;background:var(--grad);color:#fff;display:grid;place-items:center;flex-shrink:0;box-shadow:0 10px 22px -10px rgba(124,58,237,.7)}
.a-head .a-title h2{font-size:19px;margin:0;line-height:1.25}
.a-head .a-title .a-sub{font-size:12.5px;color:var(--muted);margin-top:2px}
.a-head .a-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}

/* جعبه جستجوی ادمین */
.a-search{display:flex;align-items:center;gap:8px;background:#fff;border:1.5px solid var(--line);border-radius:12px;padding:0 12px;height:44px;transition:border-color .15s,box-shadow .15s}
.a-search:focus-within{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft)}
.a-search svg{color:var(--muted);flex-shrink:0}
.a-search input{border:none;outline:none;background:transparent;font-family:inherit;font-size:13px;width:100%;padding:0}
.a-search .btn{height:32px;padding:0 14px}

/* کنترل بخش‌بندی‌شده (فیلترها) */
.seg{display:inline-flex;background:#fff;border:1.5px solid var(--line);border-radius:12px;padding:4px;gap:2px;flex-wrap:wrap}
.seg a{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border-radius:9px;font-size:12.5px;font-weight:700;color:var(--ink-2);transition:.15s}
.seg a:hover{background:var(--brand-softer);color:var(--brand)}
.seg a.on{background:var(--grad);color:#fff;box-shadow:0 6px 14px -6px rgba(124,58,237,.7)}

/* تصویر بندانگشتی و اسلاگ در جدول */
.a-thumb{width:46px;height:46px;border-radius:11px;object-fit:cover;background:var(--grad-soft);border:1px solid var(--line)}
.slug-chip{display:inline-block;font-family:monospace;font-size:11.5px;color:var(--muted);background:var(--bg);border:1px solid var(--line-2);border-radius:7px;padding:2px 8px;direction:ltr}
.table-wrap table thead th{position:sticky;top:0;z-index:1}
tbody tr:nth-child(even){background:color-mix(in srgb,var(--bg) 45%,#fff)}
tbody tr:hover{background:var(--brand-softer)}

/* سوییچ سایت‌مپ در صفحه سئو */
.sitemap-toggle{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;margin-bottom:10px}
.sitemap-toggle .st-info{display:flex;align-items:center;gap:10px;min-width:0}
.sitemap-toggle .st-info svg{color:var(--brand);flex-shrink:0}
.sitemap-toggle .st-info b{font-size:13px;display:block}
.sitemap-toggle .st-info code{font-size:11px;color:var(--muted)}
.switch .sl{position:absolute;inset:0;background:#cbd5e1;border-radius:24px;transition:.2s;pointer-events:none}
.switch .sl::before{content:'';position:absolute;height:18px;width:18px;right:3px;top:3px;background:#fff;border-radius:50%;transition:.2s}
.switch input:checked + .sl{background:var(--brand)}
.switch input:checked + .sl::before{transform:translateX(-20px)}

/* نماد تومان (SVG با mask تا رنگ متن را بگیرد) */
.toman-ic{display:inline-block;width: 0.90em;height:0.90em;vertical-align:-0.12em;background-color:rgb(0 0 0);-webkit-mask:url('/assets/images/toman.svg') center/contain no-repeat;mask:url('/assets/images/toman.svg') center/contain no-repeat}

/* ویرایشگر ویژگی‌های صفحه محصول (مدیریت ظاهر) */
.feat-list{display:flex;flex-direction:column;gap:10px;margin-bottom:12px}
.feat-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.feat-row.off{opacity:.5}
.feat-ico-prev{width:34px;height:34px;border-radius:10px;background:var(--grad-soft);color:var(--brand);display:grid;place-items:center;flex-shrink:0}
.feat-row .feat-title{flex:1;min-width:120px}
.feat-row .feat-sub{flex:1;min-width:120px}
.feat-en{position:relative;display:inline-flex;align-items:center;cursor:pointer;flex-shrink:0}
.feat-en input{display:none}
.feat-en span{width:40px;height:22px;border-radius:22px;background:#cbd5e1;transition:.2s;position:relative;display:inline-block}
.feat-en span::before{content:'';position:absolute;width:16px;height:16px;border-radius:50%;background:#fff;top:3px;right:3px;transition:.2s}
.feat-en input:checked + span{background:var(--brand)}
.feat-en input:checked + span::before{transform:translateX(-18px)}
@media(max-width:560px){.feat-row .feat-title,.feat-row .feat-sub{flex:1 1 100%}}
span#hubText{font-family: 'IRANSansX';}

/* مدیریت قالب سایت (پنل ادمین) */
.theme-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.theme-card{position:relative;display:flex;flex-direction:column;border:1px solid var(--line);border-radius:16px;overflow:hidden;background:#fff;box-shadow:var(--shadow-xs);transition:border-color .15s,transform .15s,box-shadow .15s}
.theme-card:hover{transform:translateY(-3px);box-shadow:0 14px 28px -16px rgba(15,23,42,.4)}
.theme-card.on{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft)}
.theme-card .tc-badge{position:absolute;top:10px;right:10px;z-index:2;display:inline-flex;align-items:center;gap:4px;background:var(--brand);color:#fff;font-size:11.5px;font-weight:800;padding:4px 10px;border-radius:20px;box-shadow:0 4px 10px -3px rgba(0,0,0,.4)}
.theme-card .tc-shot{aspect-ratio:16/10;background:var(--grad-soft);overflow:hidden}
.theme-card .tc-shot img{width:100%;height:100%;object-fit:cover;display:block}
.theme-card .tc-body{padding:14px 16px;display:flex;flex-direction:column;gap:5px;flex:1}
.theme-card .tc-name{font-size:15px;font-weight:800}
.theme-card .tc-ver{font-size:11px;color:var(--muted);font-weight:600}
.theme-card .tc-author{font-size:12px;color:var(--muted);display:flex;align-items:center;gap:5px}
.theme-card .tc-desc{font-size:12.5px;color:var(--ink-2);line-height:1.7;margin:2px 0 0;flex:1}
.theme-card .tc-date{font-size:11.5px;color:var(--muted);display:flex;align-items:center;gap:5px}
.theme-card .tc-actions{display:flex;gap:8px;margin-top:10px}
.theme-card .tc-actions .btn{flex:0 0 auto}
.theme-card .tc-actions .btn:first-child{flex:1}
@media(max-width:820px){.theme-grid{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.theme-grid{grid-template-columns:1fr}}

/* تنظیمات رنگ قالب (Customizer) */
.pm-fields{display:flex;flex-direction:column;gap:8px}
.pm-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 10px;border:1px solid var(--line);border-radius:10px}
.pm-row .pm-label{font-size:13px;font-weight:600}
.pm-pick{display:inline-flex;align-items:center;gap:8px}
.pm-pick input[type=color]{width:40px;height:30px;border:1px solid var(--line);border-radius:8px;background:#fff;cursor:pointer;padding:2px}
.pm-pick .pm-hex{width:92px;height:30px;padding:4px 8px;font-size:12px;text-align:left;font-family:ui-monospace,Consolas,monospace;border-radius:8px}
.theme-card .tc-settings{flex:0 0 auto}

/* ==================== لیست‌های ادمین (al-) ==================== */
.al-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:20px}
.al-stat{display:flex;align-items:center;gap:12px;padding:16px 18px;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow-xs)}
.al-stat-ic{width:40px;height:40px;border-radius:12px;flex-shrink:0;display:grid;place-items:center;background:var(--brand-softer);color:var(--brand)}
.al-stat strong{display:block;font-size:20px;line-height:1.1}
.al-stat small{display:block;font-size:11.5px;color:var(--muted);margin-top:2px}
.al-stat-ok .al-stat-ic{background:#ecfdf5;color:#059669}
.al-stat-warn .al-stat-ic{background:#fff7ed;color:#ea580c}
.al-stat-danger .al-stat-ic{background:#fef2f2;color:#dc2626}
.al-stat-info .al-stat-ic{background:#eff6ff;color:#2563eb}
.al-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:16px}
.al-filters{display:flex;flex-wrap:wrap;gap:8px}
.al-filter{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:999px;font-size:12.5px;font-weight:600;border:1px solid var(--line);background:#fff;color:var(--muted);transition:.15s}
.al-filter:hover{border-color:var(--brand);color:var(--brand);background:var(--brand-softer)}
.al-filter.active{background:var(--brand);border-color:var(--brand);color:#fff}
.al-filter-warn.active{background:#ea580c;border-color:#ea580c}
.al-filter-danger.active{background:#dc2626;border-color:#dc2626}
.al-search{flex:1;min-width:min(100%,260px);max-width:420px}
.al-card{background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:var(--shadow-xs)}
.al-table-wrap{border:none;border-radius:0;overflow-x:auto}
.al-table{margin:0;width:100%}
.al-table thead th{background:#f8fafc;font-size:12px;font-weight:700;color:var(--muted);padding:14px 16px;border-bottom:1px solid var(--line);white-space:nowrap}
.al-table tbody td{padding:14px 16px;vertical-align:middle}
.al-table tbody tr:hover{background:#fafbfc}
.cron-warn{display:flex;align-items:flex-start;gap:12px}
.cron-cmd .cron-url{font-size:12px;padding:8px 10px;margin-top:4px;font-family:monospace;background:#f8fafc}
.cron-page .cron-run-btn{white-space:nowrap}
.al-td-head .al-title-cell strong{display:block;font-size:14px;font-weight:700;line-height:1.35}
.al-td-head .al-title-cell small,.al-title-sub{display:block;font-size:11.5px;color:var(--muted);margin-top:3px}

.cat-adm-table .cat-adm-row.is-root td{background:#fff}
.cat-adm-table .cat-adm-row.is-child td{background:#fafbfc}
.cat-adm-title{display:flex;align-items:flex-start;gap:8px}
.cat-adm-root-dot{width:8px;height:8px;border-radius:50%;background:var(--brand);margin-top:7px;flex-shrink:0}
.cat-adm-indent{display:inline-flex;align-items:center;gap:0;flex-shrink:0;margin-top:4px}
.cat-adm-rail{display:inline-block;width:16px;height:1px;background:transparent;border-inline-end:2px solid #e2e0ea;align-self:stretch;min-height:18px}
.cat-adm-branch{display:inline-block;width:10px;height:10px;border-radius:50%;background:#cfcadf;margin-inline-start:2px;flex-shrink:0}
.cat-adm-text{min-width:0}
.cat-adm-row.is-root .cat-adm-text strong{font-size:14.5px}
.cat-adm-row.is-child .cat-adm-text strong{font-weight:600;color:var(--ink-2)}
.cat-adm-count{white-space:nowrap}
.cat-adm-num{display:inline-flex;min-width:28px;justify-content:center;font-weight:800;font-size:14px;color:var(--ink);font-variant-numeric:tabular-nums}
.cat-adm-acts{display:inline-flex;align-items:center;gap:4px;flex-wrap:wrap}
.cat-adm-acts .al-act.is-disabled,.cat-adm-acts .al-act:disabled{opacity:.35;cursor:not-allowed;pointer-events:none}
.cat-adm-acts button.al-act{border:none;background:transparent;padding:0;font:inherit;cursor:pointer}.al-code{font-family:monospace;font-size:14px;font-weight:800;letter-spacing:.02em}
.al-acts{display:flex;align-items:center;justify-content:flex-end;gap:6px;flex-wrap:wrap}
.al-act{width:36px;height:36px;border-radius:10px;border:1px solid var(--line);display:grid;place-items:center;color:var(--muted);background:#fff;transition:.15s}
.al-act:hover{border-color:var(--brand);color:var(--brand);background:var(--brand-softer)}
.al-act-danger:hover{border-color:#fecaca;color:#dc2626;background:#fef2f2}
.al-toggle{border:none;cursor:pointer;font:inherit}
.al-row-link{cursor:pointer}
.al-row-link:hover{background:var(--brand-softer)!important}
.al-avatar{width:40px;height:40px;border-radius:12px;background:var(--grad-soft);color:var(--brand);display:grid;place-items:center;flex-shrink:0}
.al-ship-ic{width:40px;height:40px;border-radius:12px;background:var(--grad-soft);color:var(--brand);display:grid;place-items:center;overflow:hidden;flex-shrink:0}
.al-ship-ic img{width:100%;height:100%;object-fit:contain}
.al-empty h3{margin:0 0 8px;font-size:17px;color:var(--ink)}
.al-empty p{margin:0}
.al-card + .pagination{margin-top:20px}
@media(max-width:900px){.al-stats{grid-template-columns:repeat(2,1fr)}}
@media(max-width:768px){
  .al-page .a-head{flex-direction:column;align-items:stretch}
  .al-page .a-actions{width:100%}
  .al-page .a-actions .btn{width:100%;justify-content:center}
  .al-toolbar{flex-direction:column;align-items:stretch}
  .al-filters{justify-content:center}
  .al-search{max-width:none;width:100%;height:auto;min-height:44px;flex-wrap:wrap;padding:8px 10px}
  .al-search input{min-width:0;flex:1 1 100px}
  .al-card{background:transparent;border:none;box-shadow:none;overflow:visible}
  .al-table-wrap{overflow:visible}
  .al-table.al-mobile thead{display:none}
  .al-table.al-mobile tbody{display:block}
  .al-table.al-mobile tbody tr{display:block;background:#fff;border:1px solid var(--line);border-radius:16px;margin-bottom:12px;padding:14px;box-shadow:var(--shadow-xs)}
  .al-table.al-mobile tbody tr:hover{background:#fff}
  .al-table.al-mobile td{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 0;border:none;width:100%}
  .al-table.al-mobile td::before{content:attr(data-label);font-weight:700;font-size:12px;color:var(--muted);flex-shrink:0}
  .al-table.al-mobile td.al-td-head{display:block;padding:0 0 12px;margin-bottom:10px;border-bottom:1px solid var(--line-2,var(--line))}
  .al-table.al-mobile td.al-td-head::before{display:none}
  .al-table.al-mobile td.al-td-actions{justify-content:flex-start;padding-top:10px;margin-top:6px;border-top:1px solid var(--line-2,var(--line))}
  .al-table.al-mobile td.al-td-actions::before{display:none}
  .al-acts{width:100%;justify-content:flex-start}
}
@media(max-width:400px){.al-stats{grid-template-columns:1fr}}

/* ==================== نظرات ادمین (cm-) ==================== */
.cm-list{display:flex;flex-direction:column;gap:14px}
.cm-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px 20px;box-shadow:var(--shadow-xs);transition:border-color .15s,box-shadow .15s}
.cm-card:hover{box-shadow:var(--shadow-sm)}
.cm-card.is-pending{border-right:3px solid #f59e0b}
.cm-card.is-published{border-right:3px solid #10b981}
.cm-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:12px;flex-wrap:wrap}
.cm-user{display:flex;align-items:flex-start;gap:12px;min-width:0;flex:1}
.cm-avatar{width:42px;height:42px;border-radius:12px;background:var(--grad-soft);color:var(--brand);display:grid;place-items:center;flex-shrink:0;font-weight:800;font-size:15px}
.cm-user-meta{min-width:0}
.cm-user-meta strong{display:block;font-size:14px;margin-bottom:2px}
.cm-user-meta .cm-phone{display:block;font-size:12px;color:var(--muted);margin-bottom:6px}
.cm-links{display:flex;flex-wrap:wrap;gap:6px}
.cm-body{font-size:14px;line-height:1.85;color:var(--ink-2);padding:12px 14px;background:#f8fafc;border-radius:12px;margin-bottom:12px}
.cm-answer{padding:12px 14px;border-radius:12px;background:#ecfdf5;border:1px solid #bbf7d0;margin-bottom:12px;font-size:13px;line-height:1.8}
.cm-answer-label{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:700;color:#059669;margin-bottom:6px}
.cm-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding-top:12px;border-top:1px solid var(--line-2,var(--line))}
.cm-actions{display:flex;flex-wrap:wrap;gap:8px}
.cm-reply{display:flex;gap:8px;flex:1;min-width:min(100%,260px)}
.cm-reply .form-control{min-width:0}
.cm-date{font-size:11.5px;color:var(--muted);white-space:nowrap}
@media(max-width:640px){
  .cm-foot{flex-direction:column;align-items:stretch}
  .cm-reply{width:100%}
  .cm-actions .btn{flex:1;justify-content:center}
}

/* ==================== اسلایدر ادمین (sl-) ==================== */
.sl-add{background:#fff;border:1px solid var(--line);border-radius:18px;padding:20px 22px;margin-bottom:20px;box-shadow:var(--shadow-xs)}
.sl-add-head{display:flex;align-items:flex-start;gap:12px;margin-bottom:18px;padding-bottom:14px;border-bottom:1px solid var(--line-2,var(--line))}
.sl-add-ic{width:40px;height:40px;border-radius:12px;background:var(--grad-soft);color:var(--brand);display:grid;place-items:center;flex-shrink:0}
.sl-add-head h3{margin:0 0 4px;font-size:15px}
.sl-add-head p{margin:0;font-size:12.5px;color:var(--muted)}
.sl-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}
.sl-card{background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:var(--shadow-xs);transition:box-shadow .15s,border-color .15s}
.sl-card:hover{box-shadow:var(--shadow-sm)}
.sl-preview{position:relative;aspect-ratio:3/1;background:#f1f5f9;overflow:hidden}
.sl-preview img{width:100%;height:100%;object-fit:cover;display:block}
.sl-preview-badges{position:absolute;top:10px;left:10px;display:flex;flex-wrap:wrap;gap:6px}
.sl-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 9px;border-radius:999px;font-size:10.5px;font-weight:700;background:rgba(15,23,42,.72);color:#fff;backdrop-filter:blur(4px)}
.sl-badge-mob{background:rgba(37,99,235,.85)}
.sl-body{padding:14px 16px 16px}
.sl-meta{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px;min-height:24px}
.sl-link-chip{display:inline-flex;align-items:center;gap:5px;max-width:100%;padding:4px 10px;border-radius:8px;font-size:11.5px;background:#eff6ff;color:#1d4ed8;border:1px solid #bfdbfe;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sl-alt{font-size:12px;color:var(--muted);margin-bottom:12px;line-height:1.6}
.sl-alt strong{color:var(--ink-2);font-weight:600}
.sl-fields{display:flex;flex-direction:column;gap:10px;margin-bottom:12px}
.sl-field label{display:block;font-size:11px;font-weight:600;color:var(--muted);margin-bottom:4px}
.sl-field .form-control{font-size:12.5px}
.sl-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-top:12px;border-top:1px solid var(--line-2,var(--line))}
.sl-foot .btn{flex:1;justify-content:center}
.sl-list-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}
.sl-list-head h3{margin:0;font-size:15px}
.sl-list-head span{font-size:12.5px;color:var(--muted)}
@media(max-width:640px){
  .sl-grid{grid-template-columns:1fr}
  .sl-add{padding:16px}
  .sl-foot{flex-direction:column}
}

/* ==================== گردونه ادمین (sp-) ==================== */
.sp-sec{background:#fff;border:1px solid var(--line);border-radius:18px;padding:20px 22px;margin-bottom:16px;box-shadow:var(--shadow-xs)}
.sp-sec-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:16px;padding-bottom:14px;border-bottom:1px solid var(--line-2,var(--line))}
.sp-sec-head h3{margin:0 0 4px;font-size:15px}
.sp-sec-head p{margin:0;font-size:12.5px;color:var(--muted);line-height:1.55}
.sp-sec-ic{width:40px;height:40px;border-radius:12px;background:var(--grad-soft);color:var(--brand);display:grid;place-items:center;flex-shrink:0}
.sp-sec-title{display:flex;align-items:flex-start;gap:12px;min-width:0}
.sp-hint{margin:0 0 14px;font-size:12.5px;color:var(--muted);line-height:1.65}
.sp-page .spin-status-opts{margin-bottom:0}
.sp-page .ss-opt{border-radius:16px;padding:14px;background:#fafbfc}
.sp-page .ss-opt.on{background:#faf5ff}
.sp-prize-list{counter-reset:sp-prize}
.sp-page .prize-row{counter-increment:sp-prize;background:#fff;border-radius:16px;padding:16px;box-shadow:var(--shadow-xs);position:relative}
.sp-prize-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px;padding-bottom:12px;border-bottom:1px solid var(--line-2,var(--line))}
.sp-prize-num{width:28px;height:28px;border-radius:9px;background:var(--grad-soft);color:var(--brand);font-size:12px;font-weight:800;display:grid;place-items:center;flex-shrink:0}
.sp-prize-num::before{content:counter(sp-prize)}
.sp-prize-del{width:32px;height:32px;border-radius:10px;border:1px solid var(--line);background:#fff;color:var(--muted);display:grid;place-items:center;cursor:pointer;padding:0;flex-shrink:0;transition:border-color .15s,color .15s,background .15s}
.sp-prize-del:hover{border-color:#fecaca;color:#dc2626;background:#fef2f2}
.sp-prize-del:active{transform:scale(.94)}
.sp-chance-sum{margin-top:12px;padding:10px 14px;border-radius:12px;background:#f8fafc;border:1px solid var(--line-2,var(--line));font-size:12.5px;font-weight:600;color:var(--ink-2)}
.sp-save-bar{display:flex;justify-content:flex-end;margin-bottom:20px}
.sp-save-bar .btn{min-width:200px;justify-content:center}
.sp-hist{margin-bottom:0}
.sp-hist .al-card{margin-top:0;border:none;box-shadow:none;border-radius:0}
.sp-coupon{display:inline-block;padding:4px 10px;border-radius:8px;background:#f1f5f9;border:1px dashed #cbd5e1;font-family:ui-monospace,monospace;font-size:12.5px;font-weight:700;letter-spacing:.04em}
@media(max-width:768px){
  .sp-sec{padding:16px}
  .sp-sec-head{flex-direction:column;align-items:stretch}
  .sp-sec-head .btn{width:100%;justify-content:center}
  .sp-save-bar .btn{width:100%;min-width:0}
}

/* ==================== ظاهر صفحه محصول (ap-) ==================== */
.ap-layout{display:grid;grid-template-columns:1fr 300px;gap:20px;align-items:start}
.ap-side{position:sticky;top:88px}
.ap-side-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px 20px;box-shadow:var(--shadow-xs)}
.ap-side-card p{margin:0 0 14px;font-size:12.5px;color:var(--muted);line-height:1.7}
.ap-side-card .btn{width:100%;justify-content:center}
.ap-side-title{display:flex;align-items:center;gap:8px;margin:0 0 8px;font-size:14px;font-weight:800;color:var(--ink)}
.ap-side-title svg{color:var(--brand);flex-shrink:0}
.ap-side-hint{margin:0 0 14px;font-size:12.5px;color:var(--muted);line-height:1.7}
.ap-sec{background:#fff;border:1px solid var(--line);border-radius:18px;padding:20px 22px;margin-bottom:16px;box-shadow:var(--shadow-xs)}
.ap-sec-head{display:flex;align-items:flex-start;gap:12px;margin-bottom:16px}
.ap-sec-ic{width:40px;height:40px;border-radius:12px;background:var(--grad-soft);color:var(--brand);display:grid;place-items:center;flex-shrink:0}
.ap-sec-head h3{margin:0 0 4px;font-size:15px}
.ap-sec-head p{margin:0;font-size:12.5px;color:var(--muted);line-height:1.6}
.ap-sec-head-row{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:16px;padding-bottom:14px;border-bottom:1px solid var(--line-2,var(--line))}
.ap-sec-head-row .ap-sec-title{display:flex;align-items:flex-start;gap:12px;min-width:0;flex:1}
.ap-page .appr-toggle{margin:0;border-radius:14px;background:#fafbfc}
.ap-page .appr-preview{margin-top:16px}
.ap-feat-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px;flex-wrap:wrap}
.ap-feat-list{display:flex;flex-direction:column;gap:12px;margin-bottom:14px}
.ap-page .feat-row{display:block;background:#fafbfc;border:1px solid var(--line-2,var(--line));border-radius:14px;padding:14px;transition:opacity .15s,background .15s}
.ap-page .feat-row.off{opacity:.55;background:#f8fafc}
.ap-feat-head{display:flex;align-items:center;gap:10px;margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid var(--line-2,var(--line))}
.ap-page .feat-ico-prev{width:36px;height:36px;border-radius:10px}
.ap-feat-head .feat-en{margin-inline-start:auto}
.ap-feat-del{width:32px;height:32px;border-radius:10px;border:1px solid var(--line);background:#fff;color:var(--muted);display:grid;place-items:center;cursor:pointer;padding:0;flex-shrink:0;transition:border-color .15s,color .15s,background .15s}
.ap-feat-del:hover{border-color:#fecaca;color:#dc2626;background:#fef2f2}
.ap-feat-fields{display:grid;grid-template-columns:130px 1fr 1fr;gap:10px;align-items:end}
.ap-feat-fields label{display:block;font-size:11px;font-weight:600;color:var(--muted);margin-bottom:4px}
.ap-feat-field .form-control{width:100%}
@media(max-width:900px){
  .ap-layout{grid-template-columns:1fr}
  .ap-side{position:static}
}
@media(max-width:640px){
  .ap-sec{padding:16px}
  .ap-feat-fields{grid-template-columns:1fr}
  .ap-sec-head-row{flex-direction:column}
}

/* ==================== مدیریت FAQ (ادمین) ==================== */
.faq-adm-page .ap-side{display:flex;flex-direction:column;gap:14px}
.faq-adm-page .ap-main{min-width:0}
.faq-adm-panel{margin-bottom:0}
.faq-adm-panel-top{padding-bottom:18px;margin-bottom:18px;border-bottom:1px solid var(--line)}
.faq-adm-panel-title{display:flex;align-items:center;gap:14px;margin-bottom:16px}
.faq-adm-panel-ico{width:48px;height:48px;border-radius:14px;background:var(--grad-soft);color:var(--brand);display:grid;place-items:center;flex-shrink:0}
.faq-adm-panel-title h3{margin:0 0 4px;font-size:17px;font-weight:800}
.faq-adm-panel-title p{margin:0;font-size:12.5px;color:var(--muted)}
.faq-adm-cat-fields{display:grid;grid-template-columns:1fr 130px 90px 150px;gap:12px;align-items:end}
.faq-adm-cat-foot{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
.faq-adm-toggle{margin:0;height:42px}
.faq-adm-items-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}
.faq-adm-items-head h4{display:flex;align-items:center;gap:8px;margin:0;font-size:14px;font-weight:800}
.faq-adm-items-head h4 svg{color:var(--brand)}
.faq-adm-empty{margin:0 0 14px;font-size:13px}
.faq-adm-dd-list{display:flex;flex-direction:column;gap:10px;margin-bottom:16px}
.faq-adm-dd-trigger{
  width:100%;display:flex;align-items:center;gap:10px;
  padding:13px 14px;border:1.5px solid var(--line);border-radius:12px;
  background:#fff;cursor:pointer;text-align:right;font-family:inherit;
  transition:border-color .2s,box-shadow .2s,background .2s,border-radius .2s;
}
.faq-adm-dd-trigger:hover{border-color:color-mix(in srgb,var(--brand) 35%,var(--line));background:#fafbfc}
.faq-adm-dd.is-open .faq-adm-dd-trigger{
  border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft);
  border-bottom-color:transparent;border-radius:12px 12px 0 0;
}
.faq-adm-dd-label{flex:1;font-size:13.5px;font-weight:700;line-height:1.7;color:var(--ink);text-align:right}
.faq-adm-dd-chev{flex-shrink:0;color:var(--muted);transition:transform .3s ease,color .2s}
.faq-adm-dd.is-open .faq-adm-dd-chev{transform:rotate(180deg);color:var(--brand)}
.faq-adm-dd-panel.collapse{
  max-height:0;overflow:hidden;
  border:1.5px solid transparent;border-top:none;
  border-radius:0 0 12px 12px;background:#fafbfc;margin-top:-1px;
  transition:max-height .35s ease,border-color .2s;
}
.faq-adm-dd-panel.collapse.open{max-height:900px;border-color:var(--brand)}
.faq-adm-dd-form{padding:14px 14px 16px;border-top:1px solid var(--line)}
.faq-adm-dd-foot{display:flex;gap:8px;flex-wrap:wrap;margin-top:4px}
.faq-adm-add-item{margin-bottom:0;margin-top:4px}
.faq-adm-nav{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.faq-adm-nav-btn{
  width:100%;display:flex;align-items:center;gap:10px;
  padding:10px 12px;border:1px solid var(--line);border-radius:12px;
  background:#fff;cursor:pointer;text-align:right;font-family:inherit;
  transition:border-color .15s,background .15s;
}
.faq-adm-nav-btn:hover{border-color:var(--brand-soft);background:var(--brand-softer)}
.faq-adm-nav-btn.is-active{border-color:var(--brand);background:var(--brand-softer);box-shadow:inset 3px 0 0 var(--brand)}
.fan-ico{width:34px;height:34px;border-radius:10px;background:var(--grad-soft);color:var(--brand);display:grid;place-items:center;flex-shrink:0}
.faq-adm-nav-btn.is-active .fan-ico{background:var(--brand);color:#fff}
.fan-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.fan-body strong{font-size:13px;font-weight:800;line-height:1.4}
.fan-body small{font-size:11px;color:var(--muted);font-weight:600}
.fan-off{font-size:10px;font-weight:700;color:#ea580c;background:#fff7ed;padding:3px 8px;border-radius:999px;flex-shrink:0}
@media(max-width:900px){
  .faq-adm-cat-fields{grid-template-columns:1fr 1fr}
  .faq-adm-cat-active{grid-column:1/-1}
}
@media(max-width:640px){
  .faq-adm-cat-fields{grid-template-columns:1fr}
}

/* ==================== مدیریت قالب (th-) ==================== */
.th-page .theme-grid{margin-bottom:16px}
.th-install{margin-bottom:20px}
.th-install-form{display:flex;flex-wrap:wrap;align-items:center;gap:12px}
.th-install-form .form-control{flex:1;min-width:min(100%,220px);max-width:400px}
.th-list-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}
.th-list-head h3{margin:0;font-size:15px}
.th-list-head span{font-size:12.5px;color:var(--muted)}
.th-tip{padding:16px 20px;border-radius:16px;background:#f8fafc;border:1px solid var(--line-2,var(--line));font-size:12.5px;color:var(--muted);line-height:1.75}
.th-tip code{font-size:11.5px;background:#fff;padding:2px 6px;border-radius:6px;border:1px solid var(--line)}
.th-page .theme-card{border-radius:18px}
.th-page .tc-actions{flex-wrap:wrap}
.th-page .tc-actions .btn-sm{justify-content:center}
.th-page .tc-settings{width:36px;height:36px;padding:0;display:grid;place-items:center}
@media(max-width:640px){
  .th-install-form{flex-direction:column;align-items:stretch}
  .th-install-form .form-control{max-width:none}
  .th-install-form .btn{width:100%;justify-content:center}
}

/* ==================== تنظیمات عمومی (st-) ==================== */
.st-pay{display:flex;flex-direction:column;gap:14px}
.st-pay-item{padding:16px;border:1px solid var(--line-2,var(--line));border-radius:14px;background:#fafbfc}
.st-pay-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px;padding-bottom:12px;border-bottom:1px solid var(--line-2,var(--line))}
.st-pay-head strong{font-size:14px}
.st-pay-head .switch{margin:0}
.st-logo-prev{display:flex;align-items:center;gap:14px;margin:10px 0 12px;padding:12px;border:1px dashed var(--line);border-radius:12px;background:#fff}
.st-logo-prev img{height:48px;max-width:160px;object-fit:contain;border-radius:8px}
.st-toggle-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;border:1px solid var(--line-2,var(--line));border-radius:14px;background:#fafbfc}
.st-toggle-row strong{font-size:14px}
.st-subsec{margin-top:18px;padding-top:16px;border-top:1px solid var(--line-2,var(--line))}
.st-subsec h4{margin:0 0 12px;font-size:13px;display:flex;align-items:center;gap:6px}
.st-side-note{display:flex;flex-direction:column;gap:10px;margin-bottom:14px;font-size:12.5px;color:var(--muted);line-height:1.65}
.st-side-note li{display:flex;align-items:flex-start;gap:8px}
.st-side-note li::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--brand);margin-top:7px;flex-shrink:0}

/* ==================== فرم‌های ادمین (af-) ==================== */
.af-layout{display:grid;grid-template-columns:1fr 300px;gap:20px;align-items:start}
.af-side{position:sticky;top:88px}
.af-field{margin-bottom:14px}
.af-field:last-child{margin-bottom:0}
.af-field>label{display:block;font-size:12.5px;font-weight:600;margin-bottom:6px;color:var(--ink)}
.af-field small.muted{font-weight:400}
.af-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.af-req{color:#dc2626}
.af-thumb{display:flex;align-items:center;gap:14px;margin-bottom:10px;padding:12px;border:1px dashed var(--line);border-radius:12px;background:#fafbfc}
.af-thumb img{max-width:140px;max-height:88px;object-fit:cover;border-radius:10px;border:1px solid var(--line);background:#fff}
.af-check-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;padding:12px;border:1px solid var(--line-2,var(--line));border-radius:12px;background:#fafbfc;max-height:220px;overflow-y:auto}
.af-check-grid .checkbox-row{font-size:13px;padding:6px 8px;border-radius:8px;transition:background .15s}
.af-check-grid .checkbox-row:hover{background:#fff}
.af-check-tree{grid-template-columns:1fr;max-height:280px}
.af-check-tree .checkbox-row{padding-inline-start:calc(8px + var(--d,0) * 18px)}
.af-check-tree .checkbox-row.is-root{font-weight:700}
.af-toggle-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border:1px solid var(--line-2,var(--line));border-radius:14px;background:#fafbfc;margin-bottom:14px;cursor:pointer}
.af-toggle-row strong{font-size:14px}
.af-title-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:8px}
.af-title-row>label{margin:0}
.af-inline-toggle{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:var(--muted);cursor:pointer;user-select:none}
.af-inline-toggle .switch-sm{width:38px;height:22px}
.af-inline-toggle .switch-sm .slider:before{height:16px;width:16px;left:3px;bottom:3px}
.af-inline-toggle .switch-sm input:checked+.slider:before{transform:translateX(16px)}
.af-actions{display:flex;flex-direction:column;gap:10px}
.af-actions .btn{width:100%;justify-content:center}
.af-page .ap-sec{margin-bottom:16px}
.af-page .prod-pick,.af-page .city-pick{border-color:var(--line-2,var(--line));border-radius:14px;background:#fafbfc}
.af-search{margin-bottom:12px}
@media(max-width:900px){
  .af-layout{grid-template-columns:1fr}
  .af-side{position:static}
  .af-grid-2{grid-template-columns:1fr}
}

/* ---------- Hover tooltip (data-tip) ---------- */
.has-tip { position: relative; }
.has-tip::after {
  content: attr(data-tip);
  position: absolute;
  bottom: calc(100% + 8px);
  left: 50%;
  transform: translateX(-50%) translateY(4px);
  background: var(--ink, #0f1020);
  color: #fff;
  font-size: 12px;
  font-weight: 600;
  line-height: 1;
  white-space: nowrap;
  padding: 7px 11px;
  border-radius: 8px;
  opacity: 0;
  pointer-events: none;
  transition: opacity .18s, transform .18s;
  z-index: 30;
  box-shadow: 0 8px 20px -8px rgba(0,0,0,.4);
}
.has-tip::before {
  content: "";
  position: absolute;
  bottom: calc(100% + 3px);
  left: 50%;
  transform: translateX(-50%) translateY(4px);
  border: 5px solid transparent;
  border-top-color: var(--ink, #0f1020);
  opacity: 0;
  pointer-events: none;
  transition: opacity .18s, transform .18s;
  z-index: 30;
}
.has-tip:hover::after, .has-tip:hover::before {
  opacity: 1;
  transform: translateX(-50%) translateY(0);
}

/* ==================== پروفایل ادمین (prof-adm-) ==================== */
.prof-adm-page .ap-side{display:flex;flex-direction:column;gap:14px}
.prof-adm-page .ap-main{min-width:0}
.prof-adm-panel{margin-bottom:0}
.prof-adm-user{display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center}

@media (prefers-reduced-motion: reduce) {
  .promo2-badge { animation: none; }
}

/* مخفی‌سازی کارت محصول بر اساس تعداد دسکتاپ/موبایل */
@media (min-width: 641px) {
  .product-card.home-hide-d { display: none !important; }
}
@media (max-width: 640px) {
  .product-card.home-hide-m { display: none !important; }
}

/* ترتیب بخش‌های صفحه اصلی در ادمین */
.home-order-list{display:flex;flex-direction:column;gap:10px}
.home-order-item{border:1px solid var(--line-2,var(--line));border-radius:14px;background:#fff;padding:12px 14px}
.home-order-item.is-off{opacity:.55}
.home-order-top{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.home-order-move{display:inline-flex;gap:4px}
.home-order-move button{width:30px;height:30px;border-radius:8px;border:1px solid var(--line);background:#fafbfc;cursor:pointer;display:grid;place-items:center;color:var(--muted);padding:0}
.home-order-move button:hover{border-color:var(--brand-soft);color:var(--brand-700);background:var(--brand-softer)}
.home-order-move button:disabled{opacity:.35;cursor:not-allowed}
.home-order-label{font-weight:700;font-size:13.5px;flex:1;min-width:140px}
.home-order-limits{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px;padding-top:12px;border-top:1px dashed var(--line-2,var(--line))}
.home-order-limits label{display:block;font-size:11px;font-weight:600;color:var(--muted);margin-bottom:4px}
.home-order-limits .form-control{width:100%}
.home-order-item .home-order-limits[hidden]{display:none!important}

/* مخفی‌سازی کارت محصول بر اساس تعداد دسکتاپ/موبایل */
@media (min-width: 641px) {
  .product-card.home-hide-d { display: none !important; }
}
@media (max-width: 640px) {
  .product-card.home-hide-m { display: none !important; }
}

/* بنر تخفیف صفحه اصلی */
.promo2 {
  position: relative; overflow: hidden; isolation: isolate;
  display: flex; align-items: center; justify-content: space-between; gap: 32px;
  border-radius: 28px; padding: 46px 52px; min-height: 220px; color: #fff;
  background: var(--grad);
  box-shadow: var(--shadow-brand);
}
.promo2::before {
  content: ''; position: absolute; inset: 0; z-index: -2;
  background:
    radial-gradient(520px 320px at 92% -30%, rgba(255,255,255,.30), transparent 60%),
    radial-gradient(420px 300px at -5% 130%, rgba(255,255,255,.16), transparent 60%);
}
.promo2-glow {
  position: absolute; z-index: -1; width: 360px; height: 360px; border-radius: 50%;
  left: -80px; bottom: -180px; background: radial-gradient(circle, rgba(255,255,255,.18), transparent 70%);
}
.promo2-rings { position: absolute; left: 6%; top: 50%; transform: translateY(-50%); z-index: -1; }
.promo2-rings span {
  position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%);
  border: 1.5px solid rgba(255,255,255,.16); border-radius: 50%;
}
.promo2-rings span:nth-child(1) { width: 190px; height: 190px; }
.promo2-rings span:nth-child(2) { width: 280px; height: 280px; border-style: dashed; }
.promo2-rings span:nth-child(3) { width: 370px; height: 370px; }
.promo2-text { position: relative; z-index: 1; max-width: 560px; }
.promo2-eyebrow {
  display: inline-flex; align-items: center; gap: 7px; margin-bottom: 16px;
  background: rgba(255,255,255,.16); border: 1px solid rgba(255,255,255,.32);
  padding: 7px 15px; border-radius: 999px; font-size: 12.5px; font-weight: 700;
  -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px);
}
.promo2-title { font-size: 32px; font-weight: 800; line-height: 1.35; margin: 0 0 12px; color: #fff; letter-spacing: -.4px; }
.promo2-sub { font-size: 15px; opacity: .95; margin: 0 0 26px; line-height: 2; max-width: 470px; }
.promo2-actions { display: flex; align-items: center; gap: 18px; flex-wrap: wrap; }
.promo2-btn {
  display: inline-flex; align-items: center; gap: 8px;
  background: #fff; color: var(--brand-600); font-weight: 800; font-size: 14.5px;
  padding: 13px 26px; border-radius: 999px; box-shadow: 0 14px 30px -14px rgba(0,0,0,.5);
  transition: transform .2s cubic-bezier(.34,1.56,.64,1), box-shadow .25s;
}
.promo2-btn:hover { transform: translateY(-3px); box-shadow: 0 20px 36px -14px rgba(0,0,0,.55); }
.promo2-link {
  display: inline-flex; align-items: center; gap: 5px; font-size: 13.5px; font-weight: 700;
  color: rgba(255,255,255,.92); border-bottom: 1px solid transparent; transition: gap .2s, border-color .2s;
}
.promo2-link:hover { gap: 9px; border-color: rgba(255,255,255,.6); }
.promo2-badge { position: relative; z-index: 1; flex: none; animation: promo2Float 6s ease-in-out infinite; }
.promo2-badge-inner {
  width: 158px; height: 158px; border-radius: 50%; display: grid; place-content: center; text-align: center;
  background: rgba(255,255,255,.14);
  border: 1px solid rgba(255,255,255,.4);
  box-shadow: inset 0 2px 20px rgba(255,255,255,.25), 0 22px 44px -18px rgba(0,0,0,.45);
  -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px);
}
.pb-up { font-size: 15px; font-weight: 700; opacity: .92; }
.pb-num { font-size: 52px; font-weight: 900; line-height: .95; letter-spacing: -2px; display: inline-flex; align-items: flex-start; justify-content: center; }
.pb-down { font-size: 13px; font-weight: 700; letter-spacing: 3px; opacity: .92; }
@keyframes promo2Float { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-12px); } }
@media (max-width: 820px) {
  .promo2 { padding: 40px 34px; }
  .promo2-title { font-size: 27px; }
}
@media (max-width: 640px) {
  .promo2 { flex-direction: column-reverse; text-align: center; padding: 34px 22px; gap: 24px; border-radius: 22px; }
  .promo2-sub { margin-inline: auto; }
  .promo2-actions { justify-content: center; }
  .promo2-title { font-size: 23px; }
  .promo2-badge-inner { width: 130px; height: 130px; }
  .pb-num { font-size: 42px; }
  .promo2-rings { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  .promo2-badge { animation: none; }
}

/* ترتیب بخش‌های صفحه اصلی در ادمین */
.home-order-list{display:flex;flex-direction:column;gap:10px}
.home-order-item{border:1px solid var(--line-2,var(--line));border-radius:14px;background:#fff;padding:12px 14px}
.home-order-item.is-off{opacity:.55}
.home-order-top{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.home-order-move{display:inline-flex;gap:4px}
.home-order-move button{width:30px;height:30px;border-radius:8px;border:1px solid var(--line);background:#fafbfc;cursor:pointer;display:grid;place-items:center;color:var(--muted);padding:0}
.home-order-move button:hover{border-color:var(--brand-soft);color:var(--brand-700);background:var(--brand-softer)}
.home-order-move button:disabled{opacity:.35;cursor:not-allowed}
.home-order-label{font-weight:700;font-size:13.5px;flex:1;min-width:140px}
.home-order-limits{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px;padding-top:12px;border-top:1px dashed var(--line-2,var(--line))}
.home-order-limits label{display:block;font-size:11px;font-weight:600;color:var(--muted);margin-bottom:4px}
.home-order-limits .form-control{width:100%}
.home-html-fields{margin-top:12px;padding-top:12px;border-top:1px dashed var(--line-2,var(--line))}
.home-order-item.is-html{border-color:var(--brand-soft);background:linear-gradient(180deg,#fff,var(--brand-softer,#f8fafc))}
.home-order-item .sec-html-del{margin-inline-start:auto}

/* ==================== پیش‌نمایش پیش‌نویس (ادمین) ==================== */
.draft-preview-bar{
  position:sticky;top:0;z-index:9999;display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;
  padding:10px 16px;background:linear-gradient(90deg,#b45309,#d97706);color:#fff;font-size:13px;line-height:1.5;
  box-shadow:0 2px 12px rgba(180,83,9,.35);text-align:center
}
.draft-preview-bar__label{font-weight:800;font-size:14px;letter-spacing:.02em;padding:2px 10px;border-radius:999px;background:rgba(255,255,255,.18)}
.draft-preview-bar__hint{opacity:.95}

/* ==================== صفحات لندینگ ==================== */
.landing-page{margin:18px 0 40px}
.landing-card{padding:24px 22px 30px}
.landing-cover{margin:0 0 18px;border-radius:14px;overflow:hidden;background:var(--line-2)}
.landing-cover img{display:block;width:100%;max-height:420px;object-fit:cover}
.landing-title{font-size:26px;font-weight:800;margin:0 0 10px;color:var(--ink)}
.landing-title-in{margin-top:4px}
.landing-lead{color:var(--muted);font-size:15px;line-height:1.9;margin:0 0 22px;padding-bottom:18px;border-bottom:1px solid var(--line-2)}
.landing-prose{margin-top:8px}
body.landing-no-header .landing-page{margin-top:28px}
body.landing-no-header .container{max-width:100%;padding-left:0;padding-right:0}
body.landing-no-header .landing-card{border-radius:0;border-left:none;border-right:none}
body.landing-no-header .landing-cover{border-radius:0;margin:0 0 22px}
.prof-adm-avatar{width:64px;height:64px;border-radius:18px;background:var(--grad);color:#fff;display:grid;place-items:center;font-size:26px;font-weight:800;box-shadow:var(--shadow-brand)}
.prof-adm-user strong{font-size:15px;color:var(--ink)}
.prof-adm-email{font-size:12px;word-break:break-all}
.prof-adm-foot{display:flex;justify-content:flex-end;margin-top:18px;padding-top:16px;border-top:1px solid var(--line-2,var(--line))}

/* ==================== شورت‌کد محصول ==================== */
/* کارت فشرده */
.sc-card{
  position:relative;display:flex;flex-direction:column;background:#fff;
  border:1px solid var(--line);border-radius:14px;overflow:hidden;
  box-shadow:var(--shadow-xs);transition:box-shadow .2s,transform .2s,border-color .2s;
  height:100%;
}
.sc-card:hover{border-color:#e3def7;box-shadow:0 12px 30px -18px rgba(124,58,237,.35);transform:translateY(-3px)}
.sc-card.is-out .sc-card-thumb img{filter:grayscale(.9);opacity:.75}
.sc-card-badge{
  position:absolute;top:8px;inset-inline-start:8px;z-index:2;
  background:var(--accent-2);color:#fff;font-size:11px;font-weight:800;
  padding:3px 8px;border-radius:999px;
}
.sc-card-thumb{display:block;aspect-ratio:1/1;background:#fafafc;overflow:hidden}
.sc-card-thumb img{width:100%;height:100%;object-fit:contain;padding:10px;transition:transform .25s}
.sc-card:hover .sc-card-thumb img{transform:scale(1.05)}
.sc-card-body{display:flex;flex-direction:column;gap:7px;padding:10px 12px 12px;flex:1}
.sc-card-title{
  font-size:12.5px;font-weight:700;color:var(--ink);line-height:1.7;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
  min-height:calc(12.5px * 1.7 * 2);text-decoration:none;
}
.sc-card-title:hover{color:var(--brand)}
.sc-card-price{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:auto}
.sc-card-current{font-size:13px;color:var(--ink);display:inline-flex;align-items:center;gap:3px}
.sc-card-current b{font-weight:800}
.sc-card-current small{color:var(--muted);font-size:10.5px}
.sc-card-old{font-size:11.5px;color:var(--muted);text-decoration:line-through}
.sc-card-un{font-size:12px;color:var(--muted);font-weight:700}
.sc-card-buy{
  display:inline-flex;align-items:center;justify-content:center;gap:6px;
  width:100%;border:none;border-radius:10px;cursor:pointer;
  background:var(--grad);color:#fff;font-family:inherit;
  font-size:12px;font-weight:800;padding:9px 10px;text-decoration:none;
  transition:filter .18s,transform .15s;
}
.sc-card-buy:hover{filter:brightness(1.08)}
.sc-card-buy:active{transform:scale(.97)}
.sc-card-buy:disabled{opacity:.6;cursor:wait}
.sc-card-buy-out{background:var(--bg);color:var(--ink-2);border:1px solid var(--line)}
.sc-card-buy-out:hover{filter:none;color:var(--brand);border-color:var(--brand-soft);background:var(--brand-soft)}
.sc-card-view{background:#fff;color:var(--brand);border:1px solid var(--brand)}
.sc-card-view:hover{background:var(--brand);color:#fff;filter:none}

/* شورت‌کد تکی */
.sc-product{margin:20px auto;max-width:230px}
.prose .sc-product{margin-inline:auto}

/* گرید گروهی محصولات */
.sc-grid-wrap{margin:24px 0}
.sc-grid-title{
  display:inline-flex;align-items:center;gap:8px;margin:0 0 13px;
  color:var(--ink);font-size:16px;font-weight:800;line-height:1.5;
}
.sc-grid-title svg{color:var(--brand)}
.sc-grid{
  display:grid;gap:14px;align-items:stretch;
}
.sc-grid-item{display:flex;min-width:0}
.sc-grid-item .sc-card{width:100%}
@media (max-width:700px){
  .sc-grid{gap:10px}
  .sc-grid-title{font-size:14px;margin-bottom:10px}
}
@media (max-width:380px){
  .sc-grid{gap:8px}
  .sc-grid .sc-card-body{padding:8px 9px 10px}
  .sc-grid .sc-card-current{font-size:11.5px}
  .sc-grid .sc-card-old{font-size:10.5px}
}

/* اسلایدر */
.sc-slider{margin:26px 0;position:relative;--sc-gap:14px;--sc-cols:3}
.sc-slider-head{margin-bottom:12px}
.sc-slider-title{display:inline-flex;align-items:center;gap:8px;font-size:16px;font-weight:800;margin:0;color:var(--ink)}
.sc-slider-title svg{color:var(--brand)}
.sc-slider-body{position:relative}
.sc-slider-track{
  display:flex;gap:var(--sc-gap);overflow-x:auto;
  scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;
  padding:4px 2px 10px;scrollbar-width:none;overscroll-behavior-x:contain;
}
.sc-slider-track::-webkit-scrollbar{display:none}
.sc-slider-item{
  flex:0 0 calc((100% - (var(--sc-cols) - 1) * var(--sc-gap)) / var(--sc-cols));
  min-width:0;scroll-snap-align:start;display:flex;
}
.sc-slider-item .sc-slide-card{width:100%}

/* کارت افقی اسلایدر، مشابه ویترین محصول در مقاله */
.sc-slide-card{
  display:flex;flex-direction:column;height:100%;overflow:hidden;
  background:#fff;border:1px solid var(--line);border-radius:16px;
  box-shadow:var(--shadow-xs);transition:border-color .2s,box-shadow .2s,transform .2s;
}
.sc-slide-card:hover{border-color:#ded8ef;box-shadow:0 15px 36px -22px rgba(65,45,120,.35);transform:translateY(-2px)}
.sc-slide-main{display:grid;grid-template-columns:112px minmax(0,1fr);gap:12px;padding:13px;flex:1}
.sc-slide-thumb{display:grid;place-items:center;aspect-ratio:1/1;border-radius:12px;overflow:hidden;background:#fafafc}
.sc-slide-thumb img{width:100%;height:100%;object-fit:contain;padding:6px;transition:transform .25s}
.sc-slide-card:hover .sc-slide-thumb img{transform:scale(1.04)}
.sc-slide-card.is-out .sc-slide-thumb img{filter:grayscale(.8);opacity:.75}
.sc-slide-info{display:flex;flex-direction:column;min-width:0;padding-block:1px}
.sc-slide-brand{color:var(--brand);font-size:11px;font-weight:800;margin-bottom:4px}
.sc-slide-title{
  color:var(--ink);font-size:12.5px;font-weight:700;line-height:1.75;text-decoration:none;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}
.sc-slide-title:hover{color:var(--brand)}
.sc-slide-price{display:flex;align-items:flex-end;gap:7px;margin-top:auto;padding-top:9px;min-width:0}
.sc-slide-discount{
  flex-shrink:0;background:var(--accent-2);color:#fff;border-radius:999px;
  padding:2px 7px;font-size:10.5px;font-weight:800;
}
.sc-slide-prices{display:flex;flex-direction:column;align-items:flex-end;line-height:1.4;min-width:0}
.sc-slide-prices del{color:var(--muted);font-size:10.5px}
.sc-slide-prices strong{color:var(--ink);font-size:13px;font-weight:800;white-space:nowrap}
.sc-slide-prices strong small{color:var(--muted);font-size:9.5px}
.sc-slide-currency{color:var(--muted);font-size:9.5px;padding-bottom:2px}
.sc-slide-unavailable{color:var(--muted);font-size:12px;font-weight:700}
.sc-slide-view{
  display:flex;align-items:center;justify-content:center;gap:5px;
  min-height:38px;padding:8px 12px;border-top:1px solid var(--line);
  color:var(--brand);background:#fff;font-size:12px;font-weight:800;text-decoration:none;
  transition:background .18s,color .18s;
}
.sc-slide-view:hover{background:var(--brand);color:#fff}
.sc-slider-nav{
  position:absolute;top:50%;transform:translateY(-50%);z-index:3;
  width:36px;height:36px;border-radius:50%;border:1px solid var(--line);
  background:rgba(255,255,255,.95);color:var(--ink);display:grid;place-items:center;
  cursor:pointer;box-shadow:var(--shadow-sm);transition:.18s;backdrop-filter:blur(4px);
}
.sc-slider-nav:hover{background:var(--brand);color:#fff;border-color:transparent}
.sc-slider-prev{inset-inline-end:auto;inset-inline-start:-8px}
.sc-slider-prev svg{transform:scaleX(-1)}
.sc-slider-next{inset-inline-start:auto;inset-inline-end:-8px}
.sc-slider-nav.is-off{opacity:0;pointer-events:none}
.sc-slider-dots{display:none;justify-content:center;gap:6px;margin-top:4px}
.sc-slider-dots button{
  width:7px;height:7px;border-radius:50%;border:none;padding:0;cursor:pointer;
  background:#d9d6e6;transition:.2s;
}
.sc-slider-dots button.is-active{background:var(--brand);width:20px;border-radius:999px}

/* ریسپانسیو اسلایدر: تعداد کارت در هر نما */
@media (max-width:1080px){ .sc-slider{--sc-cols:2} }
@media (max-width:760px){
  .sc-slider{--sc-cols:1.15;--sc-gap:10px}
  .sc-slider-nav{display:none}
  .sc-slider-dots:not([hidden]){display:flex}
  .sc-slide-main{grid-template-columns:96px minmax(0,1fr);padding:11px;gap:10px}
}
@media (max-width:420px){
  .sc-slider{--sc-cols:1.08}
  .sc-slide-main{grid-template-columns:86px minmax(0,1fr)}
  .sc-slide-title{font-size:12px}
  .sc-slide-prices strong{font-size:12px}
  .sc-card-title{font-size:12px}
  .sc-card-buy{font-size:11.5px;padding:8px}
  .sc-product{max-width:200px}
}

/* شورت‌کد در فرم محصول (ادمین) */
.sc-field{border:1px solid var(--line);border-radius:14px;padding:14px 16px;background:#fafbfc}
.sc-toggle-row{display:flex;align-items:center;justify-content:space-between;gap:14px;cursor:pointer;margin:0}
.sc-toggle-text{display:flex;flex-direction:column;gap:2px}
.sc-toggle-text strong{font-size:13.5px;color:var(--ink)}
.sc-toggle-text small{font-size:11.5px}
.sc-panel{margin-top:14px;padding-top:14px;border-top:1px dashed var(--line)}
.sc-panel[hidden]{display:none!important}

/* کپی شورت‌کد در ادمین */
.sc-copy-box{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.sc-copy-code{
  flex:1;min-width:0;font-size:12px;direction:ltr;text-align:left;
  background:var(--bg,#f7f6fb);border:1px solid var(--line);border-radius:10px;
  padding:8px 10px;overflow:auto;white-space:nowrap;
}
.btn-sm{padding:8px 12px;font-size:12.5px}

/* =========================================================
   زیرسیستم مستقل وبلاگ
   ========================================================= */
.blog-body{background:#f7f8fb;color:var(--ink)}
.blog-container{width:min(1240px,calc(100% - 36px));margin:0 auto;padding:22px 0 52px}
.blog-header{position:relative;z-index:50;background:#fff;box-shadow:0 1px 0 var(--line)}
.blog-header-top{border-bottom:1px solid var(--line)}
.blog-header-inner{width:min(1240px,calc(100% - 36px));margin:0 auto;display:flex;align-items:center;gap:20px}
.blog-header-top .blog-header-inner{min-height:78px}
.blog-logo{display:flex;align-items:center;gap:11px;min-width:max-content;text-decoration:none}
.blog-logo-mark{width:43px;height:43px;border-radius:14px;background:var(--grad);color:#fff;display:grid;place-items:center;box-shadow:var(--shadow-brand)}
.blog-logo > span:last-child{display:flex;flex-direction:column;line-height:1.45}
.blog-logo strong{font-size:18px;font-weight:900;color:var(--ink)}
.blog-logo small{font-size:10.5px;color:var(--muted);max-width:220px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.blog-search{margin-inline:auto;display:flex;align-items:center;width:min(430px,42vw);height:44px;background:var(--bg);border:1px solid var(--line);border-radius:13px;padding-inline-start:14px;overflow:hidden}
.blog-search svg{color:var(--muted)}
.blog-search input{flex:1;min-width:0;border:none;background:transparent;outline:none;font:inherit;padding:0 10px;color:var(--ink)}
.blog-search button{align-self:stretch;border:none;background:var(--ink);color:#fff;font:inherit;font-weight:700;padding:0 18px;cursor:pointer}
.blog-shop-link{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:11px;padding:8px 13px;font-weight:700;font-size:12.5px}
.blog-shop-link:hover{color:var(--brand);border-color:var(--brand)}
.blog-menu-toggle{display:none;width:42px;height:42px;border:1px solid var(--line);border-radius:11px;background:#fff;place-items:center;color:var(--ink);cursor:pointer}
.blog-nav{background:#fff}
.blog-nav .blog-header-inner{min-height:48px}
.blog-nav-list,.blog-submenu{list-style:none;margin:0;padding:0}
.blog-nav-list{display:flex;align-items:stretch;gap:4px;width:100%}
.blog-nav-list > li{position:relative;display:flex}
.blog-nav-list a{display:flex;align-items:center;gap:5px;padding:11px 14px;font-size:13px;font-weight:700;color:var(--ink-2);text-decoration:none;border-radius:9px}
.blog-nav-list a:hover{background:var(--brand-soft);color:var(--brand)}
.blog-submenu{position:absolute;top:calc(100% - 2px);inset-inline-start:0;display:none;min-width:190px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:7px;box-shadow:var(--shadow)}
.blog-nav-list li:hover > .blog-submenu{display:block}
.blog-submenu li{position:relative}
.blog-submenu a{white-space:nowrap;padding:9px 11px}
.blog-submenu .blog-submenu{top:0;inset-inline-start:100%}

.blog-footer{background:#111225;color:#fff;margin-top:32px}
.blog-footer-inner{width:min(1240px,calc(100% - 36px));margin:auto;display:flex;align-items:center;justify-content:space-between;gap:28px;padding:34px 0}
.blog-footer-brand{display:flex;align-items:center;gap:13px}.blog-footer-brand strong{font-size:17px}.blog-footer-brand p{font-size:12px;color:#b9b9c9;margin-top:3px}
.blog-footer-links{display:flex;flex-wrap:wrap;gap:8px 20px}.blog-footer-links a{color:#d9d9e4;font-size:12.5px}.blog-footer-links a:hover{color:#fff}
.blog-footer-copy{border-top:1px solid rgba(255,255,255,.1);text-align:center;color:#9191a5;font-size:11.5px;padding:12px}

/* صفحه اصلی */
.blog-masonry{display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:repeat(2,210px);gap:12px;margin:4px 0 28px}
.blog-masonry-item{position:relative;overflow:hidden;border-radius:19px;color:#fff;min-width:0}
.blog-masonry-item-1{grid-row:1/3}
.blog-masonry-item:nth-child(n+6){display:none}
.blog-masonry-item img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.blog-masonry-item:hover img{transform:scale(1.045)}
.blog-masonry-shade{position:absolute;inset:0;background:linear-gradient(to top,rgba(9,10,24,.88),rgba(9,10,24,.08) 70%)}
.blog-masonry-content{position:absolute;inset-inline:0;bottom:0;padding:19px;display:flex;flex-direction:column;gap:5px}
.blog-masonry-content small{align-self:flex-start;background:rgba(255,255,255,.18);backdrop-filter:blur(6px);padding:3px 9px;border-radius:999px;font-size:10.5px}
.blog-masonry-content strong{font-size:15px;line-height:1.7;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.blog-masonry-item-1 .blog-masonry-content strong{font-size:23px;max-width:620px}
.blog-masonry-content time{font-size:10.5px;opacity:.82}
.blog-intro,.blog-page-head{display:flex;align-items:center;justify-content:space-between;gap:28px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:22px 25px;margin-bottom:18px}
.blog-kicker{display:inline-block;color:var(--brand);font-size:11px;font-weight:900;margin-bottom:3px}
.blog-intro h1,.blog-page-head h1{font-size:24px;margin:0 0 4px}.blog-intro p,.blog-page-head p{color:var(--muted);font-size:13px}
.blog-intro-search{display:flex;align-items:center;width:min(440px,48%);height:45px;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#fafafc}
.blog-intro-search input{flex:1;min-width:0;border:none;outline:none;background:transparent;font:inherit;padding:0 14px}
.blog-intro-search button{height:100%;display:flex;align-items:center;gap:6px;border:none;background:var(--brand);color:#fff;font:inherit;font-weight:700;padding:0 16px;cursor:pointer}
.blog-category-bar{display:flex;align-items:center;gap:8px;overflow-x:auto;padding:2px 0 16px;scrollbar-width:none}
.blog-category-bar::-webkit-scrollbar{display:none}
.blog-category-bar a{display:inline-flex;align-items:center;gap:7px;white-space:nowrap;background:#fff;border:1px solid var(--line);border-radius:999px;padding:7px 13px;font-size:12px;font-weight:700}
.blog-category-bar a:hover,.blog-category-bar a.is-active{background:var(--brand);color:#fff;border-color:var(--brand)}
.blog-category-bar a span{background:var(--bg);color:var(--muted);border-radius:999px;padding:0 6px;font-size:10px}
.blog-home-section{margin:24px 0 34px}
.blog-section-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px}
.blog-section-head > div{display:flex;align-items:center;gap:9px}.blog-section-head h2{font-size:19px;margin:0}.blog-section-head > span,.blog-section-head > a{font-size:12px;color:var(--muted)}.blog-section-head > a:hover{color:var(--brand)}
.blog-section-icon{width:35px;height:35px;border-radius:11px;background:var(--brand-soft);color:var(--brand);display:grid;place-items:center}
.blog-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.blog-card-grid-trending{grid-template-columns:repeat(3,minmax(0,1fr))}
.blog-article-card{display:flex;flex-direction:column;overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:16px;min-width:0;box-shadow:var(--shadow-xs);transition:.2s}
.blog-article-card:hover{transform:translateY(-3px);box-shadow:0 16px 34px -24px rgba(40,30,90,.4);border-color:#ded8ee}
.blog-article-thumb{position:relative;display:block;aspect-ratio:16/9;overflow:hidden;background:var(--grad-soft)}
.blog-article-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .35s}.blog-article-card:hover .blog-article-thumb img{transform:scale(1.04)}
.blog-category-chip{position:absolute;top:10px;inset-inline-start:10px;background:rgba(255,255,255,.92);color:var(--brand);font-size:10.5px;font-weight:800;border-radius:999px;padding:4px 9px;backdrop-filter:blur(5px)}
.blog-article-body{display:flex;flex-direction:column;gap:8px;padding:14px 15px 15px;flex:1}
.blog-article-body h3{font-size:14px;line-height:1.75;margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.blog-article-body a:hover h3{color:var(--brand)}.blog-article-body p{color:var(--muted);font-size:11.5px;line-height:1.8;margin:0}
.blog-article-meta{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:auto;padding-top:5px;color:var(--muted);font-size:10.5px}
.blog-article-card.compact{display:grid;grid-template-columns:120px 1fr}.blog-article-card.compact .blog-article-thumb{aspect-ratio:1/1}.blog-article-card.compact .blog-article-body{padding:12px}.blog-article-card.compact .blog-article-meta span{display:none}
.blog-listing-grid{margin:18px 0 25px}
.blog-category-hero{position:relative;overflow:hidden;border-radius:20px;min-height:220px;display:flex;align-items:flex-end;margin:4px 0 20px;background:linear-gradient(135deg,#1d1f36,#3a2d66);color:#fff}
.blog-category-hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.blog-category-hero-shade{position:absolute;inset:0;background:linear-gradient(to top,rgba(10,11,24,.88),rgba(10,11,24,.2) 65%)}
.blog-category-hero-body{position:relative;z-index:1;padding:28px 30px;max-width:760px}
.blog-category-hero-body .blog-kicker{color:#d6c8ff}.blog-category-hero-body h1{font-size:28px;margin:4px 0 8px;text-shadow:0 2px 10px rgba(0,0,0,.25)}
.blog-category-hero-body p{font-size:13.5px;line-height:1.9;opacity:.92;margin:0}
.blog-category-hero.is-plain{background:#fff;color:var(--ink);border:1px solid var(--line);min-height:0;align-items:stretch}
.blog-category-hero.is-plain .blog-category-hero-body{padding:22px 24px}.blog-category-hero.is-plain .blog-kicker{color:var(--brand)}.blog-category-hero.is-plain h1{text-shadow:none}
.blog-category-content{margin-bottom:22px}
.blog-admin-cat-thumb{width:34px;height:34px;border-radius:9px;object-fit:cover;flex-shrink:0}
.blog-admin-tree-actions{display:flex;align-items:center;gap:6px;flex-shrink:0}

/* صفحه مقاله */
.blog-breadcrumb{display:flex;align-items:center;gap:7px;overflow:hidden;white-space:nowrap;color:var(--muted);font-size:11.5px;margin:2px 0 12px}.blog-breadcrumb span:last-child{overflow:hidden;text-overflow:ellipsis}.blog-breadcrumb a:hover{color:var(--brand)}
.blog-byline{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:11.5px;color:rgba(255,255,255,.9)}
.blog-byline > *{display:inline-flex;align-items:center;gap:5px}.blog-author-avatar{width:29px;height:29px;border-radius:50%;justify-content:center;background:#fff;color:var(--brand);font-weight:900}.blog-author-name{font-weight:800}.blog-byline-sep{width:1px;height:18px;background:rgba(255,255,255,.3)}
.blog-inline-toc{background:var(--brand-softer);border:1px solid #e4dff4;border-radius:14px;margin:0 0 24px;overflow:hidden}
.blog-inline-toc[hidden]{display:none}.blog-inline-toc-head{display:flex;align-items:center;justify-content:space-between;width:100%;border:none;background:transparent;padding:14px 17px;color:var(--brand);font:inherit;font-weight:800;cursor:pointer}.blog-inline-toc-head span{display:flex;align-items:center;gap:8px}.blog-inline-toc-head > svg{transition:transform .2s}
.blog-inline-toc ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:3px 14px;list-style:none;margin:0;padding:0 17px 15px}.blog-inline-toc li a{display:block;padding:6px 8px;border-radius:8px;color:var(--ink-2);font-size:12px;font-weight:600}.blog-inline-toc li a:hover,.blog-inline-toc li a.active{background:#fff;color:var(--brand)}.blog-inline-toc li.toc-sub a{padding-inline-start:20px;color:var(--muted);font-weight:500}.blog-inline-toc.is-collapsed ul{display:none}.blog-inline-toc.is-collapsed .blog-inline-toc-head > svg{transform:rotate(180deg)}
.blog-side{position:sticky;top:20px}.blog-tab-box{padding:0;overflow:hidden}
.blog-tab-head{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid var(--line)}.blog-tab-head button{border:none;background:#fafafc;padding:13px 8px;font:inherit;font-size:12px;font-weight:800;color:var(--muted);cursor:pointer;border-bottom:2px solid transparent}.blog-tab-head button.is-active{background:#fff;color:var(--brand);border-bottom-color:var(--brand)}
.blog-tab-pane{padding:15px}.blog-tab-pane[hidden]{display:none}.side-article time,.side-article span{font-size:10.5px;color:var(--muted)}.blog-sidebar-custom{margin-top:16px;overflow:hidden}.blog-sidebar-custom img{max-width:100%;height:auto}

/* مدیریت وبلاگ */
.blog-admin-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}.blog-admin-stat{display:grid;grid-template-columns:42px 1fr;grid-template-rows:auto auto;column-gap:11px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px}.blog-admin-stat > span{grid-row:1/3;width:42px;height:42px;border-radius:12px;background:var(--brand-soft);color:var(--brand);display:grid;place-items:center}.blog-admin-stat strong{font-size:20px;line-height:1.3}.blog-admin-stat small{color:var(--muted);font-size:10.5px}
.blog-admin-links{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.blog-admin-links > a{display:flex;align-items:center;gap:11px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:15px}.blog-admin-links > a > svg:first-child{color:var(--brand)}.blog-admin-links > a > svg:last-child{margin-inline-start:auto;color:var(--muted)}.blog-admin-links div{display:flex;flex-direction:column}.blog-admin-links strong{font-size:13px}.blog-admin-links small{font-size:10.5px;color:var(--muted)}
.blog-admin-recent{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.blog-admin-recent a{display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:11px;padding:8px}.blog-admin-recent img{width:52px;height:52px;border-radius:9px;object-fit:cover}.blog-admin-recent span{display:flex;flex-direction:column;min-width:0}.blog-admin-recent strong{font-size:11.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.blog-admin-recent small{font-size:9.5px;color:var(--muted)}
.blog-admin-two-col{display:grid;grid-template-columns:minmax(280px,.72fr) minmax(0,1.4fr);gap:16px;align-items:start}.blog-admin-tree{display:flex;flex-direction:column;gap:7px}.blog-admin-tree-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 10px;padding-inline-start:calc(10px + var(--depth,0) * 20px);border:1px solid var(--line);border-radius:10px;background:#fff}.blog-admin-tree-main{display:flex;align-items:center;gap:8px;min-width:0}.blog-admin-tree-main strong{font-size:12px}.blog-admin-tree-main code{font-size:9.5px;color:var(--muted);direction:ltr}.blog-admin-tree-main small{font-size:9.5px;color:var(--accent-2)}.blog-admin-tree-dot{width:7px;height:7px;border-radius:50%;background:var(--brand);flex-shrink:0}.blog-admin-tree-row details{position:relative}.blog-admin-tree-row summary{list-style:none}.blog-inline-form{position:absolute;z-index:10;inset-inline-end:0;top:calc(100% + 5px);width:min(600px,80vw);display:grid;grid-template-columns:1fr 1fr;gap:8px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px;box-shadow:var(--shadow)}.blog-url-suggestions{display:flex;flex-wrap:wrap;gap:5px;margin-top:6px}.blog-url-suggestions code{background:var(--bg);border-radius:6px;padding:3px 6px;font-size:9px;direction:ltr}.blog-admin-settings{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.blog-admin-settings .ap-sec:first-child,.blog-admin-settings .ap-sec:last-child{grid-column:1/-1}

@media(max-width:1000px){
  .blog-masonry{grid-template-columns:1.5fr 1fr;grid-template-rows:repeat(2,180px)}.blog-masonry-item:nth-child(n+4){display:none}
  .blog-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.blog-card-grid-trending{grid-template-columns:repeat(2,minmax(0,1fr))}
  .blog-layout{grid-template-columns:1fr}.blog-side{position:static}.blog-admin-stats,.blog-admin-links{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:760px){
  .blog-container,.blog-header-inner,.blog-footer-inner{width:min(100% - 24px,1240px)}
  .blog-header-top .blog-header-inner{min-height:66px}.blog-logo small,.blog-shop-link{display:none}.blog-search{display:none}.blog-menu-toggle{display:grid;margin-inline-start:auto}
  .blog-nav{display:none}.blog-nav.is-open{display:block;border-top:1px solid var(--line)}.blog-nav .blog-header-inner{display:block;padding:8px 0}.blog-nav-list{flex-direction:column}.blog-nav-list > li{display:block}.blog-nav-list a{justify-content:space-between}.blog-submenu{position:static;display:block;box-shadow:none;border:none;border-inline-start:2px solid var(--line);border-radius:0;margin-inline-start:18px;padding:0}
  .blog-masonry{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:10px;margin-inline:-12px;padding-inline:12px}.blog-masonry-item,.blog-masonry-item-1,.blog-masonry-item:nth-child(n){display:block;flex:0 0 86%;height:260px;scroll-snap-align:center}.blog-masonry-item-1 .blog-masonry-content strong{font-size:18px}
  .blog-intro,.blog-page-head{align-items:stretch;flex-direction:column;padding:18px}.blog-intro-search{width:100%}.blog-intro h1,.blog-page-head h1{font-size:20px}
  .blog-card-grid,.blog-card-grid-trending{grid-template-columns:1fr}.blog-article-card.compact{grid-template-columns:105px 1fr}
  .blog-hero-overlay{padding:20px}.blog-hero-overlay h1{font-size:20px}.blog-byline{gap:7px}.blog-byline-sep{display:none}
  .blog-card{padding:20px 16px}.blog-inline-toc ul{grid-template-columns:1fr}.blog-footer-inner{align-items:flex-start;flex-direction:column}.blog-footer-links{gap:8px 14px}
  .blog-admin-stats,.blog-admin-links,.blog-admin-recent,.blog-admin-settings{grid-template-columns:1fr}.blog-admin-settings .ap-sec:last-child{grid-column:auto}.blog-admin-two-col{grid-template-columns:1fr}.blog-admin-tree-main code{display:none}
}
