/* ==========================================================
   آکادمی مدآل — استایل سایت (مطابق طرح، نسخه ۲)
   ========================================================== */
:root {
  --navy: #201E43; --navy-2: #2A2856; --indigo: #311E91; --violet: #553CDE; --violet-2: #674DEE; --teal: #134B70;
  --lav: #DAD3FF; --sky: #B9E0FA; --gold: #F6C66B; --gold-2: #FDDD95; --slate: #585D7B;
  --ink: #15142E; --text: #2B2A3F; --muted: #6E6D82; --soft: #8D8C9E; --line: #E4E4EC; --bg-soft: #F7F7F7;
  --radius: 18px; --shadow: 0 8px 24px rgba(32,30,67,.07); --shadow-lg: 0 20px 50px rgba(32,30,67,.15);
  --font: "Vazirmatn", Tahoma, sans-serif;
  --container: 1120px; --hh: 84px; --gutter: 24px;
  --ease: cubic-bezier(.2,.8,.2,1);
}
*, *::before, *::after { box-sizing: border-box; }
html { overflow-x: clip; scroll-behavior: smooth; -webkit-text-size-adjust: 100%; scroll-padding-top: 80px; }
body { margin: 0; font-family: var(--font); color: var(--text); background: var(--page, #fff); line-height: 1.8; font-size: 15px; -webkit-font-smoothing: antialiased; overflow-x: clip; }
img { max-width: 100%; display: block; }
a { color: inherit; text-decoration: none; }
button, input, textarea, select { font: inherit; color: inherit; }
button { cursor: pointer; }
.ic { width: 1em; height: 1em; flex-shrink: 0; }
.container { width: 100%; max-width: var(--container); margin-inline: auto; padding-inline: var(--gutter); }
.ltr { direction: ltr; unicode-bidi: isolate; display: inline-block; }
.pre { white-space: pre-line; }
main { overflow-x: clip; }

/* ---------- نوار پیشرفت اسکرول و دکمه بالا ---------- */
.scroll-progress { position: fixed; top: 0; inset-inline-start: 0; inset-inline-end: 0; height: 3px; z-index: 120; pointer-events: none; }
.scroll-progress i { display: block; height: 100%; width: 100%; background: linear-gradient(90deg, var(--gold), var(--violet-2)); transform-origin: right; transform: scaleX(var(--p, 0)); }
.to-top { position: fixed; inset-inline-end: 20px; bottom: 20px; z-index: 90; width: 46px; height: 46px; border-radius: 14px; border: 0; background: var(--navy); color: #fff; display: grid; place-items: center; box-shadow: var(--shadow-lg); opacity: 0; transform: translateY(20px) scale(.8); transition: .35s var(--ease); pointer-events: none; }
.to-top.show { opacity: 1; transform: none; pointer-events: auto; }
.to-top:hover { background: var(--violet); }
.to-top .ic { font-size: 18px; transform: rotate(90deg); }

/* ---------- دکمه‌ها ---------- */
.btn { position: relative; overflow: hidden; display: inline-flex; align-items: center; justify-content: center; gap: 9px; border: 0; border-radius: 12px; padding: 11px 22px; font-weight: 800; font-size: 14px; line-height: 1.6; transition: transform .25s var(--ease), box-shadow .25s, background .25s; white-space: nowrap; }
.btn:hover { transform: translateY(-2px); }
.btn:active { transform: translateY(0) scale(.98); }
.btn-white { background: #fff; color: var(--ink); font-size: 18px; padding: 12px 30px; border-radius: 14px; box-shadow: 0 10px 28px rgba(0,0,0,.2); }
.btn-white .ic { font-size: 22px; transition: transform .3s var(--ease); }
.btn-white:hover .ic { transform: translateX(-4px); }
.btn-navy { background: var(--navy); color: #fff; box-shadow: 0 8px 20px rgba(32,30,67,.22); }
.btn-navy:hover { background: #2c2a5c; box-shadow: 0 12px 26px rgba(32,30,67,.3); }
.btn-violet { background: var(--violet); color: #fff; box-shadow: 0 8px 20px rgba(85,60,222,.28); }
.btn-violet:hover { background: #4a32cf; }
.btn-ghost { background: transparent; color: var(--navy-ink, var(--navy)); border: 1.5px solid var(--line); }
.btn-ghost:hover { border-color: var(--violet); color: var(--violet); }
.btn-sm { padding: 7px 14px; font-size: 13px; border-radius: 10px; }
.btn-block { width: 100%; }
.btn[disabled] { opacity: .55; pointer-events: none; }
.btn-shine::after { content: ""; position: absolute; top: 0; bottom: 0; width: 40%; inset-inline-start: -60%; background: linear-gradient(100deg, transparent, rgba(255,255,255,.45), transparent); transform: skewX(-20deg); animation: shine 4.5s 2s infinite; pointer-events: none; }
.btn-navy.btn-shine::after { background: linear-gradient(100deg, transparent, rgba(255,255,255,.18), transparent); }
@keyframes shine { 0%, 70% { inset-inline-start: -60%; } 100% { inset-inline-start: 130%; } }
.ripple { position: absolute; border-radius: 50%; background: currentColor; opacity: .25; transform: scale(0); animation: ripple .6s ease-out forwards; pointer-events: none; }
@keyframes ripple { to { transform: scale(2.6); opacity: 0; } }

/* ---------- هدر ثابت ---------- */
.site-top { background: var(--navy); color: #fff; position: relative; overflow: hidden; padding-top: var(--hh); }
.header { position: fixed; top: 0; inset-inline-start: 0; inset-inline-end: 0; z-index: 100; color: #fff; transition: background .35s, box-shadow .35s, backdrop-filter .35s; }
.header .container { display: flex; align-items: center; justify-content: space-between; height: var(--hh); gap: 20px; transition: height .35s var(--ease); }
body.scrolled .header { background: rgba(32,30,67,.9); backdrop-filter: blur(14px) saturate(1.4); -webkit-backdrop-filter: blur(14px) saturate(1.4); box-shadow: 0 8px 30px rgba(10,9,30,.25); }
body.scrolled .header .container { height: 64px; }
.brand { display: flex; align-items: center; gap: 10px; color: #fff; flex-shrink: 0; }
.brand .logo-svg { width: 50px; height: 45px; transition: transform .4s var(--ease), width .35s, height .35s; }
.brand:hover .logo-svg { transform: rotate(-8deg) scale(1.05); }
body.scrolled .brand .logo-svg { width: 42px; height: 38px; }
.brand img { height: 46px; width: auto; }
.nav { display: flex; align-items: center; gap: 2px; flex: 1; margin-inline-start: 56px; }
.nav a { padding: 6px 16px; font-size: 15.5px; font-weight: 700; border-radius: 10px; position: relative; white-space: nowrap; opacity: .9; transition: opacity .2s, background .2s; }
.nav a:hover { opacity: 1; background: rgba(255,255,255,.06); }
.nav a::after { content: ""; position: absolute; inset-inline: 16px; bottom: 0; height: 2px; background: var(--gold); border-radius: 2px; transform: scaleX(0); transition: transform .3s var(--ease); }
.nav a:hover::after, .nav a.active::after { transform: scaleX(1); }
.nav a.active { opacity: 1; }
.header-actions { display: flex; align-items: center; gap: 8px; }
.user-btn { display: inline-flex; align-items: center; gap: 7px; height: 38px; padding: 0 14px; border-radius: 11px; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.14); color: #fff; font-weight: 600; font-size: 13px; transition: background .2s; }
.user-btn:hover { background: rgba(255,255,255,.16); }
.user-btn .ic { font-size: 16px; }
.burger { display: none; width: 40px; height: 40px; border-radius: 11px; border: 1px solid rgba(255,255,255,.18); background: rgba(255,255,255,.06); color: #fff; align-items: center; justify-content: center; font-size: 20px; }

.drawer { position: fixed; inset: 0; z-index: 150; pointer-events: none; }
.drawer-bg { position: absolute; inset: 0; background: rgba(10,9,30,.55); opacity: 0; transition: opacity .3s; backdrop-filter: blur(3px); }
.drawer-panel { position: absolute; top: 0; bottom: 0; inset-inline-start: 0; width: min(300px, 84vw); background: var(--navy); color: #fff; transform: translateX(100%); transition: transform .4s var(--ease); padding: 20px; display: flex; flex-direction: column; gap: 4px; overflow-y: auto; }
.drawer.open { pointer-events: auto; }
.drawer.open .drawer-bg { opacity: 1; }
.drawer.open .drawer-panel { transform: none; }
.drawer-head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 14px; }
.drawer-panel a.dl { padding: 11px 14px; border-radius: 12px; font-weight: 700; font-size: 15px; display: flex; justify-content: space-between; align-items: center; opacity: 0; transform: translateX(30px); transition: background .2s, opacity .4s, transform .4s var(--ease); }
.drawer.open .drawer-panel a.dl { opacity: 1; transform: none; }
.drawer.open .drawer-panel a.dl:nth-of-type(2) { transition-delay: .05s; } .drawer.open .drawer-panel a.dl:nth-of-type(3) { transition-delay: .1s; }
.drawer.open .drawer-panel a.dl:nth-of-type(4) { transition-delay: .15s; } .drawer.open .drawer-panel a.dl:nth-of-type(5) { transition-delay: .2s; }
.drawer.open .drawer-panel a.dl:nth-of-type(6) { transition-delay: .25s; } .drawer.open .drawer-panel a.dl:nth-of-type(7) { transition-delay: .3s; }
.drawer-panel a.dl:hover, .drawer-panel a.dl.active { background: rgba(255,255,255,.08); }
.drawer-panel a.dl.active { box-shadow: inset -3px 0 0 var(--gold); }
.drawer-panel .btn-white { font-size: 14px; padding: 11px; }

/* ---------- هیرو ---------- */
.hero { position: relative; }
.hero-orbs i { position: absolute; border-radius: 50%; filter: blur(60px); opacity: .5; pointer-events: none; animation: orb 14s ease-in-out infinite alternate; }
.hero-orbs i:nth-child(1) { width: 360px; height: 360px; background: #3a24a8; top: -80px; inset-inline-end: 8%; }
.hero-orbs i:nth-child(2) { width: 260px; height: 260px; background: #134B70; bottom: -60px; inset-inline-start: 30%; animation-delay: -5s; }
.hero-orbs i:nth-child(3) { width: 180px; height: 180px; background: #553CDE; top: 30%; inset-inline-start: -40px; opacity: .3; animation-delay: -9s; }
@keyframes orb { to { transform: translate(40px, 30px) scale(1.15); } }
.hero .container { position: relative; display: grid; grid-template-columns: 1.05fr .95fr; align-items: end; gap: 30px; min-height: calc(560px - var(--hh)); }
.hero-text { align-self: center; padding: 30px 0 70px; }
.hero-title { font-size: clamp(38px, 5.4vw, 64px); font-weight: 900; line-height: 1.3; margin: 0 0 12px; }
.hero-title .w { display: inline-block; opacity: 0; transform: translateY(40px) rotate(4deg); animation: wordIn .9s var(--ease) forwards; }
@keyframes wordIn { to { opacity: 1; transform: none; } }
.hero-sub { font-size: clamp(16px, 1.9vw, 22px); font-weight: 600; margin: 0 0 40px; opacity: .95; animation: fadeUp .8s .45s var(--ease) both; }
.hero-text .btn { animation: fadeUp .8s .65s var(--ease) both; }
.hero-media { position: relative; display: flex; justify-content: center; align-self: end; will-change: transform; }
.hero-media::before { content: ""; position: absolute; bottom: 0; inset-inline-end: 6%; inset-inline-start: 6%; height: 42%; background: var(--slate); border-radius: 24px 24px 0 0; animation: riseIn 1s .2s var(--ease) both; transform-origin: bottom; }
@keyframes riseIn { from { transform: scaleY(0); } }
.hero-media img { position: relative; width: 74%; max-width: 400px; filter: drop-shadow(0 20px 40px rgba(0,0,0,.25)); animation: floatIn 1s .3s var(--ease) both; }
.hero-chip { position: absolute; z-index: 2; display: inline-flex; align-items: center; gap: 7px; background: rgba(255,255,255,.95); color: var(--ink); font-weight: 800; font-size: 13px; padding: 8px 14px; border-radius: 14px; box-shadow: var(--shadow-lg); animation: chipIn .8s var(--ease) both, bob 5s ease-in-out infinite; }
.hero-chip .ic { color: var(--violet); font-size: 16px; }
.hc1 { top: 26%; inset-inline-end: 2%; animation-delay: 1s, 1.8s; }
.hc2 { top: 52%; inset-inline-start: 0; animation-delay: 1.2s, 0s; }
@keyframes chipIn { from { opacity: 0; transform: scale(.6); } }
@keyframes bob { 50% { transform: translateY(-10px); } }
@keyframes floatIn { from { opacity: 0; transform: translateY(40px); } }
@keyframes fadeUp { from { opacity: 0; transform: translateY(22px); } }

/* هیرو صفحات داخلی */
.page-hero { position: relative; padding: 26px 0 80px; }
.page-hero .container { position: relative; z-index: 2; display: grid; grid-template-columns: 1.4fr 1fr; gap: 30px; align-items: center; }
.crumbs { display: flex; gap: 8px; align-items: center; font-size: 13px; color: rgba(255,255,255,.65); margin-bottom: 10px; animation: fadeUp .6s var(--ease) both; }
.crumbs a:hover { color: #fff; }
.page-title { font-size: clamp(28px, 4vw, 44px); font-weight: 900; margin: 0 0 10px; line-height: 1.35; animation: fadeUp .7s .1s var(--ease) both; }
.page-sub { font-size: clamp(14px, 1.5vw, 17px); margin: 0; max-width: 560px; color: rgba(255,255,255,.82); animation: fadeUp .7s .2s var(--ease) both; }
.page-hero-art { justify-self: start; position: relative; width: 250px; height: 190px; animation: floatIn .9s .2s var(--ease) both; }
.page-hero-art .ph-card { position: absolute; border-radius: 22px; background: var(--slate); opacity: .9; inset: 34px 0 0 34px; }
.page-hero-art .ph-card.b { background: linear-gradient(145deg, #2a1a6b, var(--indigo) 60%, #4b31d0); inset: 0 34px 34px 0; opacity: 1; box-shadow: var(--shadow-lg); display: grid; place-items: center; color: #fff; animation: bob 6s ease-in-out infinite; }
.page-hero-art .ph-card.b .logo-svg { width: 86px; height: 78px; }
.page-hero-art .ph-chip { position: absolute; inset-inline-end: -10px; bottom: 4px; background: #fff; color: var(--ink); border-radius: 14px; padding: 8px 13px; font-weight: 800; font-size: 12.5px; display: flex; gap: 7px; align-items: center; box-shadow: var(--shadow-lg); z-index: 2; animation: bob 5s 1s ease-in-out infinite; }
.page-hero-art .ph-chip .ic { color: var(--violet); font-size: 16px; }
.hero-watermark { position: absolute; inset-inline-end: -60px; bottom: -80px; width: 340px; color: rgba(255,255,255,.04); z-index: 1; pointer-events: none; animation: spinSlow 60s linear infinite; }
.hero-watermark .logo-svg { width: 100%; height: auto; }
@keyframes spinSlow { to { transform: rotate(360deg); } }
.search-box { display: flex; align-items: center; gap: 8px; background: var(--surface, #fff); border-radius: 14px; padding: 4px 14px; max-width: 460px; box-shadow: var(--shadow-lg); margin-top: 24px; color: var(--ink); animation: fadeUp .7s .3s var(--ease) both; }
.search-box .ic { color: var(--violet); }
.search-box input { flex: 1; border: 0; outline: 0; padding: 10px 6px; background: transparent; font-size: 14px; min-width: 0; }

/* ---------- عنوان‌ها ---------- */
.section { padding: 80px 0; }
.sec-title { text-align: center; font-weight: 400; font-size: clamp(26px, 3.3vw, 38px); color: var(--navy-ink, var(--navy)); margin: 0 0 8px; line-height: 1.45; }
.sec-sub { text-align: center; color: var(--muted); margin: 0 0 36px; font-size: 15px; }
.line-title { display: flex; align-items: center; justify-content: center; margin: 0 auto 50px; max-width: 900px; }
.line-title h2 { margin: 0 14px; font-size: clamp(24px, 3vw, 36px); font-weight: 800; color: var(--ink); white-space: nowrap; }
.lt-line { flex: 1; height: 1.5px; background: var(--ink); transform: scaleX(0); transition: transform 1s .2s var(--ease); }
.lt-line:first-of-type { transform-origin: left; } .lt-line:last-of-type { transform-origin: right; }
.lt-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--ink); flex-shrink: 0; transform: scale(0); transition: transform .5s 1s var(--ease); }
.lt-anim h2 { opacity: 0; transform: translateY(16px); transition: opacity .7s, transform .7s var(--ease); }
.lt-anim.in .lt-line { transform: scaleX(1); } .lt-anim.in .lt-dot { transform: scale(1); } .lt-anim.in h2 { opacity: 1; transform: none; }
.line-title.reveal { opacity: 1; transform: none; }

/* ---------- انیمیشن ظاهر شدن با اسکرول ---------- */
.reveal { opacity: 0; transition: opacity .9s var(--ease), transform .9s var(--ease), filter .9s; transition-delay: var(--d, 0ms); }
.reveal, .reveal.r-up { transform: translateY(40px); }
.reveal.r-right { transform: translateX(70px); }
.reveal.r-left { transform: translateX(-70px); }
.reveal.r-zoom { transform: scale(.88); filter: blur(4px); }
.reveal.in { opacity: 1; transform: none; filter: none; }
@media (prefers-reduced-motion: reduce) { .reveal, .lt-line, .lt-dot, .lt-anim h2 { opacity: 1 !important; transform: none !important; filter: none !important; } *, *::before, *::after { animation: none !important; transition: none !important; } .hero-title .w { opacity: 1; } }
.flash { animation: flash 1.2s ease; }
@keyframes flash { 0% { box-shadow: 0 0 0 0 rgba(246,198,107,.9); background-color: rgba(246,198,107,.25); } 100% { box-shadow: 0 0 0 12px rgba(246,198,107,0); background-color: transparent; } }

/* ---------- چرا آکادمی ---------- */
.why { padding: 90px 0 60px; }
.why-wrap { max-width: 760px; }
.why-head { text-align: center; margin-bottom: 20px; }
.why-head .sec-sub { text-align: start; margin: 12px 0 28px; }
.features { display: flex; flex-direction: column; gap: 22px; }
.feature { display: flex; gap: 18px; align-items: center; padding: 10px; margin: -10px; border-radius: 18px; transition: background .3s; }
.feature:hover { background: var(--surface-2, #f7f6fc); }
.feature-ic { width: 58px; height: 58px; border-radius: 15px; background: var(--teal); color: #fff; display: grid; place-items: center; font-size: 26px; flex-shrink: 0; box-shadow: 0 8px 18px rgba(19,75,112,.22); transition: transform .4s var(--ease); }
.feature:hover .feature-ic { transform: rotate(-8deg) scale(1.08); }
.feature h3 { margin: 0 0 2px; font-size: 18.5px; font-weight: 600; color: var(--ink); }
.feature p { margin: 0; color: var(--muted); font-size: 14.5px; }
.why-cta { margin-top: 40px; text-align: start; }

/* ---------- تجربه ---------- */
.exp { padding: 30px 0 80px; }
.exp-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; max-width: 880px; margin-inline: auto; }
.exp-card { border-radius: 26px; padding: 24px 30px 28px; color: #fff; position: relative; overflow: hidden; min-height: 260px; background: radial-gradient(120% 140% at 0% 100%, #3a24a8 0%, #2a1983 45%, #1f1258 100%); box-shadow: var(--shadow-lg); text-align: center; transform-style: preserve-3d; transition: transform .2s; }
.exp-card::after { content: ""; position: absolute; inset: 0; background: radial-gradient(circle at var(--mx, 80%) var(--my, 0%), rgba(255,255,255,.14), transparent 50%); pointer-events: none; }
.exp-top { display: flex; justify-content: space-between; align-items: center; }
.exp-star { width: 44px; height: 44px; border-radius: 12px; background: rgba(255,255,255,.12); border: 1px solid rgba(255,255,255,.2); display: grid; place-items: center; font-size: 18px; animation: spinPulse 6s ease-in-out infinite; }
@keyframes spinPulse { 50% { transform: rotate(20deg) scale(1.08); } }
.exp-badge { color: var(--gold-2); font-weight: 800; font-size: 13px; }
.exp-num { font-size: 60px; font-weight: 900; line-height: 1; margin: 4px 0 8px; display: inline-flex; align-items: center; gap: 4px; direction: ltr; }
.exp-num .plus { color: var(--gold); font-size: 36px; }
.exp-card h3 { font-size: 19px; font-weight: 900; margin: 0 0 4px; }
.exp-card p { margin: 0 auto; font-size: 13px; color: rgba(255,255,255,.82); max-width: 340px; line-height: 2; }
.exp-bar { height: 4px; border-radius: 4px; background: rgba(255,255,255,.18); margin: 16px auto 0; max-width: 200px; position: relative; overflow: hidden; }
.exp-bar i { position: absolute; inset: 0 0 0 auto; width: 78%; background: linear-gradient(90deg, #e8b55a, var(--gold-2)); border-radius: 4px; transform: scaleX(0); transform-origin: right; transition: transform 1.6s .5s var(--ease); }
.exp-card.in .exp-bar i { transform: scaleX(1); }
.exp-photo { border-radius: 26px; overflow: hidden; min-height: 260px; box-shadow: var(--shadow-lg); }
.exp-photo img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.2s var(--ease); }
.exp-photo:hover img { transform: scale(1.06); }

/* ---------- آمار ---------- */
.stats-band { background: var(--navy); color: #fff; padding: 70px 0 76px; position: relative; overflow: hidden; }
.stats-deco { position: absolute; inset-inline-end: -80px; top: -60px; width: 300px; color: rgba(255,255,255,.035); animation: spinSlow 80s linear infinite; pointer-events: none; }
.stats-deco .logo-svg { width: 100%; height: auto; }
.stats-band h2 { font-size: clamp(20px, 2.4vw, 26px); font-weight: 400; margin: 0 0 40px; position: relative; }
.stats-grid { display: grid; grid-template-columns: repeat(4, 1fr); position: relative; }
.stat { padding: 0 26px; border-inline-start: 1px solid #413F64; }
.stat:first-child { border-inline-start: 0; padding-inline-start: 0; }
.stat .ic { font-size: 52px; color: var(--soft); margin-bottom: 18px; transition: transform .8s var(--ease), color .4s; }
.stat.in .ic { animation: statIc 1.2s var(--ease) both; animation-delay: calc(var(--d, 0ms) + 200ms); }
@keyframes statIc { from { transform: rotate(-90deg) scale(.4); opacity: 0; } }
.stat:hover .ic { color: var(--gold); transform: rotate(15deg) scale(1.1); }
.stat p { margin: 0; color: #C9C9DF; font-size: 15px; line-height: 1.85; }

/* ---------- کاروسل ---------- */
.showcase { padding: 90px 0 30px; }
.carousel { position: relative; margin-bottom: 80px; --n: 2; --gap: 22px; }
.carousel-track { position: relative; display: flex; gap: var(--gap); overflow-x: auto; scroll-snap-type: x mandatory; padding: 10px 0 14px; margin-inline: 76px; scrollbar-width: none; scroll-behavior: smooth; overscroll-behavior-x: contain; }
.carousel-track::-webkit-scrollbar { display: none; }
.carousel-nav { position: absolute; top: 50%; transform: translateY(-50%); z-index: 3; width: 50px; height: 50px; border-radius: 16px; border: 0; background: var(--lav); color: #000; display: grid; place-items: center; font-size: 24px; transition: transform .25s var(--ease), box-shadow .25s, opacity .25s; }
.carousel.teal .carousel-nav { background: var(--sky); }
.carousel-nav:hover { transform: translateY(-50%) scale(1.1); box-shadow: 0 10px 24px rgba(0,0,0,.18); }
.carousel-nav:disabled { opacity: .4; cursor: default; }
.carousel-nav.prev { inset-inline-start: -25px; } .carousel-nav.next { inset-inline-end: -25px; }
.carousel-dots { display: none; position: absolute; bottom: -34px; inset-inline-end: 0; inset-inline-start: 0; justify-content: center; gap: 6px; }
.carousel-dots i { width: 7px; height: 7px; border-radius: 99px; background: #d5d3e3; transition: width .3s var(--ease), background .3s; }
.carousel-dots i.on { width: 22px; background: var(--violet); }
.carousel.teal .carousel-dots i.on { background: var(--teal); }
.carousel-empty { position: relative; color: #fff; text-align: center; padding: 100px 20px; font-size: 16px; }

/* کارت محصول */
.pcard { flex: 0 0 calc((100% - var(--gap) * (var(--n) - 1)) / var(--n)); min-width: 0; scroll-snap-align: start; background: var(--surface, #fff); border: 1px solid #DCDCE2; border-radius: 20px; padding: 10px; display: flex; flex-direction: column; transition: transform .45s var(--ease), box-shadow .45s; transform-style: preserve-3d; }
.pcard:hover { transform: translateY(-6px); box-shadow: var(--shadow-lg); }
.pcard-img { aspect-ratio: 605 / 312; border-radius: 14px; background: #D9D9D9; overflow: hidden; position: relative; }
.pcard-img img { width: 100%; height: 100%; object-fit: cover; transition: transform .8s var(--ease); }
.pcard:hover .pcard-img img { transform: scale(1.07); }
.pcard-img::after { content: ""; position: absolute; inset: 0; background: linear-gradient(110deg, transparent 30%, rgba(255,255,255,.45) 50%, transparent 70%); transform: translateX(100%); transition: transform .9s var(--ease); }
.pcard:hover .pcard-img::after { transform: translateX(-100%); }
.pcard-img .ph { position: absolute; inset: 0; display: grid; place-items: center; color: #bdbdc5; }
.pcard-img .ph .logo-svg { width: 70px; height: 62px; transition: transform .6s var(--ease); }
.pcard:hover .pcard-img .ph .logo-svg { transform: scale(1.12) rotate(-6deg); }
.pcard-tag { position: absolute; top: 10px; inset-inline-start: 10px; z-index: 2; background: rgba(255,255,255,.94); color: var(--ink); font-size: 11.5px; font-weight: 800; padding: 3px 10px; border-radius: 99px; display: flex; gap: 6px; align-items: center; }
.pcard-tag i { width: 7px; height: 7px; border-radius: 50%; background: #22c55e; box-shadow: 0 0 0 0 rgba(34,197,94,.6); animation: livePing 1.8s infinite; }
.pcard-tag.upcoming i { background: #f59e0b; animation: none; } .pcard-tag.ended i { background: #9ca3af; animation: none; }
@keyframes livePing { 70% { box-shadow: 0 0 0 7px rgba(34,197,94,0); } }
.pcard-body { padding: 16px 8px 0; flex: 1; }
.pcard h3 { margin: 0; font-size: 17px; font-weight: 600; color: #000; line-height: 1.65; }
.pcard .sub { color: #A3A3AE; font-size: 13.5px; margin: 2px 0 0; }
.pcard-meta { display: flex; gap: 12px; flex-wrap: wrap; color: var(--muted); font-size: 12.5px; margin-top: 8px; }
.pcard-meta span { display: inline-flex; gap: 5px; align-items: center; }
.pcard-meta .ic { color: var(--violet); }
.pcard-foot { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-top: 20px; padding-inline-end: 8px; }
.chips { display: flex; align-items: stretch; }
.chip { text-align: center; padding: 6px 10px; border-radius: 12px; min-width: 52px; }
.chip b { display: block; font-size: 15px; font-weight: 700; color: #6b6b74; line-height: 1.5; }
.chip span { font-size: 12px; color: #A3A3AE; }
.chip.hl { background: var(--surface-2, #F5F6F8); }
.chips .sep { width: 1px; background: #E6E6EA; margin: 4px 4px; }
.price { font-size: 16.5px; font-weight: 800; color: #000; white-space: nowrap; }
.price small { font-size: 13px; font-weight: 700; }

/* ---------- پادکست ---------- */
.podcast-sec { padding: 40px 0 90px; }
.pod { display: grid; grid-template-columns: 1.25fr 1fr; gap: 22px; align-items: stretch; }
.pod-empty { grid-column: 1 / -1; text-align: center; padding: 50px 20px; border-radius: 24px; background: var(--bg-soft); color: var(--muted); }
.pod-empty .ic { font-size: 34px; color: var(--violet); }
.pod-player { position: relative; overflow: hidden; border-radius: 26px; padding: 24px; color: #fff; background: radial-gradient(130% 130% at 100% 0%, #3a24a8 0%, #261a78 40%, var(--navy) 100%); box-shadow: var(--shadow-lg); display: flex; flex-direction: column; gap: 16px; }
.pod-glow { position: absolute; width: 260px; height: 260px; border-radius: 50%; inset-inline-end: -80px; bottom: -120px; background: var(--violet); filter: blur(70px); opacity: .35; pointer-events: none; transition: opacity .6s; }
.pod.playing .pod-glow { opacity: .6; animation: orb 6s ease-in-out infinite alternate; }
.pod-top { position: relative; display: flex; gap: 18px; align-items: center; }
.pod-cover { position: relative; width: 116px; height: 116px; flex-shrink: 0; margin-inline-end: 30px; }
.pod-cover img, .pod-cover-ph { position: relative; z-index: 2; width: 100%; height: 100%; border-radius: 20px; object-fit: cover; box-shadow: 0 14px 30px rgba(0,0,0,.35); }
.pod-cover-ph { display: grid; place-items: center; background: linear-gradient(140deg, var(--c1, #553CDE), var(--c2, #134B70)); color: rgba(255,255,255,.9); transition: background .6s; }
.pod-cover-ph .logo-svg { width: 52px; height: 46px; }
.pod-cover-n { position: absolute; bottom: 8px; inset-inline-end: 10px; font-size: 13px; background: rgba(0,0,0,.25); padding: 0 8px; border-radius: 8px; }
.pod-disc { position: absolute; top: 8px; bottom: 8px; width: 100px; border-radius: 50%; background: repeating-radial-gradient(circle, #111 0 2px, #222 2px 4px); box-shadow: inset 0 0 0 30px #1a1a1a, inset 0 0 0 33px var(--gold); transition: transform .8s var(--ease); z-index: 1; inset-inline-end: -20px; inset-inline-start: auto; }
.pod.playing .pod-disc { transform: translateX(-26px); animation: spinSlow 3s linear infinite; }
.pod-info { min-width: 0; flex: 1; }
.pod-badge { display: inline-flex; align-items: center; gap: 6px; font-size: 12px; font-weight: 700; color: var(--gold-2); background: rgba(255,255,255,.08); padding: 3px 10px; border-radius: 99px; }
.pod-title { margin: 8px 0 4px; font-size: 18px; font-weight: 900; line-height: 1.6; }
.pod-host { margin: 0; display: flex; gap: 6px; align-items: center; font-size: 13px; color: rgba(255,255,255,.7); }
.pod-desc { margin: 6px 0 0; font-size: 13px; color: rgba(255,255,255,.72); line-height: 1.9; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.pod-eq { display: inline-flex; align-items: flex-end; gap: 2px; height: 12px; }
.pod-eq i { width: 3px; height: 30%; background: currentColor; border-radius: 2px; }
.pod.playing .pod-badge .pod-eq i, .pod-item.active.playing .pod-eq i { animation: eq .9s ease-in-out infinite; }
.pod-eq i:nth-child(2) { animation-delay: -.3s !important; } .pod-eq i:nth-child(3) { animation-delay: -.6s !important; } .pod-eq i:nth-child(4) { animation-delay: -.15s !important; }
@keyframes eq { 0%, 100% { height: 25%; } 50% { height: 100%; } }
.pod-wave { position: relative; display: flex; align-items: center; gap: 3px; height: 44px; direction: ltr; }
.pod-wave i { flex: 1; height: var(--h); background: rgba(255,255,255,.18); border-radius: 3px; transition: background .2s; transform-origin: center; }
.pod-wave i.on { background: var(--gold); }
.pod.playing .pod-wave i { animation: wave 1.2s ease-in-out infinite; }
.pod.playing .pod-wave i:nth-child(3n) { animation-delay: -.4s; } .pod.playing .pod-wave i:nth-child(3n+1) { animation-delay: -.8s; }
@keyframes wave { 50% { transform: scaleY(.55); } }
.pod-progress { display: flex; align-items: center; gap: 10px; direction: ltr; }
.pod-time { font-size: 12px; color: rgba(255,255,255,.75); min-width: 36px; text-align: center; font-variant-numeric: tabular-nums; }
.pod-seek { flex: 1; -webkit-appearance: none; appearance: none; height: 6px; border-radius: 6px; background: linear-gradient(to right, var(--gold) var(--p, 0%), rgba(255,255,255,.18) var(--p, 0%)); outline: 0; cursor: pointer; }
.pod-seek::-webkit-slider-thumb { -webkit-appearance: none; width: 16px; height: 16px; border-radius: 50%; background: #fff; box-shadow: 0 0 0 4px rgba(246,198,107,.35); transition: transform .2s; }
.pod-seek::-moz-range-thumb { width: 16px; height: 16px; border: 0; border-radius: 50%; background: #fff; }
.pod-seek:hover::-webkit-slider-thumb { transform: scale(1.2); }
.pod-controls { display: flex; align-items: center; justify-content: center; gap: 10px; }
.pod-btn { width: 40px; height: 40px; border-radius: 12px; border: 0; background: rgba(255,255,255,.08); color: #fff; display: grid; place-items: center; font-size: 16px; font-weight: 800; position: relative; transition: background .2s, transform .2s; }
.pod-btn small { position: absolute; font-size: 8.5px; bottom: 5px; }
.pod-btn:hover { background: rgba(255,255,255,.16); transform: translateY(-2px); }
.pod-speed { font-size: 12px; width: 44px; }
.pod-play { width: 60px; height: 60px; border-radius: 50%; border: 0; background: var(--gold); color: var(--ink); display: grid; place-items: center; font-size: 24px; box-shadow: 0 10px 26px rgba(246,198,107,.4); transition: transform .25s var(--ease); position: relative; }
.pod-play::before { content: ""; position: absolute; inset: -6px; border-radius: 50%; border: 2px solid rgba(246,198,107,.5); opacity: 0; }
.pod.playing .pod-play::before { animation: ringPulse 1.6s infinite; }
@keyframes ringPulse { 0% { opacity: .9; transform: scale(.9); } 100% { opacity: 0; transform: scale(1.35); } }
.pod-play:hover { transform: scale(1.08); }
.pod-play .pi-pause { display: none; } .pod.playing .pod-play .pi-play { display: none; } .pod.playing .pod-play .pi-pause { display: grid; }
.pod-play .ic { font-size: 24px; }
.pod-next { position: relative; display: flex; align-items: center; gap: 12px; width: 100%; border: 1px solid rgba(255,255,255,.12); background: rgba(255,255,255,.06); color: #fff; border-radius: 16px; padding: 10px 12px; text-align: start; transition: background .25s, transform .25s var(--ease); }
.pod-next:hover { background: rgba(255,255,255,.12); transform: translateX(-4px); }
.pod-next-k { position: absolute; top: -9px; inset-inline-start: 14px; font-size: 10.5px; font-weight: 800; background: var(--gold); color: var(--ink); padding: 0 8px; border-radius: 6px; line-height: 18px; }
.pod-next-cover { width: 40px; height: 40px; border-radius: 11px; background: linear-gradient(140deg, #134B70, #553CDE); display: grid; place-items: center; flex-shrink: 0; font-size: 15px; }
.pod-next-main { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.pod-next-main b { font-size: 13.5px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pod-next-main small { font-size: 11.5px; color: rgba(255,255,255,.6); }
.pod-next-go { font-size: 16px; opacity: .7; }
.pod-list { border-radius: 26px; background: var(--surface, #fff); border: 1px solid var(--line); box-shadow: var(--shadow); padding: 18px; display: flex; flex-direction: column; min-height: 0; }
.pod-list-head { display: flex; justify-content: space-between; align-items: center; padding: 2px 6px 12px; border-bottom: 1px solid var(--line); margin-bottom: 8px; }
.pod-list-head b { color: var(--ink); font-size: 15.5px; }
.pod-count { font-size: 12px; color: var(--violet); background: var(--tint, #f1eeff); padding: 2px 10px; border-radius: 99px; font-weight: 700; }
.pod-items { list-style: none; margin: 0; padding: 0; overflow-y: auto; max-height: 360px; display: flex; flex-direction: column; gap: 4px; scrollbar-width: thin; }
.pod-item { width: 100%; display: flex; align-items: center; gap: 12px; border: 0; background: transparent; padding: 10px; border-radius: 14px; text-align: start; transition: background .2s, transform .25s var(--ease); }
.pod-item:hover { background: var(--surface-2, #f7f6fc); transform: translateX(-3px); }
.pod-item.active { background: var(--tint, #f1eeff); }
.pod-item-n { width: 36px; height: 36px; border-radius: 11px; background: var(--navy); color: #fff; display: grid; place-items: center; flex-shrink: 0; font-size: 13px; position: relative; }
.pod-item-n .pod-eq { display: none; color: var(--gold); }
.pod-item.active .pod-item-n { background: var(--violet); }
.pod-item.active.playing .pod-item-n b { display: none; }
.pod-item.active.playing .pod-item-n .pod-eq { display: inline-flex; }
.pod-item-main { flex: 1; min-width: 0; display: flex; flex-direction: column; line-height: 1.6; }
.pod-item-main b { font-size: 13.5px; color: var(--ink); font-weight: 700; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pod-item-main small { font-size: 11.5px; color: var(--muted); }
.pod-item-dur { font-size: 12px; color: var(--muted); }

/* ---------- درباره (پایین صفحه اصلی) ---------- */
.about-band { background: var(--bg-soft); position: relative; overflow: hidden; padding-top: 20px; }
.about-band::before { content: ""; position: absolute; inset: 0; opacity: .55; pointer-events: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='600' height='400' viewBox='0 0 600 400'%3E%3Cg fill='none' stroke='%23e3e3e8' stroke-width='1.3'%3E%3Cpath d='M-20 80c80-40 140 30 220 0s120-60 200-20 140 40 220 0'/%3E%3Cpath d='M-20 140c80-40 140 30 220 0s120-60 200-20 140 40 220 0'/%3E%3Cpath d='M-20 230c90-30 150 40 230 10s110-70 190-30 150 50 220 0'/%3E%3Cpath d='M-20 320c90-30 150 40 230 10s110-70 190-30 150 50 220 0'/%3E%3Cellipse cx='120' cy='190' rx='60' ry='30'/%3E%3Cellipse cx='470' cy='120' rx='70' ry='34'/%3E%3C/g%3E%3C/svg%3E");
  background-size: 600px 400px; animation: drift 40s linear infinite; }
@keyframes drift { to { background-position: 600px 0; } }
.about-band .container { position: relative; display: grid; grid-template-columns: 1fr 1fr; gap: 30px; align-items: end; }
.about-text { padding: 70px 0 60px; }
.kicker { color: var(--violet); font-size: 14.5px; font-weight: 600; margin: 0 0 10px; }
.about-text p.para { color: #5d5c6e; font-size: 14.5px; line-height: 2.05; margin: 0 0 26px; max-width: 480px; }
.about-actions { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; max-width: 480px; }
.about-actions .btn { border-radius: 999px; padding: 11px 30px; background: #13174a; }
.about-logo .logo-svg { width: 90px; height: 80px; }
.lg-draw { stroke-dasharray: 600; stroke-dashoffset: 600; }
.about-actions.in .lg-draw { animation: draw 1.8s var(--ease) forwards; }
.about-actions.in .lg-draw:nth-child(2) { animation-delay: .25s; } .about-actions.in .lg-draw:nth-child(3) { animation-delay: .5s; } .about-actions.in .lg-draw:nth-child(4) { animation-delay: .75s; }
@keyframes draw { to { stroke-dashoffset: 0; } }
.about-media img { width: 86%; max-width: 380px; margin-inline: auto; }

/* ---------- رسالت ---------- */
.mission { padding: 110px 0 60px; text-align: center; }
.mission h2 { font-size: clamp(22px, 2.6vw, 30px); font-weight: 400; color: var(--navy-ink, var(--navy)); max-width: 560px; margin: 0 auto 30px; line-height: 1.55; }
.counters { display: flex; justify-content: center; gap: 70px; flex-wrap: wrap; }
.counter b { display: block; font-size: clamp(32px, 4vw, 44px); font-weight: 700; color: var(--violet-2); direction: ltr; line-height: 1.3; }
.counter span { font-size: 14px; color: var(--ink); }

/* ---------- سوالات متداول ---------- */
.faq { padding: 60px 0 110px; }
.faq .container { max-width: 900px; }
.faq h2 { font-size: clamp(26px, 3.4vw, 38px); font-weight: 400; color: var(--navy-ink, var(--navy)); margin: 0 0 30px; }
.faq-list { display: flex; flex-direction: column; gap: 14px; }
.faq-item { border-radius: 18px; overflow: hidden; background: var(--navy); color: #fff; transition: box-shadow .35s, transform .35s var(--ease), opacity .9s, filter .9s; }
.faq-item:hover { box-shadow: 0 12px 30px rgba(32,30,67,.2); }
.faq-q { width: 100%; border: 0; background: transparent; color: #f2efff; display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 17px 22px; font-size: 16.5px; font-weight: 800; text-align: start; transition: background .35s; }
.faq-q .circ { width: 38px; height: 38px; border-radius: 50%; background: #fff; color: var(--ink); display: grid; place-items: center; flex-shrink: 0; font-size: 17px; transition: transform .4s var(--ease); }
.faq-item.open { box-shadow: 0 16px 36px rgba(85,60,222,.25); }
.faq-item.open .faq-q { background: var(--violet); }
.faq-item.open .faq-q .circ { transform: rotate(90deg); }
.faq-a { display: grid; grid-template-rows: 0fr; transition: grid-template-rows .45s var(--ease); background: var(--teal); }
.faq-item.open .faq-a { grid-template-rows: 1fr; }
.faq-a > div { overflow: hidden; }
.faq-a p { margin: 0; padding: 16px 22px 22px; font-size: 14.5px; font-weight: 600; line-height: 1.95; }

/* ---------- فوتر ---------- */
.footer { background: var(--navy); color: #c9c8de; padding: 56px 0 0; position: relative; overflow: hidden; }
.footer h4 { color: #fff; font-size: 15px; margin: 0 0 14px; font-weight: 800; }
.footer a { transition: color .2s; } .footer a:hover { color: #fff; }
.footer ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; font-size: 13.5px; }
.footer .brand { margin-bottom: 12px; }
.footer p { margin: 0; font-size: 13.5px; line-height: 2; }
.f-contact li { display: flex; gap: 8px; align-items: flex-start; }
.f-contact .ic { color: var(--gold); font-size: 16px; margin-top: 5px; }
.socials { display: flex; gap: 8px; margin-top: 14px; }
.socials a { width: 36px; height: 36px; border-radius: 10px; background: rgba(255,255,255,.08); display: grid; place-items: center; font-size: 16px; transition: background .2s, transform .25s var(--ease); }
.socials a:hover { background: var(--violet); transform: translateY(-3px) rotate(-6deg); }

/* ---------- صفحات داخلی ---------- */
.grid-cards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; }
.grid-cards .pcard { flex: none; height: 100%; }
.filters { display: flex; gap: 8px; flex-wrap: wrap; justify-content: center; margin-bottom: 30px; }
.filter-btn { border: 1.5px solid var(--line); background: var(--surface, #fff); padding: 6px 16px; border-radius: 99px; font-weight: 700; font-size: 13px; color: var(--muted); transition: all .25s var(--ease); }
.filter-btn.active, .filter-btn:hover { background: var(--navy); color: #fff; border-color: var(--navy); }
.feature-row { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin-top: -50px; position: relative; z-index: 6; }
.mini-feature { background: var(--surface, #fff); border-radius: 18px; padding: 16px; box-shadow: var(--shadow); display: flex; gap: 12px; align-items: center; transition: transform .35s var(--ease), box-shadow .35s; }
.mini-feature:hover { transform: translateY(-4px); box-shadow: var(--shadow-lg); }
.mini-feature .feature-ic { width: 46px; height: 46px; font-size: 20px; border-radius: 13px; }
.mini-feature p { margin: 0; font-weight: 700; color: var(--ink); font-size: 14px; line-height: 1.7; }
.mini-feature:nth-child(2) .feature-ic { background: var(--violet); } .mini-feature:nth-child(3) .feature-ic { background: var(--indigo); }
.banner { border-radius: 24px; padding: 34px 38px; color: #fff; display: flex; align-items: center; justify-content: space-between; gap: 24px; background: radial-gradient(120% 140% at 0% 100%, #3a24a8 0%, #2a1983 45%, #1f1258 100%); position: relative; overflow: hidden; }
.banner h3 { font-size: 22px; margin: 0 0 4px; font-weight: 900; }
.banner p { margin: 0; color: rgba(255,255,255,.8); font-size: 14px; }
.banner .btn-white { font-size: 14px; padding: 11px 22px; }
.detail { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 26px; align-items: start; }
.panel { background: var(--surface, #fff); border: 1px solid var(--line); border-radius: 20px; padding: 24px; }
.panel h2 { font-size: 19px; margin: 0 0 14px; color: var(--ink); font-weight: 800; }
.panel + .panel { margin-top: 18px; }
.sticky { position: sticky; top: 84px; }
.buy-card .pcard-img { margin-bottom: 16px; }
.kv { list-style: none; padding: 0; margin: 0 0 18px; display: flex; flex-direction: column; }
.kv li { display: flex; justify-content: space-between; gap: 10px; padding: 10px 0; border-bottom: 1px dashed var(--line); font-size: 13.5px; }
.kv li span:first-child { color: var(--muted); display: inline-flex; gap: 7px; align-items: center; }
.kv li span:first-child .ic { color: var(--violet); }
.kv li b { color: var(--ink); text-align: end; }
.big-price { font-size: 24px; font-weight: 900; color: var(--ink); margin-bottom: 14px; }
.syllabus { list-style: none; padding: 0; margin: 0; counter-reset: s; }
.syllabus li { counter-increment: s; display: flex; gap: 12px; align-items: center; padding: 11px 14px; border-radius: 14px; background: var(--bg-soft); margin-bottom: 8px; font-weight: 600; font-size: 14px; transition: transform .25s var(--ease); }
.syllabus li:hover { transform: translateX(-4px); }
.syllabus li::before { content: counter(s, persian); width: 30px; height: 30px; border-radius: 9px; background: var(--navy); color: #fff; display: grid; place-items: center; flex-shrink: 0; font-weight: 800; font-size: 13px; }
.richtext { color: #4b4a5e; line-height: 2.05; white-space: pre-line; font-size: 14.5px; }
.tags { display: flex; gap: 6px; flex-wrap: wrap; }
.tag { background: var(--lav); color: var(--indigo-ink, var(--indigo)); padding: 3px 12px; border-radius: 99px; font-size: 12px; font-weight: 700; }
.tag.sky { background: #e3f3fd; color: var(--teal); }
.lb { list-style: none; margin: 0; padding: 0; }
.lb li { display: flex; align-items: center; gap: 12px; padding: 10px 6px; border-bottom: 1px solid var(--line); font-size: 14px; }
.lb li:last-child { border-bottom: 0; }
.lb .rk { width: 30px; height: 30px; border-radius: 10px; background: var(--bg-soft); display: grid; place-items: center; font-weight: 900; color: var(--muted); flex-shrink: 0; font-size: 13px; }
.lb li:nth-child(1) .rk { background: linear-gradient(135deg, #f8d77c, #e3a93a); color: #5a3d00; }
.lb li:nth-child(2) .rk { background: linear-gradient(135deg, #e5e7eb, #b6bac3); color: #333; }
.lb li:nth-child(3) .rk { background: linear-gradient(135deg, #f1c3a0, #c9875a); color: #4b2408; }
.lb .nm { flex: 1; font-weight: 700; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.lb .pc { font-weight: 900; color: var(--violet); direction: ltr; }
.lb li.me { background: var(--tint, #f3f0ff); border-radius: 12px; }
.alert { padding: 12px 16px; border-radius: 12px; background: #fff7e6; color: #8a5a00; font-weight: 600; font-size: 13.5px; display: flex; gap: 8px; align-items: center; }
.alert.info { background: var(--tint, #eef2ff); color: #3730a3; }
.teachers-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
.tcard { background: var(--surface, #fff); border: 1px solid var(--line); border-radius: 22px; overflow: hidden; text-align: center; transition: transform .45s var(--ease), box-shadow .45s, opacity .9s, filter .9s; }
.tcard:hover { transform: translateY(-8px); box-shadow: var(--shadow-lg); }
.tcard-top { height: 90px; background: var(--navy); position: relative; overflow: hidden; }
.tcard-top::after { content: ""; position: absolute; width: 120px; height: 120px; border-radius: 50%; background: rgba(255,255,255,.08); inset-inline-end: -30px; top: -40px; transition: transform .6s var(--ease); }
.tcard:hover .tcard-top::after { transform: scale(1.6); }
.tcard:nth-child(4n+2) .tcard-top { background: var(--indigo); } .tcard:nth-child(4n+3) .tcard-top { background: var(--teal); } .tcard:nth-child(4n+4) .tcard-top { background: var(--violet); }
.tcard-avatar { width: 90px; height: 90px; border-radius: 26px; margin: -45px auto 0; position: relative; background: var(--lav); border: 4px solid #fff; overflow: hidden; display: grid; place-items: center; font-size: 32px; font-weight: 900; color: var(--indigo-ink, var(--indigo)); transition: transform .45s var(--ease); }
.tcard:hover .tcard-avatar { transform: rotate(-6deg) scale(1.05); }
.tcard-avatar img { width: 100%; height: 100%; object-fit: cover; }
.tcard-body { padding: 12px 16px 20px; }
.tcard h3 { margin: 0; font-size: 16.5px; color: var(--ink); }
.tcard .role { color: var(--violet); font-size: 13px; font-weight: 700; margin: 2px 0 8px; }
.tcard p { color: var(--muted); font-size: 13px; margin: 0 0 12px; line-height: 1.9; }
.tcard .socials { justify-content: center; margin: 0; }
.tcard .socials a { background: var(--bg-soft); color: var(--navy-ink, var(--navy)); width: 34px; height: 34px; }
.tcard .socials a:hover { background: var(--violet); color: #fff; }
.story { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; align-items: center; }
.story img { border-radius: 26px; box-shadow: var(--shadow-lg); }
.values { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.value { border-radius: 22px; padding: 26px 24px; color: #fff; background: var(--navy); position: relative; overflow: hidden; transition: transform .45s var(--ease), opacity .9s, filter .9s; }
.value:hover { transform: translateY(-6px) rotate(-1deg); }
.value:nth-child(2) { background: var(--indigo); } .value:nth-child(3) { background: var(--teal); }
.value .vn { font-size: 54px; font-weight: 900; opacity: .12; position: absolute; inset-inline-end: 18px; top: 0; line-height: 1.2; }
.value h3 { margin: 0 0 6px; font-size: 19px; font-weight: 900; }
.value p { margin: 0; color: rgba(255,255,255,.82); font-size: 14px; }
.form { display: grid; gap: 14px; }
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.field label { display: block; font-weight: 700; font-size: 13px; color: var(--ink); margin-bottom: 6px; }
.input { width: 100%; border: 1.5px solid var(--line); border-radius: 12px; padding: 10px 14px; background: var(--surface, #fff); outline: 0; transition: border-color .2s, box-shadow .2s; font-size: 14px; }
.input:focus { border-color: var(--violet); box-shadow: 0 0 0 4px rgba(85,60,222,.12); }
textarea.input { min-height: 120px; resize: vertical; line-height: 1.9; }
.contact-grid { display: grid; grid-template-columns: 1fr 1.3fr; gap: 24px; }
.contact-cards { display: flex; flex-direction: column; gap: 12px; }
.ccard { display: flex; gap: 14px; align-items: center; padding: 16px; border-radius: 18px; background: var(--bg-soft); transition: transform .35s var(--ease); min-width: 0; }
.ccard:hover { transform: translateX(-4px); }
.ccard > div:last-child { min-width: 0; overflow-wrap: anywhere; }
.ccard .feature-ic { width: 46px; height: 46px; font-size: 20px; border-radius: 13px; }
.ccard small { color: var(--muted); display: block; font-size: 12px; }
.ccard b { color: var(--ink); font-size: 14.5px; }
.auth-wrap { min-height: calc(100vh - var(--hh)); display: grid; place-items: center; padding: 30px 16px 70px; position: relative; }
.auth-card { width: 100%; max-width: 420px; background: var(--surface, #fff); color: var(--text); border-radius: 24px; padding: 32px 28px; box-shadow: var(--shadow-lg); animation: floatIn .7s var(--ease) both; }
.auth-card h1 { margin: 0 0 4px; font-size: 24px; color: var(--ink); font-weight: 900; }
.auth-card .sub { color: var(--muted); margin: 0 0 20px; font-size: 14px; }
.auth-tabs { display: grid; grid-template-columns: 1fr 1fr; background: var(--bg-soft); border-radius: 14px; padding: 4px; margin-bottom: 20px; }
.auth-tabs a { text-align: center; padding: 8px; border-radius: 11px; font-weight: 800; color: var(--muted); font-size: 14px; }
.auth-tabs a.active { background: var(--surface, #fff); color: var(--ink); box-shadow: var(--shadow); }
.form-msg { min-height: 20px; font-size: 13px; font-weight: 700; color: #dc2626; }
.form-msg.ok { color: #059669; }
.table { width: 100%; border-collapse: collapse; }
.table th, .table td { padding: 12px 10px; text-align: start; border-bottom: 1px solid var(--line); font-size: 13.5px; white-space: nowrap; }
.table th { color: var(--muted); font-weight: 700; font-size: 12px; }
.table-wrap { overflow-x: auto; }
.status { display: inline-flex; padding: 3px 10px; border-radius: 99px; font-size: 11.5px; font-weight: 800; }
.status.graded { background: #ecfdf5; color: #047857; } .status.pending_review { background: #fff7e6; color: #b45309; } .status.in_progress { background: var(--tint, #eef2ff); color: #4338ca; }
.empty { text-align: center; padding: 40px 20px; color: var(--muted); }
.empty .ic { font-size: 40px; color: var(--lav); margin-bottom: 8px; }
.toast { position: fixed; bottom: 24px; left: 50%; transform: translate(-50%, 30px); background: var(--ink); color: #fff; padding: 10px 20px; border-radius: 12px; font-weight: 700; font-size: 14px; opacity: 0; transition: all .3s; z-index: 200; pointer-events: none; }
.toast.show { opacity: 1; transform: translate(-50%, 0); }

/* ==========================================================
   ریسپانسیو
   ========================================================== */
@media (max-width: 1200px) {
  .carousel-nav.prev { inset-inline-start: -12px; } .carousel-nav.next { inset-inline-end: -12px; }
  .nav { margin-inline-start: 24px; } .nav a { padding: 6px 12px; font-size: 14.5px; }
}
@media (max-width: 992px) {
  :root { --hh: 72px; }
  .nav { display: none; }
  .burger { display: inline-flex; }
  .hero .container { grid-template-columns: 1fr 1fr; min-height: 0; }
  .hero-text { padding: 30px 0 50px; }
  .hero-media img { width: 86%; }
  .stats-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 34px; }
  .stat:nth-child(3) { border-inline-start: 0; padding-inline-start: 0; }
  .carousel-track { margin-inline: 56px; }
  .pod { grid-template-columns: 1fr; }
  .pcard-foot { flex-direction: column-reverse; align-items: stretch; padding-inline-end: 0; gap: 10px; }
  .pcard-foot .price { text-align: center; }
  .chips { justify-content: space-between; }
  .pod-items { max-height: 300px; }
  .teachers-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .detail { grid-template-columns: 1fr; }
  .sticky { position: static; }
    .page-hero .container { grid-template-columns: 1fr; }
  .page-hero-art { display: none; }
}
@media (max-width: 768px) {
  :root { --gutter: 20px; }
  .hero .container { grid-template-columns: 1fr; text-align: center; gap: 0; }
  .hero-text { padding: 26px 0 26px; }
  .hero-sub { margin-bottom: 26px; }
  .hero-media img { width: 52%; max-width: 260px; }
  .hero-media::before { inset-inline-end: 10%; inset-inline-start: 10%; }
  .hc1 { inset-inline-end: 8%; top: 18%; } .hc2 { inset-inline-start: 6%; }
  .why { padding-top: 64px; }
  .why-head .sec-sub, .why-cta { text-align: center; }
  .exp-grid { grid-template-columns: 1fr; max-width: 520px; }
  .exp-photo { min-height: 0; aspect-ratio: 16 / 10; }
  .carousel-track { margin-inline: 44px; }
  .about-band .container { grid-template-columns: 1fr; gap: 0; }
  .about-text { padding: 50px 0 20px; text-align: center; }
  .about-text p.para, .about-actions { margin-inline: auto; }
  .about-actions { justify-content: center; flex-direction: column-reverse; }
  .about-media img { width: 60%; max-width: 280px; }
  .grid-cards { grid-template-columns: 1fr; max-width: 520px; margin-inline: auto; }
  .story, .contact-grid { grid-template-columns: 1fr; }
  .values, .feature-row { grid-template-columns: 1fr; }
  .feature-row { margin-top: -40px; }
  .teachers-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .banner { flex-direction: column; text-align: center; padding: 28px 22px; }
  .counters { gap: 36px; }
  .mission { padding: 80px 0 40px; }
}
@media (max-width: 560px) {
  :root { --gutter: 16px; --hh: 64px; }
  body { font-size: 14px; }
  .brand .logo-svg { width: 42px; height: 38px; }
  .user-btn span { display: none; }
  .user-btn { width: 40px; justify-content: center; padding: 0; height: 40px; }
  .btn-white { font-size: 16px; padding: 10px 24px; }
  .hero-media img { width: 66%; max-width: 230px; }
  .hero-chip { font-size: 11.5px; padding: 6px 10px; }
  .section, .showcase { padding: 56px 0; }
  .feature { align-items: flex-start; gap: 14px; }
  .feature-ic { width: 48px; height: 48px; font-size: 21px; border-radius: 13px; }
  .feature h3 { font-size: 16.5px; } .feature p { font-size: 13.5px; }
  .exp { padding-bottom: 56px; }
  .exp-card { padding: 20px; min-height: 0; }
  .exp-num { font-size: 50px; }
  .stats-band { padding: 54px 0; }
  .stats-band h2 { margin-bottom: 28px; text-align: center; }
  .stats-grid { grid-template-columns: 1fr; row-gap: 0; }
  .stat { border-inline-start: 0 !important; padding: 16px 0 !important; border-bottom: 1px solid #413F64; display: flex; gap: 16px; align-items: center; }
  .stat:last-child { border-bottom: 0; }
  .stat .ic { font-size: 40px; margin: 0; }
  .stat p { font-size: 14px; }
  .line-title { margin-bottom: 34px; }
  .carousel { margin-bottom: 70px; }
    .carousel { --n: 1; }
  .carousel-track { margin-inline: 4px; padding-inline: 0; }
  .carousel-nav { display: none; }
  .carousel-dots { display: flex; }
  .pcard { padding: 8px; border-radius: 18px; }
  .pcard-body { padding: 12px 6px 0; }
  .pcard h3 { font-size: 15.5px; } .pcard .sub { font-size: 12.5px; }
  .pcard-foot { margin-top: 14px; padding-inline-end: 4px; }
  .chip { padding: 4px 7px; min-width: 44px; } .chip b { font-size: 13.5px; } .chip span { font-size: 11px; }
  .price { font-size: 14.5px; } .price small { font-size: 11.5px; }
  .podcast-sec { padding: 20px 0 60px; }
  .pod-player { padding: 18px; border-radius: 22px; gap: 14px; }
  .pod-top { gap: 14px; }
  .pod-cover { width: 84px; height: 84px; }
  .pod-disc { display: none; }
  .pod-cover { margin-inline-end: 0; }
  .pod-title { font-size: 15.5px; margin-top: 6px; }
  .pod-desc { display: none; }
  .pod-wave { height: 30px; gap: 2px; }
  .pod-controls { gap: 6px; }
  .pod-btn { width: 36px; height: 36px; font-size: 14px; border-radius: 10px; }
  .pod-mute { display: none; }
  .pod-play { width: 52px; height: 52px; }
  .pod-list { padding: 12px; border-radius: 22px; }
  .about-text { padding-top: 40px; }
  .about-text p.para { font-size: 13.5px; }
  .about-logo .logo-svg { width: 70px; height: 62px; }
  .counter span { font-size: 12.5px; }
  .counters { gap: 22px; }
  .faq { padding: 40px 0 70px; }
  .faq-q { padding: 14px 16px; font-size: 14.5px; }
  .faq-q .circ { width: 32px; height: 32px; font-size: 15px; }
  .faq-a p { padding: 12px 16px 18px; font-size: 13.5px; }
      .page-hero { padding: 10px 0 70px; }
  .teachers-grid { grid-template-columns: 1fr 1fr; gap: 12px; }
  .tcard-top { height: 64px; } .tcard-avatar { width: 70px; height: 70px; margin-top: -35px; border-radius: 20px; font-size: 26px; }
  .tcard-body { padding: 10px 10px 16px; } .tcard h3 { font-size: 14.5px; } .tcard p { display: none; }
  .form-row { grid-template-columns: 1fr; }
  .panel { padding: 18px 16px; border-radius: 18px; }
  .auth-card { padding: 26px 20px; }
  .to-top { inset-inline-end: 14px; bottom: 14px; width: 42px; height: 42px; }
  .reveal.r-right { transform: translateX(40px); } .reveal.r-left { transform: translateX(-40px); }
  .reveal.in.r-right, .reveal.in.r-left { transform: none; }
}
@media (max-width: 380px) {
  .hero-chip { display: none; }
  .teachers-grid { grid-template-columns: 1fr; }
  .chips .chip:nth-child(3) { display: none; }
}

/* ==========================================================
   نسخه ۳: کارت‌های دوره/آزمون، مدرسان، نظرات، صفحات جزئیات
   ========================================================== */
.carousel { --n: 3; --gap: 20px; }
.see-all { text-align: center; margin: -40px 0 70px; }
.see-all .btn { border-radius: 99px; padding: 9px 22px; background: var(--surface, #fff); }
.see-all .btn .ic { transition: transform .3s var(--ease); }
.see-all .btn:hover .ic { transform: translateX(-4px); }

/* کارت */
.pc { flex: 0 0 calc((100% - var(--gap) * (var(--n) - 1)) / var(--n)); min-width: 0; scroll-snap-align: start; position: relative; display: flex; flex-direction: column; background: var(--surface, #fff); border: 1px solid #E6E5EE; border-radius: 22px; overflow: hidden; transition: transform .45s var(--ease), box-shadow .45s var(--ease), border-color .35s; isolation: isolate; }
.pc::before { content: ""; position: absolute; inset: 0; border-radius: inherit; padding: 1.5px; background: linear-gradient(140deg, var(--violet), var(--gold), var(--teal)); -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite: xor; mask-composite: exclude; opacity: 0; transition: opacity .45s; pointer-events: none; z-index: 3; }
.pc:hover { transform: translateY(-8px); box-shadow: 0 24px 50px -12px rgba(49,30,145,.28); border-color: transparent; }
.pc:hover::before { opacity: 1; }
.pc-media { position: relative; aspect-ratio: 16 / 9.4; overflow: hidden; background: #E5E4EE; }
.pc-media img { width: 100%; height: 100%; object-fit: cover; transition: transform 1s var(--ease); }
.pc:hover .pc-media img, .pc:hover .pc-ph .logo-svg { transform: scale(1.08); }
.pc-ph { position: absolute; inset: 0; display: grid; place-items: center; align-content: center; gap: 6px; color: rgba(255,255,255,.92); background: linear-gradient(135deg, hsl(var(--h, 250) 62% 46%), hsl(calc(var(--h, 250) + 50) 58% 32%)); }
.pc-exam .pc-ph { background: linear-gradient(135deg, #134B70, hsl(var(--h, 200) 55% 30%)); }
.pc-ph .logo-svg { width: 62px; height: 56px; transition: transform 1s var(--ease); position: relative; }
.pc-ph b { font-size: 12px; letter-spacing: 2px; opacity: .75; position: relative; }
.pc-ph-grid { position: absolute; inset: 0; background-image: radial-gradient(rgba(255,255,255,.18) 1px, transparent 1px); background-size: 16px 16px; mask: radial-gradient(circle at 70% 30%, #000, transparent 75%); }
.pc-badges { position: absolute; top: 12px; inset-inline-start: 12px; display: flex; gap: 6px; z-index: 2; }
.pc-badge { display: inline-flex; align-items: center; gap: 6px; background: rgba(255,255,255,.95); color: var(--ink); font-size: 11.5px; font-weight: 800; padding: 4px 10px; border-radius: 99px; box-shadow: 0 4px 12px rgba(0,0,0,.08); }
.pc-badge .ic { color: var(--violet); }
.pc-badge i { width: 7px; height: 7px; border-radius: 50%; background: #22c55e; animation: livePing 1.8s infinite; }
.pc-badge.st-upcoming i { background: #f59e0b; animation: none; } .pc-badge.st-ended i { background: #9ca3af; animation: none; }
.pc-price-tag { position: absolute; bottom: 12px; inset-inline-end: 12px; z-index: 2; background: var(--navy); color: #fff; font-weight: 900; font-size: 13.5px; padding: 5px 12px; border-radius: 12px; box-shadow: 0 6px 16px rgba(32,30,67,.3); transition: transform .45s var(--ease); }
.pc-price-tag small { font-size: 10.5px; font-weight: 600; opacity: .8; }
.pc-overlay { position: absolute; inset: 0; z-index: 1; display: grid; place-items: center; background: linear-gradient(180deg, rgba(32,30,67,.15), rgba(32,30,67,.72)); opacity: 0; transition: opacity .45s; }
.pc-cta { display: inline-flex; align-items: center; gap: 8px; background: #fff; color: var(--ink); font-weight: 800; font-size: 13px; padding: 9px 16px; border-radius: 99px; transform: translateY(16px); transition: transform .45s var(--ease); }
.pc:hover .pc-overlay { opacity: 1; } .pc:hover .pc-cta { transform: none; } .pc:hover .pc-price-tag { transform: translateY(-4px); }
.pc-body { padding: 16px 18px 0; flex: 1; display: flex; flex-direction: column; }
.pc-kicker { display: flex; justify-content: space-between; align-items: center; font-size: 12px; color: #9a99ab; margin-bottom: 4px; }
.pc-rate { display: inline-flex; align-items: center; gap: 4px; color: #b7791f; font-weight: 800; }
.pc-rate .ic { color: #f5b335; font-size: 13px; }
.pc h3 { margin: 0; font-size: 16.5px; font-weight: 800; color: var(--ink); line-height: 1.65; transition: color .3s; }
.pc:hover h3 { color: var(--violet); }
.pc-desc { margin: 6px 0 0; font-size: 13px; color: var(--muted); line-height: 1.85; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.pc-meta { list-style: none; margin: 12px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px; }
.pc-meta li { display: inline-flex; align-items: center; gap: 5px; font-size: 12px; color: #55546a; background: var(--surface-2, #F5F4FA); padding: 4px 10px; border-radius: 99px; }
.pc-meta .ic { color: var(--violet); font-size: 13px; }
.pc-foot { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 14px 18px 16px; margin-top: 14px; border-top: 1px dashed #E6E5EE; }
.pc-teacher { display: flex; align-items: center; gap: 9px; min-width: 0; }
.pc-teacher > span:last-child { display: flex; flex-direction: column; line-height: 1.45; min-width: 0; }
.pc-teacher b { font-size: 12.5px; color: var(--ink); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pc-teacher small { font-size: 11px; color: var(--muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pc-av { width: 36px; height: 36px; border-radius: 12px; overflow: hidden; background: var(--lav); color: var(--indigo-ink, var(--indigo)); display: grid; place-items: center; font-weight: 900; flex-shrink: 0; }
.pc-av img { width: 100%; height: 100%; object-fit: cover; }
.pc-foot .chips .chip { padding: 2px 8px; min-width: 0; }
.pc-foot .chip b { font-size: 13px; } .pc-foot .chip span { font-size: 10.5px; }
.pc-go { width: 38px; height: 38px; border-radius: 12px; display: grid; place-items: center; background: var(--tint, #F1EEFF); color: var(--violet); flex-shrink: 0; transition: background .35s, color .35s, transform .45s var(--ease); font-size: 17px; }
.pc:hover .pc-go { background: var(--violet); color: #fff; transform: translateX(-4px); }
.grid-cards { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; max-width: none; }
.grid-cards > div { display: flex; }
.grid-cards .pc { flex: 1; }
.list-bar { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin: -10px 0 18px; flex-wrap: wrap; }
.list-count { font-size: 13px; color: var(--muted); font-weight: 700; }
.sort { font-size: 13px; color: var(--muted); display: inline-flex; align-items: center; gap: 8px; }
.sort select { border: 1.5px solid var(--line); border-radius: 10px; padding: 6px 10px; background: var(--surface, #fff); font-size: 13px; outline: 0; color: var(--ink); }

/* مدرسان */
.teachers-sec { padding: 90px 0 30px; background: linear-gradient(180deg, #fff, #F7F6FC 30%, #F7F6FC 70%, #fff); }
.tc-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
.tc { position: relative; outline: 0; }
.tc-photo { position: relative; aspect-ratio: 4 / 4.6; border-radius: 24px; overflow: hidden; background: var(--lav); box-shadow: 0 16px 34px -14px rgba(32,30,67,.35); transition: transform .5s var(--ease), box-shadow .5s; }
.tc-photo img { width: 100%; height: 100%; object-fit: cover; transition: transform 1s var(--ease), filter .6s; }
.tc-initial { position: absolute; inset: 0; display: grid; place-items: center; font-size: 64px; font-weight: 900; color: var(--indigo-ink, var(--indigo)); }
.tc-spec { position: absolute; top: 12px; inset-inline-start: 12px; z-index: 2; background: rgba(255,255,255,.92); backdrop-filter: blur(6px); color: var(--ink); font-size: 11.5px; font-weight: 800; padding: 4px 11px; border-radius: 99px; transition: opacity .3s; }
.tc-bio { position: absolute; inset: auto 0 0 0; z-index: 2; padding: 50px 18px 18px; color: #fff; background: linear-gradient(180deg, transparent, rgba(32,30,67,.75) 30%, rgba(32,30,67,.96)); transform: translateY(101%); transition: transform .55s var(--ease); }
.tc-bio p { margin: 0 0 12px; font-size: 13px; line-height: 1.95; }
.tc-social { display: flex; gap: 8px; }
.tc-social a { width: 34px; height: 34px; border-radius: 10px; background: rgba(255,255,255,.15); display: grid; place-items: center; font-size: 15px; transition: background .2s, transform .25s var(--ease); }
.tc-social a:hover { background: var(--gold); color: var(--ink); transform: translateY(-3px); }
.tc:hover .tc-photo, .tc.open .tc-photo, .tc:focus-within .tc-photo { transform: translateY(-6px); box-shadow: 0 26px 50px -16px rgba(49,30,145,.45); }
.tc:hover .tc-photo img, .tc.open .tc-photo img, .tc:focus-within .tc-photo img { transform: scale(1.08); }
.tc:hover .tc-bio, .tc.open .tc-bio, .tc:focus-within .tc-bio { transform: none; }
.tc-info { text-align: center; padding: 14px 6px 0; }
.tc-info h3 { margin: 0; font-size: 16.5px; color: var(--ink); font-weight: 800; }
.tc-role { margin: 2px 0 8px; color: var(--violet); font-size: 12.5px; font-weight: 700; }
.tc-stats { display: flex; justify-content: center; gap: 12px; font-size: 12px; color: var(--muted); }
.tc-stats span { display: inline-flex; align-items: center; gap: 4px; }
.tc-stats .ic { color: var(--teal); }

/* نظرات دانشجویان */
.testi-sec { padding: 80px 0 90px; overflow: hidden; }
.testi { display: flex; flex-direction: column; gap: 18px; mask: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); -webkit-mask: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); }
.testi-row { direction: ltr; overflow: hidden; }
.testi-track { display: flex; width: max-content; animation: marquee var(--dur, 40s) linear infinite; }
.testi-row.rev .testi-track { animation-direction: reverse; }
.testi:hover .testi-track { animation-play-state: paused; }
.testi-set { display: flex; gap: 18px; padding-inline-end: 18px; }
@keyframes marquee { to { transform: translateX(-50%); } }
.tq { direction: rtl; margin: 0; width: 340px; flex-shrink: 0; background: var(--surface, #fff); border: 1px solid var(--line); border-radius: 22px; padding: 20px 22px; display: flex; flex-direction: column; gap: 10px; transition: transform .4s var(--ease), box-shadow .4s, border-color .3s; }
.tq:hover { transform: translateY(-5px); box-shadow: 0 18px 40px -14px rgba(49,30,145,.3); border-color: #d6cff9; }
.tq-top { display: flex; justify-content: space-between; align-items: center; }
.tq-stars i { font-style: normal; color: #e2e0ec; font-size: 15px; } .tq-stars i.on { color: #f5b335; }
.tq-mark { font-size: 54px; line-height: .5; color: var(--lav); font-family: Georgia, serif; height: 22px; }
.tq blockquote { margin: 0; font-size: 13.5px; line-height: 2; color: #4b4a5e; flex: 1; }
.tq figcaption { display: flex; align-items: center; gap: 10px; padding-top: 10px; border-top: 1px dashed var(--line); }
.tq figcaption > span:last-child { display: flex; flex-direction: column; line-height: 1.5; }
.tq figcaption b { font-size: 13.5px; color: var(--ink); } .tq figcaption small { font-size: 11.5px; color: var(--violet); font-weight: 600; }
.tq-av { width: 42px; height: 42px; border-radius: 14px; overflow: hidden; background: var(--lav); display: grid; place-items: center; font-weight: 900; color: var(--indigo-ink, var(--indigo)); flex-shrink: 0; }
.tq-av img { width: 100%; height: 100%; object-fit: cover; }

/* صفحات جزئیات */
.hero-extra { margin-top: 18px; animation: fadeUp .7s .3s var(--ease) both; }
.hx { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.hx-chip { display: inline-flex; align-items: center; gap: 6px; background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.14); padding: 5px 12px; border-radius: 99px; font-size: 12.5px; font-weight: 600; }
.hx-chip .ic { color: var(--gold); }
.hx-dot { width: 7px; height: 7px; border-radius: 50%; background: #22c55e; animation: livePing 1.8s infinite; }
.hx-chip.st-upcoming .hx-dot { background: #f59e0b; animation: none; } .hx-chip.st-ended .hx-dot { background: #9ca3af; animation: none; }
.hx-teacher { display: inline-flex; align-items: center; gap: 8px; background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.14); padding: 3px 4px 3px 12px; border-radius: 99px; }
.hx-teacher img { width: 30px; height: 30px; border-radius: 50%; object-fit: cover; }
.hx-teacher > span { display: flex; flex-direction: column; line-height: 1.3; } .hx-teacher small { font-size: 10.5px; opacity: .7; } .hx-teacher b { font-size: 12.5px; }
.dt-sec { padding: 40px 0 80px; }
.dt-main { min-width: 0; }
.dt-tabs { position: sticky; top: 70px; z-index: 20; display: flex; gap: 4px; background: rgba(255,255,255,.88); backdrop-filter: blur(12px); border: 1px solid var(--line); border-radius: 16px; padding: 5px; margin-bottom: 18px; overflow-x: auto; scrollbar-width: none; }
.dt-tabs a { padding: 7px 16px; border-radius: 11px; font-size: 13.5px; font-weight: 700; color: var(--muted); white-space: nowrap; transition: background .25s, color .25s; }
.dt-tabs a:hover { color: var(--ink); } .dt-tabs a.on { background: var(--navy); color: #fff; }
.panel h2 { display: flex; align-items: center; gap: 8px; }
.panel h2 .ic { color: var(--violet); font-size: 18px; }
.dt-count { margin-inline-start: auto; font-size: 12px; font-weight: 700; color: var(--violet); background: var(--tint, #f1eeff); padding: 2px 10px; border-radius: 99px; }
.dt-h3 { font-size: 15px; color: var(--ink); margin: 22px 0 10px; }
.dt-feats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin-top: 22px; }
.dt-feats > div { background: var(--surface-2, #F7F6FC); border-radius: 16px; padding: 14px 12px; display: flex; flex-direction: column; gap: 2px; transition: transform .35s var(--ease), background .3s; }
.dt-feats > div:hover { transform: translateY(-4px); background: var(--tint, #f1eeff); }
.dt-fi { width: 36px; height: 36px; border-radius: 11px; background: var(--navy); color: #fff; display: grid; place-items: center; margin-bottom: 6px; font-size: 16px; }
.dt-feats > div:nth-child(2) .dt-fi { background: var(--violet); } .dt-feats > div:nth-child(3) .dt-fi { background: var(--teal); } .dt-feats > div:nth-child(4) .dt-fi { background: var(--indigo); }
.dt-feats b { font-size: 13.5px; color: var(--ink); } .dt-feats small { font-size: 11.5px; color: var(--muted); }
.acc { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.acc li { border: 1px solid var(--line); border-radius: 14px; overflow: hidden; transition: border-color .3s, box-shadow .3s; }
.acc li.open { border-color: #d6cff9; box-shadow: 0 8px 22px -12px rgba(85,60,222,.35); }
.acc-h { width: 100%; display: flex; align-items: center; gap: 12px; padding: 11px 14px; border: 0; background: var(--surface, #fff); text-align: start; font-weight: 700; font-size: 14px; color: var(--ink); }
.acc-n { width: 30px; height: 30px; border-radius: 9px; background: var(--navy); color: #fff; display: grid; place-items: center; font-size: 12.5px; flex-shrink: 0; transition: background .3s; }
.acc li.open .acc-n { background: var(--violet); }
.acc-t { flex: 1; }
.acc-ic { color: var(--muted); transition: transform .35s var(--ease); }
.acc li.open .acc-ic { transform: rotate(90deg); }
.acc-b { display: grid; grid-template-rows: 0fr; transition: grid-template-rows .4s var(--ease); }
.acc li.open .acc-b { grid-template-rows: 1fr; }
.acc-b > div { overflow: hidden; } .acc-b p { margin: 0; padding: 0 56px 14px 14px; font-size: 13px; color: var(--muted); line-height: 1.9; }
.dt-teacher { display: flex; gap: 20px; align-items: center; }
.dt-t-photo { width: 130px; height: 150px; border-radius: 20px; overflow: hidden; flex-shrink: 0; background: var(--lav); box-shadow: 0 14px 30px -12px rgba(32,30,67,.4); display: grid; place-items: center; font-size: 44px; font-weight: 900; color: var(--indigo-ink, var(--indigo)); }
.dt-t-photo img { width: 100%; height: 100%; object-fit: cover; }
.dt-t-info small { color: var(--muted); font-size: 12px; } .dt-t-info h2 { margin: 2px 0 0; }
.dt-t-role { margin: 2px 0 8px; color: var(--violet); font-weight: 700; font-size: 13px; }
.dt-t-bio { margin: 0 0 12px; color: #55546a; font-size: 13.5px; line-height: 1.95; }
.dt-reviews { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.tq-sm { width: auto; padding: 16px; border-radius: 18px; }
.tq-sm blockquote { font-size: 13px; }
.buy { background: var(--surface, #fff); border: 1px solid var(--line); border-radius: 24px; overflow: hidden; box-shadow: 0 20px 44px -20px rgba(32,30,67,.3); }
.buy-media { position: relative; aspect-ratio: 16 / 9.4; background: #E5E4EE; }
.buy-media img { width: 100%; height: 100%; object-fit: cover; }
.buy-body { padding: 18px 20px 20px; }
.buy-price { display: flex; align-items: baseline; gap: 6px; margin-bottom: 12px; }
.buy-price b { font-size: 26px; font-weight: 900; color: var(--ink); } .buy-price small { color: var(--muted); font-weight: 700; }
.buy-list { list-style: none; margin: 0 0 16px; padding: 0; display: grid; gap: 2px; }
.buy-list li { display: flex; align-items: center; gap: 8px; padding: 8px 0; border-bottom: 1px dashed var(--line); font-size: 13px; }
.buy-list li:last-child { border-bottom: 0; }
.buy-list .ic { color: var(--violet); } .buy-list span { color: var(--muted); flex: 1; } .buy-list b { color: var(--ink); }
.buy-note { display: flex; align-items: center; justify-content: center; gap: 6px; font-size: 12px; color: var(--muted); margin: 12px 0 0; }
.buy-note .ic { color: var(--teal); }
.buy-mine { margin-top: 16px; padding-top: 14px; border-top: 1px solid var(--line); display: flex; flex-direction: column; gap: 6px; }
.buy-mine > b { font-size: 13.5px; color: var(--ink); }
.buy-mine a { display: flex; justify-content: space-between; padding: 8px 12px; background: var(--surface-2, #F7F6FC); border-radius: 10px; font-size: 13px; transition: background .2s; }
.buy-mine a:hover { background: var(--tint, #f1eeff); } .buy-mine a b { color: var(--violet); }
.countdown { background: linear-gradient(135deg, var(--navy), var(--indigo)); color: #fff; border-radius: 16px; padding: 12px; margin-bottom: 14px; text-align: center; }
.countdown small { font-size: 12px; opacity: .75; }
.cd { display: grid; grid-template-columns: repeat(4, 1fr); gap: 6px; margin-top: 6px; }
.cd span { display: flex; flex-direction: column; font-size: 10.5px; opacity: .85; }
.cd b { font-size: 20px; font-weight: 900; color: var(--gold); line-height: 1.4; }
.qtypes { display: flex; flex-wrap: wrap; gap: 8px; }
.qt { display: inline-flex; align-items: center; gap: 8px; border: 1px solid var(--line); border-radius: 12px; padding: 6px 12px 6px 6px; font-size: 13px; font-weight: 700; color: var(--ink); background: var(--surface, #fff); transition: border-color .25s, transform .3s var(--ease); }
.qt:hover { border-color: var(--violet); transform: translateY(-2px); }
.qt i { font-style: normal; width: 26px; height: 26px; border-radius: 8px; background: var(--tint, #f1eeff); color: var(--violet); display: grid; place-items: center; font-weight: 900; font-size: 12px; }
.podium { display: grid; grid-template-columns: repeat(3, 1fr); align-items: end; gap: 10px; margin: 6px 0 14px; text-align: center; }
.pd { display: flex; flex-direction: column; align-items: center; gap: 4px; }
.pd-av { width: 50px; height: 50px; border-radius: 16px; display: grid; place-items: center; font-weight: 900; font-size: 20px; color: #fff; background: var(--teal); }
.pd-1 .pd-av { background: linear-gradient(135deg, #f8d77c, #e3a93a); color: #5a3d00; width: 60px; height: 60px; }
.pd-3 .pd-av { background: linear-gradient(135deg, #f1c3a0, #c9875a); }
.pd b { font-size: 13px; color: var(--ink); } .pd-pc { font-weight: 900; color: var(--violet); font-size: 13px; }
.pd-bar { width: 100%; border-radius: 14px 14px 6px 6px; background: linear-gradient(180deg, #ece9fb, #f7f6fc); display: grid; place-items: center; font-weight: 900; font-size: 20px; color: var(--indigo-ink, var(--indigo)); height: 70px; }
.pd-1 .pd-bar { height: 100px; background: linear-gradient(180deg, #fde9b4, #fdf6e3); color: #8a5a00; }
.pd-3 .pd-bar { height: 52px; }

@media (max-width: 1100px) { .carousel { --n: 2; } .grid-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 992px) {
  .tc-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .dt-feats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .dt-tabs { top: 64px; }
}
@media (max-width: 768px) {
  .tc-scroll { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; gap: 14px; padding: 4px 2px 16px; margin-inline: calc(var(--gutter) * -1); padding-inline: var(--gutter); scrollbar-width: none; }
  .tc-scroll::-webkit-scrollbar { display: none; }
  .tc-scroll .tc { flex: 0 0 46%; scroll-snap-align: start; }
  .tc-grid:not(.tc-scroll) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .dt-reviews { grid-template-columns: 1fr; }
  .tq { width: 290px; }
}
@media (max-width: 560px) {
  .carousel { --n: 1; }
  .grid-cards { grid-template-columns: 1fr; }
  .see-all { margin: -30px 0 56px; }
  .pc-body { padding: 14px 14px 0; } .pc-foot { padding: 12px 14px 14px; }
  .pc-foot { flex-direction: row; align-items: center; }
  .tc-scroll .tc { flex-basis: 64%; }
  .tc-grid:not(.tc-scroll) { gap: 12px; }
  .tc-info h3 { font-size: 14.5px; } .tc-role { font-size: 11.5px; } .tc-stats { font-size: 11px; gap: 8px; }
  .tc-bio p { font-size: 12px; -webkit-line-clamp: 5; display: -webkit-box; -webkit-box-orient: vertical; overflow: hidden; }
  .teachers-sec, .testi-sec { padding: 56px 0; }
  .tq { width: 260px; padding: 16px; } .tq blockquote { font-size: 12.5px; }
  .dt-teacher { flex-direction: column; text-align: center; }
  .dt-feats { gap: 8px; }
  .acc-b p { padding: 0 14px 12px; }
  .hx-chip { font-size: 11.5px; padding: 4px 10px; }
  .pd-av { width: 42px; height: 42px; } .pd-1 .pd-av { width: 50px; height: 50px; }
}

.pc-media.g0 .pc-ph { background: linear-gradient(135deg, #553CDE, #311E91); }
.pc-media.g1 .pc-ph { background: linear-gradient(135deg, #134B70, #201E43); }
.pc-media.g2 .pc-ph { background: linear-gradient(135deg, #311E91, #134B70); }
.pc-media.g3 .pc-ph { background: linear-gradient(135deg, #674DEE, #134B70); }
.carousel-track > .pc:first-child { margin-inline-start: auto; }
.carousel-track > .pc:last-child { margin-inline-end: auto; }
.carousel.single .carousel-nav { visibility: hidden; }
.teachers-sec .see-all { margin: 34px 0 0; }
.lb-after li .rk { background: var(--bg-soft) !important; color: var(--muted) !important; }

/* ==========================================================
   v5 — هدر با تایپوگرافی، فوتر جدید، صفحه مدرس، صفحات سفارشی،
   تم تیره، دوزبانه (LTR)
   ========================================================== */
:root { --surface: #fff; --surface-2: #F7F6FC; --tint: #F1EEFF; --page: #fff; --navy-ink: var(--navy); --indigo-ink: var(--indigo); --card-line: var(--line); color-scheme: light; }

/* ---------- برند: لوگو + تایپوگرافی ---------- */
.brand-logo { height: 46px; width: auto; }
.brand-full { gap: 12px; }
.brand-type { display: flex; flex-direction: column; line-height: 1.25; padding-inline-start: 12px; border-inline-start: 1px solid rgba(255,255,255,.22); white-space: nowrap; }
.brand-type b { font-size: 18px; font-weight: 900; letter-spacing: -.2px; }
.brand-type small { font-size: 10.5px; font-weight: 600; opacity: .7; letter-spacing: .1px; }
html[lang="en"] .brand-type b { letter-spacing: .2px; }
.brand-wordmark { height: 30px !important; width: auto; max-width: 180px; object-fit: contain; }
body.scrolled .brand-type b { font-size: 16.5px; }
.footer .brand-type, .drawer-panel .brand-type { border-color: rgba(255,255,255,.18); }

/* ---------- دکمه‌های هدر (زبان، تم) ---------- */
.hd-btn { display: inline-flex; align-items: center; justify-content: center; gap: 6px; height: 38px; min-width: 38px; padding: 0 10px; border-radius: 11px; border: 1px solid rgba(255,255,255,.14); background: rgba(255,255,255,.06); color: #fff; font-weight: 800; font-size: 12.5px; transition: background .2s, transform .25s var(--ease), border-color .2s; }
.hd-btn:hover { background: rgba(255,255,255,.16); border-color: rgba(255,255,255,.3); transform: translateY(-1px); }
.hd-btn .ic { font-size: 17px; }
.hd-theme { padding: 0; width: 38px; position: relative; overflow: hidden; }
.th-sun, .th-moon { display: inline-grid; place-items: center; transition: transform .45s var(--ease), opacity .3s; }
.hd-theme .th-sun, .hd-theme .th-moon { position: absolute; inset: 0; }
html[data-theme="dark"] .th-sun { transform: translateY(-120%) rotate(-90deg); opacity: 0; }
html:not([data-theme="dark"]) .th-moon { transform: translateY(120%) rotate(90deg); opacity: 0; }
.ft-pill .th-sun, .ft-pill .th-moon, .drawer-tools .th-sun, .drawer-tools .th-moon { position: static; }
html[data-theme="dark"] .ft-pill .th-sun, html[data-theme="dark"] .drawer-tools .th-sun, html:not([data-theme="dark"]) .ft-pill .th-moon, html:not([data-theme="dark"]) .drawer-tools .th-moon { display: none; }
.drawer-tools { display: flex; gap: 8px; margin-top: 14px; padding-top: 14px; border-top: 1px solid rgba(255,255,255,.1); }
.drawer-tools .hd-btn { flex: 1; width: auto; padding: 0 12px; position: static; }
.theme-anim, .theme-anim *, .theme-anim *::before, .theme-anim *::after { transition: background-color .45s ease, color .45s ease, border-color .45s ease, fill .45s ease !important; }

/* ---------- دکمه‌های کمکی ---------- */
.btn-outline-light { background: transparent; color: #fff; border: 1.5px solid rgba(255,255,255,.35); }
.btn-outline-light:hover { background: rgba(255,255,255,.1); border-color: #fff; }
.sec-sub-lt { max-width: 640px; margin: -6px auto 30px; text-align: center; color: var(--muted); font-size: 14.5px; }
.sec-start { text-align: start; }
.story-p { margin-bottom: 14px; }

/* ---------- فوتر حرفه‌ای ---------- */
.footer { background: linear-gradient(180deg, var(--navy) 0%, #191736 100%); color: #b9b7d3; padding: 0; margin-top: 90px; position: relative; overflow: visible; isolation: isolate; }
.footer::before { content: ""; position: absolute; inset: 0; background: radial-gradient(600px 300px at 85% 0%, rgba(85,60,222,.22), transparent 70%), radial-gradient(500px 260px at 0% 100%, rgba(19,75,112,.35), transparent 70%); z-index: -1; pointer-events: none; }
.footer.ft-bare { margin-top: 0; }
.ft-deco { position: absolute; inset-inline-end: -60px; bottom: 40px; width: 300px; color: rgba(255,255,255,.03); pointer-events: none; z-index: -1; overflow: hidden; }
.ft-deco .logo-svg { width: 100%; height: auto; }
.footer > .container { padding-top: 64px; }
.footer.ft-bare > .container { padding-top: 48px; }
.ft-cta { position: relative; overflow: hidden; display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 30px 36px; border-radius: 26px; margin: -150px 0 56px; background: linear-gradient(120deg, var(--indigo) 0%, var(--violet) 60%, #7a63f2 100%); color: #fff; box-shadow: 0 30px 60px -24px rgba(49,30,145,.65); }
.ft-cta-text { position: relative; z-index: 1; min-width: 0; }
.ft-cta h3 { margin: 0 0 4px; font-size: 22px; font-weight: 900; color: #fff; }
.ft-cta p { margin: 0; color: rgba(255,255,255,.82); font-size: 14px; line-height: 1.9; }
.ft-cta-actions { display: flex; gap: 10px; flex-shrink: 0; position: relative; z-index: 1; flex-wrap: wrap; }
.ft-cta-actions .btn { font-size: 14px; padding: 11px 20px; border-radius: 12px; }
.ft-cta-actions .btn-white .ic { font-size: 18px; }
.ft-cta-orb { position: absolute; width: 280px; height: 280px; border-radius: 50%; inset-inline-end: 22%; top: -150px; background: radial-gradient(circle, rgba(246,198,107,.45), transparent 65%); filter: blur(10px); animation: orb 12s ease-in-out infinite alternate; pointer-events: none; }
.ft-cta::after { content: ""; position: absolute; inset: 0; background-image: radial-gradient(rgba(255,255,255,.12) 1px, transparent 1px); background-size: 18px 18px; mask-image: linear-gradient(90deg, transparent, #000 60%); -webkit-mask-image: linear-gradient(90deg, transparent, #000 60%); pointer-events: none; }
.ft-grid { display: grid; grid-template-columns: 1.35fr .9fr 1.1fr 1.35fr; gap: 36px; padding-bottom: 44px; }
.ft-brand .brand { margin-bottom: 16px; }
.ft-brand p { font-size: 13.5px; line-height: 2.1; color: #a9a7c6; max-width: 320px; }
.ft-social { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 18px; }
.ft-social a { width: 38px; height: 38px; border-radius: 12px; display: grid; place-items: center; background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.08); color: #fff; font-size: 16px; transition: background .25s, transform .3s var(--ease), border-color .25s; }
.ft-social a:hover { background: var(--violet); border-color: var(--violet); transform: translateY(-3px); }
.footer h4 { color: #fff; font-size: 14.5px; margin: 6px 0 18px; font-weight: 800; position: relative; padding-bottom: 10px; }
.footer h4::after { content: ""; position: absolute; bottom: 0; inset-inline-start: 0; width: 26px; height: 3px; border-radius: 3px; background: var(--gold); }
.ft-col ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; font-size: 13.5px; }
.ft-col li a { display: inline-flex; align-items: center; gap: 6px; color: #b9b7d3; transition: color .2s, transform .25s var(--ease); max-width: 100%; }
.ft-col li a .ic { font-size: 13px; opacity: 0; width: 0; transition: opacity .25s, width .25s; color: var(--gold); }
.ft-col li a:hover { color: #fff; transform: translateX(-3px); }
html[dir="ltr"] .ft-col li a:hover { transform: translateX(3px); }
.ft-col li a:hover .ic { opacity: 1; width: 13px; }
.ft-contact li { display: flex; align-items: flex-start; gap: 10px; color: #b9b7d3; }
.ft-contact li a { color: #d9d7ee; }
.ft-contact li a .ic { display: none; }
.ft-ic { width: 30px; height: 30px; border-radius: 9px; background: rgba(246,198,107,.12); color: var(--gold); display: grid; place-items: center; flex-shrink: 0; font-size: 14px; }
.ft-contact li > span:last-child, .ft-contact li > a { padding-top: 3px; line-height: 1.8; overflow-wrap: anywhere; min-width: 0; }
.ft-news { margin-top: 22px; padding: 16px; border-radius: 18px; background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.08); }
.ft-news label { display: block; color: #fff; font-weight: 800; font-size: 13.5px; }
.ft-news small { display: block; font-size: 12px; color: #9896b8; margin: 2px 0 10px; line-height: 1.8; }
.ft-news-row { display: flex; gap: 6px; }
.ft-news .input { background: rgba(255,255,255,.08); border-color: rgba(255,255,255,.12); color: #fff; padding: 8px 12px; font-size: 13px; min-width: 0; }
.ft-news .input::placeholder { color: #8d8bab; }
.ft-news .input:focus { border-color: var(--violet-2); box-shadow: 0 0 0 3px rgba(103,77,238,.25); }
.ft-news .btn { padding: 0 14px; border-radius: 12px; flex-shrink: 0; }
.ft-news .btn .ic { font-size: 17px; }
html[dir="rtl"] .ft-news .btn .ic { transform: scaleX(-1); }
.ft-news .form-msg { font-size: 12px; margin-top: 6px; }
.ft-bottom { border-top: 1px solid rgba(255,255,255,.08); background: rgba(0,0,0,.14); font-size: 12.5px; color: #9896b8; }
.ft-bottom .container { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 64px; padding-block: 12px; flex-wrap: wrap; }
.ft-legal { display: flex; flex-wrap: wrap; gap: 4px 18px; }
.ft-legal a { color: #b9b7d3; transition: color .2s; } .ft-legal a:hover { color: #fff; }
.ft-tools { display: flex; gap: 6px; align-items: center; }
.ft-pill { display: inline-flex; align-items: center; gap: 6px; height: 34px; padding: 0 12px; border-radius: 99px; border: 1px solid rgba(255,255,255,.12); background: rgba(255,255,255,.04); color: #d9d7ee; font-size: 12px; font-weight: 700; transition: background .2s, border-color .2s; }
.ft-pill:hover { background: rgba(255,255,255,.12); border-color: rgba(255,255,255,.25); color: #fff; }
.ft-pill .ic { font-size: 14px; }
.ft-top { width: 34px; padding: 0; justify-content: center; }
.ft-top .ic { transform: rotate(90deg); }
html[dir="ltr"] .ft-top .ic, html[dir="ltr"] .to-top .ic { transform: rotate(-90deg); }

/* ---------- کارت مدرس: لینک کل کارت ---------- */
.tc-link::after { content: ""; position: absolute; inset: 0; z-index: 3; border-radius: 24px; }
.tc-link:focus-visible { outline: 0; }
.tc:focus-within .tc-photo { outline: 3px solid var(--violet-2); outline-offset: 3px; }
.tc-more { display: inline-flex; align-items: center; gap: 6px; font-size: 12.5px; font-weight: 800; color: var(--gold); }
.tc-more .ic { transition: transform .3s var(--ease); }
.tc:hover .tc-more .ic { transform: translateX(-4px); }
html[dir="ltr"] .tc:hover .tc-more .ic { transform: translateX(4px); }
.tc-info h3 a { transition: color .2s; } .tc:hover .tc-info h3 a { color: var(--violet); }

/* ---------- صفحه اختصاصی مدرس ---------- */
.tp-top { padding-bottom: 0; }
.tp-cover { position: absolute; inset: 0; background-size: cover; background-position: center; opacity: .22; z-index: 0; }
.tp-cover::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(32,30,67,.3), var(--navy)); }
.tp-hero { position: relative; z-index: 1; padding: 40px 0 0; }
.tp-hero::before { content: ""; position: absolute; width: 420px; height: 420px; border-radius: 50%; background: radial-gradient(circle, rgba(85,60,222,.45), transparent 70%); inset-inline-end: -120px; top: -120px; pointer-events: none; }
.tp-hero-in { display: flex; align-items: flex-end; gap: 32px; position: relative; }
.tp-photo { position: relative; width: 210px; aspect-ratio: 4 / 4.6; border-radius: 28px 28px 0 0; overflow: visible; flex-shrink: 0; background: var(--lav); box-shadow: 0 -10px 40px -10px rgba(0,0,0,.35); }
.tp-photo img { width: 100%; height: 100%; object-fit: cover; border-radius: 28px 28px 0 0; }
.tp-photo > span:first-child { position: absolute; inset: 0; display: grid; place-items: center; font-size: 70px; font-weight: 900; color: var(--indigo); }
.tp-badge { position: absolute; bottom: 16px; inset-inline-end: -14px; width: 46px; height: 46px; border-radius: 14px; background: var(--gold); color: var(--ink); display: grid; place-items: center; font-size: 22px; box-shadow: 0 10px 24px rgba(0,0,0,.25); animation: tpbob 4s ease-in-out infinite; }
@keyframes tpbob { 50% { transform: translateY(-6px) rotate(-6deg); } }
.tp-head { flex: 1; min-width: 0; padding-bottom: 34px; }
.tp-head .crumbs { margin-bottom: 8px; }
.tp-head .page-title { margin: 0; text-align: start; }
.tp-role { margin: 4px 0 14px; color: var(--gold); font-weight: 700; font-size: 15px; }
.tp-head .hx { justify-content: flex-start; margin: 0; }
.tp-links { display: flex; gap: 8px; margin-top: 16px; }
.tp-links a { width: 40px; height: 40px; border-radius: 12px; display: grid; place-items: center; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.14); color: #fff; font-size: 17px; transition: background .2s, transform .3s var(--ease); }
.tp-links a:hover { background: var(--violet); transform: translateY(-3px); }
.tp-body { padding-top: 40px; }
.tp-quote { position: relative; margin: 0 0 22px; padding: 22px 26px 22px 26px; padding-inline-start: 70px; border-radius: 22px; background: linear-gradient(120deg, var(--tint), var(--surface)); border: 1px solid var(--card-line); }
.tp-quote .ic { position: absolute; inset-inline-start: 22px; top: 20px; font-size: 30px; color: var(--violet); opacity: .8; }
.tp-quote p { margin: 0; font-size: 17px; font-weight: 800; color: var(--ink); line-height: 1.9; }
.tp-bio p { margin: 0 0 14px; line-height: 2.15; color: var(--text); }
.tp-bio p:last-child { margin-bottom: 0; }
.tp-bio p:first-child::first-letter { font-size: 1.15em; font-weight: 900; color: var(--violet); }
.tp-timeline { list-style: none; margin: 0; padding: 0; position: relative; }
.tp-timeline::before { content: ""; position: absolute; top: 14px; bottom: 14px; inset-inline-start: 15px; width: 2px; background: linear-gradient(180deg, var(--violet), var(--lav)); border-radius: 2px; }
.tp-timeline li { position: relative; display: flex; gap: 14px; align-items: flex-start; padding: 6px 0 12px; }
.tp-dot { width: 32px; height: 32px; border-radius: 50%; background: var(--surface); border: 2px solid var(--violet); color: var(--violet); display: grid; place-items: center; font-weight: 900; font-size: 13px; flex-shrink: 0; position: relative; z-index: 1; transition: background .3s, color .3s; }
.tp-timeline li:hover .tp-dot { background: var(--violet); color: #fff; }
.tp-timeline p { margin: 3px 0 0; padding: 10px 14px; border-radius: 14px; background: var(--surface-2); flex: 1; font-size: 14px; line-height: 1.9; color: var(--text); }
.tp-courses { margin-top: 6px; }
.tp-side-h { margin: 0 0 12px; font-size: 15.5px; color: var(--ink); font-weight: 900; }
.tp-others { margin-top: 18px; }
.tp-other { display: flex; align-items: center; gap: 10px; padding: 9px; border-radius: 14px; transition: background .2s; }
.tp-other:hover { background: var(--surface-2); }
.tp-other > span:nth-child(2) { flex: 1; min-width: 0; display: flex; flex-direction: column; line-height: 1.5; }
.tp-other b { font-size: 13.5px; color: var(--ink); }
.tp-other small { font-size: 11.5px; color: var(--muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.tp-other .pc-av { width: 42px; height: 42px; border-radius: 12px; overflow: hidden; background: var(--lav); flex-shrink: 0; }
.tp-other .pc-av img { width: 100%; height: 100%; object-fit: cover; }
.tp-other > .ic { color: var(--muted); font-size: 15px; }

/* ---------- صفحات سفارشی ---------- */
.cp-wrap { max-width: 860px; }
.cp { padding: 34px 38px; }
.cp p { margin: 0 0 14px; line-height: 2.2; color: var(--text); }
.cp h2 { font-size: 19px; color: var(--ink); margin: 26px 0 10px; font-weight: 900; }
.cp h2:first-child { margin-top: 0; }
.cp ul { margin: 0 0 16px; padding-inline-start: 22px; line-height: 2.1; }
.cp-img { width: 100%; border-radius: 18px; margin-bottom: 22px; max-height: 380px; object-fit: cover; }

/* ---------- نوار خرید چسبان موبایل ---------- */
.m-cta { display: none; }
@media (max-width: 992px) {
  .m-cta { position: fixed; z-index: 95; inset-inline: 12px; bottom: 12px; display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 8px 8px 8px 16px; padding-inline-start: 16px; padding-inline-end: 8px; border-radius: 16px; background: rgba(32,30,67,.94); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); color: #fff; box-shadow: 0 16px 40px rgba(10,9,30,.35); transform: translateY(140%); transition: transform .45s var(--ease); }
  .m-cta.show { transform: none; }
  .m-cta span { font-weight: 800; font-size: 14px; }
  .m-cta b { background: var(--violet); padding: 9px 18px; border-radius: 11px; font-size: 13.5px; }
  body:has(.m-cta.show) .to-top { bottom: 84px; }
}

/* ---------- جزئیات کوچک ---------- */
.fi-v { background: var(--violet) !important; } .fi-i { background: var(--indigo) !important; } .fi-n { background: var(--navy) !important; }
html[data-theme="dark"] .fi-n { background: #3a3870 !important; }
.lb-time { color: var(--muted); font-size: 12.5px; }
.buy-badge { position: absolute; top: 12px; inset-inline-start: 12px; z-index: 2; }
.dash-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; margin-bottom: 14px; }
.dash-head h2 { margin: 0; }
.dash-actions { display: flex; gap: 8px; flex-wrap: wrap; }
.c-v { color: var(--violet); }
.ltr-field { direction: ltr; text-align: left; }
.ltr-field::placeholder { text-align: left; }
.ph-text { min-width: 0; }

/* ---------- LTR (نسخه انگلیسی) ---------- */
html[dir="ltr"] .tq { direction: ltr; }
html[dir="ltr"] .scroll-progress i { transform-origin: left; }
html[dir="ltr"] .drawer-panel { transform: translateX(-100%); }
html[dir="ltr"] .drawer.open .drawer-panel { transform: none; }
html[dir="ltr"] .drawer-panel a.dl { transform: translateX(-30px); }
html[dir="ltr"] .drawer.open .drawer-panel a.dl { transform: none; }
html[dir="ltr"] .drawer-panel a.dl.active { box-shadow: inset 3px 0 0 var(--gold); }
html[dir="ltr"] .btn-white:hover .ic { transform: translateX(4px); }
html[dir="ltr"] .ccard:hover { transform: translateX(4px); }
html[dir="ltr"] body { letter-spacing: .1px; }
html[dir="ltr"] .hero-title, html[dir="ltr"] .page-title, html[dir="ltr"] .sec-title { letter-spacing: -.5px; }
html[lang="en"] { --font: "Vazirmatn", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif; }

/* ==========================================================
   تم تیره
   ========================================================== */
html[data-theme="dark"] {
  color-scheme: dark;
  --surface: #1B1A33; --surface-2: #222041; --tint: rgba(123,102,240,.14); --page: #0F0E22; --card-line: #2C2A4D;
  --navy: #16152F; --navy-2: #1d1b3d; --indigo: #3B2AA8; --violet: #7B66F0; --violet-2: #8f7cf5; --teal: #1C6A9C;
  --lav: #2D2766; --sky: #173B57; --ink: #F1F0FA; --text: #D6D4E8; --muted: #9C9AB5; --soft: #8a88a6; --line: #2C2A4D; --bg-soft: #16152B;
  --navy-ink: #cfc9ff; --indigo-ink: #b7acff; --slate: #2a2950;
  --shadow: 0 8px 24px rgba(0,0,0,.35); --shadow-lg: 0 20px 50px rgba(0,0,0,.5);
}
html[data-theme="dark"] body { background: var(--page); }
html[data-theme="dark"] img:not([src$=".svg"]) { filter: brightness(.92); }
html[data-theme="dark"] .site-top { background: linear-gradient(180deg, #12112a, #16152F); }
html[data-theme="dark"] body.scrolled .header { background: rgba(15,14,34,.88); }
html[data-theme="dark"] .btn-white { background: #F1F0FA; color: #15142E; }
html[data-theme="dark"] .btn-ghost { border-color: #3a3866; color: var(--ink); background: transparent; }
html[data-theme="dark"] .btn-ghost:hover { border-color: var(--violet); color: #fff; background: rgba(123,102,240,.12); }
html[data-theme="dark"] .see-all .btn { background: var(--surface); }
html[data-theme="dark"] .btn-navy { background: #2d2b5e; }
html[data-theme="dark"] .btn-navy:hover { background: #3a3878; }
html[data-theme="dark"] .input, html[data-theme="dark"] .textarea, html[data-theme="dark"] select, html[data-theme="dark"] .sort select { background: #14132b; border-color: #34325a; color: var(--ink); }
html[data-theme="dark"] .input::placeholder, html[data-theme="dark"] .textarea::placeholder { color: #6f6d8e; }
html[data-theme="dark"] .panel, html[data-theme="dark"] .buy, html[data-theme="dark"] .pc, html[data-theme="dark"] .tq, html[data-theme="dark"] .pod-list, html[data-theme="dark"] .acc-h, html[data-theme="dark"] .tcard, html[data-theme="dark"] .mini-feature, html[data-theme="dark"] .pcard { border-color: var(--line); }
html[data-theme="dark"] .why, html[data-theme="dark"] .exp, html[data-theme="dark"] .showcase, html[data-theme="dark"] .teachers-sec, html[data-theme="dark"] .testi-sec, html[data-theme="dark"] .podcast-sec, html[data-theme="dark"] .faq, html[data-theme="dark"] .section, html[data-theme="dark"] .dt-sec { background-color: transparent; }
html[data-theme="dark"] .about-band, html[data-theme="dark"] .mission { background-color: #13122a; }
html[data-theme="dark"] .stats-band { background: #13122a; }
html[data-theme="dark"] .faq-item { background: var(--surface); border-color: var(--line); }
html[data-theme="dark"] .faq-q .circ { background: #2a2850; color: var(--ink); }
html[data-theme="dark"] .tc-spec { background: rgba(27,26,51,.88); color: var(--ink); }
html[data-theme="dark"] .pcard-tag, html[data-theme="dark"] .pc-cta { background: #F1F0FA; color: #15142E; }
html[data-theme="dark"] .ph-chip { background: var(--surface); color: var(--ink); }
html[data-theme="dark"] .footer { background: linear-gradient(180deg, #121129 0%, #0b0a1c 100%); }
html[data-theme="dark"] .ft-cta { background: linear-gradient(120deg, #2a1d82 0%, #5a44e0 60%, #6f58ee 100%); }
html[data-theme="dark"] .auth-card { background: var(--surface); }
html[data-theme="dark"] .lb .rk { background: #262448; }
html[data-theme="dark"] .filter-btn { background: var(--surface); border-color: var(--line); color: var(--text); }
html[data-theme="dark"] .filter-btn.active, html[data-theme="dark"] .filter-btn.on { background: var(--violet); color: #fff; border-color: var(--violet); }
html[data-theme="dark"] .search-box { background: var(--surface); }
html[data-theme="dark"] .search-box input { color: var(--ink); }
html[data-theme="dark"] .tag { background: #262448; color: var(--text); }
html[data-theme="dark"] ::selection { background: #5a44e0; color: #fff; }
html[data-theme="dark"] .toast { background: #F1F0FA; color: #15142E; }
html[data-theme="dark"] .m-cta { background: rgba(27,26,51,.95); }
html[data-theme="dark"] .ccard { background: var(--surface); }
html[data-theme="dark"] .tp-photo { background: #2a2850; }

/* ---------- واکنش‌گرا (v5) ---------- */
@media (max-width: 1200px) {
  .ft-grid { grid-template-columns: 1.3fr 1fr 1fr; }
  .ft-contact { grid-column: 1 / -1; display: grid; grid-template-columns: 1fr 1fr; gap: 0 30px; align-items: start; }
  .ft-contact h4 { grid-column: 1 / -1; }
  .ft-contact .ft-news { margin-top: 0; }
}
@media (max-width: 992px) {
  .ft-cta { flex-direction: column; align-items: flex-start; padding: 26px; margin-top: -120px; }
  .ft-grid { grid-template-columns: 1fr 1fr; gap: 30px 24px; }
  .ft-brand { grid-column: 1 / -1; }
  .ft-brand p { max-width: none; }
  .tp-hero-in { gap: 22px; }
  .tp-photo { width: 170px; }
  .header-actions .hd-lang span { display: none; }
  .header-actions .hd-lang { width: 38px; padding: 0; }
}
@media (max-width: 768px) {
  .brand-type small { display: none; }
  .brand-type b { font-size: 15.5px; }
  .brand-type { padding-inline-start: 10px; }
  .brand-wordmark { height: 24px !important; max-width: 120px; }
  .header-actions .hd-btn { display: none; }
  .drawer-tools .hd-btn { display: inline-flex; }
  .footer { margin-top: 80px; }
  .ft-cta { margin: -110px 0 40px; border-radius: 22px; }
  .ft-cta h3 { font-size: 18px; }
  .ft-cta-actions { width: 100%; }
  .ft-cta-actions .btn { flex: 1; min-width: 0; }
  .ft-contact { display: block; }
  .ft-contact .ft-news { margin-top: 18px; }
  .ft-bottom .container { flex-direction: column; justify-content: center; text-align: center; padding-block: 18px; }
  .ft-legal { justify-content: center; }
  .tp-hero { padding-top: 24px; }
  .tp-hero-in { flex-direction: column; align-items: center; text-align: center; }
  .tp-head { padding-bottom: 26px; }
  .tp-head .page-title { text-align: center; }
  .tp-head .crumbs, .tp-head .hx, .tp-links { justify-content: center; }
  .tp-photo { width: 150px; order: 2; border-radius: 24px 24px 0 0; }
  .tp-photo img { border-radius: 24px 24px 0 0; }
  .tp-head { order: 1; }
  .tp-quote { padding: 18px 18px 18px 18px; padding-inline-start: 56px; }
  .tp-quote .ic { inset-inline-start: 16px; font-size: 24px; }
  .tp-quote p { font-size: 15px; }
  .cp { padding: 22px 20px; }
}
@media (max-width: 560px) {
  .ft-grid { grid-template-columns: 1fr 1fr; gap: 26px 16px; }
  .ft-col ul { font-size: 13px; }
  .ft-cta-actions { flex-direction: column; }
  .ft-cta-actions .btn { width: 100%; }
  .ft-tools { flex-wrap: wrap; justify-content: center; }
  .user-btn span { display: none; }
  .user-btn { width: 38px; padding: 0; justify-content: center; }
}
@media (max-width: 380px) {
  .ft-grid { grid-template-columns: 1fr; }
  .brand-type b { font-size: 14px; }
}
html[data-theme="dark"] .teachers-sec { background: linear-gradient(180deg, transparent, #141330 30%, #141330 70%, transparent); }
html[data-theme="dark"] .about-band::before { opacity: .05; }
html[data-theme="dark"] .about-text p.para { color: var(--text); }
html[data-theme="dark"] .hero-chip, html[data-theme="dark"] .pc-badge, html[data-theme="dark"] .tc-spec { color: #15142E; background: rgba(241,240,250,.95); }
html[data-theme="dark"] .feature:hover { background: var(--surface-2); }
.drawer { overflow: hidden; }
.drawer:not(.open) .drawer-panel { visibility: hidden; transition: transform .4s var(--ease), visibility 0s .4s; }
html[data-theme="dark"] .dt-tabs { background: rgba(27,26,51,.88); }
html[data-theme="dark"] .dt-tabs a.on { background: var(--violet); }
.section .banner { margin-top: 56px; }
@media (max-width: 768px) { .section .banner { margin-top: 36px; } }
/* هاور مدرس: پنل رنگ خالص */
.tc-bio { background: var(--navy); padding: 18px 18px 18px; border-radius: 20px 20px 0 0; box-shadow: 0 -10px 30px rgba(20,18,50,.25); }
.tc-bio::before { content: ""; display: block; width: 34px; height: 4px; border-radius: 4px; background: var(--gold); margin-bottom: 12px; }
html[data-theme="dark"] .tc-bio { background: #2a2766; }

/* ==========================================================
   v6 — بخش ارتباط با ما (شبکه‌های اجتماعی) و مقالات
   ========================================================== */
.pc-ph.g0 { background: linear-gradient(135deg, #553CDE, #311E91); } .pc-ph.g1 { background: linear-gradient(135deg, #134B70, #201E43); }
.pc-ph.g2 { background: linear-gradient(135deg, #311E91, #134B70); } .pc-ph.g3 { background: linear-gradient(135deg, #674DEE, #134B70); }
.ft-social a:hover { background: var(--c, var(--violet)); border-color: var(--c, var(--violet)); }

/* ---------- ارتباط با ما ---------- */
.connect-sec { padding: 80px 0 90px; position: relative; }
.connect-sec.cn-contact { padding: 10px 0 60px; }
.cn-wrap { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.55fr); gap: 18px; align-items: stretch; }
.cn { --c: #553CDE; position: relative; display: flex; gap: 14px; align-items: flex-start; padding: 20px; border-radius: 22px; background: var(--surface); border: 1px solid var(--line); overflow: hidden; isolation: isolate; transition: transform .4s var(--ease), border-color .3s, box-shadow .4s; min-width: 0; }
.cn::before { content: ""; position: absolute; inset-inline-start: 0; top: 18px; bottom: 18px; width: 4px; border-radius: 4px; background: var(--c); transform: scaleY(0); transition: transform .4s var(--ease); }
.cn:hover { transform: translateY(-5px); border-color: color-mix(in srgb, var(--c) 45%, var(--line)); box-shadow: 0 22px 40px -22px color-mix(in srgb, var(--c) 70%, transparent); }
.cn:hover::before { transform: none; }
.cn-ic { width: 50px; height: 50px; border-radius: 15px; background: var(--c); color: #fff; display: grid; place-items: center; font-size: 23px; flex-shrink: 0; transition: transform .45s var(--ease); box-shadow: 0 10px 22px -10px var(--c); }
.cn:hover .cn-ic { transform: rotate(-8deg) scale(1.06); }
.cn-main { display: flex; flex-direction: column; min-width: 0; flex: 1; }
.cn-title { font-size: 16px; color: var(--ink); font-weight: 900; line-height: 1.5; }
.cn-handle { font-size: 12.5px; color: var(--c); font-weight: 800; margin-top: 1px; align-self: flex-start; }
.cn-desc { font-size: 13px; color: var(--muted); line-height: 1.95; margin-top: 6px; }
.cn-go { position: absolute; bottom: 16px; inset-inline-end: 16px; display: inline-flex; align-items: center; gap: 6px; font-size: 12px; font-weight: 800; color: var(--c); }
.cn-go span { max-width: 0; overflow: hidden; white-space: nowrap; opacity: 0; transition: max-width .4s var(--ease), opacity .3s; }
.cn-go .ic { width: 30px; height: 30px; padding: 7px; border-radius: 10px; background: color-mix(in srgb, var(--c) 12%, transparent); transition: background .3s, color .3s; }
.cn:hover .cn-go span { max-width: 120px; opacity: 1; }
.cn:hover .cn-go .ic { background: var(--c); color: #fff; }
.cn-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.cn-grid .cn { padding-bottom: 54px; }
.cn-feat { flex-direction: column; justify-content: space-between; gap: 18px; padding: 26px; background: var(--c); border: 0; color: #fff; min-height: 100%; }
.cn-feat::before { display: none; }
.cn-feat::after { content: ""; position: absolute; inset: 0; z-index: -1; background-image: radial-gradient(rgba(255,255,255,.16) 1px, transparent 1px); background-size: 18px 18px; mask-image: linear-gradient(200deg, #000 10%, transparent 70%); -webkit-mask-image: linear-gradient(200deg, #000 10%, transparent 70%); }
.cn-feat:hover { box-shadow: 0 30px 50px -24px var(--c); }
.cn-big { position: absolute; inset-inline-end: -40px; bottom: -50px; font-size: 230px; color: rgba(255,255,255,.1); z-index: -1; transition: transform 1s var(--ease); line-height: 0; }
.cn-feat:hover .cn-big { transform: rotate(-12deg) scale(1.05); }
.cn-top { display: flex; justify-content: space-between; align-items: center; width: 100%; }
.cn-feat .cn-ic { background: rgba(255,255,255,.18); box-shadow: none; backdrop-filter: blur(4px); }
.cn-live { display: inline-flex; align-items: center; gap: 7px; font-size: 12px; font-weight: 700; background: rgba(0,0,0,.16); padding: 4px 12px; border-radius: 99px; }
.cn-live i { width: 7px; height: 7px; border-radius: 50%; background: #4ade80; animation: livePing 1.8s infinite; }
.cn-feat .cn-title { color: #fff; font-size: 26px; }
.cn-feat .cn-handle { color: #fff; opacity: .85; font-size: 14px; background: rgba(255,255,255,.14); padding: 2px 12px; border-radius: 99px; margin-top: 6px; }
.cn-feat .cn-desc { color: rgba(255,255,255,.88); font-size: 14px; max-width: 340px; }
.cn-btn { display: inline-flex; align-items: center; gap: 8px; background: #fff; color: #15142E; font-weight: 800; font-size: 14px; padding: 10px 20px; border-radius: 12px; align-self: flex-start; transition: transform .3s var(--ease), box-shadow .3s; box-shadow: 0 10px 24px rgba(0,0,0,.18); }
.cn-feat:hover .cn-btn { transform: translateX(-4px); }
html[dir="ltr"] .cn-feat:hover .cn-btn { transform: translateX(4px); }
.cn-note { display: flex; align-items: center; justify-content: center; gap: 8px; margin: 26px 0 0; color: var(--muted); font-size: 13px; }
.cn-note .ic { color: var(--violet); font-size: 16px; }

/* ---------- کارت مقاله ---------- */
.ac { position: relative; display: flex; flex-direction: column; height: 100%; background: var(--surface); border: 1px solid var(--line); border-radius: 22px; overflow: hidden; transition: transform .45s var(--ease), box-shadow .45s, border-color .3s; }
.ac:hover { transform: translateY(-6px); box-shadow: 0 26px 46px -24px rgba(32,30,67,.35); border-color: transparent; }
.ac-media { position: relative; display: block; aspect-ratio: 16 / 9; overflow: hidden; background: var(--lav); flex-shrink: 0; }
.ac-media img, .ac-media .pc-ph { width: 100%; height: 100%; object-fit: cover; transition: transform 1s var(--ease); }
.ac:hover .ac-media img, .ac:hover .ac-media .pc-ph { transform: scale(1.06); }
.ac-ph-ic { position: relative; font-size: 44px; opacity: .9; }
.ac-ph-t { position: relative; font-size: 12px; font-weight: 800; letter-spacing: .5px; opacity: .8; }
.ac-cat { position: absolute; top: 12px; inset-inline-start: 12px; z-index: 2; background: rgba(255,255,255,.95); color: #15142E; font-size: 11.5px; font-weight: 800; padding: 4px 11px; border-radius: 99px; }
.ac-badge { position: absolute; top: 12px; inset-inline-end: 12px; z-index: 2; display: inline-flex; align-items: center; gap: 5px; background: var(--gold); color: #15142E; font-size: 11.5px; font-weight: 900; padding: 4px 11px; border-radius: 99px; }
.ac-body { display: flex; flex-direction: column; flex: 1; padding: 16px 18px 16px; }
.ac-meta { display: flex; flex-wrap: wrap; gap: 4px 14px; font-size: 12px; color: var(--muted); }
.ac-meta span { display: inline-flex; align-items: center; gap: 5px; }
.ac-meta .ic { color: var(--violet); font-size: 13px; }
.ac h3 { margin: 8px 0 6px; font-size: 16.5px; line-height: 1.75; font-weight: 900; color: var(--ink); }
.ac-link { transition: color .25s; }
.ac-link::after { content: ""; position: absolute; inset: 0; z-index: 1; }
.ac:hover .ac-link { color: var(--violet); }
.ac-excerpt { margin: 0 0 14px; font-size: 13.5px; line-height: 2; color: var(--muted); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.ac-foot { margin-top: auto; display: flex; align-items: center; justify-content: space-between; gap: 10px; padding-top: 12px; border-top: 1px dashed var(--line); }
.ac-author { display: flex; align-items: center; gap: 9px; min-width: 0; }
.ac-author > span:last-child { display: flex; flex-direction: column; line-height: 1.5; min-width: 0; }
.ac-author b { font-size: 13px; color: var(--ink); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ac-author small { display: inline-flex; align-items: center; gap: 4px; font-size: 11.5px; color: var(--muted); }
.ac-go { width: 36px; height: 36px; border-radius: 12px; display: grid; place-items: center; background: var(--tint); color: var(--violet); flex-shrink: 0; transition: background .3s, color .3s, transform .4s var(--ease); }
.ac:hover .ac-go { background: var(--violet); color: #fff; transform: translateX(-3px); }
html[dir="ltr"] .ac:hover .ac-go { transform: translateX(3px); }
/* کارت ویژه (افقی) */
.ac-feat { flex-direction: row; }
.ac-feat .ac-media { aspect-ratio: auto; width: 54%; min-height: 330px; }
.ac-feat .ac-body { padding: 28px 30px; justify-content: center; }
.ac-feat h3 { font-size: 23px; line-height: 1.6; margin: 12px 0 10px; }
.ac-feat .ac-excerpt { -webkit-line-clamp: 3; font-size: 14.5px; }
.ac-feat .ac-ph-ic { font-size: 70px; }
.ac-feat-wrap { margin-bottom: 34px; }
/* صفحه اصلی */
.articles-sec { padding: 80px 0 40px; }
.ac-home { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: 20px; }
.ac-home > .reveal { display: flex; }
.ac-home > .reveal > .ac { width: 100%; }
.ac-home .ac-feat { flex-direction: column; }
.ac-home .ac-feat .ac-media { width: 100%; aspect-ratio: 16 / 9; min-height: 0; }
.ac-home .ac-feat .ac-body { padding: 20px 22px; }
.ac-home .ac-feat h3 { font-size: 20px; }
.ac-home-side { display: grid; gap: 20px; }
.ac-home-side .ac { flex-direction: row; }
.ac-home-side .ac-media { width: 40%; aspect-ratio: auto; }
.ac-home-side .ac-excerpt { -webkit-line-clamp: 2; }
.ac-home-side .ac h3 { font-size: 15px; }
/* فهرست */
.ac-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
.ac-grid > div { display: flex; } .ac-grid > div > .ac { width: 100%; }
.ar-bar { align-items: center; gap: 12px; flex-wrap: wrap; }
.ar-bar .filters { margin: 0; }

/* ---------- صفحه مقاله ---------- */
.read-progress { position: fixed; top: 0; inset-inline: 0; height: 4px; z-index: 130; pointer-events: none; }
.read-progress i { display: block; height: 100%; background: linear-gradient(90deg, var(--gold), var(--violet-2)); transform-origin: right; transform: scaleX(var(--rp, 0)); }
html[dir="ltr"] .read-progress i { transform-origin: left; }
body:has(.read-progress) .scroll-progress { display: none; }
.ar-top { padding-bottom: 120px; }
.ar-hero { position: relative; z-index: 2; padding: 34px 0 10px; text-align: center; }
.ar-hero .container { max-width: 900px; display: flex; flex-direction: column; align-items: center; }
.ar-hero .crumbs { justify-content: center; }
.ar-cat { display: inline-flex; align-items: center; gap: 6px; margin-top: 14px; background: rgba(246,198,107,.14); color: var(--gold); font-weight: 800; font-size: 13px; padding: 5px 14px; border-radius: 99px; border: 1px solid rgba(246,198,107,.3); }
.ar-title { margin: 14px 0 10px; font-size: clamp(26px, 3.6vw, 42px); line-height: 1.5; font-weight: 900; color: #fff; animation: fadeUp .7s both; }
.ar-lead { margin: 0; max-width: 700px; font-size: clamp(14px, 1.4vw, 16.5px); color: rgba(255,255,255,.8); line-height: 2; }
.ar-meta { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 8px 10px; margin-top: 22px; }
.ar-author { display: inline-flex; align-items: center; gap: 9px; padding: 5px 14px 5px 6px; padding-inline-start: 6px; padding-inline-end: 14px; border-radius: 99px; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.14); transition: background .2s; text-align: start; }
.ar-author:hover { background: rgba(255,255,255,.16); }
.ar-author .pc-av { width: 34px; height: 34px; border-radius: 50%; }
.ar-author > span:last-child { display: flex; flex-direction: column; line-height: 1.4; }
.ar-author b { font-size: 13px; } .ar-author small { font-size: 11px; opacity: .7; }
.ar-chip { display: inline-flex; align-items: center; gap: 6px; padding: 7px 13px; border-radius: 99px; background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.1); font-size: 12.5px; color: rgba(255,255,255,.85); }
.ar-chip .ic { color: var(--gold); }
.ar-sec { padding: 0 0 50px; }
.ar-cover { position: relative; margin: -110px auto 40px; max-width: 1040px; aspect-ratio: 21 / 8; border-radius: 28px; overflow: hidden; box-shadow: 0 30px 60px -28px rgba(20,18,50,.5); z-index: 3; background: var(--lav); }
.ar-cover img, .ar-cover .pc-ph { width: 100%; height: 100%; object-fit: cover; }
.ar-cover .ac-ph-ic { font-size: 84px; }
.ar-cover .ac-ph-t { font-size: 14px; }
.ar-layout { display: grid; grid-template-columns: 250px minmax(0, 1fr); gap: 46px; max-width: 1040px; margin: 0 auto; align-items: start; }
.ar-side { position: sticky; top: 96px; }
.ar-side-in { display: grid; gap: 16px; }
.ar-toc, .ar-share { background: var(--surface); border: 1px solid var(--line); border-radius: 20px; padding: 16px; }
.ar-toc > b, .ar-share > b { display: flex; align-items: center; gap: 8px; font-size: 13.5px; color: var(--ink); font-weight: 900; margin-bottom: 10px; }
.ar-toc > b .ic, .ar-share > b .ic { color: var(--violet); }
.ar-toc ol { list-style: none; margin: 0; padding: 0; display: grid; gap: 2px; counter-reset: toc; }
.ar-toc li a { display: block; padding: 6px 10px; border-radius: 10px; font-size: 13px; line-height: 1.8; color: var(--muted); border-inline-start: 2px solid transparent; transition: background .2s, color .2s, border-color .2s; }
.ar-toc li.lv3 a { padding-inline-start: 22px; font-size: 12.5px; }
.ar-toc li a:hover { background: var(--surface-2); color: var(--ink); }
.ar-toc li a.on { color: var(--violet); background: var(--tint); border-color: var(--violet); font-weight: 700; }
.ar-share > div { display: flex; gap: 8px; }
.ar-share a, .ar-share button { width: 40px; height: 40px; border-radius: 12px; display: grid; place-items: center; border: 1px solid var(--line); background: var(--surface-2); color: var(--ink); font-size: 16px; transition: background .2s, color .2s, transform .25s var(--ease), border-color .2s; }
.ar-share a:hover, .ar-share button:hover { background: var(--violet); color: #fff; border-color: var(--violet); transform: translateY(-2px); }
.ar-share button.ok { background: #16a34a; color: #fff; border-color: #16a34a; }
/* متن مقاله */
.prose { font-size: 16.5px; line-height: 2.25; color: var(--text); min-width: 0; }
html[lang="en"] .prose { font-size: 17px; line-height: 1.95; }
.prose > p:first-child { font-size: 1.08em; color: var(--ink); }
.prose p { margin: 0 0 20px; }
.prose h2 { font-size: 23px; line-height: 1.6; color: var(--ink); font-weight: 900; margin: 40px 0 14px; scroll-margin-top: 96px; display: flex; align-items: center; gap: 10px; }
.prose h2::before { content: ""; width: 6px; height: 22px; border-radius: 4px; background: var(--violet); flex-shrink: 0; }
.prose h3 { font-size: 19px; color: var(--ink); font-weight: 800; margin: 28px 0 10px; scroll-margin-top: 96px; }
.prose ul, .prose ol { margin: 0 0 22px; padding: 0; list-style: none; display: grid; gap: 10px; }
.prose ul li { position: relative; padding-inline-start: 26px; }
.prose ul li::before { content: ""; position: absolute; inset-inline-start: 4px; top: .85em; width: 9px; height: 9px; border-radius: 3px; background: var(--violet); transform: rotate(45deg); }
.prose ol { counter-reset: li; }
.prose ol li { position: relative; padding-inline-start: 44px; counter-increment: li; min-height: 32px; }
.prose ol li::before { content: counter(li); position: absolute; inset-inline-start: 0; top: .2em; width: 30px; height: 30px; border-radius: 10px; background: var(--tint); color: var(--violet); font-weight: 900; font-size: 14px; display: grid; place-items: center; line-height: 1; }
html[lang="fa"] .prose ol li::before { content: counter(li, persian); }
.prose strong { color: var(--ink); font-weight: 800; }
.prose a { color: var(--violet); text-decoration: underline; text-underline-offset: 4px; }
.prose code { background: var(--surface-2); padding: 1px 7px; border-radius: 6px; font-size: .9em; }
.prose blockquote { margin: 28px 0; padding: 22px 26px; padding-inline-start: 64px; border-radius: 20px; background: var(--tint); position: relative; color: var(--ink); font-weight: 700; }
.prose blockquote::before { content: "”"; position: absolute; inset-inline-start: 20px; top: 6px; font-size: 64px; line-height: 1; color: var(--violet); font-family: Georgia, serif; }
html[dir="rtl"] .prose blockquote::before { content: "“"; }
.prose blockquote p { margin: 0; }
.prose figure { margin: 26px 0; } .prose figure img { border-radius: 18px; width: 100%; } .prose figcaption { text-align: center; color: var(--muted); font-size: 13px; margin-top: 8px; }
.ar-tags { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 34px 0 0; padding-top: 22px; border-top: 1px solid var(--line); }
.ar-tags > .ic { color: var(--muted); }
.ar-tags .tag { font-size: 12.5px; }
.ar-authorbox { display: flex; gap: 18px; align-items: flex-start; margin-top: 30px; padding: 22px; border-radius: 22px; background: var(--surface-2); border: 1px solid var(--line); }
.ar-authorbox > .pc-av { width: 76px; height: 76px; border-radius: 20px; }
.ar-authorbox > div { display: flex; flex-direction: column; min-width: 0; line-height: 1.7; }
.ar-authorbox small { color: var(--muted); font-size: 12px; }
.ar-authorbox b { font-size: 17px; color: var(--ink); }
.ab-role { color: var(--violet); font-size: 13px; font-weight: 700; }
.ar-authorbox p { margin: 8px 0 12px; font-size: 14px; line-height: 2; }
.ar-authorbox .btn { align-self: flex-start; }
.ar-nav { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-top: 26px; }
.ar-nav-a { display: flex; flex-direction: column; gap: 4px; padding: 16px 18px; border-radius: 18px; border: 1px solid var(--line); background: var(--surface); transition: border-color .25s, transform .3s var(--ease), box-shadow .3s; min-width: 0; }
.ar-nav-a:hover { border-color: var(--violet); transform: translateY(-3px); box-shadow: var(--shadow); }
.ar-nav-a small { display: inline-flex; align-items: center; gap: 6px; color: var(--muted); font-size: 12px; font-weight: 700; }
.ar-nav-a b { font-size: 14px; color: var(--ink); line-height: 1.8; }
.ar-nav-a.next { text-align: end; align-items: flex-end; }
.ar-related { padding: 30px 0 80px; background: var(--surface-2); }
html[data-theme="dark"] .ar-related { background: #13122a; }
html[data-theme="dark"] .ac-cat { background: rgba(241,240,250,.95); }
html[data-theme="dark"] .ac:hover { box-shadow: 0 26px 46px -24px rgba(0,0,0,.7); border-color: var(--line); }
html[data-theme="dark"] .cn:not(.cn-feat) { background: var(--surface); }
html[data-theme="dark"] .ar-cover { box-shadow: 0 30px 60px -28px rgba(0,0,0,.8); }

@media (max-width: 1100px) {
  .ac-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ar-layout { grid-template-columns: 210px minmax(0, 1fr); gap: 30px; }
}
@media (max-width: 992px) {
  .cn-wrap { grid-template-columns: minmax(0, 1fr); }
  .cn-feat { min-height: 260px; }
  .ac-home { grid-template-columns: minmax(0, 1fr); }
  .ac-feat .ac-media { width: 48%; min-height: 280px; }
  .ar-layout { grid-template-columns: minmax(0, 1fr); }
  .ar-side { position: static; order: 2; }
  .ar-side-in { grid-template-columns: 1fr 1fr; }
  .ar-cover { aspect-ratio: 16 / 7; }
}
@media (max-width: 768px) {
  .connect-sec { padding: 60px 0 70px; }
  .articles-sec { padding: 60px 0 30px; }
  .ac-feat { flex-direction: column; }
  .ac-feat .ac-media { width: 100%; min-height: 0; aspect-ratio: 16 / 9; }
  .ac-feat .ac-body { padding: 18px 20px; }
  .ac-feat h3 { font-size: 19px; }
  .ac-home-side .ac { flex-direction: column; }
  .ac-home-side .ac-media { width: 100%; aspect-ratio: 16 / 9; }
  .ar-top { padding-bottom: 80px; }
  .ar-cover { margin-top: -70px; border-radius: 20px; aspect-ratio: 16 / 9; margin-bottom: 26px; }
  .ar-side-in { grid-template-columns: 1fr; }
  .prose { font-size: 15.5px; line-height: 2.15; }
  .prose h2 { font-size: 19.5px; margin-top: 32px; }
  .prose blockquote { padding: 18px; padding-inline-start: 52px; }
  .prose blockquote::before { inset-inline-start: 14px; font-size: 50px; }
  .ar-authorbox { flex-direction: column; }
  .ar-nav { grid-template-columns: 1fr; }
}
@media (max-width: 560px) {
  .cn-grid { grid-template-columns: minmax(0, 1fr); gap: 12px; }
  .cn { padding: 16px; } .cn-grid .cn { padding-bottom: 16px; padding-inline-end: 56px; }
  .cn-go { bottom: auto; top: 50%; transform: translateY(-50%); }
  .cn-go span { display: none; }
  .cn-feat { padding: 22px; } .cn-feat .cn-title { font-size: 22px; }
  .ac-grid { grid-template-columns: minmax(0, 1fr); }
  .ar-meta .ar-chip { font-size: 11.5px; padding: 6px 10px; }
}
.articles-sec .see-all { margin: 34px 0 40px; }

/* ---------- v7: دکمه ورود/ثبت‌نام و فشردگی هدر ---------- */
.user-btn { white-space: nowrap; flex-shrink: 0; gap: 8px; padding: 0 14px 0 16px; background: var(--gold); color: #15142E; border-color: var(--gold); font-weight: 800; box-shadow: 0 8px 20px -8px rgba(246,198,107,.6); transition: background .2s, transform .25s var(--ease), box-shadow .25s; }
.user-btn:hover { background: #ffd789; transform: translateY(-1px); box-shadow: 0 12px 24px -8px rgba(246,198,107,.75); }
.user-btn .ic { font-size: 16px; }
.header-actions { flex-shrink: 0; }
.nav { min-width: 0; }
@media (max-width: 1320px) { .nav { margin-inline-start: 28px; } .nav a { padding: 6px 11px; font-size: 14.5px; } }
@media (max-width: 1160px) { .nav { margin-inline-start: 16px; } .nav a { padding: 6px 8px; font-size: 14px; } .header .container { gap: 12px; } .header-actions .user-btn span { display: none; } .header-actions .user-btn { width: 38px; padding: 0; justify-content: center; } }
@media (max-width: 1060px) { .header .brand-type small { display: none; } }

/* ==========================================================
   v7 — بازطراحی مقالات (مجله‌ای)
   ========================================================== */
.gen-cover { display: block; width: 100%; height: 100%; }
/* کارت استاندارد */
.ac { border-radius: 24px; border: 1px solid var(--line); box-shadow: 0 1px 0 rgba(20,18,50,.02); }
.ac-media { aspect-ratio: 16 / 10; margin: 10px 10px 0; border-radius: 18px; }
.ac-media img, .ac-media .gen-cover { width: 100%; height: 100%; object-fit: cover; transition: transform 1.1s var(--ease); }
.ac:hover .ac-media img, .ac:hover .ac-media .gen-cover { transform: scale(1.08) rotate(.6deg); }
.ac-read { position: absolute; bottom: 10px; inset-inline-start: 10px; z-index: 2; display: inline-flex; align-items: center; gap: 5px; background: rgba(15,14,34,.62); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); color: #fff; font-size: 11.5px; font-weight: 700; padding: 4px 10px; border-radius: 99px; }
.ac-body { padding: 16px 18px 16px; }
.ac-top { display: flex; align-items: center; justify-content: space-between; gap: 8px; font-size: 12px; }
.ac-kicker { display: inline-flex; align-items: center; gap: 7px; color: var(--violet); font-weight: 800; font-size: 12px; }
.ac-kicker i { width: 8px; height: 8px; border-radius: 50%; background: currentColor; box-shadow: 0 0 0 4px color-mix(in srgb, currentColor 18%, transparent); }
.ac-date { color: var(--muted); }
.ac h3 { font-size: 17px; margin: 10px 0 6px; }
.ac-excerpt { color: var(--muted); }
.ac-more { display: inline-flex; align-items: center; gap: 0; height: 36px; padding: 0 9px; border-radius: 12px; background: var(--tint); color: var(--violet); font-size: 12.5px; font-weight: 800; transition: background .3s, color .3s, gap .3s, padding .3s; }
.ac-more span { max-width: 0; overflow: hidden; white-space: nowrap; transition: max-width .45s var(--ease); }
.ac:hover .ac-more { background: var(--violet); color: #fff; gap: 6px; padding: 0 14px; }
.ac:hover .ac-more span { max-width: 120px; }
.ac-go { display: none; }
/* کارت روکش‌دار (ویژه) */
.ac-ov { position: relative; height: 100%; min-height: 440px; border-radius: 28px; overflow: hidden; isolation: isolate; color: #fff; display: flex; flex-direction: column; justify-content: space-between; box-shadow: 0 30px 60px -30px rgba(20,18,50,.55); }
.ac-ov-media { position: absolute; inset: 0; z-index: -2; }
.ac-ov-media img, .ac-ov-media .gen-cover { width: 100%; height: 100%; object-fit: cover; transition: transform 1.4s var(--ease); }
.ac-ov:hover .ac-ov-media img, .ac-ov:hover .ac-ov-media .gen-cover { transform: scale(1.06); }
.ac-ov-shade { position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(10,9,30,.05) 20%, rgba(10,9,30,.55) 55%, rgba(10,9,30,.92) 100%); }
.ac-ov-top { display: flex; justify-content: space-between; align-items: center; padding: 18px; }
.ac-ov .ac-cat, .ac-ov .ac-badge { position: static; }
.ac-ov-body { padding: 26px 28px 24px; }
.ac-ov-meta { display: flex; flex-wrap: wrap; gap: 6px 14px; font-size: 12.5px; color: rgba(255,255,255,.78); }
.ac-ov-meta span { display: inline-flex; align-items: center; gap: 5px; }
.ac-ov-meta .ic { color: var(--gold); }
.ac-ov h3 { margin: 10px 0 8px; font-size: clamp(20px, 2.2vw, 28px); line-height: 1.55; font-weight: 900; color: #fff; max-width: 640px; }
.ac-ov h3 .ac-link::after { z-index: 2; }
.ac-ov p { margin: 0 0 18px; color: rgba(255,255,255,.82); font-size: 14.5px; line-height: 2; max-width: 600px; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.ac-ov-foot { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding-top: 16px; border-top: 1px solid rgba(255,255,255,.16); }
.ac-ov .ac-author b { color: #fff; } .ac-ov .ac-author small { color: rgba(255,255,255,.7); }
.ac-ov-cta { display: inline-flex; align-items: center; gap: 8px; background: #fff; color: #15142E; font-weight: 800; font-size: 13.5px; padding: 9px 16px; border-radius: 12px; transition: transform .35s var(--ease); flex-shrink: 0; }
.ac-ov:hover .ac-ov-cta { transform: translateX(-5px); }
html[dir="ltr"] .ac-ov:hover .ac-ov-cta { transform: translateX(5px); }
.ac-ov:hover .ac-link { color: #fff; }
/* ردیف شماره‌دار */
.ac-row { position: relative; display: flex; align-items: center; gap: 14px; padding: 14px 6px; border-top: 1px solid var(--line); transition: background .25s; border-radius: 14px; }
.ac-row:first-of-type { border-top: 0; }
.ac-row:hover { background: var(--surface-2); }
.ac-row-n { font-size: 30px; font-weight: 900; line-height: 1; color: transparent; -webkit-text-stroke: 1.5px var(--violet); min-width: 44px; text-align: center; transition: color .3s; }
.ac-row:hover .ac-row-n { color: var(--violet); }
.ac-row-main { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 3px; }
.ac-row-main b { font-size: 14px; color: var(--ink); line-height: 1.75; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.ac-row-meta { display: inline-flex; align-items: center; gap: 4px; font-size: 11.5px; color: var(--muted); }
.ac-row-thumb { width: 74px; height: 60px; border-radius: 14px; overflow: hidden; flex-shrink: 0; }
.ac-row-thumb img, .ac-row-thumb .gen-cover { width: 100%; height: 100%; object-fit: cover; transition: transform .8s var(--ease); }
.ac-row:hover .ac-row-thumb img, .ac-row:hover .ac-row-thumb .gen-cover { transform: scale(1.12); }
/* صفحه مقالات */
.ar-spot { display: grid; grid-template-columns: minmax(0, 1.75fr) minmax(0, 1fr); gap: 22px; margin-bottom: 44px; }
.ar-spot-main { display: flex; } .ar-spot-main > .ac-ov { width: 100%; }
.ar-popular { background: var(--surface); border: 1px solid var(--line); border-radius: 26px; padding: 18px 16px 8px; }
.ar-popular-h { display: flex; align-items: center; gap: 10px; padding: 0 6px 12px; }
.ar-popular-h span { width: 36px; height: 36px; border-radius: 12px; background: var(--gold); color: #15142E; display: grid; place-items: center; font-size: 17px; }
.ar-popular-h b { font-size: 16px; color: var(--ink); font-weight: 900; }
.ar-toolbar { position: sticky; top: 74px; z-index: 30; display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; padding: 10px; margin-bottom: 10px; border-radius: 20px; background: color-mix(in srgb, var(--surface) 86%, transparent); backdrop-filter: blur(14px) saturate(1.4); -webkit-backdrop-filter: blur(14px) saturate(1.4); border: 1px solid var(--line); box-shadow: 0 10px 30px -18px rgba(20,18,50,.25); }
.ar-tabs { display: flex; gap: 6px; flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; margin: 0; min-width: 0; }
.ar-tabs::-webkit-scrollbar { display: none; }
.ar-tabs .filter-btn { display: inline-flex; align-items: center; gap: 7px; white-space: nowrap; border: 0; background: transparent; padding: 8px 14px; border-radius: 12px; font-size: 13.5px; color: var(--muted); }
.ar-tabs .filter-btn i { font-style: normal; font-size: 11px; font-weight: 800; min-width: 22px; height: 20px; padding: 0 6px; border-radius: 99px; background: var(--surface-2); color: var(--muted); display: inline-grid; place-items: center; }
.ar-tabs .filter-btn:hover { color: var(--ink); background: var(--surface-2); }
.ar-tabs .filter-btn.active { background: var(--navy); color: #fff; }
.ar-tabs .filter-btn.active i { background: rgba(255,255,255,.18); color: #fff; }
html[data-theme="dark"] .ar-tabs .filter-btn.active { background: var(--violet); }
.ar-tools { display: flex; gap: 8px; align-items: center; }
.ar-search { display: flex; align-items: center; gap: 8px; height: 40px; padding: 0 12px; border-radius: 12px; background: var(--surface-2); border: 1px solid transparent; transition: border-color .2s, background .2s; min-width: 220px; }
.ar-search:focus-within { border-color: var(--violet); background: var(--surface); }
.ar-search .ic { color: var(--muted); }
.ar-search input { border: 0; outline: 0; background: none; width: 100%; font-size: 13.5px; color: var(--ink); }
.ar-sort select { height: 40px; border-radius: 12px; border: 1px solid var(--line); background: var(--surface); padding: 0 12px; font-size: 13px; color: var(--ink); outline: 0; cursor: pointer; }
.ar-count { margin: 6px 4px 16px; color: var(--muted); font-size: 13px; }
.ar-empty { text-align: center; padding: 50px 0; color: var(--muted); }
.ar-empty .ic { font-size: 36px; color: var(--violet); }
.ar-news { position: relative; overflow: hidden; display: grid; grid-template-columns: auto minmax(0, 1fr) minmax(0, 1.1fr); align-items: center; gap: 22px; margin-top: 56px; padding: 28px 30px; border-radius: 26px; background: var(--indigo); color: #fff; }
.ar-news::after { content: ""; position: absolute; inset: 0; background-image: radial-gradient(rgba(255,255,255,.12) 1px, transparent 1px); background-size: 18px 18px; pointer-events: none; mask-image: linear-gradient(90deg, #000, transparent 70%); -webkit-mask-image: linear-gradient(90deg, #000, transparent 70%); }
.ar-news-art { width: 66px; height: 66px; border-radius: 20px; background: var(--gold); color: #15142E; display: grid; place-items: center; font-size: 30px; transform: rotate(-8deg); position: relative; z-index: 1; }
.ar-news-text { position: relative; z-index: 1; } .ar-news h3 { margin: 0 0 4px; font-size: 20px; font-weight: 900; } .ar-news p { margin: 0; color: rgba(255,255,255,.8); font-size: 13.5px; line-height: 1.9; }
.ar-news-form { position: relative; z-index: 1; display: flex; flex-wrap: wrap; gap: 8px; }
.ar-news-form .input { flex: 1; min-width: 0; background: rgba(255,255,255,.12); border-color: rgba(255,255,255,.2); color: #fff; }
.ar-news-form .input::placeholder { color: rgba(255,255,255,.65); }
.ar-news-form .btn { font-size: 14px; padding: 10px 18px; }
.ar-news-form .form-msg { flex-basis: 100%; font-size: 12.5px; }
html[dir="rtl"] .ar-news-form .btn .ic { transform: scaleX(-1); }
/* صفحه اصلی */
.ac-home { grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr); gap: 22px; }
.ac-home-main { display: flex; } .ac-home-main > .ac-ov { width: 100%; min-height: 520px; }
.ac-home-side { display: grid; gap: 22px; }
.ac-home-side .ac { flex-direction: row; }
.ac-home-side .ac-media { width: 42%; aspect-ratio: auto; margin: 10px; margin-inline-end: 0; }
.ac-home-side .ac-body { padding: 14px 16px; }
.ac-home-side .ac h3 { font-size: 15.5px; }
.ar-cover .gen-cover { width: 100%; height: 100%; }
@media (max-width: 1100px) { .ar-spot { grid-template-columns: minmax(0, 1fr); } .ar-popular { display: grid; grid-template-columns: 1fr 1fr; column-gap: 14px; } .ar-popular-h { grid-column: 1 / -1; } .ac-row:nth-of-type(2) { border-top: 0; } }
@media (max-width: 992px) { .ac-home { grid-template-columns: minmax(0, 1fr); } .ac-home-main > .ac-ov { min-height: 420px; } .ar-news { grid-template-columns: auto minmax(0, 1fr); } .ar-news-form { grid-column: 1 / -1; } .ar-toolbar { top: 64px; } }
@media (max-width: 768px) {
  .ac-ov { min-height: 380px; border-radius: 22px; } .ac-ov-body { padding: 20px; } .ac-ov p { -webkit-line-clamp: 3; font-size: 13.5px; }
  .ac-ov-foot { flex-wrap: wrap; }
  .ar-popular { grid-template-columns: minmax(0, 1fr); } .ac-row:nth-of-type(2) { border-top: 1px solid var(--line); }
  .ar-toolbar { position: static; } .ar-tools { width: 100%; } .ar-search { flex: 1; min-width: 0; }
  .ar-news { grid-template-columns: minmax(0, 1fr); text-align: center; padding: 24px 20px; } .ar-news-art { margin: 0 auto; }
  .ac-home-side .ac { flex-direction: column; } .ac-home-side .ac-media { width: auto; aspect-ratio: 16 / 10; margin: 10px 10px 0; }
}

/* ==========================================================
   v7 — استودیو مدال آکادمی
   ========================================================== */
.studio-sec { position: relative; overflow: hidden; padding: 90px 0 96px; background: #14132E; color: #fff; isolation: isolate; }
.studio-sec .line-title h2 { color: #fff; } .studio-sec .lt-line { background: rgba(255,255,255,.35); } .studio-sec .lt-dot { background: #fff; }
.studio-sec .sec-sub-lt { color: rgba(255,255,255,.7); }
.st-glow { position: absolute; inset: 0; z-index: -1; pointer-events: none; background: radial-gradient(600px 340px at 80% 10%, rgba(85,60,222,.35), transparent 70%), radial-gradient(500px 320px at 10% 90%, rgba(237,20,91,.18), transparent 70%); }
.st-wrap { display: grid; grid-template-columns: minmax(0, 1.7fr) minmax(0, 1fr); gap: 22px; align-items: stretch; }
.st-screen { position: relative; display: block; aspect-ratio: 16 / 9; border-radius: 26px; overflow: hidden; isolation: isolate; box-shadow: 0 40px 80px -30px rgba(0,0,0,.7), 0 0 0 1px rgba(255,255,255,.08); }
.st-screen-media { position: absolute; inset: 0; z-index: -2; }
.st-screen-media img, .st-screen-media .gen-cover { width: 100%; height: 100%; object-fit: cover; transition: transform 1.4s var(--ease), filter .6s; }
.st-screen:hover .st-screen-media img, .st-screen:hover .st-screen-media .gen-cover { transform: scale(1.05); filter: brightness(.85); }
.st-screen::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(10,9,30,.35) 0%, transparent 30%, transparent 45%, rgba(10,9,30,.9) 100%); }
.st-scan { position: absolute; inset: 0; z-index: -1; background: repeating-linear-gradient(0deg, rgba(255,255,255,.025) 0 2px, transparent 2px 4px); pointer-events: none; }
.st-top { position: absolute; top: 16px; inset-inline: 16px; display: flex; justify-content: space-between; align-items: center; gap: 8px; }
.st-rec { display: inline-flex; align-items: center; gap: 7px; background: rgba(10,9,30,.55); backdrop-filter: blur(8px); padding: 5px 12px; border-radius: 99px; font-size: 12px; font-weight: 800; }
.st-rec i { width: 8px; height: 8px; border-radius: 50%; background: #ef4444; animation: livePing 1.6s infinite; }
.st-aparat { display: inline-flex; align-items: center; gap: 6px; background: #ED145B; padding: 5px 12px; border-radius: 99px; font-size: 12px; font-weight: 800; box-shadow: 0 8px 20px -8px #ED145B; }
.st-play { position: absolute; top: 44%; left: 50%; width: 84px; height: 84px; margin: -42px 0 0 -42px; border-radius: 50%; display: grid; place-items: center; background: rgba(255,255,255,.95); color: #ED145B; font-size: 30px; box-shadow: 0 0 0 0 rgba(255,255,255,.5); animation: stPulse 2.4s infinite; transition: transform .4s var(--ease); }
.st-play .ic { margin-inline-start: 4px; }
html[dir="rtl"] .st-play .ic { margin-inline-start: 0; margin-inline-end: 4px; }
.st-screen:hover .st-play { transform: scale(1.12); }
@keyframes stPulse { 0% { box-shadow: 0 0 0 0 rgba(255,255,255,.45); } 70% { box-shadow: 0 0 0 26px rgba(255,255,255,0); } 100% { box-shadow: 0 0 0 0 rgba(255,255,255,0); } }
.st-info { position: absolute; inset-inline: 0; bottom: 0; padding: 22px 26px; display: flex; flex-direction: column; gap: 6px; }
.st-title { font-size: clamp(18px, 2vw, 24px); font-weight: 900; line-height: 1.5; }
.st-desc { color: rgba(255,255,255,.78); font-size: 13.5px; line-height: 1.9; max-width: 620px; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.st-meta { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: 6px; }
.st-dur { display: inline-flex; align-items: center; gap: 6px; font-size: 12.5px; font-weight: 700; color: rgba(255,255,255,.85); }
.st-go { display: inline-flex; align-items: center; gap: 7px; font-size: 13px; font-weight: 800; background: #fff; color: #15142E; padding: 8px 14px; border-radius: 11px; transition: transform .35s var(--ease); }
.st-screen:hover .st-go { transform: translateX(-5px); } html[dir="ltr"] .st-screen:hover .st-go { transform: translateX(5px); }
.st-list { display: flex; flex-direction: column; min-width: 0; background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.08); border-radius: 26px; padding: 16px; }
.st-list-h { display: flex; justify-content: space-between; align-items: center; padding: 2px 4px 12px; font-size: 13px; color: rgba(255,255,255,.65); }
.st-list-h b { display: inline-flex; align-items: center; gap: 7px; color: #fff; font-size: 15px; }
.st-items { display: flex; flex-direction: column; gap: 8px; flex: 1; overflow-y: auto; max-height: 420px; scrollbar-width: thin; scrollbar-color: rgba(255,255,255,.2) transparent; padding-inline-end: 2px; }
.st-item { display: flex; gap: 12px; align-items: center; padding: 8px; border-radius: 16px; transition: background .25s, transform .3s var(--ease); }
.st-item:hover { background: rgba(255,255,255,.07); transform: translateX(-3px); } html[dir="ltr"] .st-item:hover { transform: translateX(3px); }
.st-thumb { position: relative; width: 132px; aspect-ratio: 16 / 9; border-radius: 12px; overflow: hidden; flex-shrink: 0; background: #2a2850; }
.st-thumb img, .st-thumb .gen-cover { width: 100%; height: 100%; object-fit: cover; transition: transform .8s var(--ease); }
.st-item:hover .st-thumb img, .st-item:hover .st-thumb .gen-cover { transform: scale(1.1); }
.st-mini-play { position: absolute; inset: 0; display: grid; place-items: center; font-size: 18px; color: #fff; background: rgba(10,9,30,.25); transition: background .3s; }
.st-mini-play .ic { width: 34px; height: 34px; padding: 9px; border-radius: 50%; background: rgba(255,255,255,.2); backdrop-filter: blur(4px); transition: transform .35s var(--ease), background .3s; }
.st-item:hover .st-mini-play .ic { transform: scale(1.15); background: #ED145B; }
.st-thumb em { position: absolute; bottom: 5px; inset-inline-end: 5px; font-style: normal; font-size: 10.5px; font-weight: 800; background: rgba(0,0,0,.65); padding: 1px 6px; border-radius: 6px; }
.st-item-main { min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.st-item-main small { color: var(--gold); font-size: 11px; font-weight: 800; }
.st-item-main b { font-size: 13.5px; line-height: 1.7; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.st-item-main > span { font-size: 11.5px; color: rgba(255,255,255,.55); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.st-channel { margin-top: 12px; display: flex; align-items: center; gap: 10px; justify-content: center; padding: 12px; border-radius: 16px; background: #ED145B; font-weight: 800; font-size: 14px; transition: filter .2s, transform .3s var(--ease); }
.st-channel:hover { filter: brightness(1.08); transform: translateY(-2px); }
@media (max-width: 992px) { .st-wrap { grid-template-columns: minmax(0, 1fr); } .st-items { flex-direction: row; overflow-x: auto; max-height: none; scroll-snap-type: x mandatory; } .st-item { flex-direction: column; align-items: stretch; width: 220px; flex-shrink: 0; scroll-snap-align: start; } .st-thumb { width: 100%; } }
@media (max-width: 560px) { .studio-sec { padding: 64px 0 70px; } .st-screen { border-radius: 20px; aspect-ratio: 4 / 3.4; } .st-play { width: 64px; height: 64px; margin: -32px 0 0 -32px; font-size: 24px; top: 40%; } .st-info { padding: 16px; } .st-desc { -webkit-line-clamp: 2; font-size: 12.5px; } .st-item { width: 190px; } }

/* ==========================================================
   v7 — چت آنلاین پشتیبانی
   ========================================================== */
.to-top { inset-inline-end: auto; inset-inline-start: auto; left: 20px; right: auto; }
.cw { position: fixed; right: 20px; bottom: 20px; z-index: 140; font-size: 14px; }
.cw-fab { position: relative; width: 60px; height: 60px; border-radius: 20px; border: 0; background: var(--violet); color: #fff; display: grid; place-items: center; box-shadow: 0 16px 34px -10px rgba(85,60,222,.65); transition: transform .35s var(--ease), border-radius .35s var(--ease), background .3s; }
.cw-fab::before { content: ""; position: absolute; inset: 0; border-radius: inherit; border: 2px solid var(--violet); animation: cwRing 2.6s infinite; pointer-events: none; }
@keyframes cwRing { 0% { transform: scale(1); opacity: .7; } 80%, 100% { transform: scale(1.45); opacity: 0; } }
.cw-fab:hover { transform: translateY(-3px) rotate(-4deg); }
.cw-fab-ic { position: absolute; inset: 0; display: grid; place-items: center; transition: transform .45s var(--ease), opacity .3s; }
.cw-fab-ic .ic { font-size: 27px; }
.cw-fab-close { opacity: 0; transform: rotate(-90deg) scale(.6); }
.cw.open .cw-fab { border-radius: 50%; background: var(--navy); }
.cw.open .cw-fab::before { display: none; }
.cw.open .cw-fab-open { opacity: 0; transform: rotate(90deg) scale(.6); }
.cw.open .cw-fab-close { opacity: 1; transform: none; }
.cw-badge { position: absolute; top: -5px; left: -5px; min-width: 22px; height: 22px; padding: 0 6px; border-radius: 99px; background: #ef4444; color: #fff; font-size: 12px; font-weight: 900; display: grid; place-items: center; border: 2px solid var(--page, #fff); animation: cwPop .4s var(--ease); }
@keyframes cwPop { from { transform: scale(0); } }
.cw-hint { position: absolute; bottom: 74px; right: 0; width: 230px; padding: 12px 14px; padding-left: 30px; border-radius: 16px 16px 4px 16px; background: var(--surface, #fff); color: var(--text); box-shadow: 0 18px 40px -12px rgba(20,18,50,.35); border: 1px solid var(--line); display: flex; flex-direction: column; gap: 2px; cursor: pointer; opacity: 0; transform: translateY(10px) scale(.96); transform-origin: bottom right; pointer-events: none; transition: opacity .35s, transform .45s var(--ease); }
.cw-hint b { color: var(--ink); font-size: 14px; } .cw-hint span { font-size: 12.5px; color: var(--muted); }
.cw-hint-x { position: absolute; top: 6px; left: 8px; border: 0; background: none; color: var(--muted); font-size: 18px; line-height: 1; padding: 2px; }
.cw.hint .cw-hint { opacity: 1; transform: none; pointer-events: auto; }
html[dir="ltr"] .cw-hint { padding-left: 14px; padding-right: 30px; } html[dir="ltr"] .cw-hint-x { left: auto; right: 8px; }
.cw-panel { position: absolute; right: 0; bottom: 76px; width: 370px; height: min(600px, calc(100vh - 120px)); display: flex; flex-direction: column; background: var(--surface, #fff); border-radius: 26px; overflow: hidden; box-shadow: 0 40px 90px -20px rgba(15,14,40,.45), 0 0 0 1px rgba(20,18,50,.06); opacity: 0; transform: translateY(18px) scale(.94); transform-origin: bottom right; pointer-events: none; visibility: hidden; transition: opacity .3s, transform .45s var(--ease), visibility 0s .45s; }
.cw.open .cw-panel { opacity: 1; transform: none; pointer-events: auto; visibility: visible; transition: opacity .3s, transform .45s var(--ease); }
.cw-head { position: relative; display: flex; align-items: center; gap: 12px; padding: 18px 18px 22px; background: var(--navy); color: #fff; overflow: hidden; }
.cw-head::after { content: ""; position: absolute; inset: 0; background-image: radial-gradient(rgba(255,255,255,.1) 1px, transparent 1px); background-size: 16px 16px; mask-image: linear-gradient(270deg, #000, transparent 70%); -webkit-mask-image: linear-gradient(270deg, #000, transparent 70%); pointer-events: none; }
.cw-avs { display: flex; flex-shrink: 0; direction: ltr; }
.cw-avs > span { width: 38px; height: 38px; border-radius: 50%; overflow: hidden; border: 2px solid var(--navy); background: var(--lav); margin-left: -12px; }
.cw-avs > span:first-child { margin-left: 0; }
.cw-avs img { width: 100%; height: 100%; object-fit: cover; }
.cw-av-logo { display: grid; place-items: center; background: var(--violet) !important; color: #fff; }
.cw-av-logo .logo-svg { width: 20px; height: 18px; }
.cw-head-t { flex: 1; min-width: 0; display: flex; flex-direction: column; line-height: 1.5; position: relative; z-index: 1; }
.cw-head-t b { font-size: 15.5px; }
.cw-head-t small { display: inline-flex; align-items: center; gap: 6px; font-size: 12px; color: rgba(255,255,255,.75); }
.cw-on { width: 8px; height: 8px; border-radius: 50%; background: #4ade80; box-shadow: 0 0 0 3px rgba(74,222,128,.25); }
.cw-min { position: relative; z-index: 1; width: 34px; height: 34px; border-radius: 11px; border: 0; background: rgba(255,255,255,.1); color: #fff; display: grid; place-items: center; transition: background .2s; }
.cw-min:hover { background: rgba(255,255,255,.2); }
.cw-body { flex: 1; overflow-y: auto; padding: 16px 14px 10px; background: var(--surface-2, #F7F6FC); display: flex; flex-direction: column; gap: 8px; scroll-behavior: smooth; overscroll-behavior: contain; }
.cw-day { text-align: center; margin: 2px 0 6px; } .cw-day span { font-size: 11px; color: var(--muted); background: var(--surface, #fff); padding: 2px 10px; border-radius: 99px; border: 1px solid var(--line); }
.cw-list { display: flex; flex-direction: column; gap: 8px; }
.cw-msg { display: flex; align-items: flex-end; gap: 8px; max-width: 88%; }
.cw-msg.in { animation: cwIn .45s var(--ease) both; }
@keyframes cwIn { from { opacity: 0; transform: translateY(10px) scale(.96); } }
.cw-msg.user { align-self: flex-end; flex-direction: row-reverse; }
.cw-ava { width: 28px; height: 28px; border-radius: 10px; background: var(--violet); color: #fff; display: grid; place-items: center; flex-shrink: 0; }
.cw-ava .logo-svg { width: 16px; height: 14px; }
.cw-bubble { position: relative; padding: 9px 13px 6px; border-radius: 18px 18px 18px 6px; background: var(--surface, #fff); color: var(--ink); box-shadow: 0 2px 8px rgba(20,18,50,.06); border: 1px solid var(--line); min-width: 0; }
html[dir="rtl"] .cw-bubble { border-radius: 18px 18px 6px 18px; }
.cw-bubble p { margin: 0; font-size: 13.5px; line-height: 1.95; overflow-wrap: anywhere; }
.cw-bubble a { color: var(--violet); text-decoration: underline; }
.cw-who { display: block; font-size: 11px; font-weight: 800; color: var(--violet); }
.cw-msg.bot .cw-bubble { background: var(--tint, #F1EEFF); border-color: transparent; }
.cw-msg.user .cw-bubble { background: var(--violet); color: #fff; border: 0; border-radius: 18px 18px 6px 18px; }
html[dir="rtl"] .cw-msg.user .cw-bubble { border-radius: 18px 18px 18px 6px; }
.cw-msg.user .cw-bubble a { color: #fff; }
.cw-time { display: flex; align-items: center; justify-content: flex-end; gap: 4px; font-size: 10.5px; opacity: .6; margin-top: 1px; }
.cw-tick { font-style: normal; letter-spacing: -2px; } .cw-tick.p { letter-spacing: 0; }
.cw-msg.err .cw-bubble { background: #dc2626; }
.cw-err { display: block; font-size: 11px; margin-top: 2px; }
.cw-quick { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 6px; padding-inline-start: 36px; }
.cw-quick button { border: 1.5px solid color-mix(in srgb, var(--violet) 40%, transparent); background: var(--surface, #fff); color: var(--violet); font-size: 12.5px; font-weight: 700; padding: 6px 12px; border-radius: 99px; transition: background .2s, color .2s, transform .25s var(--ease); animation: cwIn .5s var(--ease) both; }
.cw-quick button:nth-child(2) { animation-delay: .08s; } .cw-quick button:nth-child(3) { animation-delay: .16s; } .cw-quick button:nth-child(4) { animation-delay: .24s; }
.cw-quick button:hover { background: var(--violet); color: #fff; transform: translateY(-1px); }
.cw-typing { display: flex; align-items: flex-end; gap: 8px; }
.cw-typing[hidden] { display: none; }
.cw-typing .cw-bubble { display: flex; gap: 4px; padding: 12px 14px; }
.cw-typing i { width: 7px; height: 7px; border-radius: 50%; background: var(--muted); animation: cwDot 1.2s infinite; }
.cw-typing i:nth-child(2) { animation-delay: .15s; } .cw-typing i:nth-child(3) { animation-delay: .3s; }
@keyframes cwDot { 0%, 60%, 100% { transform: translateY(0); opacity: .45; } 30% { transform: translateY(-5px); opacity: 1; } }
.cw-contact { margin: 0 12px 6px; padding: 12px; border-radius: 16px; background: var(--surface, #fff); border: 1px dashed color-mix(in srgb, var(--violet) 45%, transparent); display: flex; flex-direction: column; gap: 4px; animation: cwIn .45s var(--ease) both; }
.cw-contact[hidden] { display: none; }
.cw-contact b { font-size: 13px; color: var(--ink); } .cw-contact > span { font-size: 12px; color: var(--muted); line-height: 1.8; }
.cw-contact-row { display: flex; gap: 6px; margin-top: 4px; } .cw-contact-row .input { padding: 7px 10px; font-size: 13px; min-width: 0; }
.cw-contact-msg { font-size: 11.5px; } .cw-contact-msg.ok { color: #16a34a; } .cw-contact-msg.bad { color: #dc2626; }
.cw-foot { display: flex; align-items: flex-end; gap: 8px; padding: 10px 12px; border-top: 1px solid var(--line); background: var(--surface, #fff); }
.cw-foot textarea { flex: 1; resize: none; border: 1.5px solid var(--line); border-radius: 16px; padding: 10px 14px; font-size: 13.5px; line-height: 1.7; max-height: 120px; background: var(--surface-2, #F7F6FC); color: var(--ink); outline: 0; transition: border-color .2s, background .2s; }
.cw-foot textarea:focus { border-color: var(--violet); background: var(--surface, #fff); }
.cw-send { width: 44px; height: 44px; border-radius: 14px; border: 0; background: var(--line); color: var(--muted); display: grid; place-items: center; font-size: 18px; flex-shrink: 0; transition: background .25s, color .25s, transform .3s var(--ease); }
html[dir="rtl"] .cw-send .ic { transform: scaleX(-1); }
.cw.typing .cw-send { background: var(--violet); color: #fff; transform: rotate(-8deg); }
.cw-note { display: flex; align-items: center; justify-content: center; gap: 6px; font-size: 11px; color: var(--muted); padding: 0 0 9px; background: var(--surface, #fff); }
.cw-note .ic { font-size: 12px; color: #16a34a; }
body:has(.m-cta.show) .cw { bottom: 84px; }
html[data-theme="dark"] .cw-head { background: #232058; }
html[data-theme="dark"] .cw-panel { box-shadow: 0 40px 90px -20px rgba(0,0,0,.8), 0 0 0 1px rgba(255,255,255,.06); }
html[data-theme="dark"] .cw-msg.bot .cw-bubble { background: #2a2766; }
html[data-theme="dark"] .cw-send { background: #2c2a4d; }
@media (max-width: 560px) {
  .cw { right: 14px; bottom: 14px; }
  .cw-fab { width: 54px; height: 54px; border-radius: 18px; }
  .to-top { left: 14px; }
  .cw-panel { position: fixed; inset: 0; width: auto; height: auto; border-radius: 0; transform: translateY(40px); }
  .cw.open .cw-fab { opacity: 0; pointer-events: none; }
  .cw-head { padding-top: max(16px, env(safe-area-inset-top)); }
  .cw-foot { padding-bottom: max(10px, env(safe-area-inset-bottom)); }
  html.cw-lock, html.cw-lock body { overflow: hidden; }
}
@media print { .cw { display: none; } }
.cw-quick[hidden], .cw-badge[hidden] { display: none; }
.cw-head-t small span { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

/* ==========================================================
   v7 — حرکت: ورود متن از کنار، اسکرول‌تلینگ، کارت‌های سه‌بعدی
   ========================================================== */
.tx { opacity: 0; transform: translateX(var(--tx-x, 60px)); filter: blur(6px); transition: opacity .9s cubic-bezier(.2,.8,.2,1), transform 1.05s cubic-bezier(.16,1,.3,1), filter .9s; transition-delay: var(--tx-d, 0ms); }
.tx.tx-in { opacity: 1; transform: none; filter: none; }
.line-title.tx-host h2 { will-change: transform; }
/* واژه بزرگ پس‌زمینه که با اسکرول حرکت می‌کند */
.sx-host { position: relative; isolation: isolate; overflow-x: clip; }
.sx-host > .container { position: relative; z-index: 1; }
.sx-word { position: absolute; top: 18px; inset-inline: 0; z-index: 0; pointer-events: none; white-space: nowrap; text-align: center; font-weight: 900; font-size: clamp(70px, 11vw, 170px); line-height: 1; letter-spacing: -2px; color: transparent; -webkit-text-stroke: 1.5px color-mix(in srgb, var(--violet) 14%, transparent); translate: calc((var(--sp, .5) - .5) * -38vw) 0; opacity: calc(.35 + var(--se, 0) * .65); transition: opacity .3s; overflow: hidden; user-select: none; }
html[dir="ltr"] .sx-word { translate: calc((var(--sp, .5) - .5) * 38vw) 0; }
.studio-sec .sx-word, .stats-band .sx-word { -webkit-text-stroke-color: rgba(255,255,255,.07); }
html[data-theme="dark"] .sx-word { -webkit-text-stroke-color: rgba(143,124,245,.12); }
/* خطوط تیترها با اسکرول باز می‌شوند */
.sx-host .line-title .lt-line { transform: scaleX(calc(.25 + var(--se, 1) * .75)); transform-origin: center; transition: transform .2s linear; }
.sx-host .line-title h2 { translate: 0 calc((1 - var(--se, 1)) * 18px); }
/* ورود فنری بلوک‌ها */
.reveal { transition: opacity .8s var(--ease), transform 1.1s cubic-bezier(.34,1.45,.5,1), filter .8s; transition-delay: var(--d, 0ms); }
.reveal.r-zoom { transform: scale(.82) rotate(-1.5deg); }
.reveal.r-up { transform: translateY(50px) scale(.96); }
.reveal.r-right { transform: translateX(80px) rotate(1.5deg); }
.reveal.r-left { transform: translateX(-80px) rotate(-1.5deg); }
.reveal.in { transform: none; }
/* درخشش زیر نشانگر روی کارت‌ها */
.fx-glare { position: absolute; inset: 0; border-radius: inherit; pointer-events: none; z-index: 5; opacity: 0; transition: opacity .35s; background: radial-gradient(420px circle at var(--gx, 50%) var(--gy, 50%), rgba(255,255,255,.28), transparent 45%); mix-blend-mode: soft-light; }
.fx-on .fx-glare { opacity: 1; }
html[data-theme="dark"] .fx-glare { background: radial-gradient(420px circle at var(--gx, 50%) var(--gy, 50%), rgba(143,124,245,.22), transparent 45%); mix-blend-mode: screen; }
.fx-on { will-change: transform; }
[data-mag] { transition-property: transform, box-shadow, background, color, translate, border-color, opacity; transition-duration: .25s, .25s, .25s, .25s, .35s, .25s, .25s; }
/* لرزش آیکون‌ها هنگام هاور */
.why .feature:hover .feature-ic, .ccard:hover .feature-ic, .mini-feature:hover .feature-ic { animation: icWiggle .7s var(--ease); }
@keyframes icWiggle { 0% { transform: rotate(0); } 25% { transform: rotate(-12deg) scale(1.08); } 50% { transform: rotate(8deg) scale(1.08); } 75% { transform: rotate(-4deg); } 100% { transform: rotate(0); } }
.pc:hover .pc-ph .logo-svg { animation: icFloat 1.6s ease-in-out infinite; }
@keyframes icFloat { 50% { transform: translateY(-6px) rotate(-4deg); } }
@media (prefers-reduced-motion: reduce) { .tx { opacity: 1; transform: none; filter: none; } .sx-word { display: none; } }
@media (max-width: 640px) { .tx { --tx-x: 0px; transform: translateY(24px); } .tx.tx-in { transform: none; } }
.st-wrap { align-items: start; }
.st-screen { width: 100%; height: auto; }
.st-items { max-height: 380px; }
@media (max-width: 560px) { .st-screen { aspect-ratio: 3 / 3.7; } .st-play { top: 34%; } }
@media (min-width: 993px) { .st-wrap { align-items: stretch; } .st-screen { align-self: start; } .st-list { height: 0; min-height: 100%; } .st-items { max-height: none; min-height: 0; } }

/* ==========================================================
   v8 — استوری‌ها
   ========================================================== */
.stories { position: relative; z-index: 3; padding: 14px 0 4px; }
.sb-row { display: flex; gap: 18px; overflow-x: auto; scrollbar-width: none; padding: 6px 4px 8px; justify-content: center; }
.sb-row::-webkit-scrollbar { display: none; }
.sb { flex-shrink: 0; display: flex; flex-direction: column; align-items: center; gap: 7px; border: 0; background: none; color: #fff; padding: 0; width: 80px; cursor: pointer; animation: sbIn .7s cubic-bezier(.34,1.56,.64,1) both; animation-delay: calc(var(--i) * 70ms + .15s); }
@keyframes sbIn { from { opacity: 0; transform: translateY(14px) scale(.6); } }
.sb-ring { position: relative; width: 72px; height: 72px; border-radius: 50%; padding: 3px; display: grid; place-items: center; isolation: isolate; transition: transform .35s var(--ease); }
.sb-ring::before { content: ""; position: absolute; inset: 0; border-radius: 50%; z-index: -1; background: conic-gradient(from 0deg, var(--gold), #ff9f6b, var(--violet-2), #8f7cf5, var(--gold)); animation: sbSpin 6s linear infinite; }
.sb.seen .sb-ring::before { background: rgba(255,255,255,.28); animation: none; }
@keyframes sbSpin { to { transform: rotate(1turn); } }
.sb-av { position: relative; width: 100%; height: 100%; border-radius: 50%; overflow: hidden; border: 3px solid var(--navy); background: #2a2766; display: grid; place-items: center; }
.sb-av img, .sb-av .gen-cover { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.sb-logo { position: relative; color: #fff; } .sb-logo .logo-svg { width: 28px; height: 25px; }
.sb:hover .sb-ring { transform: scale(1.06); }
.sb:active .sb-ring { transform: scale(.94); }
.sb:focus-visible { outline: 0; } .sb:focus-visible .sb-ring { box-shadow: 0 0 0 3px var(--navy), 0 0 0 5px #fff; }
.sb-t { font-size: 12px; font-weight: 700; max-width: 80px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; opacity: .9; }
.sb.seen .sb-t { opacity: .6; }
html[data-theme="dark"] .sb-av { border-color: #12112a; }

/* نمایشگر */
html.sv-lock, html.sv-lock body { overflow: hidden; }
.sv { position: fixed; inset: 0; z-index: 400; background: rgba(9,8,24,.985); color: #fff; opacity: 0; transition: opacity .3s; touch-action: none; }
.sv.on { opacity: 1; }
.sv-bg { position: absolute; inset: 0; overflow: hidden; opacity: .4; pointer-events: none; }
.sv-bg img, .sv-bg .gen-cover { width: 100%; height: 100%; object-fit: cover; filter: blur(60px) saturate(1.3); transform: scale(1.3); }
.sv-x { position: absolute; top: 18px; right: 18px; z-index: 5; width: 44px; height: 44px; border-radius: 50%; border: 0; background: rgba(255,255,255,.12); color: #fff; display: grid; place-items: center; transition: background .2s; }
.sv-x:hover { background: rgba(255,255,255,.22); }
.sv-x svg { width: 22px; height: 22px; }
.sv-rail { position: relative; height: 100%; display: flex; align-items: center; justify-content: center; gap: 34px; }
.sv-stage { position: relative; height: min(92vh, 860px); aspect-ratio: 9 / 16; perspective: 1600px; transform: scale(.86) translateY(30px); opacity: 0; transition: transform .5s cubic-bezier(.34,1.4,.5,1), opacity .3s; }
.sv.on .sv-stage { transform: none; opacity: 1; }
.sv-face { position: absolute; inset: 0; border-radius: 18px; overflow: hidden; background: #14132E; backface-visibility: hidden; box-shadow: 0 30px 80px rgba(0,0,0,.5); user-select: none; -webkit-user-select: none; transition: transform .25s; }
.sv-media { position: absolute; inset: 0; }
.sv-media img, .sv-media .sv-art, .sv-media .gen-cover { width: 100%; height: 100%; object-fit: cover; display: block; }
.sv-media img.contain { object-fit: contain; background: radial-gradient(circle at 50% 35%, #3B2AA8, #14132E 75%); padding: 18% 10% 30%; }
.sv-media.kb > * { animation: svKb 9s linear both; }
@keyframes svKb { from { transform: scale(1); } to { transform: scale(1.1); } }
.sv-scrim { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0,0,0,.55) 0%, transparent 22%, transparent 50%, rgba(0,0,0,.75) 100%); pointer-events: none; }
.textonly .sv-scrim { background: linear-gradient(180deg, rgba(0,0,0,.45) 0%, rgba(0,0,0,.08) 25%, rgba(0,0,0,.12) 70%, rgba(0,0,0,.45) 100%); }
.sv-top { position: absolute; top: 0; inset-inline: 0; z-index: 3; padding: 12px 12px 0; }
.sv-bars { display: flex; gap: 4px; direction: inherit; }
.sv-bars span { flex: 1; height: 3px; border-radius: 3px; background: rgba(255,255,255,.32); overflow: hidden; }
.sv-bars i { display: block; height: 100%; background: #fff; transform-origin: right; transform: scaleX(0); }
html[dir="ltr"] .sv-bars i { transform-origin: left; }
.sv-head { display: flex; align-items: center; gap: 9px; margin-top: 12px; padding-inline-end: 52px; }
.sv-av { position: relative; width: 34px; height: 34px; border-radius: 50%; overflow: hidden; border: 2px solid rgba(255,255,255,.85); flex-shrink: 0; }
.sv-av img, .sv-av .gen-cover { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.sv-head b { font-size: 14px; } .sv-head small { font-size: 12px; opacity: .7; }
.sv-pause { margin-inline-start: auto; width: 34px; height: 34px; border: 0; background: none; color: #fff; display: grid; place-items: center; opacity: .9; }
.sv-pause svg { width: 18px; height: 18px; } .sv-pause .i-pl { display: none; }
.paused .sv-pause .i-pa { display: none; } .paused .sv-pause .i-pl { display: block; }
.sv-copy { position: absolute; inset-inline: 0; bottom: 96px; z-index: 2; padding: 0 22px; pointer-events: none; }
.sv-copy h3 { margin: 0 0 8px; font-size: clamp(20px, 2.6vh, 26px); line-height: 1.55; font-weight: 900; text-shadow: 0 2px 18px rgba(0,0,0,.35); }
.sv-copy p { margin: 0; font-size: 14.5px; line-height: 1.95; opacity: .9; }
.textonly .sv-copy { top: 0; bottom: 0; display: flex; flex-direction: column; justify-content: center; text-align: center; padding: 0 30px; }
.textonly .sv-copy h3 { font-size: clamp(24px, 3.6vh, 34px); line-height: 1.6; }
.sv-copy.in h3 { animation: svUp .7s cubic-bezier(.16,1,.3,1) both .08s; } .sv-copy.in p { animation: svUp .7s cubic-bezier(.16,1,.3,1) both .22s; }
@keyframes svUp { from { opacity: 0; transform: translateY(22px); filter: blur(6px); } }
.sv-cta { position: absolute; inset-inline: 0; bottom: 22px; z-index: 4; display: flex; justify-content: center; }
.sv-cta a { display: inline-flex; flex-direction: column; align-items: center; gap: 2px; color: #fff; font-weight: 800; font-size: 13.5px; }
.sv-cta a svg { width: 22px; height: 22px; animation: svBob 1.6s ease-in-out infinite; }
.sv-cta a span { background: #fff; color: #15142E; padding: 8px 18px; border-radius: 99px; transition: transform .2s; }
.sv-cta a:hover span { transform: scale(1.04); }
@keyframes svBob { 50% { transform: translateY(-4px); } }
.sv-tap { position: absolute; top: 70px; bottom: 80px; z-index: 1; border: 0; background: none; padding: 0; cursor: pointer; -webkit-tap-highlight-color: transparent; }
.sv-tap.a { inset-inline-start: 0; width: 33%; } .sv-tap.b { inset-inline-end: 0; width: 67%; }
.sv-tap:focus-visible { outline: 2px solid rgba(255,255,255,.6); outline-offset: -6px; }
.held .sv-top, .held .sv-copy, .held .sv-cta { opacity: 0; transition: opacity .2s; }
.sv-peek { position: relative; height: min(46vh, 420px); aspect-ratio: 9 / 16; border-radius: 14px; overflow: hidden; border: 0; padding: 0; color: #fff; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px; opacity: .55; transition: opacity .25s, transform .35s var(--ease); background: #14132E; }
.sv-peek[hidden] { visibility: hidden; display: flex; }
.sv-peek:hover { opacity: .85; transform: scale(1.03); }
.sv-peek-bg { position: absolute; inset: 0; } .sv-peek-bg img, .sv-peek-bg .gen-cover { width: 100%; height: 100%; object-fit: cover; filter: brightness(.55); }
.sv-peek-av { position: relative; width: 54px; height: 54px; border-radius: 50%; overflow: hidden; border: 2px solid #fff; }
.sv-peek-av img, .sv-peek-av .gen-cover { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.sv-peek b { position: relative; font-size: 13px; } .sv-peek small { position: relative; font-size: 11px; opacity: .75; }
@media (max-width: 900px) { .sv-peek { display: none !important; } }
@media (max-width: 600px) {
  .sv { background: #000; }
  .sv-stage { height: 100%; height: 100dvh; width: 100vw; aspect-ratio: auto; }
  .sv-face { border-radius: 0; }
  .sv-x { top: 26px; right: auto; inset-inline-end: 8px; width: 36px; height: 36px; background: none; }
  html[dir="rtl"] .sv-x { left: 8px; }
  html[dir="ltr"] .sv-x { right: 8px; }
  .sv-top { padding-top: max(10px, env(safe-area-inset-top)); }
  .sb { width: 70px; } .sb-ring { width: 64px; height: 64px; } .sb-row { justify-content: flex-start; gap: 14px; }
}
@media (prefers-reduced-motion: reduce) { .sb, .sb-ring::before { animation: none; } }

/* ==========================================================
   v8 — سامانه یکدست هاور دکمه‌ها (سایه کم، بازخورد روشن)
   ========================================================== */
.btn { transition: transform .22s var(--ease), background-color .2s, color .2s, border-color .2s, box-shadow .25s; }
.btn:hover { transform: translateY(-1px); }
.btn:active { transform: translateY(0) scale(.98); }
.btn:focus-visible, .user-btn:focus-visible, .hd-btn:focus-visible, .cw-fab:focus-visible, .carousel-nav:focus-visible, .filter-btn:focus-visible { outline: 2px solid var(--violet-2); outline-offset: 3px; }
.btn-white { box-shadow: 0 1px 2px rgba(15,14,40,.12); }
.btn-white:hover { background: #F3F1FF; box-shadow: 0 4px 10px -4px rgba(15,14,40,.25); }
.btn-navy { box-shadow: none; }
.btn-navy:hover { background: #2E2B63; box-shadow: 0 4px 10px -6px rgba(32,30,67,.5); }
.btn-violet { box-shadow: none; }
.btn-violet:hover { background: #4A32CF; box-shadow: 0 4px 10px -6px rgba(85,60,222,.55); }
.btn-ghost:hover { background: var(--tint); border-color: var(--violet); color: var(--violet); box-shadow: none; }
.btn-outline-light:hover { background: rgba(255,255,255,.12); box-shadow: none; }
.see-all .btn:hover { background: var(--tint); }
.user-btn { box-shadow: none; }
.user-btn:hover { background: #FFD789; box-shadow: none; transform: translateY(-1px); }
.hd-btn:hover { transform: none; }
.carousel-nav { box-shadow: none; transition: transform .22s var(--ease), background-color .2s, color .2s; }
.carousel-nav:hover { transform: translateY(-50%) scale(1.06); box-shadow: none; background: var(--violet); color: #fff; }
.pod-play { box-shadow: 0 4px 10px -4px rgba(246,198,107,.55); }
.pod-play:hover { box-shadow: 0 6px 14px -6px rgba(246,198,107,.7); }
.cw-fab { box-shadow: 0 6px 16px -8px rgba(85,60,222,.7); }
.cw-fab:hover { transform: translateY(-2px); box-shadow: 0 8px 18px -8px rgba(85,60,222,.75); }
.cw-fab::before { animation-duration: 3.4s; }
.to-top { box-shadow: 0 4px 12px -6px rgba(15,14,40,.5); }
.cn-btn, .ac-ov-cta, .st-go, .sv-cta a span { box-shadow: none; }
.cn-feat:hover .cn-btn, .ac-ov:hover .ac-ov-cta, .st-screen:hover .st-go { background: #F3F1FF; }
.filter-btn { transition: background-color .2s, color .2s, border-color .2s; }
.filter-btn:hover:not(.active) { background: var(--tint); color: var(--violet); border-color: color-mix(in srgb, var(--violet) 40%, var(--line)); }
.ar-tabs .filter-btn:hover:not(.active) { background: var(--surface-2); color: var(--ink); }
.pc-go, .ac-more { box-shadow: none; }
.btn[disabled]:hover { transform: none; box-shadow: none; }
html[data-theme="dark"] .btn-white:hover, html[data-theme="dark"] .cn-feat:hover .cn-btn, html[data-theme="dark"] .ac-ov:hover .ac-ov-cta, html[data-theme="dark"] .st-screen:hover .st-go { background: #E4E1FA; }
html[data-theme="dark"] .btn-violet:hover { background: #6A54EC; box-shadow: none; }
html[data-theme="dark"] .btn-navy:hover { background: #3a3878; box-shadow: none; }
html[data-theme="dark"] .see-all .btn:hover { background: #262448; }

/* ==========================================================
   v9 — ورود، ثبت‌نام، کد یک‌بارمصرف
   ========================================================== */
.auth-card { max-width: 440px; padding: 28px 28px 22px; border: 1px solid var(--line); box-shadow: 0 30px 70px -30px rgba(15,14,40,.45); }
.auth-head { display: flex; gap: 14px; align-items: flex-start; margin-bottom: 18px; }
.auth-head h1 { font-size: 22px; } .auth-head .sub { margin: 2px 0 0; font-size: 13.5px; line-height: 1.9; }
.auth-ic { width: 48px; height: 48px; border-radius: 15px; background: var(--tint); color: var(--violet); display: grid; place-items: center; font-size: 22px; flex-shrink: 0; }
.auth-back { display: inline-flex; align-items: center; gap: 6px; font-size: 13px; font-weight: 700; color: var(--muted); margin-bottom: 14px; }
.auth-back:hover { color: var(--violet); }
html[dir="ltr"] .auth-back .ic { transform: scaleX(-1); }
.auth-seg { display: grid; grid-template-columns: 1fr 1fr; gap: 4px; padding: 4px; border-radius: 13px; border: 1px solid var(--line); margin-bottom: 16px; }
.auth-seg button { display: inline-flex; align-items: center; justify-content: center; gap: 6px; border: 0; background: none; padding: 8px; border-radius: 10px; font-size: 13px; font-weight: 700; color: var(--muted); transition: background .2s, color .2s; }
.auth-seg button.on { background: var(--navy); color: #fff; }
html[data-theme="dark"] .auth-seg button.on { background: var(--violet); }
.auth-step.in { animation: authIn .45s var(--ease) both; }
@keyframes authIn { from { opacity: 0; transform: translateY(10px); } }
.label-row { display: flex; justify-content: space-between; align-items: baseline; gap: 8px; }
.auth-link { border: 0; background: none; padding: 0; color: var(--violet); font-size: 12.5px; font-weight: 700; display: inline-flex; align-items: center; gap: 5px; cursor: pointer; }
.auth-link:hover { text-decoration: underline; text-underline-offset: 3px; }
.pw { position: relative; }
.pw .input { padding-inline-end: 44px; }
.pw-eye { position: absolute; top: 50%; inset-inline-end: 6px; transform: translateY(-50%); width: 34px; height: 34px; border: 0; background: none; color: var(--muted); border-radius: 9px; display: grid; place-items: center; }
.pw-eye:hover { background: var(--surface-2); color: var(--ink); } .pw-eye.on { color: var(--violet); }
.pw-meter { display: grid; grid-template-columns: repeat(4, 1fr); gap: 4px; margin-top: 8px; }
.pw-meter i { height: 4px; border-radius: 4px; background: var(--line); transition: background .3s; }
.pw-meter[data-s="1"] i:nth-child(-n+1) { background: #dc2626; } .pw-meter[data-s="2"] i:nth-child(-n+2) { background: #f59e0b; }
.pw-meter[data-s="3"] i:nth-child(-n+3) { background: #22c55e; } .pw-meter[data-s="4"] i { background: #16a34a; }
.pw-hint, .pw-match { display: block; font-size: 11.5px; color: var(--muted); margin-top: 4px; }
.pw-match.ok { color: #16a34a; } .pw-match.bad { color: #dc2626; }
.form-msg.ok { color: #16a34a; } .form-msg.bad { color: #dc2626; }
.btn.loading { pointer-events: none; opacity: .75; }
.btn.loading::before { content: ""; width: 16px; height: 16px; border-radius: 50%; border: 2px solid currentColor; border-top-color: transparent; animation: spin .7s linear infinite; }
.otp-head { text-align: center; margin-bottom: 14px; }
.otp-head b { font-size: 16px; color: var(--ink); } .otp-head p { margin: 4px 0 6px; color: var(--muted); font-size: 13px; }
.otp-boxes { display: flex; justify-content: center; gap: 10px; margin: 6px 0 18px; }
.otp-box { width: 52px; height: 58px; border-radius: 14px; border: 1.5px solid var(--line); background: var(--surface-2); text-align: center; font-size: 24px; font-weight: 900; color: var(--ink); outline: 0; transition: border-color .2s, background .2s, transform .2s; font-family: inherit; }
.otp-box:focus { border-color: var(--violet); background: var(--surface); transform: translateY(-2px); }
.otp-box.filled { border-color: color-mix(in srgb, var(--violet) 60%, var(--line)); background: var(--surface); }
.auth-otp.shake .otp-boxes { animation: shake .4s; }
@keyframes shake { 20%, 60% { transform: translateX(-6px); } 40%, 80% { transform: translateX(6px); } }
.otp-foot { display: flex; justify-content: center; margin-top: 12px; min-height: 22px; font-size: 12.5px; color: var(--muted); }
.auth-test { display: flex; align-items: center; gap: 8px; padding: 9px 12px; border-radius: 12px; background: #fff7e6; color: #92400e; font-size: 12.5px; font-weight: 700; margin-bottom: 12px; }
.auth-test[hidden] { display: none; }
html[data-theme="dark"] .auth-test { background: rgba(245,158,11,.14); color: #fcd34d; }
.auth-legal { display: flex; align-items: center; justify-content: center; gap: 6px; margin: 16px 0 0; font-size: 11.5px; color: var(--muted); text-align: center; }
.auth-legal .ic { color: #16a34a; flex-shrink: 0; }
@media (max-width: 420px) { .otp-box { width: 46px; height: 52px; font-size: 21px; } .otp-boxes { gap: 7px; } .auth-card { padding: 22px 18px 18px; } }
.auth-card [hidden] { display: none !important; }

/* ==========================================================
   v9 — خرید، درگاه، نتیجه پرداخت، صفحه پخش دوره
   ========================================================== */
.buy-owned { display: flex; align-items: center; gap: 8px; padding: 10px 12px; border-radius: 12px; background: rgba(22,163,74,.1); color: #15803d; font-weight: 700; font-size: 13px; margin-bottom: 10px; }
html[data-theme="dark"] .buy-owned { color: #86efac; }
.buy-secure { display: flex; gap: 7px; align-items: flex-start; font-size: 12px; color: var(--muted); margin: 10px 0 0; line-height: 1.8; }
.buy-secure .ic { color: #16a34a; flex-shrink: 0; margin-top: 3px; }
.buy-help { display: flex; align-items: center; justify-content: center; gap: 6px; margin-top: 10px; font-size: 12.5px; font-weight: 700; color: var(--violet); }
.buy-msg.bad { color: #dc2626; font-size: 12.5px; margin-top: 6px; }
/* درگاه آزمایشی */
.pg-test { min-height: 100vh; display: grid; place-items: center; padding: 24px 16px; background: #eef1f7; }
html[data-theme="dark"] .pg-test { background: #0F0E22; }
.pg-card { width: 100%; max-width: 440px; background: var(--surface); border-radius: 22px; padding: 22px; border: 1px solid var(--line); box-shadow: 0 30px 60px -30px rgba(15,14,40,.35); }
.pg-badge { display: flex; align-items: center; gap: 6px; background: #fff7e6; color: #92400e; padding: 8px 12px; border-radius: 12px; font-size: 12.5px; font-weight: 800; margin-bottom: 16px; }
.pg-brand { display: flex; gap: 12px; align-items: center; margin-bottom: 16px; }
.pg-brand b { display: block; color: var(--ink); } .pg-brand small { color: var(--muted); font-size: 12px; line-height: 1.8; }
.pg-logo { width: 46px; height: 46px; border-radius: 14px; background: #FFD000; color: #111; display: grid; place-items: center; font-weight: 900; flex-shrink: 0; }
.pg-sum, .pr-sum { margin: 0 0 18px; border: 1px solid var(--line); border-radius: 16px; overflow: hidden; }
.pg-sum > div, .pr-sum > div { display: flex; justify-content: space-between; gap: 12px; padding: 11px 14px; border-top: 1px solid var(--line); font-size: 13.5px; }
.pg-sum > div:first-child, .pr-sum > div:first-child { border-top: 0; }
.pg-sum dt, .pr-sum dt { color: var(--muted); } .pg-sum dd, .pr-sum dd { margin: 0; color: var(--ink); font-weight: 700; text-align: end; }
.pg-amount { background: var(--surface-2); } .pg-amount dd { color: var(--violet); font-size: 16px; }
.pg-actions { display: grid; gap: 8px; }
/* نتیجه پرداخت */
.pr-card { width: 100%; max-width: 480px; background: var(--surface); color: var(--text); border-radius: 26px; padding: 30px 28px 26px; text-align: center; box-shadow: 0 30px 70px -30px rgba(15,14,40,.45); }
.pr-ic { width: 84px; height: 84px; margin: 0 auto 14px; }
.pr-ic svg { width: 100%; height: 100%; stroke-width: 3.2; stroke-linecap: round; stroke-linejoin: round; }
.pr-card.ok .pr-ic svg { stroke: #16a34a; } .pr-card.bad .pr-ic svg { stroke: #dc2626; }
.pr-ic circle { stroke-dasharray: 152; stroke-dashoffset: 152; animation: prDraw .7s .1s cubic-bezier(.65,0,.45,1) forwards; }
.pr-ic path { stroke-dasharray: 48; stroke-dashoffset: 48; animation: prDraw .45s .7s cubic-bezier(.65,0,.45,1) forwards; }
@keyframes prDraw { to { stroke-dashoffset: 0; } }
.pr-card h1 { margin: 0 0 6px; font-size: 22px; color: var(--ink); }
.pr-text { margin: 0 0 18px; color: var(--muted); font-size: 14px; line-height: 2; }
.pr-sum { text-align: start; }
.pr-st { font-size: 12px; padding: 2px 10px; border-radius: 99px; background: var(--surface-2); }
.pr-st.paid { background: rgba(22,163,74,.12); color: #15803d; } .pr-st.failed, .pr-st.canceled { background: rgba(220,38,38,.1); color: #b91c1c; } .pr-st.pending { background: rgba(245,158,11,.14); color: #b45309; }
.pr-actions { display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; }
/* صفحه پخش دوره */
.pl-hero { padding: 26px 0 40px; position: relative; z-index: 1; }
.pl-sec { padding-top: 40px; }
.pl-grid { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 26px; align-items: start; }
.pl-main { display: grid; gap: 20px; min-width: 0; }
.pl-card { background: var(--surface); border: 1px solid var(--line); border-radius: 24px; padding: 24px; }
.pl-card-h { display: flex; gap: 14px; align-items: flex-start; margin-bottom: 18px; }
.pl-card-h h2 { margin: 0 0 4px; font-size: 19px; color: var(--ink); } .pl-card-h p { margin: 0; font-size: 13.5px; line-height: 2; }
.pl-sp { width: 52px; height: 52px; border-radius: 16px; background: var(--violet); color: #fff; display: grid; place-items: center; font-size: 22px; flex-shrink: 0; }
.pl-key { padding: 14px; border-radius: 16px; background: var(--surface-2); border: 1px dashed color-mix(in srgb, var(--violet) 40%, var(--line)); margin-bottom: 14px; }
.pl-key small { display: block; color: var(--muted); font-size: 12px; margin-bottom: 6px; }
.pl-test { font-style: normal; background: #fff7e6; color: #92400e; padding: 1px 8px; border-radius: 99px; font-size: 11px; font-weight: 800; }
.pl-key-row { display: flex; gap: 8px; align-items: center; }
.pl-key code { flex: 1; min-width: 0; font-size: 14.5px; font-weight: 800; color: var(--ink); letter-spacing: .5px; overflow-wrap: anywhere; font-family: ui-monospace, Menlo, Consolas, monospace; }
.pl-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 18px; }
.pl-steps { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; counter-reset: s; }
.pl-steps li { position: relative; padding-inline-start: 44px; counter-increment: s; display: flex; flex-direction: column; min-height: 34px; }
.pl-steps li::before { content: counter(s); position: absolute; inset-inline-start: 0; top: 0; width: 32px; height: 32px; border-radius: 10px; background: var(--tint); color: var(--violet); display: grid; place-items: center; font-weight: 900; }
html[lang="fa"] .pl-steps li::before { content: counter(s, persian); }
.pl-steps b { color: var(--ink); font-size: 14px; } .pl-steps span { color: var(--muted); font-size: 13px; line-height: 1.9; }
.pl-wait { display: flex; gap: 12px; padding: 16px; border-radius: 16px; background: rgba(245,158,11,.1); color: #92400e; }
.pl-wait div { display: flex; flex-direction: column; gap: 2px; } .pl-wait span { font-size: 13px; line-height: 1.9; }
.pl-h3 { display: flex; align-items: center; gap: 8px; margin: 0 0 14px; font-size: 16px; color: var(--ink); }
.pl-syl { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.pl-syl li { display: flex; gap: 10px; align-items: center; padding: 10px 12px; border-radius: 14px; background: var(--surface-2); }
.pl-syl span { width: 28px; height: 28px; border-radius: 9px; background: var(--navy); color: #fff; display: grid; place-items: center; font-size: 12.5px; font-weight: 800; flex-shrink: 0; }
.pl-syl b { font-size: 13.5px; color: var(--ink); font-weight: 700; }
.pl-side { position: sticky; top: 96px; }
@media (max-width: 992px) { .pl-grid { grid-template-columns: minmax(0, 1fr); } .pl-side { position: static; } }

/* ==========================================================
   v9 — پروفایل کاربری
   ========================================================== */
.pf-top { padding-bottom: 0; }
.pf-hero { position: relative; z-index: 1; padding: 30px 0 0; }
.pf-hero-in { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 24px; align-items: center; padding-bottom: 30px; }
.pf-av { position: relative; width: 112px; height: 112px; border-radius: 50%; display: grid; place-items: center; }
.pf-av > img, .pf-av > span { width: 96px; height: 96px; border-radius: 50%; object-fit: cover; }
.pf-av > span { display: grid; place-items: center; background: var(--violet); color: #fff; font-size: 34px; font-weight: 900; }
.pf-av-ring { position: absolute; inset: 0; transform: rotate(-90deg); pointer-events: none; }
.pf-av-ring circle { fill: none; stroke: rgba(255,255,255,.12); stroke-width: 5; }
.pf-av-ring .pf-av-p { stroke: var(--gold); stroke-linecap: round; stroke-dasharray: 352; stroke-dashoffset: calc(352 - 352 * var(--p) / 100); animation: pfRing 1.4s .2s cubic-bezier(.2,.8,.2,1) both; }
@keyframes pfRing { from { stroke-dashoffset: 352; } }
.pf-av-btn { position: absolute; bottom: 4px; inset-inline-end: 2px; width: 34px; height: 34px; border-radius: 50%; background: #fff; color: #15142E; display: grid; place-items: center; cursor: pointer; border: 3px solid var(--navy); transition: transform .25s var(--ease); }
.pf-av-btn:hover { transform: scale(1.08); }
.pf-av.loading > img, .pf-av.loading > span { opacity: .45; }
.pf-id h1 { margin: 0; font-size: clamp(22px, 3vw, 30px); font-weight: 900; display: flex; align-items: center; gap: 10px; }
.pf-ver { width: 24px; height: 24px; border-radius: 50%; background: #16a34a; color: #fff; display: grid; place-items: center; font-size: 13px; }
.pf-meta { display: flex; flex-wrap: wrap; gap: 6px 16px; margin: 6px 0 8px; color: rgba(255,255,255,.75); font-size: 13px; }
.pf-meta span { display: inline-flex; align-items: center; gap: 5px; } .pf-meta .ic { color: var(--gold); }
.pf-welcome { margin: 0; color: rgba(255,255,255,.65); font-size: 13.5px; max-width: 560px; }
.pf-kpis { display: grid; grid-template-columns: repeat(4, auto); gap: 8px; }
.pf-kpis > div { min-width: 92px; padding: 12px 14px; border-radius: 16px; background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.1); text-align: center; }
.pf-kpis b { display: block; font-size: 22px; font-weight: 900; line-height: 1.3; } .pf-kpis b small { font-size: 13px; opacity: .7; }
.pf-kpis span { font-size: 11.5px; color: rgba(255,255,255,.65); }
.pf { padding: 34px 0 80px; }
.pf-grid { display: grid; grid-template-columns: 250px minmax(0, 1fr); gap: 26px; align-items: start; }
.pf-nav { position: sticky; top: 92px; display: flex; flex-direction: column; gap: 4px; padding: 10px; border-radius: 22px; background: var(--surface); border: 1px solid var(--line); }
.pf-nav a { display: flex; align-items: center; gap: 10px; padding: 11px 12px; border-radius: 14px; color: var(--muted); font-weight: 700; font-size: 14px; transition: background .2s, color .2s; }
.pf-nav a .ic { font-size: 18px; flex-shrink: 0; }
.pf-nav a span { flex: 1; }
.pf-nav a em { font-style: normal; font-size: 11px; font-weight: 800; min-width: 22px; height: 20px; padding: 0 6px; border-radius: 99px; background: var(--surface-2); display: grid; place-items: center; }
.pf-nav a em.hot { background: #f59e0b; color: #fff; }
.pf-nav a:hover { background: var(--surface-2); color: var(--ink); }
.pf-nav a.on { background: var(--navy); color: #fff; } .pf-nav a.on em { background: rgba(255,255,255,.18); color: #fff; }
html[data-theme="dark"] .pf-nav a.on { background: var(--violet); }
.pf-out { margin-top: 6px; border-top: 1px solid var(--line); border-radius: 0 0 14px 14px !important; padding-top: 14px !important; }
.pf-out:hover { color: #dc2626 !important; background: rgba(220,38,38,.06) !important; }
.pf-main { min-width: 0; }
.pf-pane { display: grid; gap: 18px; }
.pf-pane[hidden] { display: none; }
.pf-pane.in { animation: authIn .45s var(--ease) both; }
.pf-pane-h { display: flex; justify-content: space-between; align-items: center; gap: 10px; flex-wrap: wrap; }
.pf-pane-h h2 { margin: 0; font-size: 20px; color: var(--ink); }
.pf-sum { font-size: 13px; color: var(--muted); } .pf-sum b { color: var(--ink); }
.pf-card { background: var(--surface); border: 1px solid var(--line); border-radius: 22px; padding: 20px; min-width: 0; }
.pf-card-h { display: flex; justify-content: space-between; align-items: baseline; gap: 10px; margin-bottom: 14px; }
.pf-card-h h3 { margin: 0; font-size: 16px; color: var(--ink); } .pf-card-h small { color: var(--muted); font-size: 12px; } .pf-card-h > b { color: var(--violet); font-size: 18px; }
.pf-more { color: var(--violet); font-size: 13px; font-weight: 700; }
.pf-cards { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr); gap: 18px; }
.pf-alert { display: flex; align-items: center; gap: 12px; padding: 14px 16px; border-radius: 18px; background: rgba(245,158,11,.1); border: 1px solid rgba(245,158,11,.3); }
.pf-alert > .ic { color: #d97706; font-size: 22px; }
.pf-alert div { flex: 1; display: flex; flex-direction: column; } .pf-alert b { color: var(--ink); font-size: 14px; } .pf-alert span { color: var(--muted); font-size: 12.5px; }
.pf-spark { width: 100%; height: 170px; display: block; overflow: visible; }
.pf-grid-l { stroke: var(--line); stroke-dasharray: 4 6; }
.pf-area { fill: color-mix(in srgb, var(--violet) 12%, transparent); animation: pfFade 1s .4s both; }
.pf-line { fill: none; stroke: var(--violet); stroke-width: 3; stroke-linecap: round; stroke-linejoin: round; stroke-dasharray: 2000; stroke-dashoffset: 2000; animation: pfDraw 1.6s .2s cubic-bezier(.65,0,.35,1) forwards; vector-effect: non-scaling-stroke; }
.pf-dot { fill: var(--surface); stroke: var(--violet); stroke-width: 3; vector-effect: non-scaling-stroke; animation: pfFade .4s calc(.6s + var(--i) * .1s) both; }
@keyframes pfDraw { to { stroke-dashoffset: 0; } } @keyframes pfFade { from { opacity: 0; } }
.pf-chart-foot { display: flex; gap: 18px; font-size: 12.5px; color: var(--muted); margin-top: 6px; } .pf-chart-foot b { color: var(--ink); }
.pf-bar { height: 10px; border-radius: 99px; background: var(--surface-2); overflow: hidden; margin-bottom: 14px; }
.pf-bar i { display: block; height: 100%; width: calc(var(--w) * 1%); background: var(--gold); border-radius: 99px; animation: pfGrow 1.2s .3s cubic-bezier(.2,.8,.2,1) both; }
@keyframes pfGrow { from { width: 0; } }
.pf-todo { list-style: none; margin: 0 0 14px; padding: 0; display: grid; gap: 8px; font-size: 13px; color: var(--muted); }
.pf-todo li { display: flex; align-items: center; gap: 8px; } .pf-todo .ic { width: 20px; height: 20px; padding: 3px; border-radius: 50%; background: var(--surface-2); color: transparent; }
.pf-todo li.ok { color: var(--ink); } .pf-todo li.ok .ic { background: #16a34a; color: #fff; }
.pf-empty { text-align: center; padding: 24px 10px; color: var(--muted); display: flex; flex-direction: column; align-items: center; gap: 8px; }
.pf-empty > .ic { font-size: 32px; color: var(--violet); opacity: .8; } .pf-empty p { margin: 0; max-width: 380px; line-height: 1.9; font-size: 13.5px; }
.pf-courses { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.pf-courses.mini { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.pf-course { display: flex; flex-direction: column; border-radius: 20px; overflow: hidden; background: var(--surface); border: 1px solid var(--line); transition: border-color .25s, transform .3s var(--ease); }
.pf-course:hover { border-color: var(--violet); transform: translateY(-3px); }
.pf-course-img { position: relative; aspect-ratio: 16 / 8; overflow: hidden; display: block; background: var(--lav); }
.pf-course-img img, .pf-course-img .gen-cover { width: 100%; height: 100%; object-fit: cover; }
.pf-play { position: absolute; inset: 0; display: grid; place-items: center; }
.pf-play .ic { width: 50px; height: 50px; padding: 14px; border-radius: 50%; background: rgba(255,255,255,.92); color: var(--violet); transition: transform .3s var(--ease); }
.pf-course:hover .pf-play .ic { transform: scale(1.1); }
.pf-course-main { display: flex; flex-direction: column; gap: 3px; padding: 14px 16px 6px; }
.pf-course-main b { color: var(--ink); font-size: 15px; } .pf-course-main small { color: var(--muted); font-size: 12px; }
.pf-course-main em { font-style: normal; display: inline-flex; align-items: center; gap: 5px; font-size: 11.5px; font-weight: 700; color: #b45309; margin-top: 4px; } .pf-course-main em.ok { color: #16a34a; }
.pf-course-go { display: flex; align-items: center; justify-content: space-between; padding: 10px 16px 14px; color: var(--violet); font-weight: 800; font-size: 13px; }
.pf-exams { display: grid; gap: 10px; }
.pf-ex { display: flex; align-items: center; gap: 14px; padding: 12px 16px; border-radius: 18px; background: var(--surface); border: 1px solid var(--line); transition: border-color .25s, background .25s; }
.pf-ex:hover { border-color: var(--violet); }
.pf-ring { --p: 0; --c: #553CDE; width: 52px; height: 52px; border-radius: 50%; flex-shrink: 0; display: grid; place-items: center; background: conic-gradient(var(--c) calc(var(--p) * 1%), var(--surface-2) 0); }
.pf-ring b { width: 40px; height: 40px; border-radius: 50%; background: var(--surface); display: grid; place-items: center; font-size: 13px; font-weight: 900; color: var(--ink); }
.pf-ex-main { flex: 1; min-width: 0; display: flex; flex-direction: column; } .pf-ex-main b { color: var(--ink); font-size: 14px; } .pf-ex-main small { color: var(--muted); font-size: 12px; }
.pf-ex-go { display: inline-flex; align-items: center; gap: 6px; color: var(--violet); font-weight: 800; font-size: 13px; }
.pf-table-card { padding: 6px; } .pf-orders td, .pf-orders th { white-space: nowrap; font-size: 13px; }
.pf-form { display: grid; gap: 4px; }
.pf-phone { display: flex; align-items: center; gap: 10px; padding: 10px 14px; border-radius: 12px; background: var(--surface-2); }
.pf-phone em { font-style: normal; font-size: 12px; font-weight: 700; color: #b45309; display: inline-flex; gap: 4px; align-items: center; } .pf-phone em.ok { color: #16a34a; }
.pf-form-foot { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; margin-top: 6px; }
.pf-note { display: flex; gap: 6px; align-items: center; font-size: 12.5px; color: var(--muted); margin: 4px 0; } .pf-note .ic { color: #16a34a; }
.pf-sessions { display: flex; align-items: center; gap: 12px; } .pf-sessions div { display: flex; flex-direction: column; } .pf-sessions small { color: var(--muted); }
.pf-sp { width: 42px; height: 42px; border-radius: 14px; background: var(--tint); color: var(--violet); display: grid; place-items: center; }
@media (max-width: 1100px) { .pf-hero-in { grid-template-columns: auto minmax(0, 1fr); } .pf-kpis { grid-column: 1 / -1; grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (max-width: 992px) {
  .pf-grid { grid-template-columns: minmax(0, 1fr); }
  .pf-nav { position: sticky; top: 64px; z-index: 20; flex-direction: row; overflow-x: auto; scrollbar-width: none; padding: 6px; border-radius: 16px; }
  .pf-nav::-webkit-scrollbar { display: none; }
  .pf-nav a { white-space: nowrap; padding: 9px 12px; font-size: 13px; }
  .pf-out { margin-top: 0; border-top: 0; padding-top: 9px !important; border-radius: 14px !important; }
  .pf-cards { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 640px) {
  .pf-hero-in { grid-template-columns: minmax(0, 1fr); justify-items: center; text-align: center; }
  .pf-id h1 { justify-content: center; } .pf-meta { justify-content: center; }
  .pf-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); width: 100%; }
  .pf-courses, .pf-courses.mini { grid-template-columns: minmax(0, 1fr); }
  .pf-ex { flex-wrap: wrap; } .pf-ex .status { order: 3; } .pf-ex-go { margin-inline-start: auto; }
}
.ft-trust { display: inline-flex; margin-top: 16px; padding: 8px; border-radius: 16px; background: #fff; }
.ft-trust img { width: 96px; height: auto; display: block; }
.ft-trust-ph { flex-direction: column; align-items: center; justify-content: center; gap: 2px; width: 120px; height: 130px; background: rgba(255,255,255,.04); border: 1.5px dashed rgba(255,255,255,.25); color: rgba(255,255,255,.7); text-align: center; font-size: 12px; font-weight: 700; }
.ft-trust-ph .ic { font-size: 26px; color: var(--gold); } .ft-trust-ph small { font-size: 10.5px; font-weight: 400; opacity: .7; line-height: 1.6; }

/* v9 — استوری‌ها: سینی شیشه‌ای، فاصله‌گذاری و جایگاه قابل تنظیم */
.stories { padding: 22px 0 6px; }
.stories .container { display: flex; }
.sb-tray { position: relative; max-width: 100%; margin-inline-end: auto; padding: 10px 14px 6px; border-radius: 26px; background: linear-gradient(135deg, rgba(255,255,255,.09), rgba(255,255,255,.03)); border: 1px solid rgba(255,255,255,.1); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); }
html[dir="rtl"] .sb-tray { margin-inline-end: 0; margin-right: auto; } /* پیش‌فرض: سمت چپ */
html[dir="ltr"] .sb-tray { margin-inline-end: 0; margin-left: auto; }
.stories[data-align="center"] .sb-tray { margin-left: auto !important; margin-right: auto !important; }
.sb-row { justify-content: flex-start; gap: var(--sb-gap, 20px); padding: 4px 2px 6px; }
.sb { width: calc(var(--sb-size, 74px) + 10px); position: relative; }
.sb-ring { width: var(--sb-size, 74px); height: var(--sb-size, 74px); transition: transform .45s cubic-bezier(.34,1.56,.64,1), filter .3s; }
.sb-ring::after { content: ""; position: absolute; inset: -6px; border-radius: 50%; z-index: -2; background: radial-gradient(closest-side, rgba(246,196,83,.45), transparent); opacity: 0; transition: opacity .35s; }
.sb:hover .sb-ring { transform: translateY(-3px) scale(1.07); }
.sb:hover .sb-ring::after { opacity: 1; }
.sb.seen .sb-ring::after { display: none; }
.sb-av img { transition: transform .6s var(--ease); }
.sb:hover .sb-av img { transform: scale(1.12); }
.sb-new { position: absolute; top: 2px; inset-inline-end: 6px; width: 13px; height: 13px; border-radius: 50%; background: #ED145B; border: 2.5px solid var(--navy); box-shadow: 0 0 0 0 rgba(237,20,91,.6); animation: sbPing 2s infinite; z-index: 2; }
.sb.seen .sb-new { display: none; }
@keyframes sbPing { 70% { box-shadow: 0 0 0 7px rgba(237,20,91,0); } 100% { box-shadow: 0 0 0 0 rgba(237,20,91,0); } }
.sb-t { max-width: calc(var(--sb-size, 74px) + 10px); transition: color .25s; }
.sb:hover .sb-t { color: var(--gold); opacity: 1; }
html[data-theme="dark"] .sb-new { border-color: #12112a; }
@media (max-width: 760px) {
  .stories { padding: 14px 0 2px; }
  .sb-tray { margin: 0 !important; width: 100%; padding: 8px 8px 4px; border-radius: 20px; }
  .sb-row { gap: 12px; }
  .sb { width: 70px; } .sb-ring { width: 62px; height: 62px; }
}
@media (prefers-reduced-motion: reduce) { .sb-new { animation: none; } }

/* ==========================================================
   v10 — تصویر هیرو، استوری‌ها زیر هیرو، پس‌زمینه بخش‌های سفید، کارت‌های موبایل، ویدئوی ویژه
   ========================================================== */
/* تصویر هیرو با نسبت اصلی */
.hero-media img { width: 92%; max-width: 470px; height: auto; aspect-ratio: 900 / 1029; object-fit: contain; }
.hero-media::before { inset-inline-start: 12%; inset-inline-end: 12%; height: 46%; }
@media (max-width: 991px) { .hero-media img { width: 92%; } }
@media (max-width: 760px) { .hero-media img { width: 70%; max-width: 330px; } }
@media (max-width: 560px) { .hero-media img { width: 82%; max-width: 300px; } }

/* استوری‌ها در نوار روشن زیر هیرو */
.stories { position: relative; z-index: 4; padding: 26px 0 0; background: transparent; }
.stories .container { justify-content: center; }
.stories .sb-tray, html[dir] .stories .sb-tray { margin-left: auto; margin-right: auto; background: var(--surface, #fff); border: 1px solid var(--line); box-shadow: 0 14px 40px -18px rgba(32,30,67,.25); backdrop-filter: none; -webkit-backdrop-filter: none; padding: 12px 18px 8px; }
.stories .sb { color: var(--ink); }
.stories .sb-av { border-color: var(--surface, #fff); }
.stories .sb.seen .sb-ring::before { background: #cfcde0; }
html[data-theme="dark"] .stories .sb.seen .sb-ring::before { background: #3a3860; }
.stories .sb-new { border-color: var(--surface, #fff); }
.stories .sb-t { opacity: 1; color: var(--text); }
.stories .sb:hover .sb-t { color: var(--violet); }
.stories + main > section:first-child { padding-top: 64px; }
@media (max-width: 760px) {
  .stories { padding-top: 18px; }
  .stories .sb-tray { width: auto; max-width: 100%; margin: 0 auto !important; }
}

/* پس‌زمینه کم‌رنگ بخش‌های سفید */
main > section:not(.stats-band):not(.studio-sec):not(.about-band) { position: relative; isolation: isolate; }
main > section:not(.stats-band):not(.studio-sec):not(.about-band)::before {
  content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none;
  background:
    radial-gradient(540px 360px at 94% 6%, rgba(85,60,222,.075), transparent 70%),
    radial-gradient(480px 340px at 4% 96%, rgba(19,75,112,.065), transparent 70%),
    radial-gradient(circle, rgba(85,60,222,.13) 1px, transparent 1.4px) 0 0 / 24px 24px;
  -webkit-mask-image: radial-gradient(55% 60% at 96% 4%, #000, transparent 72%), radial-gradient(50% 55% at 4% 96%, #000, transparent 72%);
  mask-image: radial-gradient(55% 60% at 96% 4%, #000, transparent 72%), radial-gradient(50% 55% at 4% 96%, #000, transparent 72%);
}
main > section:not(.stats-band):not(.studio-sec):not(.about-band):nth-of-type(even)::before {
  background:
    radial-gradient(520px 360px at 5% 8%, rgba(246,198,107,.10), transparent 70%),
    radial-gradient(500px 340px at 96% 94%, rgba(85,60,222,.07), transparent 70%),
    radial-gradient(circle, rgba(85,60,222,.12) 1px, transparent 1.4px) 0 0 / 24px 24px;
  -webkit-mask-image: radial-gradient(50% 58% at 4% 6%, #000, transparent 72%), radial-gradient(55% 58% at 96% 96%, #000, transparent 72%);
  mask-image: radial-gradient(50% 58% at 4% 6%, #000, transparent 72%), radial-gradient(55% 58% at 96% 96%, #000, transparent 72%);
}
html[data-theme="dark"] main > section:not(.stats-band):not(.studio-sec):not(.about-band)::before { opacity: .8; }

/* کارت‌های دوره و آزمون در موبایل: باریک‌تر با نمایش لبه کارت بعدی */
@media (max-width: 560px) {
  .carousel .pc { flex: 0 0 78%; scroll-snap-align: center; }
  .carousel-track { margin-inline: calc(var(--gutter) * -1); padding-inline: 11%; scroll-padding-inline: 11%; }
  .carousel .pc .pc-title, .carousel .pc h3 { font-size: 15px; }
}

/* ویدئوی ویژه (قالب پست اینستاگرام) */
.reels-sec { padding: 80px 0 90px; overflow: hidden; }
.rl-bg { position: absolute; inset: 0; z-index: -1; pointer-events: none; }
.rl-bg i { position: absolute; border-radius: 50%; filter: blur(70px); opacity: .45; }
.rl-bg i:nth-child(1) { width: 380px; height: 380px; background: radial-gradient(circle, #f9ce34, #ee2a7b 55%, #6228d7); top: 18%; inset-inline-end: 8%; opacity: .14; animation: orb 16s ease-in-out infinite alternate; }
.rl-bg i:nth-child(2) { width: 300px; height: 300px; background: var(--violet); bottom: 6%; inset-inline-start: 4%; opacity: .1; animation: orb 18s ease-in-out infinite alternate-reverse; }
.reels-sec .sec-sub { text-align: center; color: var(--muted); max-width: 620px; margin: -18px auto 44px; }
.rl { display: grid; grid-template-columns: minmax(0, 430px) minmax(0, 1fr); gap: 56px; align-items: center; justify-content: center; transition: opacity .22s; }
.rl.swap .rl-media, .rl.swap .rl-info > :not(.rl-list) { opacity: .35; transition: opacity .2s; }
.rl-post { position: relative; background: var(--surface, #fff); border: 1px solid var(--line); border-radius: 26px; overflow: hidden; box-shadow: 0 30px 70px -30px rgba(32,30,67,.35), 0 0 0 6px rgba(85,60,222,.04); transition: transform .5s var(--ease), box-shadow .5s var(--ease); }
.rl-post:hover { transform: translateY(-4px); box-shadow: 0 40px 80px -30px rgba(32,30,67,.42), 0 0 0 6px rgba(85,60,222,.06); }
.rl-head { display: flex; align-items: center; gap: 10px; padding: 12px 14px; }
.rl-av { width: 40px; height: 40px; border-radius: 50%; padding: 2px; background: conic-gradient(from 210deg, #f9ce34, #ee2a7b, #6228d7, #f9ce34); flex-shrink: 0; }
.rl-av-in { display: grid; place-items: center; width: 100%; height: 100%; border-radius: 50%; background: var(--navy); border: 2px solid var(--surface, #fff); color: #fff; }
.rl-av-in .logo-svg { width: 20px; height: 18px; }
.rl-who { display: flex; flex-direction: column; line-height: 1.4; min-width: 0; flex: 1; }
.rl-who b { display: inline-flex; align-items: center; gap: 4px; font-size: 13.5px; color: var(--ink); }
.rl-who b .ic { width: 15px; height: 15px; color: #3897f0; }
.rl-who small { font-size: 11.5px; color: var(--muted); }
.rl-follow { font-size: 12.5px; font-weight: 800; color: #fff; background: #0095f6; padding: 6px 14px; border-radius: 9px; transition: background .2s; }
.rl-follow:hover { background: #1877f2; }
.rl-media { position: relative; aspect-ratio: var(--ratio, 4 / 5); background: #0e0d22; overflow: hidden; cursor: pointer; transition: aspect-ratio .3s var(--ease); }
.rl-media .rl-video, .rl-media .gen-cover { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; }
.rl-play { position: absolute; top: 50%; left: 50%; width: 78px; height: 78px; margin: -39px 0 0 -39px; border-radius: 50%; border: 0; display: grid; place-items: center; background: rgba(15,14,34,.42); backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); color: #fff; font-size: 30px; transition: opacity .3s, transform .35s var(--ease); box-shadow: 0 0 0 1px rgba(255,255,255,.25) inset; }
.rl-play .ic { margin-inline-start: 4px; } html[dir="rtl"] .rl-play .ic { margin: 0 4px 0 0; }
.rl-media:hover .rl-play { transform: scale(1.08); }
.rl-media.playing .rl-play { opacity: 0; transform: scale(.7); pointer-events: none; }
.rl-media.flash.playing .rl-play { animation: rlFlash .6s; }
@keyframes rlFlash { 0% { opacity: .9; transform: scale(1); } 100% { opacity: 0; transform: scale(1.3); } }
.rl-media.no-video .rl-play, .rl-media.no-video .rl-mute, .rl-media.no-video .rl-prog { display: none; }
.rl-mute { position: absolute; bottom: 16px; inset-inline-end: 14px; width: 34px; height: 34px; border-radius: 50%; border: 0; display: grid; place-items: center; background: rgba(15,14,34,.6); color: #fff; font-size: 16px; transition: transform .25s var(--ease), background .25s; }
.rl-mute:hover { transform: scale(1.1); background: rgba(15,14,34,.8); }
.rl-mute .m-on { display: none; } .rl-mute.on .m-on { display: contents; } .rl-mute.on .m-off { display: none; } .rl-mute .m-off { display: contents; }
.rl-tag { position: absolute; top: 14px; inset-inline-start: 14px; background: rgba(255,255,255,.92); color: #15142E; font-size: 11.5px; font-weight: 800; padding: 4px 11px; border-radius: 99px; }
.rl-pop { position: absolute; top: 50%; left: 50%; width: 110px; height: 110px; margin: -55px 0 0 -55px; color: #fff; opacity: 0; pointer-events: none; filter: drop-shadow(0 8px 20px rgba(0,0,0,.35)); }
.rl-pop .ic { width: 100%; height: 100%; fill: #fff; stroke: none; }
.rl-pop.go { animation: rlPop .9s cubic-bezier(.17,.89,.32,1.28) forwards; }
@keyframes rlPop { 0% { opacity: 0; transform: scale(.2); } 15% { opacity: .95; transform: scale(1.15); } 30% { transform: scale(.95); } 45%, 75% { opacity: .95; transform: scale(1); } 100% { opacity: 0; transform: scale(1) translateY(-30px); } }
.rl-prog { position: absolute; inset-inline: 0; bottom: 0; height: 3px; background: rgba(255,255,255,.25); }
.rl-prog i { display: block; height: 100%; background: #fff; transform-origin: left; transform: scaleX(0); }
html[dir="rtl"] .rl-prog i { transform-origin: right; }
.rl-bar { display: flex; align-items: center; gap: 4px; padding: 8px 8px 2px; }
.rl-btn { width: 40px; height: 40px; border: 0; background: none; color: var(--ink); display: grid; place-items: center; border-radius: 12px; font-size: 24px; transition: transform .2s var(--ease), color .2s; }
.rl-btn:hover { transform: scale(1.1); color: var(--soft); }
.rl-like.on { color: #ed4956; } .rl-like.on .ic { fill: #ed4956; }
.rl-save.on .ic { fill: currentColor; }
.rl-btn.bump { animation: rlBump .45s var(--ease); }
@keyframes rlBump { 40% { transform: scale(1.3); } 70% { transform: scale(.92); } }
.rl-dots { flex: 1; display: flex; justify-content: center; gap: 4px; }
.rl-dots i { width: 6px; height: 6px; border-radius: 50%; background: #c7c6d4; transition: background .3s; } .rl-dots i.on { background: #0095f6; }
.rl-meta { padding: 2px 16px 16px; }
.rl-likes { display: block; font-size: 13.5px; color: var(--ink); }
.rl-capline { margin: 2px 0 0; font-size: 13.5px; color: var(--text); line-height: 1.8; }
.rl-capline b { color: var(--ink); }
.rl-info { min-width: 0; }
.rl-kicker { display: inline-flex; align-items: center; gap: 8px; font-size: 12.5px; font-weight: 800; color: var(--violet); background: var(--tint, #f1eeff); padding: 6px 14px; border-radius: 99px; }
.rl-kicker i { width: 8px; height: 8px; border-radius: 50%; background: #ee2a7b; box-shadow: 0 0 0 0 rgba(238,42,123,.5); animation: sbPing 2s infinite; }
.rl-title { font-size: clamp(22px, 2.6vw, 32px); font-weight: 900; color: var(--ink); line-height: 1.55; margin: 16px 0 10px; }
.rl-cap { color: var(--muted); font-size: 15px; line-height: 2.1; margin: 0 0 24px; max-width: 520px; }
.rl-cta { display: flex; flex-wrap: wrap; gap: 12px; }
.rl-ig .ic { color: #ee2a7b; }
.rl-list { margin-top: 34px; }
.rl-list small { display: block; font-size: 12.5px; font-weight: 800; color: var(--soft); margin-bottom: 12px; }
.rl-thumbs { display: flex; gap: 12px; overflow-x: auto; scrollbar-width: none; padding: 4px 2px 8px; }
.rl-thumbs::-webkit-scrollbar { display: none; }
.rl-th { flex: 0 0 112px; border: 0; background: none; padding: 0; text-align: start; color: var(--text); cursor: pointer; }
.rl-th-img { position: relative; display: grid; place-items: center; aspect-ratio: 4 / 5; border-radius: 14px; overflow: hidden; background: #1b1a33; color: #fff; outline: 2px solid transparent; outline-offset: 2px; transition: outline-color .25s, transform .35s var(--ease); }
.rl-th-img img, .rl-th-img .gen-cover { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.rl-th-img > .ic { position: relative; width: 28px; height: 28px; padding: 7px; border-radius: 50%; background: rgba(15,14,34,.5); }
.rl-th:hover .rl-th-img { transform: translateY(-3px); }
.rl-th.on .rl-th-img { outline-color: var(--violet); }
.rl-th-t { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; font-size: 12px; font-weight: 700; margin-top: 6px; line-height: 1.7; }
.rl-toast { position: absolute; bottom: 70px; left: 50%; transform: translateX(-50%); background: rgba(15,14,34,.88); color: #fff; font-size: 12.5px; padding: 7px 14px; border-radius: 10px; }
.rl-empty { display: flex; align-items: center; justify-content: center; gap: 10px; padding: 40px; border: 2px dashed var(--line); border-radius: 22px; color: var(--muted); font-weight: 700; }
@media (max-width: 991px) { .rl { grid-template-columns: minmax(0, 380px) minmax(0, 1fr); gap: 34px; } }
@media (max-width: 760px) {
  .reels-sec { padding: 56px 0 64px; }
  .rl { grid-template-columns: 1fr; gap: 26px; }
  .rl-post { max-width: 400px; width: 100%; margin-inline: auto; }
  .rl-info { text-align: center; } .rl-cap { margin-inline: auto; } .rl-cta { justify-content: center; }
  .rl-thumbs { justify-content: center; }
}
@media (prefers-reduced-motion: reduce) { .rl-bg i, .rl-kicker i { animation: none; } }

/* ==========================================================
   v11 — بخش «چرا آکادمی» دوستونه با مدار متحرک + تزئین کناره‌ها در صفحه‌های عریض
   ========================================================== */
.why-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 470px); gap: 70px; align-items: center; }
.why-grid .why-wrap { max-width: 640px; }
.why-art { display: grid; place-items: center; }
.orb { position: relative; width: min(470px, 100%); aspect-ratio: 1; }
.orb-glow { position: absolute; inset: 18%; border-radius: 50%; background: radial-gradient(circle, rgba(85,60,222,.22), rgba(19,75,112,.08) 55%, transparent 70%); filter: blur(10px); animation: orbPulse 6s ease-in-out infinite; }
@keyframes orbPulse { 50% { transform: scale(1.08); opacity: .8; } }
.orb-ring { position: absolute; border-radius: 50%; border: 1.5px dashed rgba(85,60,222,.28); animation: orbSpin 40s linear infinite; }
.orb-ring.r1 { inset: 24%; border-style: solid; border-color: rgba(85,60,222,.18); animation-duration: 26s; }
.orb-ring.r2 { inset: 10%; animation-duration: 44s; animation-direction: reverse; }
.orb-ring.r3 { inset: 0; border-color: rgba(19,75,112,.16); animation-duration: 70s; }
@keyframes orbSpin { to { transform: rotate(1turn); } }
.orb-sat, .orb-dot { position: absolute; inset: 0; transform: rotate(var(--a)); pointer-events: none; }
.orb-face { position: absolute; top: 0; left: 50%; width: 58px; height: 58px; margin: -29px 0 0 -29px; border-radius: 50%; overflow: hidden; background: linear-gradient(135deg, var(--violet), var(--teal)); border: 3px solid var(--surface, #fff); box-shadow: 0 10px 24px -6px rgba(32,30,67,.35); display: grid; place-items: center; color: #fff; font-weight: 900; font-size: 20px;
  rotate: calc(var(--a) * -1); animation: orbUpright 26s linear infinite; }
@keyframes orbUpright { to { transform: rotate(-1turn); } }
.r2 .orb-face { width: 50px; height: 50px; margin: -25px 0 0 -25px; animation-duration: 44s; animation-name: orbUprightR; }
@keyframes orbUprightR { to { transform: rotate(1turn); } }
.orb-face img { width: 100%; height: 100%; object-fit: cover; }
.orb-dot::before { content: ""; position: absolute; top: 0; left: 50%; width: 10px; height: 10px; margin: -5px 0 0 -5px; border-radius: 50%; background: var(--violet); box-shadow: 0 0 0 5px rgba(85,60,222,.12); }
.orb-dot.gold::before { background: var(--gold); box-shadow: 0 0 0 5px rgba(246,198,107,.18); }
.orb-core { position: absolute; inset: 36%; border-radius: 50%; background: radial-gradient(circle at 30% 25%, #3a2f8a, var(--navy) 70%); color: #fff; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px; box-shadow: 0 24px 50px -16px rgba(32,30,67,.6), inset 0 0 0 1px rgba(255,255,255,.08); }
.orb-core .logo-svg { width: 46%; height: auto; }
.orb-core small { font-size: 11.5px; font-weight: 800; opacity: .85; white-space: nowrap; }
.orb-chip { position: absolute; display: flex; flex-direction: column; align-items: center; min-width: 96px; padding: 10px 14px; border-radius: 16px; background: rgba(255,255,255,.86); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); border: 1px solid rgba(85,60,222,.12); box-shadow: 0 18px 40px -16px rgba(32,30,67,.3); animation: bob 5s ease-in-out infinite; }
.orb-chip b { font-size: 20px; font-weight: 900; color: var(--violet); line-height: 1.4; } .orb-chip small { font-size: 11.5px; color: var(--muted); font-weight: 700; white-space: nowrap; }
.orb-chip.c1 { top: 4%; inset-inline-start: -2%; }
.orb-chip.c2 { top: 62%; inset-inline-end: -6%; animation-delay: -1.6s; }
.orb-chip.c3 { bottom: 2%; inset-inline-start: 12%; animation-delay: -3.2s; }
html[data-theme="dark"] .orb-chip { background: rgba(27,26,51,.85); border-color: var(--card-line); }
.orb-spark { position: absolute; color: var(--gold); font-size: 20px; animation: orbTw 3s ease-in-out infinite; }
.orb-spark.s1 { top: 14%; inset-inline-end: 12%; } .orb-spark.s2 { bottom: 18%; inset-inline-end: 2%; font-size: 14px; animation-delay: -1s; color: var(--violet); } .orb-spark.s3 { top: 52%; inset-inline-start: 2%; font-size: 16px; animation-delay: -2s; }
@keyframes orbTw { 50% { opacity: .25; transform: scale(.7) rotate(40deg); } }
@media (max-width: 991px) {
  .why-grid { grid-template-columns: 1fr; gap: 40px; }
  .why-grid .why-wrap { max-width: 760px; margin-inline: auto; }
  .why-art { order: 2; }
  .orb { width: min(380px, 92%); }
}
@media (max-width: 560px) {
  .orb { width: 300px; }
  .orb-face { width: 44px; height: 44px; margin: -22px 0 0 -22px; } .r2 .orb-face { width: 38px; height: 38px; margin: -19px 0 0 -19px; }
  .orb-chip { min-width: 78px; padding: 7px 10px; } .orb-chip b { font-size: 16px; } .orb-chip small { font-size: 10.5px; }
  .orb-chip.c2 { inset-inline-end: -4%; }
}
@media (prefers-reduced-motion: reduce) { .orb-ring, .orb-face, .orb-glow, .orb-chip, .orb-spark { animation: none !important; } }



/* ==========================================================
   v12 — تزئین کناره‌ها: نشان‌های شناور علوم پزشکی + بازطراحی نوار استوری‌ها
   ========================================================== */
/* هاله‌های نور محو و نامنظم در پس‌زمینه کل سایت */
.side-deco { position: fixed; inset: 0; z-index: -1; pointer-events: none; overflow: hidden; }
.hl { position: absolute; border-radius: 50%; filter: blur(90px); opacity: var(--o, .14); background: var(--c); animation: hlDrift var(--t, 26s) ease-in-out infinite alternate; will-change: transform; }
.hl.h1 { --c: #7B66F0; --o: .16; width: 420px; height: 340px; top: 8%; left: -6%; --t: 28s; }
.hl.h2 { --c: #F6C66B; --o: .13; width: 300px; height: 300px; top: 34%; right: -4%; --t: 32s; animation-delay: -8s; }
.hl.h3 { --c: #5AB8E8; --o: .11; width: 360px; height: 260px; top: 63%; left: 22%; --t: 36s; animation-delay: -15s; }
.hl.h4 { --c: #E0457B; --o: .08; width: 240px; height: 240px; top: 82%; right: 14%; --t: 30s; animation-delay: -4s; }
.hl.h5 { --c: #553CDE; --o: .09; width: 280px; height: 220px; top: 16%; right: 30%; --t: 40s; animation-delay: -20s; }
@keyframes hlDrift { 0% { transform: translate(0, 0) scale(1); } 50% { transform: translate(40px, -30px) scale(1.12); } 100% { transform: translate(-30px, 35px) scale(.94); } }
html[data-theme="dark"] .hl { opacity: calc(var(--o) * .9); }
@media (max-width: 760px) {
  .hl { filter: blur(60px); } .hl.h1 { width: 240px; height: 200px; } .hl.h2 { width: 180px; height: 180px; } .hl.h3 { width: 220px; height: 160px; } .hl.h4, .hl.h5 { display: none; }
}
@media (prefers-reduced-motion: reduce) { .hl { animation: none; } }

/* نوار استوری‌ها */
.stories { padding: 30px 0 0; }
.stories .container { display: block; }
.stories .sb-tray, html[dir] .stories .sb-tray { display: flex; align-items: center; gap: 20px; width: fit-content; max-width: 100%; margin-left: auto; margin-right: auto; padding: 14px 16px 12px 22px; border-radius: 28px;
  background: var(--surface, #fff); border: 1px solid var(--line); box-shadow: 0 22px 50px -28px rgba(32,30,67,.32); }
html[dir="ltr"] .stories .sb-tray { padding: 14px 22px 12px 16px; }
.sb-head { display: flex; align-items: center; gap: 11px; flex-shrink: 0; padding-inline-end: 20px; border-inline-end: 1px solid var(--line); }
.sb-head-ic { width: 42px; height: 42px; border-radius: 14px; display: grid; place-items: center; color: #fff; font-size: 16px; background: linear-gradient(135deg, #f9ce34, #ee2a7b 50%, #6228d7); box-shadow: 0 10px 22px -10px #ee2a7b; }
.sb-head-ic .ic { margin-inline-start: 2px; }
.sb-head-t { display: flex; flex-direction: column; line-height: 1.5; }
.sb-head-t b { font-size: 15px; color: var(--ink); font-weight: 900; } .sb-head-t small { font-size: 12px; color: var(--muted); font-weight: 600; }
.sb-scroll { position: relative; min-width: 0; flex: 1; }
.stories .sb-row { gap: 16px; padding: 6px 4px 2px; scroll-snap-type: x mandatory; scroll-behavior: smooth; justify-content: flex-start; }
.sb-scroll.over .sb-row { --fs: 36px; --fe: 36px; -webkit-mask-image: linear-gradient(var(--fdir, 270deg), transparent 0, #000 var(--fs), #000 calc(100% - var(--fe)), transparent 100%); mask-image: linear-gradient(var(--fdir, 270deg), transparent 0, #000 var(--fs), #000 calc(100% - var(--fe)), transparent 100%); }
html[dir="ltr"] .sb-scroll.over .sb-row { --fdir: 90deg; }
.sb-scroll.over.at-start .sb-row { --fs: 0px; }
.sb-scroll.over.at-end .sb-row { --fe: 0px; }
.stories .sb { width: 84px; scroll-snap-align: start; gap: 9px; }
.stories .sb-ring { width: 74px; height: 74px; padding: 3px; }
.stories .sb-ring::before { background: conic-gradient(from 210deg, #f9ce34, #ee2a7b, #6228d7, #f9ce34); animation: none; }
.stories .sb:hover .sb-ring::before { animation: sbSpin 2.4s linear infinite; }
.stories .sb.seen .sb-ring { padding: 2px; }
.stories .sb.seen .sb-ring::before { background: #d9d8e6; animation: none; }
html[data-theme="dark"] .stories .sb.seen .sb-ring::before { background: #3a3860; }
.stories .sb-ring::after { display: none; }
.stories .sb-av { border: 3px solid var(--surface, #fff); }
.stories .sb-new { position: absolute; top: auto; bottom: -7px; left: 50%; inset-inline-end: auto; transform: translateX(-50%); width: auto; height: auto; padding: 1px 8px; font-size: 10px; font-weight: 900; line-height: 1.6; color: #fff;
  background: linear-gradient(90deg, #ee2a7b, #6228d7); border: 2px solid var(--surface, #fff); border-radius: 99px; box-shadow: none; animation: none; white-space: nowrap; z-index: 2; }
.stories .sb.seen .sb-new { display: none; }
.stories .sb-t { max-width: 84px; white-space: normal; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; text-align: center; line-height: 1.55; font-size: 12px; font-weight: 700; color: var(--text); opacity: 1; }
.stories .sb.seen .sb-t { color: var(--muted); }
.sb-nav { position: absolute; top: 43px; z-index: 3; width: 34px; height: 34px; margin-top: -17px; border-radius: 50%; border: 1px solid var(--line); background: var(--surface, #fff); color: var(--ink); display: grid; place-items: center; font-size: 15px; box-shadow: 0 8px 20px -8px rgba(32,30,67,.35); transition: transform .2s var(--ease); }
.sb-nav:hover { transform: scale(1.08); }
.sb-nav.prev { inset-inline-start: -14px; } .sb-nav.next { inset-inline-end: -14px; }
.sb-nav[hidden] { display: none; }
@media (max-width: 760px) {
  .stories { padding-top: 18px; }
  .stories .sb-tray, html[dir] .stories .sb-tray { flex-direction: column; align-items: stretch; gap: 10px; width: 100%; padding: 12px 10px 8px; border-radius: 22px; margin: 0 !important; }
  .sb-head { border: 0; padding: 0 6px; }
  .sb-head-ic { width: 32px; height: 32px; border-radius: 10px; font-size: 13px; }
  .sb-head-t { flex-direction: row; align-items: baseline; gap: 8px; } .sb-head-t b { font-size: 14px; }
  .stories .sb-row { gap: 12px; padding-inline: 4px; }
  .stories .sb { width: 72px; } .stories .sb-ring { width: 64px; height: 64px; } .stories .sb-t { max-width: 72px; font-size: 11.5px; }
  .sb-nav { display: none !important; }
}

/* ==========================================================
   v13 — نوار استوری‌های حرفه‌ای (بدون جعبه، هم‌سبک تیترهای سایت) + هدر بزرگ‌تر
   ========================================================== */
:root { --hh: 92px; }
.brand .logo-svg { width: 56px; height: 50px; }
.nav a { font-size: 16px; }
.hero .container { min-height: calc(660px - var(--hh)); }
.hero-text { padding: 40px 0 90px; }
.hero-media img { max-width: 520px; }
@media (max-width: 991px) { :root { --hh: 76px; } .hero .container { min-height: 0; } }
@media (max-width: 560px) { :root { --hh: 66px; } .brand .logo-svg { width: 44px; height: 40px; } }

.stories { position: relative; padding: 34px 0 6px; }
.stories::before { content: ""; position: absolute; inset: 0 0 auto; height: 100%; pointer-events: none; z-index: -1;
  background: radial-gradient(60% 120% at 50% 0%, rgba(85,60,222,.07), transparent 70%); }
.stories .sb-tray { display: none; }
.sb-top { display: flex; align-items: center; gap: 16px; max-width: 760px; margin: 0 auto 16px; }
.sb-line { flex: 1; height: 1px; background: linear-gradient(90deg, transparent, var(--line) 30%, var(--line) 70%, transparent); }
.sb-kicker { display: inline-flex; align-items: center; gap: 9px; font-size: 13px; font-weight: 800; color: var(--ink); white-space: nowrap; letter-spacing: -.1px; }
.sb-kicker i { width: 8px; height: 8px; border-radius: 50%; background: #ee2a7b; box-shadow: 0 0 0 4px rgba(238,42,123,.14); animation: sbPing 2.2s infinite; }
.sb-kicker em { font-style: normal; font-size: 11px; font-weight: 800; color: var(--violet); background: var(--tint, #f1eeff); padding: 1px 8px; border-radius: 99px; }
.stories .sb-scroll { position: relative; max-width: 100%; }
.stories .sb-row { justify-content: center; gap: 30px; padding: 8px 6px 6px; }
.sb-scroll.over .sb-row { justify-content: flex-start; }
.stories .sb { width: 92px; gap: 6px; transition: transform .45s cubic-bezier(.34,1.56,.64,1); }
.stories .sb:hover { transform: translateY(-4px); }
.stories .sb-ring { width: 84px; height: 84px; padding: 3px; }
.stories .sb-ring::before { background: conic-gradient(from 210deg, #f9ce34, #ee2a7b, #6228d7, #f9ce34); box-shadow: 0 14px 30px -14px rgba(238,42,123,.55); }
.stories .sb.seen .sb-ring::before { box-shadow: none; }
.stories .sb:hover .sb-ring { transform: none; }
.stories .sb-av { border-width: 3.5px; }
.sb-play { position: absolute; inset: 3px; border-radius: 50%; display: grid; place-items: center; color: #fff; font-size: 18px; background: rgba(15,14,34,.38); opacity: 0; transform: scale(.85); transition: opacity .25s, transform .3s var(--ease); z-index: 1; }
.sb-play .ic { margin-inline-start: 3px; } html[dir="rtl"] .sb-play .ic { margin: 0 3px 0 0; }
.stories .sb:hover .sb-play, .stories .sb:focus-visible .sb-play { opacity: 1; transform: none; }
.stories .sb-new { bottom: -6px; font-size: 9.5px; padding: 0 7px; letter-spacing: .2px; }
.stories .sb-t { margin-top: 6px; font-size: 12.5px; font-weight: 800; color: var(--ink); max-width: 92px; }
.stories .sb.seen .sb-t { color: var(--text); font-weight: 700; }
.sb-ago { font-size: 10.5px; color: var(--soft); font-weight: 600; margin-top: -4px; }
.stories .sb-nav { top: 50px; }
@media (max-width: 760px) {
  .stories { padding: 22px 0 0; }
  .sb-top { margin-bottom: 10px; gap: 10px; }
  .stories .sb-row { gap: 14px; justify-content: flex-start; padding-inline: 2px; }
  .stories .sb { width: 74px; } .stories .sb-ring { width: 68px; height: 68px; } .stories .sb-t { max-width: 74px; font-size: 11.5px; }
  .sb-ago { font-size: 10px; }
}
