/* ==========================================================================
   شاهیوند آکادمی — استایل کامل
   روشن، مدرن، صمیمی: زمینه‌ی سفید ملایم، آبی برای اقدام، فیروزه‌ای/کهربایی برای تأکید
   ========================================================================== */

/* ── IRANYekan (فونت اصلی سایت) ── */
@font-face { font-family: "IRANYekan"; src: url("../fonts/iranyekan-400.woff2") format("woff2"); font-weight: 400; font-display: swap; }
@font-face { font-family: "IRANYekan"; src: url("../fonts/iranyekan-500.woff2") format("woff2"); font-weight: 500; font-display: swap; }
@font-face { font-family: "IRANYekan"; src: url("../fonts/iranyekan-600.woff2") format("woff2"); font-weight: 600; font-display: swap; }
@font-face { font-family: "IRANYekan"; src: url("../fonts/iranyekan-800.woff2") format("woff2"); font-weight: 700 900; font-display: swap; }
@font-face { font-family: "Vazirmatn"; src: url("../fonts/Vazirmatn-Regular.woff2") format("woff2"); font-weight: 400; font-display: swap; }
@font-face { font-family: "Vazirmatn"; src: url("../fonts/Vazirmatn-Medium.woff2") format("woff2"); font-weight: 500; font-display: swap; }
@font-face { font-family: "Vazirmatn"; src: url("../fonts/Vazirmatn-SemiBold.woff2") format("woff2"); font-weight: 600; font-display: swap; }
@font-face { font-family: "Vazirmatn"; src: url("../fonts/Vazirmatn-Bold.woff2") format("woff2"); font-weight: 700; font-display: swap; }
@font-face { font-family: "Vazirmatn"; src: url("../fonts/Vazirmatn-ExtraBold.woff2") format("woff2"); font-weight: 800; font-display: swap; }

:root {
  --bg: #f8fafc;
  --surface: #fff;
  --surface-2: #f1f5f9;
  --text: #0f172a;
  --text-2: #475569;
  --text-3: #64748b;
  --primary: #2563eb;
  --primary-deep: #1d4ed8;
  --primary-soft: #eff6ff;
  --primary-line: #dbeafe;
  --teal: #14b8a6;
  --amber: #f59e0b;
  --danger: #dc2626;
  --ok: #059669;
  --line: rgba(15, 23, 42, .07);
  --line-2: rgba(15, 23, 42, .12);
  --shadow-sm: 0 1px 2px rgba(15, 23, 42, .05), 0 2px 8px rgba(15, 23, 42, .04);
  --shadow: 0 1px 3px rgba(15, 23, 42, .06), 0 10px 30px -12px rgba(15, 23, 42, .14);
  --shadow-lg: 0 30px 60px -28px rgba(15, 23, 42, .22);
  --font: "IRANYekan", "Vazirmatn", Tahoma, system-ui, sans-serif;
  --gutter: 16px;
  --max: 1140px;
  --r: 12px;
  --r-lg: 18px;
  --r-xl: 24px;
  --header-h: 60px;
  --tabbar-h: 64px;
  --ease: cubic-bezier(.2, .7, .1, 1);
  color-scheme: light;
}
@media (min-width: 720px) { :root { --gutter: 28px; --header-h: 68px; } }

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; scroll-padding-top: calc(var(--header-h) + 16px); }
body {
  margin: 0; min-height: 100dvh; background: var(--bg); color: var(--text);
  font-family: var(--font); font-size: 16px; line-height: 1.85;
  -webkit-font-smoothing: antialiased; overflow-x: hidden;
  padding-bottom: calc(var(--tabbar-h) + env(safe-area-inset-bottom));
}
@media (min-width: 900px) { body { padding-bottom: 0; } }
img, svg { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
button, input, select { font: inherit; color: inherit; }
button { background: none; border: 0; cursor: pointer; padding: 0; }
h1, h2, h3, h4, p, ul, ol, figure { margin: 0; }
ul, ol { padding: 0; list-style: none; }
[hidden] { display: none !important; }
::selection { background: var(--primary-line); }
:focus-visible { outline: 2px solid var(--primary); outline-offset: 3px; border-radius: 4px; }
.ltr { direction: ltr; unicode-bidi: isolate; display: inline-block; }
.skip { position: absolute; inset-inline-start: 12px; top: -60px; z-index: 100; background: var(--primary); color: #fff; padding: 8px 14px; border-radius: 10px; }
.skip:focus { top: 10px; }

.container { width: 100%; max-width: var(--max); margin-inline: auto; padding-inline: var(--gutter); }
.section { padding-block: 64px; position: relative; }
@media (min-width: 900px) { .section { padding-block: 96px; } }
.section--white { background: #fff; border-block: 1px solid var(--line); }

/* ---------- Buttons / tags ---------- */
.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  min-height: 48px; padding: 0 22px; border-radius: var(--r); font-weight: 700; font-size: 15px;
  transition: background .2s, border-color .2s, color .2s, transform .15s, box-shadow .2s; white-space: nowrap;
}
.btn svg { width: 18px; height: 18px; }
.btn--primary { background: var(--primary); color: #fff; box-shadow: 0 8px 20px -10px rgba(37, 99, 235, .65); }
.btn--primary:hover { background: var(--primary-deep); }
.btn--primary:active { transform: translateY(1px); }
.btn--ghost { background: #fff; border: 1px solid var(--line-2); box-shadow: var(--shadow-sm); }
.btn--ghost:hover { border-color: #bfdbfe; color: var(--primary-deep); }
.btn--sm { min-height: 40px; padding: 0 16px; font-size: 14px; }
.btn--block { width: 100%; }
.btn[disabled] { opacity: .55; pointer-events: none; }
.tag { display: inline-flex; align-items: center; height: 26px; padding: 0 10px; border-radius: 999px; background: var(--primary-soft); color: var(--primary-deep); font-size: 12.5px; font-weight: 600; line-height: 1; }

/* ---------- Header ---------- */
.site-header { position: sticky; top: 0; z-index: 50; background: rgba(255, 255, 255, .86); backdrop-filter: saturate(1.4) blur(14px); -webkit-backdrop-filter: saturate(1.4) blur(14px); border-bottom: 1px solid var(--line); }
.site-header .container { height: var(--header-h); display: flex; align-items: center; gap: 24px; }
.logo { display: inline-flex; align-items: center; gap: 10px; font-weight: 800; font-size: 18px; }
.logo__mark { width: 36px; height: 36px; border-radius: 11px; background: linear-gradient(135deg, var(--primary), var(--teal)); display: grid; place-items: center; color: #fff; flex: none; }
.logo__mark svg { width: 20px; height: 20px; }
.logo__text { display: grid; line-height: 1.2; }
.logo__text small { font-size: 10.5px; font-weight: 500; letter-spacing: .14em; color: var(--text-3); direction: ltr; text-align: start; }
.site-nav { display: none; gap: 4px; margin-inline-start: 8px; }
@media (min-width: 900px) { .site-nav { display: flex; } }
.site-nav a { padding: 6px 14px; border-radius: 10px; font-size: 14.5px; font-weight: 500; color: var(--text-2); transition: background .2s, color .2s; }
.site-nav a:hover { background: var(--surface-2); color: var(--text); }
.site-nav a[aria-current="page"] { background: var(--primary-soft); color: var(--primary-deep); font-weight: 700; }
.site-header__end { margin-inline-start: auto; display: flex; align-items: center; gap: 8px; }
.site-header__cart { position: relative; width: 42px; height: 42px; display: grid; place-items: center; border-radius: 12px; border: 1px solid var(--line-2); background: #fff; }
.site-header__cart svg { width: 20px; height: 20px; }
.site-header__badge { position: absolute; top: -6px; inset-inline-start: -6px; min-width: 20px; height: 20px; padding: 0 5px; border-radius: 10px; background: var(--amber); color: #3b2a00; font-size: 11.5px; font-weight: 800; display: grid; place-items: center; line-height: 1; }
.site-header__cta { display: none; }
@media (min-width: 720px) { .site-header__cta { display: inline-flex; } }

/* ---------- Mobile tabbar ---------- */
.tabbar { position: fixed; z-index: 60; inset-inline: 0; bottom: 0; height: calc(var(--tabbar-h) + env(safe-area-inset-bottom)); padding-bottom: env(safe-area-inset-bottom); display: grid; grid-auto-flow: column; grid-auto-columns: 1fr; background: rgba(255, 255, 255, .94); backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px); border-top: 1px solid var(--line-2); }
@media (min-width: 900px) { .tabbar { display: none; } }
.tabbar a { position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px; font-size: 11.5px; font-weight: 500; color: var(--text-3); min-height: 44px; }
.tabbar svg { width: 22px; height: 22px; }
.tabbar a[aria-current="page"] { color: var(--primary-deep); font-weight: 700; }
.tabbar a[aria-current="page"]::before { content: ""; position: absolute; top: 0; width: 28px; height: 3px; border-radius: 0 0 4px 4px; background: var(--primary); }
.tabbar .site-header__badge { top: 6px; inset-inline-start: calc(50% + 6px); }

/* ---------- Hero ---------- */
.stage { background: linear-gradient(180deg, #eef4ff 0%, var(--bg) 100%); padding-block: 28px 8px; }
@media (min-width: 900px) { .stage { padding-block: 48px 16px; } }
.slider { position: relative; }
.slides { position: relative; }
.slide { display: none; position: relative; overflow: hidden; background: #fff; border: 1px solid var(--line); border-radius: var(--r-xl); box-shadow: var(--shadow); min-height: 420px; }
.slide.is-on { display: block; animation: slideIn .5s var(--ease); }
@keyframes slideIn { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
.slide__body { position: relative; z-index: 2; padding: 32px 22px 36px; display: grid; gap: 18px; align-content: center; min-height: 420px; }
@media (min-width: 900px) { .slide__body { padding: 56px 56px 56px; max-width: 62%; min-height: 460px; } }
.slide__title { font-size: clamp(27px, 4.2vw, 48px); line-height: 1.38; font-weight: 800; text-wrap: balance; }
.slide__title em { font-style: normal; background: linear-gradient(135deg, var(--primary), var(--teal)); -webkit-background-clip: text; background-clip: text; color: transparent; }
.slide__hook { color: var(--text-2); font-size: 16.5px; max-width: 50ch; text-wrap: balance; text-wrap: pretty; }
.slide__hook b { color: var(--text); }
.slide__foot { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 4px; }
.slide__bgart { position: absolute; inset: 0; background:
  radial-gradient(520px 320px at 12% 100%, rgba(20, 184, 166, .10), transparent 70%),
  radial-gradient(560px 360px at 0% 0%, rgba(37, 99, 235, .08), transparent 70%); pointer-events: none; }
.slide--course { display: none; }
.slide--course.is-on { display: grid; }
@media (min-width: 900px) { .slide--course.is-on { grid-template-columns: 1.2fr 1fr; } }
.slide--course .slide__body { max-width: none; }
.slide--course .poster { border-radius: 0; min-height: 220px; }
@media (min-width: 900px) { .slide--course .poster { min-height: 100%; } }
.slide__price { display: flex; align-items: baseline; gap: 10px; flex-wrap: wrap; }
.slide__price b { font-size: 28px; font-weight: 800; }
.slide__price small { color: var(--text-3); }
.slide__price s { color: var(--text-3); font-size: 15px; }

.slider__arrow { position: absolute; top: 50%; transform: translateY(-50%); z-index: 5; width: 44px; height: 44px; border-radius: 50%; background: #fff; border: 1px solid var(--line-2); box-shadow: var(--shadow-sm); display: none; place-items: center; transition: background .2s; }
.slider__arrow:hover { background: var(--primary-soft); }
.slider__arrow svg { width: 20px; height: 20px; }
.slider__arrow--prev { inset-inline-start: -14px; }
.slider__arrow--next { inset-inline-end: -14px; }
@media (min-width: 1200px) { .slider__arrow { display: grid; } }
.slider__ctrl { display: flex; justify-content: center; align-items: center; gap: 12px; padding-top: 18px; }
.slider__dots { display: flex; gap: 8px; }
.slider__dots button { width: 10px; height: 10px; border-radius: 999px; background: #cbd5e1; transition: width .3s var(--ease), background .2s; position: relative; }
.slider__dots button::after { content: ""; position: absolute; inset: -17px -4px; }
.slider__dots button[aria-current="true"] { width: 28px; background: var(--primary); }

/* ---------- Poster (course art) ---------- */
.poster { position: relative; overflow: hidden; container-type: size; display: grid; place-items: center; color: #fff; isolation: isolate; }
.poster::before { content: ""; position: absolute; inset: 0; z-index: -1; background: var(--pg, linear-gradient(135deg, #2563eb, #14b8a6)); }
.poster::after { content: ""; position: absolute; inset: 0; background:
  radial-gradient(60% 80% at 100% 0%, rgba(255, 255, 255, .22), transparent 60%),
  repeating-linear-gradient(135deg, rgba(255, 255, 255, .06) 0 1px, transparent 1px 22px); }
.poster__word { position: relative; z-index: 1; font-weight: 800; font-size: clamp(18px, 16cqh, 44px); letter-spacing: .04em; direction: ltr; text-align: center; padding: 0 12px; line-height: 1.1; text-shadow: 0 6px 24px rgba(0, 0, 0, .18); }
.poster__word em { font-style: normal; opacity: .72; }
.poster__kind { position: absolute; z-index: 1; bottom: 10px; inset-inline-start: 12px; font-size: 12px; font-weight: 600; background: rgba(255, 255, 255, .2); padding: 2px 10px; border-radius: 999px; backdrop-filter: blur(4px); }
.pg-blue { --pg: linear-gradient(135deg, #1d4ed8, #3b82f6 55%, #14b8a6); }
.pg-teal { --pg: linear-gradient(135deg, #0f766e, #14b8a6 60%, #67e8f9); }
.pg-amber { --pg: linear-gradient(135deg, #d97706, #f59e0b 55%, #fcd34d); }
.pg-ink { --pg: linear-gradient(135deg, #0f172a, #1e3a8a 70%, #2563eb); }
.pg-rose { --pg: linear-gradient(135deg, #be123c, #f43f5e 60%, #fb923c); }
.pg-green { --pg: linear-gradient(135deg, #15803d, #22c55e 60%, #a3e635); }

/* ---------- Section heads ---------- */
.mhead { display: grid; gap: 10px; margin-bottom: 36px; }
.mhead--center { text-align: center; justify-items: center; }
.mhead__title { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; font-size: clamp(24px, 3.6vw, 36px); line-height: 1.5; font-weight: 800; }
.mhead__sub { color: var(--text-2); max-width: 60ch; text-wrap: pretty; }

/* ---------- Category chips ---------- */
.hcats { display: flex; gap: 8px; overflow-x: auto; padding-bottom: 6px; margin-bottom: 22px; scrollbar-width: none; }
.hcats::-webkit-scrollbar { display: none; }
.chip { flex: none; display: inline-flex; align-items: center; gap: 6px; min-height: 42px; padding: 0 16px; border-radius: 999px; background: #fff; border: 1px solid var(--line-2); font-size: 14px; font-weight: 500; color: var(--text-2); transition: all .2s; }
.chip:hover { border-color: #bfdbfe; color: var(--primary-deep); }
.chip[aria-pressed="true"] { background: var(--primary); border-color: var(--primary); color: #fff; font-weight: 700; box-shadow: 0 8px 18px -10px rgba(37, 99, 235, .7); }
.chip small { font-size: 11.5px; opacity: .7; }
.hrow { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin-bottom: 16px; }
.hrow__title { font-size: 19px; font-weight: 800; }
.hrow__more { color: var(--primary-deep); font-size: 14px; font-weight: 600; }
.hrow__more:hover { text-decoration: underline; text-underline-offset: 4px; }

/* ---------- Course cards ---------- */
.ggrid { display: grid; gap: 14px; }
@media (min-width: 640px) { .ggrid { grid-template-columns: repeat(2, 1fr); gap: 18px; } }
@media (min-width: 1060px) { .ggrid { grid-template-columns: repeat(3, 1fr); gap: 22px; } }
.gcard { position: relative; display: flex; flex-direction: column; background: #fff; border: 1px solid var(--line); border-radius: var(--r-lg); box-shadow: var(--shadow-sm); transition: transform .3s var(--ease), box-shadow .3s var(--ease), border-color .3s; }
.gcard:hover { transform: translateY(-4px); box-shadow: var(--shadow-lg), 0 0 0 5px rgba(37, 99, 235, .06); border-color: var(--primary-line); }
.gcard:focus-within { box-shadow: 0 0 0 2px var(--primary); }
.gcard__link { position: absolute; inset: 0; z-index: 3; border-radius: inherit; }
.gcard__link:focus-visible { outline: none; }
.gcard__media { position: relative; margin: 8px 8px 0; border-radius: 14px; overflow: hidden; aspect-ratio: 16 / 10; }
.gcard__media .poster { position: absolute; inset: 0; transition: transform .6s var(--ease); }
.gcard:hover .gcard__media .poster { transform: scale(1.045); }
.gchip { position: absolute; z-index: 2; top: 10px; height: 26px; padding: 0 10px; border-radius: 999px; display: inline-flex; align-items: center; font-size: 12px; font-weight: 700; background: rgba(255, 255, 255, .92); color: var(--text); box-shadow: var(--shadow-sm); }
.gchip--status { inset-inline-start: 10px; gap: 6px; }
.gchip--status::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--ok); }
.gchip--soon::before { background: var(--amber); }
.gchip--closed::before { background: var(--text-3); }
.gchip--off { inset-inline-end: 10px; background: var(--amber); color: #3b2a00; }
.gchip--pkg { inset-inline-end: 10px; background: #0f172a; color: #fff; }
.gchip--off + .gchip--pkg { top: 42px; }
.gcard__body { padding: 16px 18px 0; display: grid; gap: 8px; flex: 1; align-content: start; }
.gcard__cat { font-size: 12.5px; color: var(--primary-deep); font-weight: 600; }
.gcard__title { font-size: 18.5px; font-weight: 800; line-height: 1.55; }
.gcard__by { display: flex; align-items: center; gap: 6px; font-size: 13px; color: var(--text-2); }
.gcard__by svg { width: 15px; height: 15px; color: var(--text-3); }
.gcard__by b { font-weight: 600; color: var(--text); }
.gcard__hook { font-size: 14px; color: var(--text-2); display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.gmeta { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 2px; }
.gmeta li { display: inline-flex; align-items: center; gap: 6px; height: 28px; padding: 0 10px; border-radius: 999px; background: var(--surface-2); font-size: 12.5px; color: var(--text-2); }
.gmeta svg { width: 14px; height: 14px; }
.gcard__foot { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; padding: 14px 18px 18px; margin-top: 14px; border-top: 1px solid var(--line); }
.gprice { display: grid; line-height: 1.4; }
.gprice small { font-size: 12px; color: var(--text-3); }
.gprice s { font-size: 13px; color: #6b7a90; text-decoration-color: rgba(220, 38, 38, .55); }
.gprice b { font-size: 18px; font-weight: 800; }
.gprice b small { margin-inline-start: 4px; font-weight: 500; }
.gprice--tbd b { font-size: 15px; color: var(--text-2); }
.gcard__acts { display: flex; align-items: center; gap: 8px; position: relative; z-index: 4; }
.gbtn { display: inline-flex; align-items: center; justify-content: center; gap: 6px; height: 42px; padding: 0 16px; border-radius: 12px; font-size: 14px; font-weight: 700; background: var(--primary); color: #fff; box-shadow: 0 8px 20px -12px rgba(37, 99, 235, .8); transition: background .2s; }
.gbtn:hover { background: var(--primary-deep); }
.gbtn svg { width: 16px; height: 16px; }
.gbtn--quiet { background: #fff; color: var(--text); border: 1px solid var(--line-2); box-shadow: none; }
.gbtn--quiet:hover { background: var(--primary-soft); color: var(--primary-deep); }
.gbtn.is-in { background: #ecfdf5; color: var(--ok); border: 1px solid #a7f3d0; box-shadow: none; }
@media (max-width: 639px) {
  .gcard { display: grid; grid-template-columns: 104px minmax(0, 1fr); grid-template-areas: "media body" "foot foot"; border-radius: 20px; }
  .gcard__media { grid-area: media; align-self: start; margin: 10px; margin-inline-end: 0; aspect-ratio: 4 / 5; border-radius: 14px; }
  .gcard__media .gchip { display: none; }
  .gcard__body { grid-area: body; padding: 12px 14px 0; gap: 5px; }
  .gcard__title { font-size: 16px; }
  .gcard__hook { font-size: 13.5px; -webkit-line-clamp: 2; }
  .gcard__foot { grid-area: foot; }
  .gcard .poster__kind { display: none; }
  .gcard .poster__word { font-size: 14px; }
}

/* ---------- Values / steps ---------- */
.values { display: grid; gap: 16px; }
@media (min-width: 800px) { .values { grid-template-columns: repeat(3, 1fr); gap: 22px; } }
.value { background: #fff; border: 1px solid var(--line); border-radius: var(--r-lg); box-shadow: var(--shadow-sm); padding: 26px; display: grid; gap: 10px; align-content: start; }
.value__ic { width: 48px; height: 48px; border-radius: 14px; display: grid; place-items: center; }
.value__ic svg { width: 24px; height: 24px; }
.value__ic--blue { background: var(--primary-soft); color: var(--primary-deep); }
.value__ic--teal { background: #ccfbf1; color: #0f766e; }
.value__ic--amber { background: #fef3c7; color: #b45309; }
.value h3 { font-size: 19px; font-weight: 800; }
.value p { color: var(--text-2); font-size: 15px; }
.steps { display: grid; gap: 14px; counter-reset: s; }
@media (min-width: 720px) { .steps { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1000px) { .steps { grid-template-columns: repeat(4, 1fr); } }
.step { background: #fff; border: 1px solid var(--line); border-radius: var(--r-lg); box-shadow: var(--shadow-sm); padding: 22px; display: grid; gap: 8px; align-content: start; }
.step__no { display: inline-grid; place-items: center; width: 36px; height: 36px; border-radius: 12px; background: var(--primary-soft); color: var(--primary-deep); font-weight: 800; }
.step h3 { font-size: 17px; font-weight: 800; }
.step p { color: var(--text-2); font-size: 14.5px; }
.mono { font-family: ui-monospace, Menlo, Consolas, monospace; font-size: .9em; background: var(--surface-2); padding: 1px 7px; border-radius: 6px; }

/* ---------- Reach / contacts ---------- */
/* ---------- FAQ ---------- */
.faq { max-width: 780px; display: grid; gap: 10px; }
.faq details { background: #fff; border: 1px solid var(--line); border-radius: var(--r-lg); box-shadow: var(--shadow-sm); transition: border-color .2s; }
.faq details[open] { border-color: var(--primary-line); }
.faq summary { list-style: none; display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 16px 20px; min-height: 56px; cursor: pointer; font-weight: 700; font-size: 15.5px; }
.faq summary::-webkit-details-marker { display: none; }
.pm { position: relative; width: 28px; height: 28px; border-radius: 9px; background: var(--primary-soft); flex: none; }
.pm::before, .pm::after { content: ""; position: absolute; inset: 0; margin: auto; width: 12px; height: 2px; background: var(--primary-deep); border-radius: 2px; transition: transform .25s var(--ease); }
.pm::after { transform: rotate(90deg); }
details[open] .pm::after { transform: rotate(0); }
.faq__a { padding: 0 20px 18px; color: var(--text-2); font-size: 15px; }

/* ---------- Footer ---------- */
.mfoot { background: #0f172a; color: #cbd5e1; padding-block: 56px 28px; margin-top: 40px; }
.mfoot__grid { display: grid; gap: 32px; }
@media (min-width: 800px) { .mfoot__grid { grid-template-columns: 1.6fr 1fr 1fr 1fr; } }
.mfoot .logo { color: #fff; }
.mfoot .logo__text small { color: #94a3b8; }
.mfoot p { font-size: 14px; color: #94a3b8; margin-top: 14px; max-width: 38ch; }
.mfoot h4 { color: #fff; font-size: 15px; margin-bottom: 12px; }
.mfoot li + li { margin-top: 6px; }
.mfoot li a { font-size: 14px; color: #94a3b8; transition: color .2s; }
.mfoot li a:hover { color: #fff; }
.mfoot__base { margin-top: 40px; padding-top: 20px; border-top: 1px solid rgba(255, 255, 255, .1); display: flex; justify-content: space-between; gap: 12px; flex-wrap: wrap; font-size: 13px; color: #64748b; }

/* ---------- Listing page ---------- */
.phead { padding-block: 36px 8px; background: linear-gradient(180deg, #eef4ff, var(--bg)); }
.phead h1 { font-size: clamp(26px, 4vw, 40px); font-weight: 800; line-height: 1.4; }
.phead p { color: var(--text-2); margin-top: 6px; }
.crumbs { display: flex; gap: 8px; font-size: 13px; color: var(--text-3); margin-bottom: 10px; flex-wrap: wrap; }
.crumbs a:hover { color: var(--primary-deep); }
.toolbar { display: grid; gap: 12px; margin-block: 22px; }
@media (min-width: 800px) { .toolbar { grid-template-columns: 1fr auto auto; align-items: center; } }
.field { position: relative; }
.field svg { position: absolute; top: 50%; transform: translateY(-50%); inset-inline-start: 14px; width: 20px; height: 20px; color: var(--text-3); pointer-events: none; }
.input, .select { width: 100%; min-height: 48px; padding: 0 16px; border-radius: var(--r); background: #fff; border: 1px solid var(--line-2); box-shadow: var(--shadow-sm); transition: border-color .2s, box-shadow .2s; }
.field .input { padding-inline-start: 44px; }
.input:focus, .select:focus { outline: none; border-color: var(--primary); box-shadow: 0 0 0 4px rgba(37, 99, 235, .12); }
.seg { display: inline-flex; padding: 4px; background: var(--surface-2); border-radius: 14px; }
.seg button { min-height: 40px; padding: 0 16px; border-radius: 10px; font-size: 14px; color: var(--text-2); font-weight: 500; }
.seg button[aria-pressed="true"] { background: #fff; color: var(--text); font-weight: 700; box-shadow: var(--shadow-sm); }
.count-line { color: var(--text-3); font-size: 14px; margin-bottom: 14px; }
.empty { text-align: center; padding: 56px 20px; background: #fff; border: 1px dashed var(--line-2); border-radius: var(--r-lg); color: var(--text-2); display: grid; gap: 12px; justify-items: center; }

/* ---------- Course detail ---------- */
.cd { display: grid; gap: 28px; padding-block: 24px 56px; }
@media (min-width: 960px) { .cd { grid-template-columns: minmax(0, 1fr) 360px; align-items: start; gap: 36px; } }
.cd__hero { display: grid; gap: 16px; }
.cd__hero h1 { font-size: clamp(26px, 4vw, 40px); line-height: 1.45; font-weight: 800; text-wrap: balance; }
.cd__hook { color: var(--text-2); font-size: 17px; }
.cd__poster { border-radius: var(--r-xl); aspect-ratio: 16 / 8; box-shadow: var(--shadow); }
.cd__by { display: flex; align-items: center; gap: 12px; }
.avatar { width: 44px; height: 44px; border-radius: 50%; background: linear-gradient(135deg, var(--primary), var(--teal)); color: #fff; display: grid; place-items: center; font-weight: 800; flex: none; }
.cd__by small { display: block; color: var(--text-3); font-size: 12.5px; line-height: 1.4; }
.cd__by b { line-height: 1.4; }
.cbox { background: #fff; border: 1px solid var(--line); border-radius: var(--r-lg); box-shadow: var(--shadow-sm); padding: 24px; display: grid; gap: 14px; }
.cbox h2 { font-size: 20px; font-weight: 800; }
.cd__main { display: grid; gap: 18px; min-width: 0; }
.checks { display: grid; gap: 10px; }
@media (min-width: 700px) { .checks--2 { grid-template-columns: repeat(2, 1fr); } }
.checks li { display: flex; gap: 10px; align-items: flex-start; font-size: 15px; color: var(--text-2); }
.checks li::before { content: "✓"; flex: none; margin-top: 3px; width: 22px; height: 22px; border-radius: 7px; background: #dcfce7; color: var(--ok); display: grid; place-items: center; font-size: 12px; font-weight: 800; line-height: 1; }
.checks--no li::before { content: "✕"; background: #fee2e2; color: var(--danger); }
.syl { display: grid; gap: 8px; }
.syl details { border: 1px solid var(--line); border-radius: 14px; background: var(--bg); }
.syl details[open] { background: #fff; border-color: var(--primary-line); }
.syl summary { list-style: none; cursor: pointer; display: flex; align-items: center; gap: 12px; padding: 14px 16px; min-height: 54px; font-weight: 700; font-size: 15px; }
.syl summary::-webkit-details-marker { display: none; }
.syl summary .n { width: 28px; height: 28px; border-radius: 9px; background: var(--primary-soft); color: var(--primary-deep); display: grid; place-items: center; font-size: 13px; flex: none; }
.syl summary em { margin-inline-start: auto; font-style: normal; font-weight: 500; font-size: 12.5px; color: var(--text-3); }
.syl ul { padding: 0 16px 14px; display: grid; gap: 8px; }
.syl li { display: flex; gap: 10px; font-size: 14.5px; color: var(--text-2); padding-inline-start: 40px; position: relative; }
.syl li::before { content: ""; position: absolute; inset-inline-start: 12px; top: 12px; width: 6px; height: 6px; border-radius: 50%; background: #93c5fd; }
.buybox { position: sticky; top: calc(var(--header-h) + 16px); display: grid; gap: 16px; background: #fff; border: 1px solid var(--line); border-radius: var(--r-xl); box-shadow: var(--shadow); padding: 24px; }
.buybox__price { display: grid; gap: 2px; }
.buybox__price small { color: var(--text-3); font-size: 13px; }
.buybox__price s { color: var(--text-3); }
.buybox__price b { font-size: 32px; font-weight: 800; line-height: 1.3; }
.buybox__price b small { font-size: 14px; font-weight: 500; margin-inline-start: 6px; }
.buybox__facts { display: grid; gap: 0; border-block: 1px solid var(--line); }
.buybox__facts li { display: flex; justify-content: space-between; gap: 12px; padding: 10px 0; font-size: 14px; }
.buybox__facts li + li { border-top: 1px dashed var(--line-2); }
.buybox__facts span { color: var(--text-3); }
.buybox__facts b { font-weight: 600; }
.buybox__note { font-size: 12.5px; color: var(--text-3); text-align: center; }
.pkgList { display: grid; gap: 8px; }
.pkgList li { display: flex; align-items: center; gap: 12px; padding: 12px 14px; background: var(--bg); border: 1px solid var(--line); border-radius: 12px; font-size: 14.5px; }
.pkgList li b { margin-inline-start: auto; font-size: 13px; color: var(--text-3); font-weight: 500; }

/* ---------- Cart ---------- */
.cart { display: grid; gap: 24px; padding-block: 24px 64px; }
@media (min-width: 900px) { .cart { grid-template-columns: minmax(0, 1fr) 360px; align-items: start; } }
.citem { display: grid; grid-template-columns: 84px 1fr auto; gap: 14px; align-items: center; background: #fff; border: 1px solid var(--line); border-radius: var(--r-lg); padding: 12px; box-shadow: var(--shadow-sm); }
.citem + .citem { margin-top: 10px; }
.citem .poster { border-radius: 12px; aspect-ratio: 1; }
.citem .poster__word { font-size: 12px; }
.citem h3 { font-size: 15.5px; font-weight: 700; line-height: 1.6; }
.citem small { color: var(--text-3); font-size: 12.5px; }
.citem__end { display: flex; align-items: center; gap: 10px; }
.citem__end b { font-weight: 800; white-space: nowrap; }
.citem__end b small { font-weight: 500; color: var(--text-3); margin-inline-start: 4px; font-size: 12px; }
@media (max-width: 520px) {
  .citem { grid-template-columns: 64px 1fr; }
  .citem__end { grid-column: 1 / -1; justify-content: space-between; border-top: 1px solid var(--line); padding-top: 8px; }
}
.citem__rm { width: 40px; height: 40px; border-radius: 12px; display: grid; place-items: center; color: var(--text-3); }
.citem__rm:hover { background: #fee2e2; color: var(--danger); }
.citem__rm svg { width: 18px; height: 18px; }
.sum { display: grid; gap: 12px; background: #fff; border: 1px solid var(--line); border-radius: var(--r-xl); padding: 24px; box-shadow: var(--shadow); position: sticky; top: calc(var(--header-h) + 16px); }
.sum__row { display: flex; justify-content: space-between; color: var(--text-2); }
.sum__row--total { font-weight: 800; color: var(--text); font-size: 19px; padding-top: 12px; border-top: 1px dashed var(--line-2); }
.sum .input { min-height: 44px; }

/* ---------- Toast & reveal ---------- */
.toast { position: fixed; z-index: 90; inset-inline: 0; margin-inline: auto; width: fit-content; max-width: calc(100% - 32px); bottom: calc(var(--tabbar-h) + 84px); background: #0f172a; color: #fff; padding: 12px 20px; border-radius: 14px; font-size: 14px; box-shadow: var(--shadow-lg); opacity: 0; transform: translateY(12px); transition: opacity .25s, transform .25s var(--ease); pointer-events: none; }
.toast.is-on { opacity: 1; transform: none; }
@media (min-width: 900px) { .toast { bottom: 28px; } }
.reveal { opacity: 0; transform: translateY(14px); transition: opacity .6s var(--ease), transform .6s var(--ease); }
.reveal.in { opacity: 1; transform: none; }
.no-js .reveal { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .001ms !important; transition-duration: .001ms !important; }
  html { scroll-behavior: auto; }
  .reveal { opacity: 1; transform: none; }
}

/* ---------- Auth pages ---------- */
.auth { min-height: calc(100dvh - var(--header-h) - 160px); display: grid; place-items: center; padding: 36px var(--gutter) 56px; background: linear-gradient(180deg, #eef4ff 0%, var(--bg) 60%); }
.auth__card { width: min(460px, 100%); background: #fff; border: 1px solid var(--line); border-radius: var(--r-xl); box-shadow: var(--shadow); padding: 28px 24px; display: grid; gap: 16px; }
@media (min-width: 560px) { .auth__card { padding: 34px 34px; } }
.auth__card h1 { font-size: 24px; font-weight: 800; line-height: 1.5; }
.auth__card > p { color: var(--text-2); font-size: 14.5px; margin-top: -8px; }
.fld { display: grid; gap: 6px; }
.fld label { font-size: 13.5px; font-weight: 600; }
.fld .hint { font-size: 12.5px; color: var(--text-3); }
.fld [data-err] { color: var(--danger); font-size: 12.5px; min-height: 0; }
.pw-wrap { position: relative; }
.pw-wrap .input { padding-inline-end: 64px; }
.pw-wrap button { position: absolute; inset-inline-end: 6px; top: 50%; transform: translateY(-50%); height: 36px; padding: 0 10px; border-radius: 9px; font-size: 12.5px; color: var(--primary-deep); font-weight: 600; }
.pw-wrap button:hover { background: var(--primary-soft); }
.input.err { border-color: var(--danger); }
.strength { height: 5px; border-radius: 4px; background: #e2e8f0; overflow: hidden; }
.strength i { display: block; height: 100%; width: 0; transition: width .25s, background .25s; }
.form-msg { padding: 11px 14px; border-radius: 11px; font-size: 14px; background: var(--primary-soft); color: var(--primary-deep); }
.form-msg--bad { background: #fef2f2; color: var(--danger); }
.form-msg--ok { background: #ecfdf5; color: var(--ok); }
.auth__alt { text-align: center; font-size: 14px; color: var(--text-2); }
.auth__alt a { color: var(--primary-deep); font-weight: 700; }
.auth__alt a:hover { text-decoration: underline; text-underline-offset: 4px; }
.chk-row { display: flex; gap: 10px; align-items: flex-start; font-size: 13.5px; line-height: 1.8; }
.chk-row input { margin-top: 6px; width: 18px; height: 18px; accent-color: var(--primary); flex: none; }
.acc { display: grid; gap: 18px; padding-block: 28px 64px; }
.acc__head { display: flex; justify-content: space-between; gap: 12px; align-items: center; flex-wrap: wrap; }
.site-header__acc { display: none; align-items: center; gap: 6px; height: 42px; padding: 0 12px; border-radius: 12px; border: 1px solid var(--line-2); background: #fff; font-size: 14px; font-weight: 600; }
.site-header__acc svg { width: 18px; height: 18px; }
@media (min-width: 720px) { .site-header__acc { display: inline-flex; } }

/* ==========================================================================
   v2 — گرافیک پیشرفته: مش‌گرادیانت، شیشه‌ای، آرت پوستر، تیلت، درخشش، شمارنده
   ========================================================================== */
:root { --grad: linear-gradient(135deg, #2563eb 0%, #14b8a6 100%); --grad-warm: linear-gradient(135deg, #f59e0b, #f43f5e); --glass: rgba(255, 255, 255, .62); }

/* پس‌زمینه‌ی مش در هیرو و سرصفحه‌ها */
.stage, .phead, .auth { position: relative; isolation: isolate; overflow: hidden;
  background:
    radial-gradient(640px 380px at 8% 0%, rgba(37, 99, 235, .16), transparent 70%),
    radial-gradient(560px 360px at 96% 10%, rgba(20, 184, 166, .16), transparent 70%),
    radial-gradient(520px 320px at 60% 100%, rgba(245, 158, 11, .10), transparent 70%),
    linear-gradient(180deg, #eef4ff 0%, var(--bg) 100%); }
.stage::before, .phead::before { content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none; opacity: .5;
  background-image: radial-gradient(rgba(15, 23, 42, .12) 1px, transparent 1.2px); background-size: 26px 26px;
  -webkit-mask-image: radial-gradient(70% 90% at 50% 0%, #000, transparent 75%); mask-image: radial-gradient(70% 90% at 50% 0%, #000, transparent 75%); }

/* هدر: سایه‌ی اسکرول + نوار پیشرفت */
.site-header { transition: box-shadow .3s, background .3s; }
.site-header.is-stuck { box-shadow: 0 10px 30px -18px rgba(15, 23, 42, .35); background: rgba(255, 255, 255, .92); }
.site-header::after { content: ""; position: absolute; inset-inline-start: 0; bottom: -1px; height: 2px; width: 100%; background: var(--grad); transform-origin: right center; transform: scaleX(var(--sp, 0)); }
.logo__mark { box-shadow: 0 8px 18px -8px rgba(37, 99, 235, .8), inset 0 1px 0 rgba(255, 255, 255, .35); }

/* دکمه‌ها */
.btn--primary { background: var(--grad); box-shadow: 0 12px 26px -12px rgba(37, 99, 235, .8), inset 0 1px 0 rgba(255, 255, 255, .25); }
.btn--primary:hover { background: linear-gradient(135deg, #1d4ed8, #0d9488); transform: translateY(-1px); }
.btn--shine { position: relative; overflow: hidden; }
.btn--shine::after { content: ""; position: absolute; inset: 0; transform: translateX(120%); background: linear-gradient(100deg, transparent 30%, rgba(255, 255, 255, .55) 50%, transparent 70%); animation: shine 3.6s ease-in-out 1.2s infinite; pointer-events: none; }
@keyframes shine { 0%, 55% { transform: translateX(120%); } 100% { transform: translateX(-120%); } }
.btn--light { background: #fff; color: #0f172a; box-shadow: 0 14px 30px -14px rgba(0, 0, 0, .5); }
.btn--light:hover { background: #f1f5f9; transform: translateY(-1px); }
.btn--outline-light { border: 1px solid rgba(255, 255, 255, .45); color: #fff; background: rgba(255, 255, 255, .06); }
.btn--outline-light:hover { background: rgba(255, 255, 255, .14); }
.gbtn { background: var(--grad); }
.gbtn:hover { background: linear-gradient(135deg, #1d4ed8, #0d9488); }
.chip[aria-pressed="true"] { background: var(--grad); border-color: transparent; }
.tag { font-size: 13px; }
.tag--glow { background: rgba(255, 255, 255, .8); border: 1px solid var(--primary-line); backdrop-filter: blur(6px); gap: 8px; box-shadow: 0 6px 18px -10px rgba(37, 99, 235, .5); }
.pulse { width: 8px; height: 8px; border-radius: 50%; background: var(--teal); box-shadow: 0 0 0 0 rgba(20, 184, 166, .6); animation: pulse 2s infinite; }
@keyframes pulse { 70% { box-shadow: 0 0 0 9px rgba(20, 184, 166, 0); } 100% { box-shadow: 0 0 0 0 rgba(20, 184, 166, 0); } }

/* اسلاید برند: فن کارت‌ها */
.slide { box-shadow: 0 40px 80px -40px rgba(30, 64, 175, .35), 0 2px 6px rgba(15, 23, 42, .04); border-color: rgba(255, 255, 255, .8); background: linear-gradient(180deg, #fff, #fbfdff); }
.fan { display: none; position: absolute; z-index: 2; inset-inline-end: 40px; top: 0; bottom: 0; width: min(430px, 40%); align-items: center; justify-content: center; }
@media (min-width: 900px) { .fan { display: flex; } }
.fan__cards { position: relative; width: 100%; height: 340px; margin-top: -6px; }
.fan__cards .poster { position: absolute; width: 56%; aspect-ratio: 4 / 5; border-radius: 20px; box-shadow: 0 30px 50px -24px rgba(15, 23, 42, .55), 0 0 0 4px rgba(255, 255, 255, .85); }
.fan__cards .poster:nth-child(1) { inset-inline-start: 0; top: 40px; transform: rotate(-9deg); animation: floatA 7s ease-in-out infinite; }
.fan__cards .poster:nth-child(2) { inset-inline-start: 22%; top: 14px; z-index: 2; animation: floatB 8s ease-in-out infinite; }
.fan__cards .poster:nth-child(3) { inset-inline-end: 0; top: 52px; transform: rotate(9deg); animation: floatC 9s ease-in-out infinite; }
@keyframes floatA { 50% { transform: rotate(-9deg) translateY(-10px); } }
@keyframes floatB { 50% { transform: translateY(-14px); } }
@keyframes floatC { 50% { transform: rotate(9deg) translateY(-8px); } }
.fan__cards .poster__kind { display: none; }
.fan__chip { position: absolute; display: flex; align-items: center; gap: 10px; padding: 10px 16px; border-radius: 16px; background: var(--glass); backdrop-filter: blur(14px) saturate(1.5); -webkit-backdrop-filter: blur(14px) saturate(1.5); border: 1px solid rgba(255, 255, 255, .9); box-shadow: 0 18px 36px -18px rgba(15, 23, 42, .4); font-size: 14px; font-weight: 700; z-index: 5; background: rgba(255, 255, 255, .72); }
.fan__chip b { font-size: 22px; font-weight: 800; background: var(--grad); -webkit-background-clip: text; background-clip: text; color: transparent; line-height: 1; }
.fan__chip i { width: 10px; height: 10px; border-radius: 50%; background: var(--ok); box-shadow: 0 0 0 4px rgba(5, 150, 105, .18); }
.fan__chip--a { top: 4%; inset-inline-end: -2%; animation: floatB 6s ease-in-out infinite; }
.fan__chip--b { bottom: 6%; inset-inline-start: 0; animation: floatA 7s ease-in-out infinite; }

/* پوستر با آرت اختصاصی */
.poster--art .poster__word { display: none; }
.poster__art { position: absolute; inset: 0; width: 100%; height: 100%; }
.poster__art .f { transform-box: fill-box; transform-origin: center; animation: artFloat 6s ease-in-out infinite; }
@keyframes artFloat { 50% { transform: translateY(-5px); } }
.poster--art::after { background: radial-gradient(70% 90% at 100% 0%, rgba(255, 255, 255, .28), transparent 60%), radial-gradient(60% 70% at 0% 100%, rgba(0, 0, 0, .22), transparent 60%); }
.poster--art .poster__kind { z-index: 2; }
.slide--course .poster__art .f, .cd__poster .poster__art .f { animation: none; }

/* آمار */
.stats { position: relative; z-index: 3; }
.stats__grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1px; background: var(--line); border: 1px solid var(--line); border-radius: var(--r-xl); overflow: hidden; box-shadow: var(--shadow); margin-top: 22px; }
@media (min-width: 800px) { .stats__grid { grid-template-columns: repeat(4, 1fr); } }
.stats li { background: #fff; padding: 22px 12px; text-align: center; display: grid; gap: 2px; }
.stats b { font-size: clamp(28px, 4vw, 40px); font-weight: 800; line-height: 1.3; background: var(--grad); -webkit-background-clip: text; background-clip: text; color: transparent; font-variant-numeric: tabular-nums; }
.stats span { color: var(--text-2); font-size: 14px; }

/* سرتیتر بخش‌ها */
.mhead__title::before { content: ""; width: 6px; height: 1.1em; border-radius: 4px; background: var(--grad); flex: none; }
.section--white { background: linear-gradient(180deg, #fff, #fbfdff); }

/* کارت دوره: تیلت + نور ماوس */
@media (hover: hover) and (pointer: fine) {
  .gcard { transform: perspective(900px) rotateX(var(--rx, 0deg)) rotateY(var(--ry, 0deg)); will-change: transform; }
  .gcard:hover { transform: perspective(900px) translateY(-6px) rotateX(var(--rx, 0deg)) rotateY(var(--ry, 0deg)); }
}
.gcard::before { content: ""; position: absolute; inset: 0; border-radius: inherit; z-index: 0; pointer-events: none; opacity: 0; transition: opacity .3s;
  background: radial-gradient(320px 220px at var(--mx, 50%) var(--my, 0%), rgba(37, 99, 235, .10), transparent 70%); }
.gcard:hover::before { opacity: 1; }
.gcard__media, .gcard__body, .gcard__foot { position: relative; z-index: 1; }
.gcard__media { box-shadow: 0 14px 28px -18px rgba(15, 23, 42, .5); }
.gcard__cat { display: inline-flex; width: fit-content; padding: 2px 10px; border-radius: 999px; background: var(--primary-soft); font-size: 12px; }
.gchip--off { background: var(--grad-warm); color: #fff; }

/* مزیت‌ها و مراحل */
.value { position: relative; overflow: hidden; transition: transform .3s var(--ease), box-shadow .3s; }
.value:hover { transform: translateY(-4px); box-shadow: var(--shadow-lg); }
.step { position: relative; transition: transform .3s var(--ease), box-shadow .3s; }
.step:hover { transform: translateY(-3px); box-shadow: var(--shadow); }
.step__no { background: var(--grad); color: #fff; box-shadow: 0 10px 20px -10px rgba(37, 99, 235, .7); }

/* بنر دعوت به اقدام */
.section--cta { padding-block: 40px 24px; }
.cta { position: relative; isolation: isolate; overflow: hidden; border-radius: 28px; padding: 44px 24px; color: #fff; display: grid; gap: 14px; justify-items: start;
  background: radial-gradient(500px 300px at 90% 0%, rgba(20, 184, 166, .55), transparent 65%), radial-gradient(520px 320px at 0% 100%, rgba(37, 99, 235, .7), transparent 65%), linear-gradient(135deg, #0b1437 0%, #12307a 55%, #0f4c75 100%);
  box-shadow: 0 40px 80px -40px rgba(15, 23, 42, .7); }
@media (min-width: 800px) { .cta { padding: 64px 56px; } }
.cta::before { content: ""; position: absolute; inset: 0; z-index: -1; opacity: .35; background-image: radial-gradient(rgba(255, 255, 255, .35) 1px, transparent 1.2px); background-size: 24px 24px; -webkit-mask-image: linear-gradient(120deg, #000, transparent 70%); mask-image: linear-gradient(120deg, #000, transparent 70%); }
.cta__glow { position: absolute; z-index: -1; width: 340px; height: 340px; border-radius: 50%; inset-inline-start: -90px; bottom: -160px; background: conic-gradient(from 0deg, #2563eb, #14b8a6, #f59e0b, #2563eb); filter: blur(70px); opacity: .5; animation: spin 18s linear infinite; }
@keyframes spin { to { transform: rotate(360deg); } }
.cta__note { display: inline-flex; padding: 4px 12px; border-radius: 999px; background: rgba(255, 255, 255, .14); border: 1px solid rgba(255, 255, 255, .25); font-size: 13px; font-weight: 600; backdrop-filter: blur(6px); }
.cta h2 { font-size: clamp(26px, 4vw, 42px); line-height: 1.45; font-weight: 800; text-wrap: balance; max-width: 22ch; }
.cta p { color: #cbd5e1; max-width: 56ch; }
.cta__row { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 8px; }

/* FAQ و فوتر */
.faq details[open] { box-shadow: var(--shadow); }
details[open] .pm { background: var(--grad); }
details[open] .pm::before, details[open] .pm::after { background: #fff; }
.mfoot { position: relative; background: radial-gradient(600px 260px at 100% 0%, rgba(37, 99, 235, .25), transparent 70%), radial-gradient(500px 240px at 0% 100%, rgba(20, 184, 166, .16), transparent 70%), #0b1226; }
.mfoot::before { content: ""; position: absolute; inset-inline: 0; top: 0; height: 1px; background: linear-gradient(90deg, transparent, rgba(96, 165, 250, .6), rgba(45, 212, 191, .6), transparent); }

/* صفحه‌ی دوره */
.cd__poster { box-shadow: 0 30px 60px -30px rgba(15, 23, 42, .5); }
.buybox { border-color: rgba(37, 99, 235, .14); background: linear-gradient(180deg, #fff, #f9fbff); }
.buybox__price b { background: var(--grad); -webkit-background-clip: text; background-clip: text; color: transparent; }

/* فرم‌ها و ورود */
.auth__card { box-shadow: 0 40px 80px -40px rgba(30, 64, 175, .35), 0 2px 6px rgba(15, 23, 42, .04); }
.auth__card h1 { background: linear-gradient(135deg, #0f172a, #1e3a8a); -webkit-background-clip: text; background-clip: text; color: transparent; }
.tabbar { box-shadow: 0 -14px 30px -22px rgba(15, 23, 42, .4); }
.tabbar a[aria-current="page"]::before { background: var(--grad); }

/* ---- اصلاحات بعد از بازبینی ---- */
.gbtn--quiet, .gbtn--quiet:hover { background: #fff; color: var(--text); border: 1px solid var(--line-2); box-shadow: none; }
.gbtn--quiet:hover { background: var(--primary-soft); color: var(--primary-deep); }
.gchip--off { background: #be123c; color: #fff; box-shadow: 0 0 0 2px rgba(255, 255, 255, .9), 0 8px 16px -8px rgba(15, 23, 42, .5); }
.gchip--pkg { box-shadow: 0 0 0 2px rgba(255, 255, 255, .9); }
.poster__kind { background: rgba(15, 23, 42, .42); color: #fff; backdrop-filter: blur(6px); }
.slider__dots button { background: #94a3b8; opacity: .55; }
.slider__dots button[aria-current="true"] { opacity: 1; background: var(--grad); }
.stats span { color: var(--text); opacity: .72; font-weight: 500; }
.gcard__cat { font-size: 12.5px; }
.gmeta li { color: #334155; }
.gcard__hook { color: #475569; text-wrap: pretty; }
.slide__hook, .mhead__sub { text-wrap: pretty; }
.stage { background:
    radial-gradient(640px 380px at 8% 0%, rgba(37, 99, 235, .16), transparent 70%),
    radial-gradient(560px 360px at 96% 10%, rgba(20, 184, 166, .16), transparent 70%),
    linear-gradient(180deg, #eef4ff 0%, var(--bg) 100%); }
.slide--course .poster { min-height: 240px; }
.fan__cards .poster:nth-child(2) { box-shadow: 0 40px 60px -26px rgba(15, 23, 42, .6), 0 0 0 4px #fff; }

@media (prefers-reduced-motion: reduce) {
  .fan__cards .poster, .fan__chip, .poster__art .f, .cta__glow, .btn--shine::after, .pulse { animation: none !important; }
  .gcard, .gcard:hover { transform: none !important; }
}

.step p, .value p, .faq__a { text-wrap: pretty; color: #475569; }
.stage { padding-bottom: 28px; }
@media (min-width: 900px) { .stage { padding-bottom: 36px; } }

/* کارت محصولات دیجیتال در کاتالوگ عمومی */
.shop-card { display:flex; flex-direction:column; align-items:flex-start; gap:12px; min-height:230px; padding:22px; border:1px solid var(--line); border-radius:var(--radius,18px); background:var(--surface,#fff); box-shadow:var(--shadow-sm,0 8px 24px rgba(15,23,42,.06)); }
.shop-card h3 { margin:0; font-size:18px; }
.shop-card p { margin:0; color:var(--text-2); line-height:1.9; flex:1; }
.shop-card strong { font-size:17px; color:var(--primary-deep); }
.shop-card__type { color:var(--text-3); font-size:13px; }

/* ---------- Polish: product catalogue ---------- */
.phead {
  position: relative;
  overflow: hidden;
  padding-block: clamp(32px, 5vw, 58px) 26px;
  background:
    radial-gradient(ellipse at 12% 15%, rgba(20,184,166,.12), transparent 35%),
    radial-gradient(ellipse at 88% 5%, rgba(37,99,235,.14), transparent 38%),
    linear-gradient(180deg, #f1f6ff 0%, var(--bg) 100%);
  border-bottom: 1px solid rgba(37,99,235,.08);
}
.phead .container { position: relative; }
.phead h1 { letter-spacing: -.035em; text-wrap: balance; }
.phead p { max-width: 620px; margin-top: 10px; font-size: 15px; line-height: 1.9; }
.crumbs { margin-bottom: 16px; }
.crumbs a { padding: 2px 8px; margin-inline-start: -8px; border-radius: 8px; transition: background .2s,color .2s; }
.crumbs a:hover { background: #fff; }
.toolbar {
  position: relative;
  gap: 12px;
  padding: 14px;
  margin-block: 22px 16px;
  background: rgba(255,255,255,.78);
  border: 1px solid rgba(148,163,184,.2);
  border-radius: var(--r-xl);
  box-shadow: 0 12px 34px -24px rgba(15,23,42,.28);
  backdrop-filter: blur(10px);
}
@media (min-width:800px) {
  .toolbar { grid-template-columns: minmax(280px,1fr) 210px; }
  .toolbar > .field { grid-column:1; grid-row:1; }
  .toolbar > .select { grid-column:2; grid-row:1; }
  .toolbar > .seg { grid-column:1/-1; grid-row:2; }
}
.field .input,.toolbar .select { min-height:50px; border-color:#e2e8f0; box-shadow:none; }
.seg {
  width:100%; max-width:100%; gap:4px;
  overflow-x:auto; scrollbar-width:none;
  border:1px solid rgba(148,163,184,.16);
  background:#f1f5f9;
  padding:4px;
}
.seg::-webkit-scrollbar { display:none; }
.seg button { flex:1 0 auto; min-width:72px; min-height:42px; padding-inline:18px; transition:background .2s,color .2s,box-shadow .2s,transform .2s; }
.seg button[aria-pressed="true"] { color:var(--primary-deep); box-shadow:0 3px 10px rgba(37,99,235,.11); }
.seg button:hover:not([aria-pressed="true"]) { color:var(--text); background:rgba(255,255,255,.65); }
.hcats { gap:9px; margin-block:16px 20px; padding:3px 2px 9px; }
.chip { min-height:40px; border-color:#e2e8f0; background:rgba(255,255,255,.8); }
.chip[aria-pressed="true"] { background:#eaf1ff; color:var(--primary-deep); border-color:#c8d9ff; box-shadow:none; }
.count-line { display:flex; align-items:center; gap:8px; min-height:28px; margin-bottom:12px; font-weight:600; }
.count-line::before { content:""; width:7px; height:7px; border-radius:50%; background:var(--teal); box-shadow:0 0 0 4px rgba(20,184,166,.11); }
.gcard,.shop-card { overflow:hidden; border-color:rgba(148,163,184,.22); box-shadow:0 8px 24px -18px rgba(15,23,42,.32); }
.gcard { border-radius:20px; }
.gcard:hover,.shop-card:hover { transform:translateY(-4px); border-color:#c7d8ff; box-shadow:0 24px 40px -28px rgba(37,99,235,.4); }
.shop-card {
  position:relative; isolation:isolate; gap:13px; min-height:260px;
  padding:22px; border-radius:20px;
  background:linear-gradient(155deg,#fff 0%,#fbfdff 100%);
  transition:transform .28s var(--ease),box-shadow .28s var(--ease),border-color .28s;
}
.shop-card::before {
  content:""; position:absolute; z-index:-1; inset-block:0; inset-inline-start:0; width:4px;
  background:linear-gradient(180deg,var(--primary),var(--teal)); opacity:.8;
}
.shop-card > .badge { border:1px solid #dbeafe; background:#eff6ff; color:var(--primary-deep); font-weight:700; }
.shop-card__type { display:inline-flex; align-items:center; min-height:26px; padding:2px 10px; border-radius:999px; background:#f1f5f9; color:var(--text-2); }
.shop-card h3 { font-size:17px; line-height:1.7; }
.shop-card p { font-size:14px; line-height:1.9; }
.shop-card strong { padding-top:11px; width:100%; border-top:1px solid var(--line); font-size:18px; }
.empty { padding-block:64px; }
@media (max-width:639px) {
  .phead { padding-block:26px 22px; }
  .toolbar { padding:11px; border-radius:17px; }
  .seg button { min-width:68px; padding-inline:13px; }
  .shop-card { min-height:220px; }
}
@media (prefers-reduced-motion:reduce) {
  .gcard,.shop-card,.seg button,.chip { transition:none !important; }
}

.shop-card__image { width:100%; aspect-ratio:16/9; object-fit:cover; border-radius:14px; background:var(--surface-2); }
.shop-card__labels { display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.shop-card__featured { display:inline-flex; align-items:center; min-height:26px; padding:2px 10px; border-radius:999px; background:#fff7ed; color:#c2410c; font-size:12px; font-weight:700; }
.shop-card__subtitle { color:var(--primary-deep); font-size:14px; }


/* هویت بصری اختصاصی شاهیوند آکادمی — کاغذ، جوهر و چاپ استودیویی */
:root {
  --bg:#f3f0e7; --surface:#fcfbf7; --surface-2:#e9e4d9;
  --text:#20211f; --text-2:#53514b; --text-3:#77746c;
  --primary:#244bc4; --primary-deep:#17399e; --primary-soft:#e8edff; --primary-line:#cbd5fb;
  --teal:#db593f; --amber:#c59a2d; --line:rgba(32,33,31,.14); --line-2:rgba(32,33,31,.24);
  --shadow-sm:3px 3px 0 rgba(32,33,31,.08); --shadow:4px 5px 0 rgba(32,33,31,.10); --shadow-lg:7px 8px 0 rgba(32,33,31,.12);
  --r:8px; --r-lg:13px; --r-xl:18px; --grad:linear-gradient(135deg,#244bc4,#244bc4); --grad-warm:linear-gradient(135deg,#db593f,#db593f);
}
body { background-color:var(--bg); background-image:repeating-linear-gradient(0deg,rgba(55,47,31,.018) 0,rgba(55,47,31,.018) 1px,transparent 1px,transparent 5px); }
.site-header { background:rgba(252,251,247,.97); border-bottom:1px solid var(--line-2); box-shadow:none; }
.site-header.is-stuck { background:rgba(252,251,247,.98); box-shadow:0 3px 0 rgba(32,33,31,.08); }
.site-header::after { height:3px; background:var(--primary); }
.logo__mark { border-radius:8px; box-shadow:2px 2px 0 #db593f; }
.stage,.phead,.auth { background:var(--bg); }
.stage::before,.phead::before { opacity:.22; background-image:radial-gradient(rgba(32,33,31,.24) .8px,transparent 1px); background-size:8px 8px; -webkit-mask-image:linear-gradient(130deg,#000,transparent 75%); mask-image:linear-gradient(130deg,#000,transparent 75%); }
.stage { padding-top:22px; }
.slide { border:1px solid var(--text); border-radius:16px 4px 16px 4px; background:var(--surface); box-shadow:6px 6px 0 rgba(32,33,31,.11); }
.slide::after { content:""; position:absolute; z-index:0; inset-inline-end:0; top:0; width:8px; height:100%; background:var(--teal); }
.slide__body { position:relative; z-index:1; }
.slide__title { color:var(--text); letter-spacing:-.045em; }
.slide__title em { color:var(--primary); text-decoration:underline; text-decoration-color:var(--teal); text-decoration-thickness:4px; text-underline-offset:7px; }
.slide__hook { color:var(--text-2); }
.tag,.tag--glow { border-radius:5px; background:#ece6d9; border:1px solid var(--line-2); box-shadow:none; backdrop-filter:none; }
.tag--glow { background:var(--surface); }
.pulse { background:var(--teal); box-shadow:none; }
.btn--primary,.gbtn { background:var(--primary); border-radius:7px; box-shadow:3px 3px 0 var(--text); }
.btn--primary:hover,.gbtn:hover { background:var(--primary-deep); box-shadow:1px 1px 0 var(--text); transform:translate(2px,2px); }
.btn--shine::after { display:none; }
.btn--ghost,.btn--outline-light { border-radius:7px; }
.btn--light { border-radius:7px; box-shadow:3px 3px 0 rgba(0,0,0,.32); }
.stats__grid { border:0; border-radius:0; background:transparent; box-shadow:none; gap:0; }
.stats li { background:transparent; border-block:1px solid var(--line-2); border-inline-start:1px solid var(--line); padding:18px 12px; }
.stats li:last-child { border-inline-end:1px solid var(--line); }
.stats b { color:var(--primary); background:none; -webkit-text-fill-color:currentColor; font-size:clamp(26px,3.5vw,36px); }
.stats span { color:var(--text-2); }
.mhead { margin-bottom:24px; }
.mhead__title { color:var(--text); letter-spacing:-.03em; }
.mhead__title::before { width:16px; height:4px; border-radius:0; background:var(--teal); align-self:center; }
.mhead__sub { color:var(--text-2); }
.section--white { background:var(--surface); border-block:1px solid var(--line); }
.hcats,.seg { gap:7px; }
.chip,.seg button { border-radius:6px; }
.chip[aria-pressed="true"],.seg button[aria-pressed="true"] { background:var(--primary); color:#fff; border-color:var(--primary); box-shadow:2px 2px 0 var(--text); }
.gcard,.shop-card { border:1px solid var(--text); border-radius:10px; background:var(--surface); box-shadow:4px 4px 0 rgba(32,33,31,.12); }
.gcard { transform:none; }
.gcard::before { display:none; }
.gcard:hover,.gcard:hover { transform:translateY(-3px); border-color:var(--text); box-shadow:6px 7px 0 rgba(32,33,31,.16); }
.gcard__media { border-radius:6px; box-shadow:none; }
.gcard__cat { border-radius:4px; background:#e8edff; color:var(--primary-deep); }
.gcard__hook,.gmeta li,.step p,.value p,.faq__a { color:var(--text-2); }
.value,.step { background:var(--surface); border:1px solid var(--line-2); border-radius:8px; box-shadow:3px 3px 0 rgba(32,33,31,.08); }
.value:hover,.step:hover { transform:translateY(-2px); box-shadow:4px 5px 0 rgba(32,33,31,.12); }
.value__ic { border-radius:6px; }
.step__no { background:var(--teal); color:#fff; box-shadow:none; border-radius:4px; }
.cta { border:1px solid #111827; border-radius:12px 3px 12px 3px; background:#20211f; box-shadow:6px 6px 0 var(--teal); }
.cta::before { opacity:.18; background-size:9px 9px; }
.cta__glow { display:none; }
.cta__note { border-radius:4px; background:var(--teal); border:0; color:#fff; }
.faq details { border-bottom:1px solid var(--line-2); }
.faq details[open] { background:transparent; box-shadow:none; }
.pm { border-radius:4px; }
.mfoot { background:#20211f; }
.phead { border-bottom:1px solid var(--text); }
.toolbar { background:var(--surface); border:1px solid var(--text); border-radius:8px; box-shadow:4px 4px 0 rgba(32,33,31,.10); backdrop-filter:none; }
.field .input,.toolbar .select { border-color:var(--line-2); border-radius:6px; }
.seg { background:#e9e4d9; border:1px solid var(--line-2); border-radius:7px; }
.chip { background:var(--surface); border-color:var(--line-2); }
.count-line::before { background:var(--teal); box-shadow:none; }
.shop-card { border-radius:10px; background:var(--surface); }
.shop-card::before { width:5px; background:var(--teal); }
.shop-card__image { border-radius:6px; }
.shop-card__featured { border-radius:4px; background:#f5e6aa; color:#493800; }
.tabbar { border-top:1px solid var(--text); background:rgba(252,251,247,.98); box-shadow:0 -3px 0 rgba(32,33,31,.07); }
.tabbar a { border-radius:0; }
.tabbar a[aria-current="page"]::before { background:var(--teal); border-radius:0; height:3px; }
.auth__card,.buybox { background:var(--surface); border:1px solid var(--line-2); border-radius:10px; box-shadow:4px 4px 0 rgba(32,33,31,.10); }
.auth__card h1,.buybox__price b { background:none; color:var(--text); -webkit-text-fill-color:currentColor; }
:focus-visible { outline-color:var(--teal); }
@media (hover:hover) and (pointer:fine) { .gcard { transform:none !important; } .gcard:hover { transform:translateY(-3px) !important; } }
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto !important; animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; } }

.shop-card__actions { display:flex; width:100%; margin-top:auto; }
.shop-card__actions .gbtn { width:100%; min-height:46px; display:inline-flex; align-items:center; justify-content:center; gap:8px; }
.shop-card__actions .gbtn.is-in { background:#e6f0e8; color:#245637; border:1px solid #8caf94; box-shadow:2px 2px 0 #31563a; }
.citem__product { width:84px; height:84px; object-fit:cover; border-radius:6px; background:var(--surface-2); }
.citem__product--blank { display:grid; place-items:center; color:var(--text-2); font-size:12px; border:1px solid var(--line); }
@media (max-width:639px) { .citem__product { width:64px; height:64px; } }

/* پشتیبانی مشتری در حساب کاربری */
.support-box { border:1px solid var(--line-2); }
.support-box > .acc__head { align-items:center; margin-bottom:18px; }
.support-box > .acc__head h2 { margin-bottom:3px; }
.support-form { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:13px; padding:16px; margin-bottom:20px; background:var(--surface-2); border:1px solid var(--line); border-radius:var(--r-lg); }
.support-form label { display:grid; gap:6px; font-size:13px; font-weight:600; }
.support-form__wide { grid-column:1/-1; }
.support-form .textarea { min-height:112px; }
.support-form [type=submit] { justify-self:start; }
.support-list { display:grid; gap:13px; }
.support-ticket { border:1px solid var(--line-2); border-radius:var(--r-lg); background:var(--surface); overflow:hidden; }
.support-ticket > header { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; padding:15px 16px; background:var(--surface-2); border-bottom:1px solid var(--line); }
.support-ticket > header b { display:block; font-size:15px; }
.support-ticket__meta { display:block; margin-top:3px; color:var(--text-3); font-size:12px; }
.support-ticket .badge { flex:none; }
.support-thread { display:grid; gap:10px; padding:15px; }
.support-message { padding:11px 13px; border:1px solid var(--line); border-radius:10px 3px 10px 10px; background:var(--surface-2); }
.support-message--staff { border-color:var(--primary-line); background:var(--primary-soft); }
.support-message small { display:block; margin-bottom:4px; color:var(--text-3); font-size:11px; }
.support-message p { line-height:1.9; overflow-wrap:anywhere; }
.support-reply { display:flex; align-items:flex-end; gap:9px; padding:0 15px 15px; }
.support-reply .textarea { min-height:48px; flex:1; }
.support-closed { padding:0 15px 15px; color:var(--text-3); font-size:13px; }
.support-empty { border:1px dashed var(--line-2); border-radius:var(--r-lg); }
@media (max-width:640px) {
  .support-box > .acc__head { align-items:flex-start; flex-direction:column; }
  .support-form { grid-template-columns:1fr; padding:12px; }
  .support-form__wide { grid-column:auto; }
  .support-ticket > header { padding:12px; }
  .support-thread { padding:12px; }
  .support-reply { flex-direction:column; align-items:stretch; padding:0 12px 12px; }
  .support-reply .btn { align-self:flex-start; }
}

/* تم روشن حرفه‌ای: سفید، آبی و فیروزه‌ای؛ بدون تون زرد/نارنجی */
:root {
  --bg:#f5f7fb; --surface:#ffffff; --surface-2:#f7f9fc;
  --text:#172033; --text-2:#4b5568; --text-3:#718096;
  --primary:#2563eb; --primary-deep:#1d4ed8; --primary-soft:#eff6ff; --primary-line:#bfdbfe;
  --teal:#0b716d; --amber:#0b716d; --line:rgba(23,32,51,.09); --line-2:rgba(23,32,51,.16);
  --shadow-sm:0 2px 8px rgba(20,35,65,.05); --shadow:0 6px 20px rgba(20,35,65,.07); --shadow-lg:0 16px 40px rgba(20,35,65,.11);
  --r:12px; --r-lg:16px; --r-xl:22px; --grad:linear-gradient(135deg,#2563eb,#0b716d); --grad-warm:linear-gradient(135deg,#2563eb,#0b716d);
}
body { background:var(--bg); background-image:none; }
.site-header,.site-header.is-stuck,.tabbar { background:rgba(255,255,255,.97); }
.site-header { border-bottom:1px solid var(--line); box-shadow:0 3px 16px rgba(20,35,65,.04); }
.site-header.is-stuck { box-shadow:0 5px 18px rgba(20,35,65,.07); }
.site-header::after { background:var(--primary); height:2px; }
.logo__mark { border-radius:12px; box-shadow:0 0 0 3px rgba(15,159,154,.14); }
.stage,.phead,.auth { background:var(--bg); }
.stage::before,.phead::before { opacity:.35; background-image:radial-gradient(rgba(37,99,235,.20) .8px,transparent 1px); background-size:14px 14px; }
.slide { border:1px solid var(--line); border-radius:var(--r-xl); background:#fff; box-shadow:var(--shadow); }
.slide::after { width:5px; background:var(--teal); }
.slide__title { color:var(--text); }
.slide__title em { color:var(--primary); text-decoration-color:var(--teal); }
.tag,.tag--glow { background:#f1f5f9; border:1px solid var(--line); border-radius:999px; }
.tag--glow { background:#fff; }
.btn--primary,.gbtn { border-radius:10px; box-shadow:0 3px 8px rgba(37,99,235,.17); }
.btn--primary:hover,.gbtn:hover { box-shadow:0 6px 14px rgba(37,99,235,.22); transform:translateY(-1px); }
.stats__grid { border-radius:var(--r-lg); background:#fff; box-shadow:var(--shadow-sm); }
.stats li { background:#fff; border-color:var(--line); }
.stats b { color:var(--primary); }
.mhead__title::before { border-radius:4px; background:var(--teal); }
.section--white { background:#fff; border-block:1px solid var(--line); }
.chip,.seg button { border-radius:999px; }
.chip[aria-pressed="true"],.seg button[aria-pressed="true"] { background:var(--primary); border-color:var(--primary); box-shadow:0 3px 9px rgba(37,99,235,.2); }
.gcard,.shop-card { border:1px solid var(--line); border-radius:var(--r-lg); background:#fff; box-shadow:var(--shadow-sm); }
.gcard:hover,.shop-card:hover { border-color:var(--primary-line); box-shadow:var(--shadow); }
.gcard__cat { background:var(--primary-soft); color:var(--primary-deep); }
.value,.step { background:#fff; border:1px solid var(--line); border-radius:var(--r-lg); box-shadow:var(--shadow-sm); }
.value:hover,.step:hover { box-shadow:var(--shadow); }
.step__no { background:var(--teal); border-radius:50%; }
.cta { border:1px solid #183153; border-radius:var(--r-xl); background:#173153; box-shadow:0 12px 26px rgba(23,49,83,.17); }
.cta__note { border-radius:999px; background:var(--teal); }
.faq details { border-color:var(--line); }
.phead { border-bottom:1px solid var(--line); }
.toolbar { background:#fff; border:1px solid var(--line); border-radius:var(--r-lg); box-shadow:var(--shadow-sm); }
.seg { background:#f1f5f9; border:1px solid var(--line); border-radius:999px; }
.chip { background:#fff; border-color:var(--line); }
.shop-card::before { background:var(--teal); }
.shop-card__featured { border-radius:999px; background:#eff6ff; color:#1d4ed8; }
.tabbar { border-top:1px solid var(--line); box-shadow:0 -5px 20px rgba(20,35,65,.05); }
.tabbar a[aria-current="page"]::before { background:var(--primary); border-radius:999px; }
.auth__card,.buybox { background:#fff; border:1px solid var(--line); border-radius:var(--r-lg); box-shadow:var(--shadow); }
:focus-visible { outline-color:var(--primary); }
.support-form { background:#f8fafc; }
.support-message--staff { border-color:#c7e7e5; background:#f0fbfa; }

/* پاک‌سازی آخرین accentهای زرد/طلایی باقی‌مانده از تم قبلی */
.pg-amber { --pg:linear-gradient(135deg,#2563eb,#0f9f9a); }
.site-header__badge { background:var(--teal); color:#fff; }
.gchip--soon::before { background:var(--teal); }
.value__ic--amber { background:#eff6ff; color:#2563eb; }

/* خوانایی متن و کنتراست */
:root { --text-2:#445066; --text-3:#566276; }
body { font-size:15px; line-height:1.8; }
input::placeholder,textarea::placeholder { color:#667085; opacity:1; }
.support-ticket__meta { color:#4b5563; font-size:12.5px; }
.support-message small { color:#4b5563; font-size:12px; }
.support-closed { color:#4b5563; }
.muted { color:var(--text-3); }
.shop-card__type { color:var(--text-2); }

/* خرید موبایل داخل جریان صفحه می‌ماند و روی فوتر/نوار پایین نمی‌افتد */
@media (max-width:959px) {
  .cd { display:flex; flex-direction:column; gap:18px; }
  .cd__main { display:contents; }
  .cd__hero { order:1; }
  .cd > .buybox { order:2; position:static; top:auto; width:100%; }
  .cd__main > .cbox { order:3; }
}
@media (max-width:899px) {
  .mfoot { padding-bottom:calc(28px + var(--tabbar-h) + env(safe-area-inset-bottom)); }
}


/* داشبورد حساب کاربری: ساختار روشن، خوانا و واکنش‌گرا */
.acc { gap:20px; padding-block:30px 72px; }
.acc-hero { display:flex; align-items:center; justify-content:space-between; gap:22px; flex-wrap:wrap; padding:24px; background:linear-gradient(135deg,#fff,#f3f7ff); border:1px solid var(--line); border-radius:var(--r-xl); box-shadow:var(--shadow-sm); }
.acc-hero__identity { display:flex; align-items:center; gap:16px; min-width:0; }
.acc-avatar { display:grid; place-items:center; width:58px; height:58px; flex:none; border-radius:18px; background:linear-gradient(135deg,var(--primary),var(--teal)); color:#fff; font-size:25px; font-weight:800; box-shadow:0 0 0 5px var(--primary-soft); }
.acc-hero h1 { margin:2px 0 3px; font-size:clamp(23px,3vw,30px); font-weight:800; line-height:1.45; }
.acc-hero p,.acc-section-head p,.acc-muted { margin:0; color:var(--text-2); font-size:14px; line-height:1.85; }
.acc-hero__actions { display:flex; align-items:center; gap:9px; flex-wrap:wrap; }
.acc-eyebrow { display:block; margin-bottom:4px; color:var(--primary-deep); font-size:12px; font-weight:750; letter-spacing:.01em; }
.acc-tabs { position:relative; display:flex; gap:5px; padding:5px; overflow-x:auto; scrollbar-width:thin; background:#edf2fa; border:1px solid var(--line); border-radius:15px; }
.acc-tabs button { min-height:44px; flex:0 0 auto; padding:0 17px; border-radius:11px; color:var(--text-2); font-size:14px; font-weight:650; white-space:nowrap; transition:background .18s,color .18s,box-shadow .18s; }
.acc-tabs button:hover { color:var(--primary-deep); background:rgba(255,255,255,.65); }
.acc-tabs button[aria-selected="true"] { color:var(--primary-deep); background:#fff; box-shadow:0 2px 8px rgba(23,32,51,.09); }
.acc-panel { display:grid; gap:18px; min-width:0; }
.acc-panel[hidden] { display:none !important; }
.acc-stats { display:grid; grid-template-columns:repeat(auto-fit,minmax(170px,1fr)); gap:12px; }
.acc-stat,.acc-card { min-width:0; padding:18px; background:#fff; border:1px solid var(--line); border-radius:var(--r-lg); box-shadow:var(--shadow-sm); }
.acc-stat { display:grid; align-content:start; gap:5px; min-height:118px; }
.acc-stat > span { color:var(--text-2); font-size:13px; font-weight:650; }
.acc-stat > b { color:var(--text); font-size:27px; font-weight:850; line-height:1.4; }
.acc-stat > b.acc-stat__money { color:var(--primary-deep); font-size:clamp(15px,1.7vw,19px); overflow-wrap:anywhere; }
.acc-stat > small { color:var(--text-3); font-size:12px; line-height:1.65; }
.acc-overview-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(250px,320px); gap:16px; align-items:start; }
.acc-card__head { margin-bottom:13px; }
.acc-card h2,.acc-section-head h2 { margin:0; font-size:19px; font-weight:800; line-height:1.55; }
.acc-section-head { display:flex; align-items:center; justify-content:space-between; gap:14px; flex-wrap:wrap; padding:3px 2px; }
.acc-section-head p { margin-top:4px; }
.acc-shortcuts { display:grid; gap:8px; }
.acc-shortcuts button { display:flex; align-items:center; gap:12px; width:100%; min-height:66px; padding:10px 12px; text-align:right; background:#fff; border:1px solid var(--line); border-radius:12px; transition:border-color .18s,background .18s,transform .18s; }
.acc-shortcuts button:hover { background:#f8faff; border-color:var(--primary-line); transform:translateY(-1px); }
.acc-shortcut__icon { display:grid; place-items:center; width:38px; height:38px; flex:none; border-radius:11px; color:var(--primary-deep); background:var(--primary-soft); font-size:18px; font-weight:800; }
.acc-shortcuts button > span:nth-child(2) { display:grid; gap:2px; flex:1; }
.acc-shortcuts b { font-size:14px; }
.acc-shortcuts small { color:var(--text-3); font-size:12px; }
.acc-shortcuts i { color:var(--primary-deep); font-size:18px; font-style:normal; }
.acc-card--account { display:grid; gap:9px; background:linear-gradient(155deg,#fff,#f7faff); }
.acc-card--account h2 { margin:0; color:var(--primary-deep); font-size:21px; }
.acc-card--account > p { margin:0 0 3px; color:var(--text-3); font-size:13px; }
.acc-account__line { display:flex; align-items:center; justify-content:space-between; gap:10px; padding-top:9px; border-top:1px solid var(--line); font-size:13px; }
.acc-account__line span { color:var(--text-3); }
.acc-account__line b { color:var(--text-2); }
.acc-text-link { display:inline-flex; align-items:center; gap:8px; margin-top:8px; color:var(--primary-deep); font-size:13px; font-weight:750; }
.acc-course-list,.acc-order-list { display:grid; gap:12px; }
.acc-course,.acc-order { padding:17px; background:#fff; border:1px solid var(--line); border-radius:var(--r-lg); box-shadow:var(--shadow-sm); }
.acc-course__top,.acc-order__top,.acc-order__bottom { display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; }
.acc-course h3 { margin:0; font-size:16px; line-height:1.7; }
.acc-course h3 a:hover { color:var(--primary-deep); }
.acc-pill { display:inline-flex; align-items:center; min-height:26px; padding:2px 10px; border:1px solid #cfe7dc; border-radius:999px; color:#176548; background:#effaf4; font-size:12px; font-weight:700; white-space:nowrap; }
.acc-pill--pending { border-color:#c8d9ff; color:var(--primary-deep); background:#eff6ff; }
.acc-pill--failed,.acc-pill--cancelled,.acc-pill--refunded { border-color:#f1c9c5; color:#9b2c24; background:#fff5f4; }
.acc-progress__label { display:flex; justify-content:space-between; gap:12px; margin-top:15px; color:var(--text-3); font-size:12px; }
.acc-progress__label b { color:var(--primary-deep); }
.acc-progress { height:8px; margin-top:6px; overflow:hidden; background:#e8eef7; border-radius:999px; }
.acc-progress i { display:block; height:100%; background:linear-gradient(90deg,var(--primary),var(--teal)); border-radius:inherit; }
.acc-course > .acc-text-link { margin-top:13px; }
.acc-order__top b { font-size:14px; }
.acc-order > p { margin:11px 0; color:var(--text-2); font-size:13px; line-height:1.8; }
.acc-order__bottom { padding-top:10px; border-top:1px solid var(--line); color:var(--text-3); font-size:12px; }
.acc-order__bottom b { color:var(--text); font-size:14px; }
.acc-empty { display:grid; justify-items:center; gap:10px; padding:32px 16px; text-align:center; background:#fff; border:1px dashed var(--line-2); border-radius:var(--r-lg); color:var(--text-2); }
.acc-empty__mark { display:grid; place-items:center; width:40px; height:40px; border-radius:13px; background:var(--primary-soft); color:var(--primary-deep); font-size:22px; font-weight:800; }
.acc-empty b { font-size:14px; }
.acc-loading { margin:0; padding:18px; color:var(--text-3); }
.acc-form { display:grid; gap:14px; max-width:640px; }
.acc-form label { display:grid; gap:7px; color:var(--text-2); font-size:13px; font-weight:700; }
.acc-form .input { min-height:48px; }
.acc-readonly { display:flex; align-items:center; justify-content:space-between; gap:10px; min-height:48px; padding:7px 12px; color:var(--text); background:#f7f9fc; border:1px solid var(--line); border-radius:var(--r); }
.acc-form__note { margin:0; color:var(--text-3); font-size:12px; line-height:1.8; }
.acc-security-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(250px,.7fr); gap:16px; align-items:start; }
.acc-security-grid h3 { margin:0 0 5px; font-size:17px; }
.acc-security-grid .acc-muted { margin-bottom:15px; }
.acc-card--logout { display:grid; justify-items:start; gap:12px; }
.acc-card--logout .acc-shortcut__icon { margin-bottom:2px; }
.acc-card--logout .acc-muted { margin:0; }
@media (max-width:760px) {
  .acc { padding-block:20px 54px; }
  .acc-hero { align-items:flex-start; padding:17px; }
  .acc-hero__identity { align-items:flex-start; gap:12px; }
  .acc-avatar { width:48px; height:48px; border-radius:15px; font-size:21px; }
  .acc-hero__actions { width:100%; }
  .acc-hero__actions .btn { flex:1; }
  .acc-overview-grid,.acc-security-grid { grid-template-columns:1fr; }
  .acc-stats { grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; }
  .acc-stat,.acc-card { padding:14px; }
  .acc-stat { min-height:105px; }
  .acc-stat > b { font-size:24px; }
  .acc-stat > b.acc-stat__money { font-size:15px; }
  .acc-tabs { margin-inline:-2px; }
  .acc-tabs button { padding-inline:14px; }
  .acc-section-head { align-items:flex-start; }
}

.hcats[hidden] { display:none !important; }


/* ---------- یکپارچگی نهایی خوانایی و چیدمان ---------- */
:root {
  --text:#172033;
  --text-2:#3f4b5f;
  --text-3:#526176;
  --line:rgba(23,32,51,.10);
  --line-2:rgba(23,32,51,.17);
}
body { color:var(--text); line-height:1.85; }
.container { width:min(100%,var(--max)); }
.section { padding-block:clamp(42px,6vw,76px); }
.mhead { display:grid; gap:7px; margin-bottom:20px; }
.mhead__title { display:flex; align-items:center; flex-wrap:wrap; gap:9px; line-height:1.5; }
.mhead__sub,.slide__hook,.gcard__hook,.shop-card p { color:var(--text-2); }
.btn--primary,.btn--primary:hover,.gbtn,.gbtn:hover,
.chip[aria-pressed="true"],.seg button[aria-pressed="true"] { color:#fff !important; }
.btn--primary,.gbtn { background:var(--primary); }
.btn--primary:hover,.gbtn:hover { background:var(--primary-deep); }
.gbtn.is-in,.shop-card__actions .gbtn.is-in { color:#176548 !important; background:#effaf4; border-color:#b8dfca; box-shadow:none; }
.btn--ghost,.gbtn--quiet { color:var(--text); background:#fff; border:1px solid var(--line-2); }
.chip[aria-pressed="true"],.seg button[aria-pressed="true"] { background:var(--primary); border-color:var(--primary); }
:where(.btn,.gbtn,.chip,.seg button,.acc-tabs button):focus-visible { outline:3px solid rgba(37,99,235,.28); outline-offset:2px; }
.input::placeholder,.textarea::placeholder { color:#5a6678; opacity:1; }
.gbtn.gbtn--quiet { color:var(--primary-deep) !important; background:#fff; border:1px solid #a9c2f7; box-shadow:none; }
.gbtn.gbtn--quiet:hover { color:var(--primary-deep) !important; background:var(--primary-soft); border-color:var(--primary); }

/* فوتر روشن و قابل‌خواندن؛ فراخوان اصلی جداگانه با زمینهٔ سرمه‌ای حفظ می‌شود. */
.mfoot { background:#fff; color:var(--text); border-top:1px solid var(--line-2); padding-block:44px 24px; }
.mfoot .logo { color:var(--text); }
.mfoot .logo__text small { color:var(--text-3); }
.mfoot p,.mfoot li a { color:var(--text-2); }
.mfoot h4 { color:var(--text); }
.mfoot li a:hover { color:var(--primary-deep); }
.mfoot__base { color:var(--text-2); border-color:var(--line-2); }

/* فاصله‌های ثابت در صفحهٔ فروشگاه و کارت‌های کاتالوگ */
.ggrid,.values,.steps { gap:16px; }
.toolbar { padding:14px; margin-block:18px 22px; }
.gcard,.shop-card,.value,.step,.acc-card,.acc-stat,.acc-product,.acc-order { min-width:0; }
.shop-card { gap:10px; padding:18px; border-radius:var(--r-lg); }
.shop-card h3 { line-height:1.65; overflow-wrap:anywhere; }
.shop-card p { line-height:1.8; }
.shop-card__actions { width:100%; margin-top:auto; }
.shop-card__actions .gbtn { width:100%; min-height:48px; }
.home-product-more { display:flex; justify-content:center; margin-top:20px; }
.home-product-grid { align-items:stretch; }
.home-product-grid .shop-card { min-height:100%; }

/* کتابخانهٔ محصولات کاربر */
.acc-product-browser { display:grid; gap:12px; min-width:0; }
.acc-filter-group,.acc-product-categories { display:flex; align-items:center; gap:8px; min-width:0; overflow-x:auto; padding:2px 1px 7px; scrollbar-width:thin; }
.acc-filter-group .chip,.acc-product-categories .chip { flex:none; min-height:38px; padding-inline:14px; border:1px solid var(--line-2); background:#fff; color:var(--text-2); border-radius:999px; font-weight:650; }
.acc-filter-group .chip[aria-pressed="true"],.acc-product-categories .chip[aria-pressed="true"] { background:var(--primary); border-color:var(--primary); color:#fff !important; }
.acc-product-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.acc-product { display:grid; align-content:start; gap:8px; padding:16px; border:1px solid var(--line); border-radius:var(--r-lg); background:#fff; box-shadow:var(--shadow-sm); }
.acc-product__top { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; }
.acc-product__top h3 { font-size:16px; line-height:1.7; overflow-wrap:anywhere; }
.acc-product__top h3 a:hover { color:var(--primary-deep); }
.acc-product__note { color:var(--text-2); font-size:13px; }
.acc-course-list,.acc-order-list { gap:14px; }
.acc-hero,.acc-card,.acc-stat,.acc-product,.acc-order { box-shadow:0 2px 9px rgba(20,35,65,.045); }
.acc-tabs { gap:6px; }
.acc-section-head { align-items:flex-start; }
.acc-section-head > div { min-width:min(100%,420px); }
.acc-stat > small,.acc-shortcuts small,.acc-account__line span,.acc-progress__label { color:var(--text-2); }
@media (max-width:760px) {
  .section { padding-block:38px; }
  .container { padding-inline:16px; }
  .ggrid,.values,.steps { gap:12px; }
  .acc-product-list { grid-template-columns:1fr; }
  .acc-product { padding:14px; }
  .acc-section-head { gap:10px; }
  .acc-section-head .btn { white-space:normal; }
  .acc-hero { gap:14px; }
  .acc-stats { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:420px) {
  .btn { padding-inline:15px; font-size:14px; }
  .acc-stats { gap:8px; }
  .acc-stat { padding:12px; }
  .acc-stat > b { font-size:21px; }
  .acc-tabs button { padding-inline:12px; }
}


/* ---------- کاتالوگ DB-first: کارت واحد، تصویر امن و لمس‌پذیر ---------- */
:where(button, a.btn, .gbtn, .chip, .seg button, .site-header__cart, .site-header__acc) { min-height:44px; }
.gcard { overflow:hidden; }
.gcard__media { display:block; color:inherit; text-decoration:none; }
.gcard__media:focus-visible { outline:3px solid var(--primary); outline-offset:-3px; }
.gcard__media .poster, .gcard__media .gcard__image { width:100%; height:100%; min-height:0; object-fit:cover; }
.gcard__image { display:block; background:var(--surface-2); }
.gcard__title a { color:inherit; text-decoration:none; }
.gcard__title a:hover { color:var(--primary-deep); text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:4px; }
.gcard__title a:focus-visible { outline:3px solid var(--primary); outline-offset:3px; border-radius:4px; }
.gcard__unavailable { min-height:44px; display:inline-flex; align-items:center; color:var(--text-3); font-size:13px; font-weight:700; }
.gmeta li { min-width:0; overflow-wrap:anywhere; }
.slide__visual-link { position:relative; display:block; min-height:240px; overflow:hidden; color:inherit; }
.slide__visual-link:focus-visible { outline:3px solid var(--primary); outline-offset:-3px; }
.slide__visual-link .poster, .slide__visual-link .slide__image { width:100%; height:100%; min-height:240px; object-fit:cover; }
@media (min-width:900px) { .slide__visual-link, .slide__visual-link .poster, .slide__visual-link .slide__image { min-height:100%; } }
.cd__visual { overflow:hidden; border-radius:var(--r-xl); aspect-ratio:16 / 8; box-shadow:var(--shadow); background:var(--surface-2); }
.cd__visual .poster, .cd__image { width:100%; height:100%; object-fit:cover; }
.cd__description { color:var(--text-2); line-height:2; overflow-wrap:anywhere; }
.citem__visual { display:block; overflow:hidden; width:84px; height:84px; border-radius:10px; background:var(--surface-2); }
.citem__visual .poster, .citem__visual .citem__product { width:100%; height:100%; object-fit:cover; }
.citem__visual:focus-visible { outline:3px solid var(--primary); outline-offset:2px; }
.catalog-error { grid-column:1 / -1; display:grid; gap:6px; padding:22px; color:#991b1b; background:#fff7f7; border:1px solid #fecaca; border-radius:var(--r-lg); }
.catalog-error b { font-size:16px; }
.catalog-error span { color:#7f1d1d; font-size:14px; }
.acc-product__actions { display:flex; flex-wrap:wrap; gap:8px; margin-top:4px; }
.acc-product__actions .btn { min-height:40px; }
.buybox__facts b { overflow-wrap:anywhere; text-align:end; }
@media (max-width:639px) {
  .gcard__media .gcard__image { border-radius:inherit; }
  .slide__visual-link { min-height:190px; }
  .slide__visual-link .poster, .slide__visual-link .slide__image { min-height:190px; }
  .cd__visual { aspect-ratio:4 / 3; }
}
@media (max-width:520px) {
  .citem__visual { width:64px; height:64px; }
  .citem__visual .poster__word { font-size:12px; }
  .acc-product__actions .btn { flex:1 1 auto; }
}
@media (prefers-reduced-motion:reduce) {
  .gcard, .gcard:hover, .slide, .slide.is-on { transform:none !important; animation:none !important; }
}


/* ══════════ لایهٔ پالایش حرفه‌ای UI — دسکتاپ و اندروید ══════════ */
/* اندروید/موبایل: ارتفاع نوارها، لمس، فونت روان */
html { -webkit-tap-highlight-color: rgba(36,75,196,.12); }
body { text-rendering: optimizeLegibility; overscroll-behavior-y: none; }
/* هدر شیشه‌ای مرتب */
.site-header { backdrop-filter: blur(16px) saturate(1.35); -webkit-backdrop-filter: blur(16px) saturate(1.35); }
/* تب‌بار: آیکن‌ها با عمق، بج تمیز، فشار لمسی بهتر */
.tabbar a { transition: color .2s var(--ease), transform .15s var(--ease); }
.tabbar a:active { transform: scale(.93); }
.tabbar svg { filter: drop-shadow(0 1px 1px rgba(32,33,31,.12)); }
.tabbar a[aria-current="page"] svg { filter: drop-shadow(0 2px 3px rgba(36,75,196,.28)); }
/* کارت‌ها: سایه‌ی لطیف‌تر و هاور یکنواخت */
.gcard, .shop-card { will-change: transform; }
.gcard__image { transition: transform .5s var(--ease); }
@media (hover:hover) and (pointer:fine) {
  .gcard:hover .gcard__image { transform: scale(1.045); }
}
/* دکمه‌ها: فیدبک لمسی و فوکوس پذیرش */
.btn { transition: transform .15s var(--ease), box-shadow .2s var(--ease), filter .2s; }
.btn:active { transform: translateY(1px) scale(.985); }
.btn:focus-visible, .chip:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible {
  outline: 3px solid rgba(36,75,196,.4); outline-offset: 2px; border-radius: 8px;
}
/* فرم‌ها: ارتفاع استاندارد لمس ۴۸px و اسکرول افقی نرم */
.input, .select, .textarea { transition: border-color .2s, box-shadow .2s; }
.input:focus, .select:focus, .textarea:focus { box-shadow: 0 0 0 4px rgba(36,75,196,.10); }
.hcats { overflow-x: auto; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
.hcats::-webkit-scrollbar { display: none; }
/* جدول‌ها و پنل ادمین: هدر چسبان و ردیف‌های خوانا */
.tbl-wrap, .table-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; }
/* اسکرول‌بار ظریف در دسکتاپ */
@media (pointer:fine) {
  ::-webkit-scrollbar { width: 10px; height: 10px; }
  ::-webkit-scrollbar-thumb { background: rgba(32,33,31,.18); border-radius: 99px; border: 3px solid transparent; background-clip: content-box; }
  ::-webkit-scrollbar-thumb:hover { background-color: rgba(32,33,31,.32); background-clip: content-box; }
  ::-webkit-scrollbar-track { background: transparent; }
}
/* اندروید: safe-area و جلوگیری از پرش صفحه */
@supports (padding: max(0px)) {
  .site-header { padding-top: env(safe-area-inset-top); }
}
@media (max-width: 639px) {
  .gcard { margin-bottom: 0; }
  .btn { min-height: 46px; }
  .seg { overflow-x: auto; scrollbar-width: none; }
  .seg::-webkit-scrollbar { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  .tabbar a, .btn, .gcard__image { transition: none !important; }
}
