/* ============================================================
   سیستم طراحی — فرم / FORM.FIT
   Merged + deduplicated from upload/Exercise-Listing.html and
   upload/Single-Exercise.html (shared base + listing + single).
   Demo-only styles (demo-bar/-fab/-pop/-row/-tag/-note/-hide/-opt,
   .page switcher, comp-* styleguide, body.no-demo) are REMOVED.
   Every design class keeps its original name and values.
   Theme additions live in the clearly marked block at the end.
   ============================================================ */
:root{
  --ground:#F1EFE7; --surface:#FCFBF7; --stage:#F6F4EC;
  --ink:#1D1C16; --ink-2:#57564A; --ink-3:#807E6F;
  --line:#E2DFD1; --line-2:#D3D0BF;
  --brand:#D14E1E; --brand-deep:#A93A14; --brand-tint:#FBEAE0;
  --green:#2F7A4D; --green-tint:#E8F2EA;
  --danger:#B3261E; --danger-tint:#F9E8E4;
  --amber:#8A6A1C; --amber-tint:#F7F0DA;
  --dark:#211F19; --r:16px; --r-lg:20px;
}
*{box-sizing:border-box;margin:0;padding:0}
/* رفع باگ: display:flex/grid نویسنده، قانون UA برای [hidden] را له می‌کرد */
[hidden]{display:none!important}
html{overscroll-behavior-y:none;scroll-behavior:smooth;scroll-padding-top:74px}
body{font-family:'Vazirmatn',Tahoma,sans-serif;background:var(--ground);color:var(--ink);font-size:15.5px;line-height:1.95;overflow-x:clip;-webkit-font-smoothing:antialiased}
body.locked{overflow:hidden}
img,svg{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font-family:inherit;background:none;border:none;cursor:pointer;color:inherit}
input{font-family:inherit}
select{font-family:inherit}
ul,ol{list-style:none}
::selection{background:var(--brand);color:#fff}
:focus-visible{outline:2.5px solid var(--brand);outline-offset:2px;border-radius:6px}
button,.pop-chip,.link-chip,.tag-chip,.f-chip,.a-chip,.gal-thumb,.rel-card,.disc-row,summary,.ex-card,.player-stage{touch-action:manipulation}
.en{direction:ltr;unicode-bidi:isolate;font-family:'Space Grotesk',monospace}
.skip{position:fixed;top:-60px;right:16px;z-index:200;background:var(--ink);color:#fff;padding:10px 18px;border-radius:10px;font-size:13.5px;transition:top .2s}
.skip:focus{top:12px}
/* اهداف اسکرول زیر هدر Sticky نروند */
.ex-grid,.bank-results,#nf-sec,#t-searchwrap,#l-searchwrap{scroll-margin-top:74px}

.btn-primary,.btn-ghost{display:inline-flex;align-items:center;gap:8px;border-radius:999px;padding:11px 24px;font-size:14.5px;font-weight:700;transition:.2s}
.btn-primary{background:var(--brand);color:#fff}
.btn-primary:hover{background:var(--brand-deep)}
.btn-ghost{border:1.5px solid var(--ink);color:var(--ink)}
.btn-ghost:hover{background:var(--ink);color:var(--ground)}
.btn-primary svg,.btn-ghost svg{width:17px;height:17px}
.btn-primary:disabled{opacity:.65;cursor:default}

/* ---------- هدر (یکسان در هر دو صفحه) ---------- */
.site-header{position:sticky;top:0;z-index:60;background:rgba(241,239,231,.9);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.header-inner{max-width:1160px;margin-inline:auto;height:56px;display:flex;align-items:center;gap:26px;padding-inline:16px}
.brand{display:flex;align-items:center;gap:10px}
.brand-mark{width:34px;height:34px;border-radius:9px;background:var(--brand);color:#fff;font-family:'Lalezar';font-size:21px;display:grid;place-items:center;line-height:1;padding-top:3px}
.brand-word{font-family:'Lalezar';font-size:23px;line-height:1;position:relative;top:2px}
.brand-word small{display:block;font-family:'Space Grotesk';font-size:8.5px;letter-spacing:.34em;color:var(--ink-3);line-height:1;margin-top:1px}
.main-nav{display:none;gap:24px;font-size:14.5px;font-weight:600}
.main-nav a{color:var(--ink-2);display:inline-flex;gap:6px;align-items:center;transition:.2s}
.main-nav a:hover{color:var(--ink)}
.main-nav a.active{color:var(--brand)}
.main-nav a svg{width:16px;height:16px}
.header-actions{margin-inline-start:auto;display:flex;align-items:center;gap:10px}
.icon-btn{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;border:1px solid var(--line);background:var(--surface);transition:.2s}
.icon-btn:hover{border-color:var(--ink);color:var(--ink)}
.icon-btn svg{width:18px;height:18px}
.login-btn{display:none}
@media(min-width:960px){.main-nav{display:flex}.menu-btn{display:none}.login-btn{display:inline-flex;padding:8px 20px;font-size:13.5px}}

/* ---------- منوی کشویی موبایل ---------- */
.drawer-back{position:fixed;inset:0;background:rgba(24,23,18,.45);z-index:80;opacity:0;pointer-events:none;transition:.3s}
.drawer{position:fixed;top:0;bottom:0;right:0;width:min(85vw,330px);background:var(--surface);z-index:81;transform:translateX(102%);transition:transform .32s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;padding:18px;overscroll-behavior:contain}
body.drawer-open .drawer{transform:none}
body.drawer-open .drawer-back{opacity:1;pointer-events:auto}
.drawer-head{display:flex;align-items:center;justify-content:space-between;font-family:'Lalezar';font-size:19px;padding-bottom:14px;border-bottom:1px solid var(--line)}
.drawer-search{margin:14px 0 6px;display:flex;align-items:center;gap:10px;width:100%;border:1.5px solid var(--line-2);border-radius:12px;padding:12px 14px;color:var(--ink-3);font-size:14px;background:var(--ground);text-align:right;transition:.2s}
.drawer-search:hover{border-color:var(--brand);color:var(--brand)}
.drawer-search svg{width:17px;height:17px;flex:none}
.drawer-nav{display:flex;flex-direction:column;margin-top:8px}
.drawer-nav a{padding:13px 4px;font-weight:600;font-size:15.5px;border-bottom:1px dashed var(--line);display:flex;justify-content:space-between;align-items:center}
.drawer-nav a svg{width:15px;height:15px;color:var(--ink-3)}
.drawer-nav a.active{color:var(--brand)}
.drawer-foot{margin-top:auto;padding-top:16px}
.drawer-foot .btn-primary{width:100%;justify-content:center}

/* ---------- مودال جستجوی هدر ---------- */
.modal{position:fixed;inset:0;z-index:100;display:none}
.modal.open{display:block}
.modal-back{position:absolute;inset:0;background:rgba(24,23,18,.5)}
.modal-card{position:relative;max-width:580px;margin:9vh auto;background:var(--surface);border-radius:18px;overflow:hidden;box-shadow:0 24px 60px rgba(20,19,14,.25);animation:popIn .25s ease}
@keyframes popIn{from{opacity:0;transform:translateY(14px) scale(.98)}}
.modal-head{display:flex;align-items:center;gap:12px;padding:16px 18px;border-bottom:1px solid var(--line)}
.modal-head>svg{width:19px;height:19px;color:var(--ink-3);flex:none}
.modal-head input{flex:1;border:none;outline:none;background:none;font-size:16px;color:var(--ink)}
.modal-head input::placeholder{color:var(--ink-3)}
.modal-body{max-height:52vh;overflow-y:auto;padding:6px 14px 14px;overscroll-behavior:contain}
.modal-hint{padding:10px 18px;border-top:1px solid var(--line);font-size:11.5px;color:var(--ink-3);display:flex;gap:6px;align-items:center}
.modal-hint svg{width:13px;height:13px}
@media(max-width:640px){
  .modal-card{position:absolute;bottom:0;left:0;right:0;margin:0;border-radius:20px 20px 0 0;animation:sheetUp .3s ease}
  @keyframes sheetUp{from{transform:translateY(40px);opacity:0}}
}
.res-none{padding:22px 6px;color:var(--ink-3);font-size:14px}
.res-none a{color:var(--brand);font-weight:700}

/* ---------- ردیف نتیجه (مودال + بخش کشف) ---------- */
.disc-row{display:flex;align-items:center;gap:12px;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:10px 14px;transition:.2s;text-align:right;width:100%}
.disc-row:hover{border-color:var(--brand)}
.res-thumb{width:46px;height:46px;border-radius:10px;background:var(--stage);border:1px solid var(--line);flex:none;padding:3px}
.res-thumb img{width:100%;height:100%;object-fit:cover;border-radius:7px}
.res-thumb svg,.rel-fig svg,.gal-thumb svg{width:100%;height:100%}
.res-thumb .ex-nomedia{width:100%;height:100%;color:#C9C5B4}
.res-main{display:flex;flex-direction:column;line-height:1.6;min-width:0}
.res-main b{font-size:14.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.res-en{font-size:10.5px;color:var(--ink-3);letter-spacing:.08em}
.res-tags{margin-inline-start:auto;display:flex;gap:5px;flex-wrap:wrap}
.res-tags i{font-style:normal;font-size:10.5px;padding:2px 9px;border-radius:99px;background:var(--ground);border:1px solid var(--line);color:var(--ink-2);white-space:nowrap}
.res-go{width:26px;height:26px;border-radius:8px;display:grid;place-items:center;color:var(--brand);flex:none}
.res-go svg{width:16px;height:16px}
@media(max-width:520px){.res-tags{display:none}}

/* ---------- بدنه صفحه + Breadcrumb ---------- */
.bank-main-wrap{max-width:1160px;margin-inline:auto;padding-inline:18px}
.ex-main{max-width:1120px;margin-inline:auto;padding-inline:18px}
/* Breadcrumb — همیشه تک‌خط؛ در صفحه‌های باریک اسکرول افقی بی‌نشان */
.breadcrumb{display:flex;align-items:center;flex-wrap:nowrap;gap:6px;padding-top:13px;font-size:12.5px;color:var(--ink-3);overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch}
.breadcrumb::-webkit-scrollbar{display:none}
.breadcrumb>*{flex:none;white-space:nowrap}
.breadcrumb a{display:inline-flex;align-items:center;gap:5px;transition:.2s}
.breadcrumb a:hover{color:var(--brand)}
.breadcrumb svg.sep{width:13px;height:13px;color:var(--line-2)}
.breadcrumb .crumb-here{color:var(--ink);font-weight:600}
@media(max-width:480px){
  .breadcrumb{font-size:11px;gap:5px}
  .breadcrumb svg.sep{width:11px;height:11px}
}

/* ---------- جستجوی اصلی (کامپوننت مشترک) ---------- */
.bank-search{position:relative;display:flex;align-items:center;gap:12px;background:var(--surface);border:1.5px solid var(--line-2);border-radius:16px;padding:0 18px;height:58px;transition:border-color .2s,box-shadow .2s}
.bank-search:focus-within,.bank-search.is-focus{border-color:var(--brand);box-shadow:0 0 0 4px rgba(209,78,30,.09)}
.bank-search>svg{width:20px;height:20px;color:var(--ink-3);flex:none}
.bank-search input{flex:1;min-width:0;border:none;outline:none;background:none;font-size:16px;color:var(--ink)}
.bank-search input::placeholder{color:var(--ink-3)}
.bs-clear{display:none;width:30px;height:30px;border-radius:9px;place-items:center;color:var(--ink-3);flex:none;transition:.2s}
.bs-clear:hover{color:var(--danger)}
.bs-clear svg{width:16px;height:16px}
.bank-search.has-q .bs-clear{display:grid}
.bank-search .ic-l{display:none}
.bank-search.is-loading .ic-l{display:block;animation:spin 1s linear infinite}
.bank-search.is-loading .ic-s{display:none}
@keyframes spin{to{transform:rotate(360deg)}}
.bs-hint{display:flex;gap:8px;align-items:center;font-size:12.5px;color:var(--danger);margin-top:8px}
.bs-hint svg{width:14px;height:14px;flex:none}
.bs-hint button{color:var(--brand);font-weight:700;text-decoration:underline;font-size:12.5px}

/* ---------- Hero بانک (متن + نقشه عضلات) ---------- */
.bank-hero{padding:26px 0 26px;border-bottom:1px solid var(--line)}
/* Two-column hero: bank text + interactive muscle map (stacked on mobile).
 * Specificity note: .bank-hero-row-prefixed rules intentionally beat the
 * generic .mg-map rules further below. */
.bank-hero-row{display:grid;grid-template-columns:1fr;gap:20px;padding:26px 0;border-bottom:1px solid var(--line)}
.bank-hero-row .bank-hero{padding:0;border-bottom:0;min-width:0}
.hero-map{display:flex;flex-direction:column;gap:10px;min-width:0}
.hero-map-cap{font-family:'Lalezar';font-weight:400;font-size:18px;line-height:1.45;color:var(--ink);display:flex;align-items:baseline;gap:8px;margin:0}
.hero-map-cap small.en{font-size:10px;letter-spacing:.16em;color:var(--ink-3);font-weight:700}
.bank-hero-row .mg-map .mus-view .bh-svg{width:clamp(132px,34vw,180px)!important}
@media(min-width:1024px){
  .bank-hero-row{grid-template-columns:minmax(0,1.05fr) minmax(330px,.95fr);gap:36px;align-items:center}
  .bank-hero-row .mg-map .mus-view .bh-svg{width:clamp(158px,17vw,186px)!important}
}
.bank-kicker{display:inline-block;font-size:11px;font-weight:600;letter-spacing:.3em;color:var(--brand)}
h1.bank-title{font-family:'Lalezar';font-weight:400;font-size:clamp(30px,6vw,46px);line-height:1.35;margin:2px 0 6px}
.bank-lead{color:var(--ink-2);font-size:15px;max-width:62ch;margin-bottom:12px}
.bank-total{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--ink-2);font-weight:600;margin-bottom:20px}
.bank-total svg{width:16px;height:16px;color:var(--brand);flex:none}
.bank-total b{font-size:15px}
.bank-search-wrap{max-width:640px}
.bank-search-wrap .bank-search{height:62px;border-radius:18px}
.bank-search-wrap .bank-search input{font-size:16.5px}
.pop-row{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:12px}
.pop-label{font-size:12px;color:var(--ink-3);font-weight:600}
.pop-chip{font-size:12.5px;font-weight:600;padding:6px 15px;border-radius:99px;border:1px solid var(--line-2);background:var(--surface);color:var(--ink-2);transition:.2s}
.pop-chip:hover{border-color:var(--brand);color:var(--brand)}

/* ---------- گروه‌های عضلانی (صفحه اصلی — بعد از سئو-بلوک) ---------- */
.muscle-groups{padding:28px 0 4px}
.mg-head{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin-bottom:12px}
.mg-head h2{font-family:'Lalezar';font-weight:400;font-size:clamp(20px,3.5vw,26px);line-height:1.45;margin:0}
.mg-head h2 small.en{font-size:11px;letter-spacing:.14em;color:var(--ink-3);font-weight:700;margin-inline-start:8px}
.mg-sub{font-size:12.5px;color:var(--ink-3);margin:0 0 0 auto}
.mg-body{display:grid;grid-template-columns:1fr;gap:16px;margin-top:4px}
.mg-map{margin:0;background:var(--stage);background-image:radial-gradient(#DDDAC9 1.2px,transparent 1.3px);background-size:24px 24px;border:1px solid var(--line);border-radius:var(--r-lg);padding:18px 12px 12px;display:grid;place-items:center;gap:8px}
.mg-map .bh-wrap{gap:12px}
.mg-map .mus-view{gap:5px}
.mg-map .mus-view .bh-svg{width:clamp(128px,36vw,176px)!important;height:auto!important}
.mg-map .mus-view-cap{font-size:10px}
.mg-map figcaption{font-size:11.5px;color:var(--ink-3);text-align:center;margin:0}
.mg-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(126px,1fr));gap:8px;align-content:start}
.mg-chip{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px 13px;background:var(--surface);border:1px solid var(--line);border-radius:14px;font-size:13.5px;font-weight:600;color:var(--ink-2);min-height:44px;transition:border-color .2s,color .2s,transform .2s,box-shadow .2s}
.mg-chip:hover{border-color:var(--brand);color:var(--brand);transform:translateY(-1px);box-shadow:0 6px 16px rgba(28,42,58,.08)}
.mg-chip .mg-count{font-family:'Lalezar';font-weight:400;font-size:14.5px;line-height:1.6;color:var(--brand);background:var(--brand-tint);border-radius:8px;padding:0 9px;flex:none;transition:.2s}
.mg-chip:hover .mg-count{background:var(--brand);color:#fff}
@media(min-width:960px){
  /* The interactive map now lives beside the bank hero (see .bank-hero-row);
   * the chips grid spans the full width. */
  .mg-map .mus-view .bh-svg{width:clamp(150px,22vw,182px)!important}
}

/* ---------- Layout: سایدبار + نتایج ---------- */
.bank-layout{display:grid;gap:22px;padding:22px 0 8px}
@media(min-width:1024px){.bank-layout{grid-template-columns:264px minmax(0,1fr);align-items:start;gap:28px}}
.bank-side{display:none}
@media(min-width:1024px){.bank-side{display:block}
.side-filter{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:6px 18px 14px;position:sticky;top:74px;max-height:calc(100vh - 96px);overflow:auto}}
.sf-head{display:flex;align-items:center;justify-content:space-between;padding:14px 0 8px;border-bottom:1px solid var(--line);position:sticky;top:0;background:var(--surface)}
.sf-head b{font-family:'Lalezar';font-weight:400;font-size:19px}
.sf-reset{font-size:11.5px;color:var(--brand);font-weight:700;text-decoration:underline}
.f-group{padding:13px 0;border-bottom:1px dashed var(--line)}
.f-group:last-child{border-bottom:none}
.f-group-label{display:block;font-size:12px;font-weight:700;color:var(--ink-2);margin-bottom:8px}
.f-opts{display:flex;flex-wrap:wrap;gap:7px}
.f-chip{font-size:12.5px;font-weight:600;padding:6px 15px;border-radius:99px;border:1px solid var(--line-2);color:var(--ink-2);background:var(--surface);display:inline-flex;align-items:center;gap:6px;transition:.2s}
.f-chip:hover{border-color:var(--ink)}
.f-chip.active{background:var(--ink);border-color:var(--ink);color:var(--ground)}
.f-chip svg{width:13px;height:13px}

/* ---------- Toolbar موبایل + چیپ‌های فعال ---------- */
.res-toolbar{display:flex;align-items:flex-start;gap:10px;flex-wrap:wrap;margin-bottom:4px}
.filter-btn{display:inline-flex;align-items:center;gap:8px;border:1.5px solid var(--ink);border-radius:99px;padding:9px 18px;font-weight:700;font-size:13.5px;background:var(--surface);transition:.2s}
.filter-btn svg{width:16px;height:16px}
.fb-badge{display:none;min-width:20px;height:20px;border-radius:99px;background:var(--brand);color:#fff;font-size:11px;font-weight:700;align-items:center;justify-content:center;padding:0 6px}
.filter-btn.has .fb-badge{display:inline-flex}
@media(min-width:1024px){.filter-btn{display:none}}
.chips-active{display:flex;flex-wrap:wrap;gap:8px;align-items:center;min-width:0}
.a-chip{display:inline-flex;align-items:center;gap:6px;background:var(--ink);color:var(--ground);border-radius:99px;padding:5px 13px;font-size:12.5px;font-weight:600;transition:.2s;max-width:100%}
.a-chip>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.a-chip svg{width:13px;height:13px;opacity:.7;flex:none}
.a-chip:hover svg{opacity:1;color:var(--brand)}
.chips-clear{font-size:12px;color:var(--brand);font-weight:700;text-decoration:underline}

/* ---------- سربرگ نتایج ---------- */
.res-head{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:14px 0 14px}
.res-title{font-family:'Lalezar';font-weight:400;font-size:22px;line-height:1.4}
.res-title:empty{display:none}
.res-count{margin-inline-start:auto;display:inline-flex;align-items:center;gap:7px;font-size:13px;color:var(--ink-2);font-weight:600}
.res-count b{font-size:15px}
.res-count svg{width:15px;height:15px;color:var(--brand)}
.res-count small{color:var(--ink-3);font-weight:500}

/* ---------- کارت حرکت (الگوی Stretched Link) ---------- */
.ex-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.ex-grid:empty{display:none}
@media(min-width:600px){.ex-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}}
@media(min-width:1280px){.ex-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
.ex-card{position:relative;display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;transition:.25s;min-width:0}
.ex-card:hover{border-color:var(--brand);box-shadow:0 10px 30px rgba(20,19,14,.09);transform:translateY(-3px)}
.ex-thumb{
    position:relative;
    aspect-ratio:1 / 1;
    overflow:hidden;
    background-color:var(--stage);
    background-image:radial-gradient(#DDDAC9 1.2px,transparent 1.3px);
    background-size:22px 22px;
    border-bottom:1px solid var(--line);
}
.ex-thumb>img{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    max-width:none;
    object-fit:contain;
    display:block;
}
.ex-thumb>svg{width:100%;height:100%;transition:transform .3s}
.ex-card:hover .ex-thumb>svg{transform:scale(1.05)}
.ex-vid{position:absolute;bottom:8px;right:8px;width:24px;height:24px;border-radius:8px;background:rgba(29,28,22,.82);color:#F3F1E8;display:grid;place-items:center;pointer-events:none;z-index:2}
.ex-vid svg{width:12px;height:12px}
/* لینک تمام‌کارت — کل کارت قابل‌کلیک می‌شود بدون تودرتویی عنصر تعاملی */
.ex-link{position:absolute;inset:0;z-index:1;border-radius:calc(var(--r) - 1px)}
.ex-link:focus-visible{outline-offset:-3px}
.ex-fav{position:absolute;top:8px;left:8px;width:30px;height:30px;border-radius:10px;background:rgba(252,251,247,.92);border:1px solid var(--line);display:grid;place-items:center;color:var(--ink-3);transition:.2s;z-index:2}
.ex-fav svg{width:15px;height:15px}
.ex-fav:hover{color:var(--brand);border-color:var(--brand)}
.ex-fav.on{background:var(--brand-tint);border-color:transparent;color:var(--brand)}
.ex-fav.on svg{fill:var(--brand)}
.ex-nomedia{display:grid;place-items:center;width:100%;height:100%;color:#C9C5B4}
.ex-nomedia svg{width:36px;height:36px}
.ex-body{padding:11px 12px 12px;display:flex;flex-direction:column;gap:3px;flex:1;min-width:0}
.ex-name{font-size:14.5px;font-weight:800;line-height:1.65;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;word-break:break-word}
.ex-en{font-size:10px;color:var(--ink-3);letter-spacing:.06em;direction:ltr;unicode-bidi:isolate;text-align:right;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ex-tags{display:flex;gap:5px;margin-top:4px;flex-wrap:wrap}
.ex-tags i{font-style:normal;font-size:10px;padding:2px 9px;border-radius:99px;background:var(--ground);border:1px solid var(--line);color:var(--ink-2)}
.ex-tags i.lv{background:var(--green-tint);border-color:transparent;color:var(--green)}
.ex-meta{margin-top:auto;padding-top:7px;font-size:11px;color:var(--ink-3)}

/* ---------- Load More ---------- */
.load-wrap{display:flex;flex-direction:column;align-items:center;gap:10px;margin-top:24px}
.load-done{font-size:12px;color:var(--ink-3)}
.loadbtn svg{width:17px;height:17px}

/* ---------- Skeleton ---------- */
.sk{position:relative;overflow:hidden;background:var(--line);border-radius:8px}
.sk::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(252,251,247,.8),transparent);transform:translateX(100%);animation:skSh 1.2s infinite}
@keyframes skSh{to{transform:translateX(-100%)}}
.ex-card.is-sk{pointer-events:none;border-style:dashed}
.ex-card.is-sk:hover{transform:none;box-shadow:none;border-color:var(--line)}

/* ---------- Empty / Error ---------- */
.state-block{display:none;text-align:center;padding:44px 18px;border:1.5px dashed var(--line-2);border-radius:var(--r-lg);margin-top:6px}
.state-block.show{display:block}
.state-ico{width:58px;height:58px;border-radius:18px;background:var(--ground);border:1px solid var(--line);display:grid;place-items:center;margin:0 auto 14px;color:var(--ink-3)}
.state-ico svg{width:26px;height:26px}
.state-block.err .state-ico{background:var(--danger-tint);border-color:transparent;color:var(--danger)}
.state-block h3{font-size:16.5px;font-weight:800;margin-bottom:4px}
.state-block p{font-size:13.5px;color:var(--ink-2);max-width:44ch;margin:0 auto 16px}
.state-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}

/* ---------- Bottom Sheet فیلترها ---------- */
.sheet-back{position:fixed;inset:0;background:rgba(24,23,18,.5);z-index:95;opacity:0;pointer-events:none;transition:.3s}
.sheet{position:fixed;inset-inline:0;bottom:0;z-index:96;background:var(--surface);border-radius:22px 22px 0 0;transform:translateY(103%);transition:transform .34s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;max-height:84vh}
body.sheet-open .sheet{transform:none}
body.sheet-open .sheet-back{opacity:1;pointer-events:auto}
.sheet-grab{width:44px;height:5px;border-radius:99px;background:var(--line-2);margin:10px auto 2px;flex:none}
.sheet-head{display:flex;justify-content:space-between;align-items:center;padding:8px 18px 12px;border-bottom:1px solid var(--line)}
.sheet-head b{font-family:'Lalezar';font-weight:400;font-size:19px}
.sheet-reset{font-size:12px;color:var(--brand);font-weight:700;text-decoration:underline}
.sheet-body{overflow-y:auto;padding:6px 18px 14px;overscroll-behavior:contain;flex:1}
.sheet-foot{padding:12px 18px calc(12px + env(safe-area-inset-bottom));border-top:1px solid var(--line)}
.sheet-foot .btn-primary{width:100%;justify-content:center}
.sheet.inline{position:relative;transform:none;max-height:none;border:1px solid var(--line);border-radius:var(--r-lg)}
.sheet.inline .sheet-foot{padding:14px 18px}

/* ---------- Hero آرشیو دسته ---------- */
.taxo-hero{display:grid;gap:20px;padding:26px 0 24px;border-bottom:1px solid var(--line);align-items:center}
@media(min-width:860px){.taxo-hero{grid-template-columns:minmax(0,7fr) minmax(0,5fr)}}
.taxo-kicker{display:inline-flex;align-items:center;gap:7px;background:var(--brand-tint);color:var(--brand-deep);border-radius:99px;padding:4px 14px;font-size:12px;font-weight:700}
.taxo-kicker svg{width:14px;height:14px}
h1.taxo-title{font-family:'Lalezar';font-weight:400;font-size:clamp(30px,6vw,46px);line-height:1.35;margin:8px 0 6px}
.taxo-lead{color:var(--ink-2);font-size:15px;max-width:62ch}
.taxo-stats{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}
.t-stat{display:inline-flex;align-items:baseline;gap:6px;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:7px 16px;font-size:12.5px;color:var(--ink-2);font-weight:600}
.t-stat b{font-family:'Lalezar';font-weight:400;font-size:19px;color:var(--brand);line-height:1.2}
.taxo-fig{background-color:var(--stage);background-image:radial-gradient(#DDDAC9 1.2px,transparent 1.3px);background-size:24px 24px;border:1px solid var(--line);border-radius:var(--r-lg);display:grid;place-items:center;padding:20px;aspect-ratio:4/3}
.taxo-fig svg{width:clamp(150px,100%,230px);height:auto}
.taxo-fig .gel-fig{width:clamp(150px,100%,230px);height:auto;color:var(--ink);opacity:.9}
.taxo-fig-map{aspect-ratio:auto;padding:18px 12px 10px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px}
.taxo-fig-map .bh-wrap{gap:8px}
.taxo-fig-map .mus-view{gap:5px}
.taxo-fig-map .mus-view .bh-svg{width:clamp(96px,17vw,128px)!important;height:auto!important}
.taxo-fig-map .mus-view-cap{font-size:10px}
.taxo-fig-note{font-size:11.5px;color:var(--ink-3);text-align:center;margin:0}
.taxo-searchbar{padding:18px 0 0;max-width:640px}

/* ---------- لینک‌های مرتبط / SEO / FAQ ---------- */
.rel-block{padding-block:26px;border-top:1px solid var(--line)}
.rel-row{display:flex;flex-wrap:wrap;gap:8px}
.link-chip{display:inline-flex;align-items:center;gap:7px;font-size:13px;font-weight:600;padding:8px 16px;border-radius:99px;border:1px solid var(--line-2);background:var(--surface);color:var(--ink-2);transition:.2s}
.link-chip:hover{border-color:var(--brand);color:var(--brand)}
.link-chip svg{width:14px;height:14px;color:var(--brand)}
.seo-block{padding-block:30px;border-top:1px solid var(--line)}
.seo-block h2{font-family:'Lalezar';font-weight:400;font-size:clamp(22px,4vw,28px);line-height:1.5;margin-bottom:10px}
.seo-block p{font-size:14px;color:var(--ink-2);max-width:72ch;margin-bottom:10px}
.seo-block details.more summary{cursor:pointer;list-style:none;font-size:13.5px;font-weight:700;color:var(--brand);display:inline-flex;align-items:center;gap:6px;margin:2px 0 10px}
.seo-block details.more summary::-webkit-details-marker{display:none}
.seo-block details.more summary svg{width:15px;height:15px;transition:.2s}
.seo-block details.more[open] summary svg{transform:rotate(180deg)}
.seo-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.taxo-cta{display:flex;justify-content:center;padding:26px 0 6px;border-top:1px solid var(--line)}
.faq-item{border:1px solid var(--line);border-radius:14px;background:var(--surface);margin-bottom:10px;overflow:hidden}
.faq-item summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px;font-weight:700;font-size:15px;cursor:pointer;list-style:none;transition:.2s}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary:hover{color:var(--brand)}
.faq-ico{width:28px;height:28px;border-radius:9px;background:var(--ground);border:1px solid var(--line);display:grid;place-items:center;flex:none;transition:.25s}
.faq-ico svg{width:15px;height:15px}
.faq-item[open] .faq-ico{background:var(--brand);border-color:var(--brand);color:#fff;transform:rotate(45deg)}
.faq-a{padding:0 18px 17px;color:var(--ink-2);font-size:14px;line-height:2;animation:faqIn .3s ease}
@keyframes faqIn{from{opacity:0;transform:translateY(-5px)}}

/* ---------- صفحه 404 ---------- */
.nf-wrap{max-width:640px;margin:0 auto;text-align:center;padding:34px 0 6px}
.nf-fig{background-color:var(--stage);background-image:radial-gradient(#DDDAC9 1.2px,transparent 1.3px);background-size:24px 24px;border:1px solid var(--line);border-radius:var(--r-lg);aspect-ratio:16/10;display:grid;place-items:center;padding:18px;margin-bottom:20px;overflow:hidden}
.nf-fig svg{width:min(100%,400px);height:auto}
h1.nf-title{font-family:'Lalezar';font-weight:400;font-size:clamp(30px,7vw,44px);line-height:1.35;margin-bottom:6px}
.nf-lead{color:var(--ink-2);font-size:14.5px;max-width:46ch;margin:0 auto 20px}
.nf-search{max-width:460px;margin:0 auto 16px;text-align:right}
.nf-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-bottom:8px}
.nf-sec{padding-top:30px;border-top:1px solid var(--line);margin-top:30px}
.nf-hint{margin-top:18px;text-align:center;font-size:13px;color:var(--ink-3);display:flex;gap:8px;align-items:center;justify-content:center;flex-wrap:wrap}
.sec-head{display:flex;align-items:center;gap:14px;margin-bottom:20px}
.sec-no{font-family:'Space Grotesk';font-weight:600;font-size:12px;letter-spacing:.14em;color:var(--brand);border:1px solid var(--brand);border-radius:8px;padding:2px 9px;flex:none}
.sec-head h2{font-family:'Lalezar';font-weight:400;font-size:clamp(23px,4vw,32px);line-height:1.4}
.sec-line{flex:1;height:1px;background:var(--line-2);min-width:20px}

/* ---------- سربرگ حرکت ---------- */
.ex-header{padding:20px 0 26px;border-bottom:1px solid var(--line)}
.ex-en-line{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:2px}
/* تضاد نام کلاس بین دو صفحه: نسخه کارت سراسری است؛ نسخه سربرگ اینجا بازنویسی می‌شود */
.ex-header .ex-en{font-size:12.5px;letter-spacing:.22em;font-weight:600;text-transform:uppercase;white-space:normal;overflow:visible;text-overflow:clip}
.ex-slug{font-size:11px;color:var(--ink-3);opacity:.75;letter-spacing:.04em}
h1.ex-title{font-family:'Lalezar';font-weight:400;font-size:clamp(30px,6.2vw,48px);line-height:1.35;margin:2px 0 4px}
.ex-lead{color:var(--ink-2);font-size:15px;max-width:64ch;margin-bottom:18px}
.tag-chip{display:inline-flex;align-items:center;gap:7px;padding:6px 15px;border:1px solid var(--line-2);border-radius:999px;font-size:12.5px;font-weight:600;color:var(--ink-2);background:var(--surface);transition:.2s}
.tag-chip svg{width:14px;height:14px}
.tag-chip:hover{border-color:var(--brand);color:var(--brand)}
.tag-chip.chip-level{background:var(--green-tint);border-color:transparent;color:var(--green)}
.tag-chip.chip-level:hover{color:var(--green);border-color:var(--green)}
.ex-updated{display:flex;align-items:center;gap:7px;font-size:11.5px;color:var(--ink-3)}
.ex-updated svg{width:13px;height:13px;flex:none}

/* ---------- گروه اشتراک‌گذاری ---------- */
.share-group{display:flex;align-items:center;gap:6px;margin-inline-start:auto}
.share-btn{width:34px;height:34px;border-radius:10px;border:1px solid var(--line);background:var(--surface);display:grid;place-items:center;color:var(--ink-2);transition:.2s;flex:none}
.share-btn:hover{border-color:var(--brand);color:var(--brand);background:var(--brand-tint)}
.share-btn svg{width:15px;height:15px}
.share-btn.x-glyph{font-family:'Space Grotesk';font-weight:700;font-size:13px;line-height:1}
/* ذخیره حرکت — قلب داخل گروه اشتراک‌گذاری */
.share-btn.share-fav:hover{border-color:var(--brand);color:var(--brand)}
.share-btn.share-fav.on{border-color:transparent;background:var(--brand-tint);color:var(--brand)}
.share-btn.share-fav.on svg{fill:var(--brand)}
/* موبایل: کپی + اشتراک بومی سیستم (Web Share) کافی است؛ دکمه‌های مستقیم فقط دسکتاپ
   یا وقتی مرورگر Share API ندارد (html.no-native-share) */
@media(max-width:640px){
  .share-wide{display:none}
  html.no-native-share .share-wide{display:grid}
  .ex-slug{display:none}
  .ex-header .ex-en{letter-spacing:.12em}
  .share-group{gap:5px}
}

/* ---------- گرید اصلی ---------- */
.hero-grid{display:grid;gap:20px;padding:24px 0 30px}
@media(min-width:1000px){.hero-grid{grid-template-columns:minmax(0,7fr) minmax(0,5fr);align-items:start;gap:28px}}
.media-stack{position:relative}
.media-mode{display:none}
.media-mode.is-active{display:block}
.ex-player{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden}
.player-stage,.gal-main{background-color:var(--stage);background-image:radial-gradient(#DDDAC9 1.2px,transparent 1.3px);background-size:26px 26px}
.player-stage{position:relative;aspect-ratio:1/1;max-height:620px;display:grid;place-items:center}
.player-stage .fig-svg{width:100%;height:100%}
.player-stage video.fig-svg{object-fit:contain;background:#14130F}
.player-stage img.fig-svg{object-fit:contain}
.media-badge{position:absolute;top:12px;right:12px;z-index:3;display:inline-flex;align-items:center;gap:7px;background:rgba(29,28,22,.82);color:#F3F1E8;font-size:11px;font-weight:600;padding:6px 13px;border-radius:99px;backdrop-filter:blur(4px);pointer-events:none}
.media-badge .dot{width:7px;height:7px;border-radius:50%;background:var(--brand);animation:blink 2.2s infinite}
@keyframes blink{0%,100%{opacity:1}50%{opacity:.35}}
.media-badge svg{width:13px;height:13px}
.big-play{position:absolute;inset:0;margin:auto;width:68px;height:68px;border-radius:50%;background:#fff;display:grid;place-items:center;color:var(--ink);box-shadow:0 8px 28px rgba(20,19,14,.3);transition:.25s;z-index:2}
.big-play:hover{transform:scale(1.08)}
.big-play svg{width:26px;height:26px;margin-inline-start:-3px}
.ex-player.is-playing .big-play{opacity:0;pointer-events:none;transform:scale(.8)}
.player-bar{display:flex;align-items:center;gap:10px;background:#201F19;padding:10px 14px;color:#F1EFE7}
.pb-btn{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;color:#F1EFE7;transition:.2s;flex:none}
.pb-btn:hover{background:rgba(255,255,255,.12)}
.pb-btn svg{width:18px;height:18px}
#pbPlay .ic-play{display:none}
.ex-player.is-paused #pbPlay .ic-play{display:block}
.ex-player.is-paused #pbPlay .ic-pause{display:none}
.ic-min{display:none}
.ex-player.is-fs .ic-min{display:block}
.ex-player.is-fs .ic-max{display:none}
.pb-progress{flex:1;height:22px;display:flex;align-items:center;cursor:pointer;direction:rtl;touch-action:none;border-radius:6px;user-select:none;-webkit-user-select:none}
.pb-track{position:relative;width:100%;height:5px;border-radius:99px;background:rgba(255,255,255,.18)}
.pb-fill{position:absolute;top:0;bottom:0;right:0;background:var(--brand);border-radius:99px;width:0%}
.pb-fill::after{content:'';position:absolute;left:-6px;top:50%;transform:translateY(-50%);width:12px;height:12px;border-radius:50%;background:#fff;box-shadow:0 1px 4px rgba(0,0,0,.4)}
.pb-time{font-size:11px;letter-spacing:.04em;color:#B9B7A9;white-space:nowrap;flex:none}
.pb-speeds{display:flex;gap:3px;flex:none}
.pb-speed{font-family:'Space Grotesk';font-size:11px;font-weight:600;color:#B9B7A9;border:1px solid rgba(255,255,255,.2);border-radius:8px;padding:4px 8px;transition:.2s}
.pb-speed:hover{color:#fff}
.pb-speed.active{background:var(--brand);border-color:var(--brand);color:#fff}
.player-cap{padding:11px 16px;font-size:12.5px;color:var(--ink-3);border-top:1px solid var(--line)}
@media(max-width:520px){.pb-time{display:none}}
.gif-cap{padding:11px 16px;font-size:12.5px;color:var(--ink-3);border-top:1px solid var(--line);display:flex;gap:8px;align-items:center}
.gif-cap svg{width:14px;height:14px;color:var(--ink-3);flex:none}

/* ---------- گالری ---------- */
.gal-main{position:relative;aspect-ratio:1/1;max-height:620px;display:grid;place-items:center;border-bottom:1px solid var(--line)}
.gal-main .fig-svg{width:100%;height:100%}
.gal-nav{position:absolute;top:50%;transform:translateY(-50%);width:40px;height:40px;border-radius:50%;background:#fff;display:grid;place-items:center;box-shadow:0 4px 16px rgba(20,19,14,.2);transition:.2s;z-index:2}
.gal-nav:hover{background:var(--ink);color:#fff}
.gal-nav svg{width:19px;height:19px}
.gal-nav.prev{right:12px}
.gal-nav.next{left:12px}
.gal-fs{position:absolute;bottom:12px;left:12px;width:38px;height:38px;border-radius:11px;background:rgba(29,28,22,.82);color:#F3F1E8;display:grid;place-items:center;z-index:2}
.gal-fs svg{width:17px;height:17px}
.gal-count{position:absolute;bottom:12px;right:12px;z-index:2;background:rgba(29,28,22,.82);color:#F3F1E8;font-size:11px;padding:5px 11px;border-radius:99px}
.gal-cap{padding:12px 16px;font-size:13.5px;font-weight:600;color:var(--ink-2)}
.gal-thumbs{display:flex;gap:10px;padding:0 16px 16px}
.gal-thumb{width:76px;height:76px;border-radius:12px;border:1.5px solid var(--line);background:var(--stage);overflow:hidden;padding:4px;transition:.2s;flex:none}
.gal-thumb.active{border-color:var(--brand);background:var(--brand-tint)}

/* ---------- پنل «اطلاعات سریع» (hero-side) ---------- */
.side-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:22px;position:sticky;top:74px}
.side-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:16px}
.side-head b{font-family:'Lalezar';font-weight:400;font-size:21px}
.side-en{font-size:9.5px;letter-spacing:.3em;color:var(--brand);font-weight:600}
.side-keys{border-top:1px solid var(--line);margin-top:10px}
.side-keys>div{display:flex;align-items:center;gap:10px;padding:11px 0;border-bottom:1px dashed var(--line);font-size:13px}
.side-keys>div:last-child{border-bottom:none}
.side-keys svg{width:16px;height:16px;color:var(--brand);flex:none}
.side-keys span{color:var(--ink-3);flex:none}
.side-keys b{margin-inline-start:auto;font-size:13.5px;text-align:left;line-height:1.5}
.side-keys b small{display:block;font-weight:500;font-size:10px;color:var(--ink-3);letter-spacing:.05em}
.side-cta{margin-top:14px;display:flex;align-items:center;justify-content:center;gap:8px;width:100%;border:1.5px solid var(--ink);border-radius:99px;padding:11px;font-weight:700;font-size:14px;transition:.2s}
.side-cta:hover{background:var(--ink);color:var(--ground)}
.side-cta svg{width:16px;height:16px}
@media(max-width:999px){.side-card{position:static}}

/* ---------- سکشن‌ها ---------- */
.ex-section{padding-block:34px;border-top:1px solid var(--line);content-visibility:auto;contain-intrinsic-size:auto 520px}

/* ---------- ۰۱: مراحل ---------- */
.steps .step{display:grid;grid-template-columns:40px 1fr;gap:14px;padding:20px 0;align-items:start;position:relative}
.steps .step+.step{border-top:1px dashed var(--line)}
@media(min-width:640px){.steps .step{grid-template-columns:46px 1fr;gap:18px}}
.step:not(:last-child)::before{content:'';position:absolute;right:20px;top:66px;bottom:-6px;width:2px;background:var(--line-2)}
.step-num{width:40px;height:40px;border-radius:13px;background:var(--brand-tint);color:var(--brand);font-family:'Lalezar';font-size:22px;display:grid;place-items:center;line-height:1;padding-top:3px}
@media(min-width:640px){.step-num{width:46px;height:46px;font-size:26px}}
.step-body h3{font-size:16px;font-weight:800;margin-bottom:3px}
.step-body p{font-size:15px;color:var(--ink-2);line-height:2.05}

/* ---------- ۰۲: تنفس و تمپو ---------- */
.duo{display:grid;gap:14px}
@media(min-width:720px){.duo{grid-template-columns:1fr 1fr}}
.duo-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:22px;display:flex;gap:16px;align-items:flex-start}
.duo-ico{width:46px;height:46px;border-radius:13px;display:grid;place-items:center;flex:none}
.duo-ico svg{width:22px;height:22px}
.duo-card.breath .duo-ico{background:var(--green-tint);color:var(--green)}
.duo-card.tempo .duo-ico{background:var(--brand-tint);color:var(--brand)}
.duo-card h3{font-family:'Lalezar';font-weight:400;font-size:20px;margin-bottom:2px}
.duo-en{font-size:9.5px;letter-spacing:.28em;color:var(--ink-3);font-weight:600;display:block;margin-bottom:8px}
.duo-card p{font-size:14px;color:var(--ink-2)}
.tempo-row{display:flex;align-items:baseline;gap:10px;margin-bottom:6px}
.tempo-big{font-family:'Lalezar';font-size:42px;color:var(--brand);line-height:1}
.tempo-unit{font-size:13px;font-weight:700;color:var(--ink-2)}
.tempo-sub{display:inline-block;margin-inline-start:auto;font-size:10.5px;letter-spacing:.12em;color:var(--ink-3)}

/* ---------- ۰۳: نکات مربی ---------- */
.coach-card{background:var(--dark);color:#F3F1E8;border-radius:var(--r-lg);padding:26px;position:relative;overflow:hidden}
.coach-card::before{content:'';position:absolute;top:-40px;left:-40px;width:170px;height:170px;background:repeating-linear-gradient(45deg,rgba(243,241,232,.05) 0 2px,transparent 2px 11px)}
.coach-top{display:flex;align-items:center;gap:12px;margin-bottom:8px;position:relative}
.coach-ico{width:44px;height:44px;border-radius:13px;background:var(--brand);display:grid;place-items:center;flex:none}
.coach-ico svg{width:21px;height:21px;color:#fff}
.coach-kicker{font-family:'Space Grotesk';font-size:10px;letter-spacing:.32em;color:#F09A62;font-weight:600}
.coach-list li{display:flex;gap:11px;align-items:flex-start;padding:13px 0;border-top:1px solid rgba(243,241,232,.13);font-size:14.5px;line-height:1.9;position:relative}
.coach-list svg{width:18px;height:18px;color:#8CCFA3;flex:none;margin-top:7px}

/* ---------- ۰۵: اشتباهات ---------- */
.mistakes li{display:flex;gap:14px;padding:18px 0;align-items:flex-start}
.mistakes li+li{border-top:1px dashed var(--line-2)}
.m-ico{width:38px;height:38px;border-radius:50%;background:var(--danger-tint);color:var(--danger);display:grid;place-items:center;flex:none;margin-top:2px}
.m-ico svg{width:18px;height:18px}
.mistakes h3{font-size:15.5px;font-weight:800}
.mistakes p{font-size:13.5px;color:var(--ink-2)}
.m-fix{display:flex;gap:6px;align-items:flex-start;margin-top:6px;font-size:13px;font-weight:600;color:var(--green)}
.m-fix svg{width:15px;height:15px;flex:none;margin-top:6px}

/* ---------- ۰۶: عضلات درگیر — وکتورهای BodyHighlighter ---------- */
.mus-grid{display:grid;gap:24px}
@media(min-width:860px){.mus-grid{grid-template-columns:minmax(0,7fr) minmax(0,5fr);align-items:center}}
.mus-block{padding:16px 0;border-bottom:1px dashed var(--line-2)}
.mus-block:last-of-type{border-bottom:none}
.mus-kicker{display:inline-flex;align-items:center;gap:7px;font-size:12px;font-weight:700;padding:3px 12px;border-radius:99px;margin-bottom:8px}
.mus-kicker.primary{background:var(--brand-tint);color:var(--brand)}
.mus-kicker.helper{background:var(--ground);color:var(--ink-3);border:1px solid var(--line)}
.mus-block h3{font-size:17px;font-weight:800}
.mus-block h3 small{font-family:'Space Grotesk';font-size:11px;color:var(--ink-3);font-weight:500;margin-inline-start:8px;letter-spacing:.08em}
.mus-block p{font-size:13.5px;color:var(--ink-2);margin-top:4px}
.mus-block.is-empty h3,.mus-block.is-empty p{color:var(--ink-3)}
.mus-fig-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:18px 10px 16px;display:grid;place-items:center;gap:10px}
.mus-fig-card .bh-wrap{gap:12px}
.mus-view .bh-svg{width:clamp(118px,38vw,186px)!important;height:auto!important}
.mus-view{display:flex;flex-direction:column;align-items:center;gap:8px}
.mus-view-cap{font-size:11px;font-weight:700;color:var(--ink-3);letter-spacing:.06em}
.mus-legend{display:flex;gap:20px;justify-content:center;flex-wrap:wrap;margin-top:2px}
.mus-key{display:inline-flex;align-items:center;gap:8px;font-size:12px;color:var(--ink-2);font-weight:600}
.mus-key i{width:13px;height:13px;border-radius:4px;background:#dbe1e8;border:1px solid #C9CFD6}
.mus-key.is-primary i{background:#D14E1E;border-color:transparent}
.mus-key.is-helper i{background:#EFA57C;border-color:transparent}
.mus-pick{font-size:12px;color:var(--ink-3);text-align:center;min-height:1.7em}
.mus-fig-card figcaption{font-size:11.5px;color:var(--ink-3);text-align:center}

/* ---------- ۰۷: مزایا ---------- */
.bene-grid{display:grid;grid-template-columns:1fr;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
@media(min-width:640px){.bene-grid{grid-template-columns:1fr 1fr}}
.bene{background:var(--surface);padding:16px 18px;display:flex;gap:11px;align-items:center}
.bene svg{width:18px;height:18px;color:var(--green);flex:none}
.bene span{font-size:14px;font-weight:600}

/* ---------- ۰۸: ایمنی ---------- */
.safety{background:var(--amber-tint);border:1px solid #E9DCB2;border-radius:var(--r);padding:18px 20px;display:flex;gap:14px;align-items:flex-start}
.safety+.safety{margin-top:10px}
.safety>svg{width:22px;height:22px;color:var(--amber);flex:none;margin-top:4px}
.safety b{font-size:15px;display:block;margin-bottom:4px}
.safety li{font-size:13.5px;color:var(--ink-2);display:flex;gap:8px;align-items:baseline}
.safety li::before{content:'';width:5px;height:5px;border-radius:50%;background:var(--amber);flex:none;transform:translateY(-3px)}
.safety.contra{background:var(--danger-tint);border-color:#EDCFC9}
.safety.contra>svg{color:var(--danger)}
.safety.contra li::before{background:var(--danger)}

/* ---------- ۰۹: حرکات مشابه ---------- */
.rel-track{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:8px;scrollbar-width:thin}
.rel-card{flex:0 0 min(76vw,280px);scroll-snap-align:start;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;display:flex;flex-direction:column;transition:.25s}
.rel-card:hover{border-color:var(--brand);box-shadow:0 10px 30px rgba(20,19,14,.09);transform:translateY(-3px)}
.rel-fig{
    position:relative;
    display:block;
    aspect-ratio:1 / 1;
    overflow:hidden;
    background:var(--stage);
    border-bottom:1px solid var(--line);
}

.rel-fig img{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:contain;
    display:block;
}
.rel-fig .ex-nomedia{width:100%;height:100%;color:#C9C5B4}
.rel-body{padding:15px 16px 13px;display:flex;flex-direction:column;gap:2px;flex:1}
.rel-body b{font-size:16px;font-weight:800}
.rel-meta{font-size:12px;color:var(--ink-2);margin-top:5px}
.rel-go{margin-top:auto;padding-top:10px;display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:700;color:var(--brand)}
.rel-go svg{width:14px;height:14px;transition:.2s}
.rel-card:hover .rel-go svg{transform:translateX(-4px)}
@media(min-width:860px){.rel-track{display:grid;grid-template-columns:repeat(3,1fr);overflow:visible}.rel-card{flex:auto;width:auto}}

/* ---------- ۱۱: کشف ---------- */
.disc-search{display:flex;align-items:center;gap:11px;background:var(--surface);border:1.5px solid var(--line-2);border-radius:14px;padding:13px 17px;margin-bottom:14px;transition:.2s}
.disc-search:focus-within{border-color:var(--brand)}
.disc-search svg{width:19px;height:19px;color:var(--ink-3);flex:none}
.disc-search input{flex:1;border:none;outline:none;background:none;font-size:15.5px;color:var(--ink)}
.disc-search input::placeholder{color:var(--ink-3)}
.chip-row{display:flex;flex-wrap:wrap;gap:7px;align-items:center;margin-bottom:8px}
.chip-label{font-size:11.5px;font-weight:700;color:var(--ink-3);min-width:56px}
.disc-meta{font-size:12.5px;color:var(--ink-3);margin-bottom:12px;display:flex;align-items:center;gap:7px}
.disc-meta svg{width:14px;height:14px}
.disc-list{display:grid;gap:10px}
@media(min-width:760px){.disc-list{grid-template-columns:1fr 1fr}}
.disc-empty{display:none;text-align:center;padding:30px 16px;border:1.5px dashed var(--line-2);border-radius:14px;color:var(--ink-3);font-size:14px}
.disc-empty.show{display:block}
.disc-empty button{color:var(--brand);font-weight:700;text-decoration:underline;margin-top:6px}
.disc-cta{display:flex;gap:12px;flex-wrap:wrap;margin-top:20px}

/* ---------- CTA + فوتر ---------- */
.cta-banner{background:var(--dark);color:#F3F1E8;border-radius:var(--r-lg);padding:34px 28px;display:flex;align-items:center;gap:26px;flex-wrap:wrap;position:relative;overflow:hidden;margin:34px 0 8px}
.cta-banner::before{content:'';position:absolute;bottom:-50px;left:-30px;width:200px;height:200px;background:repeating-linear-gradient(45deg,rgba(243,241,232,.05) 0 2px,transparent 2px 11px)}
.cta-banner h2{font-family:'Lalezar';font-weight:400;font-size:clamp(24px,4vw,32px);line-height:1.4}
.cta-banner p{font-size:14px;color:#B9B7A9;max-width:52ch}
.cta-actions{margin-inline-start:auto;display:flex;gap:12px;flex-wrap:wrap;position:relative}
.cta-actions .btn-ghost{border-color:#F3F1E8;color:#F3F1E8}
.cta-actions .btn-ghost:hover{background:#F3F1E8;color:var(--ink)}
.ex-updated-wrap{padding:0 4px}
.site-footer{border-top:1px solid var(--line);margin-top:44px;background:var(--surface)}
.footer-inner{max-width:1160px;margin-inline:auto;padding:34px 18px 26px}
.footer-top{display:flex;gap:26px;flex-wrap:wrap;align-items:flex-start;justify-content:space-between}
.footer-brand p{font-size:13px;color:var(--ink-3);max-width:34ch;margin-top:10px}
.footer-links{display:flex;flex-wrap:wrap;gap:8px 26px;font-size:13.5px}
.footer-links a{color:var(--ink-2);transition:.2s}
.footer-links a:hover{color:var(--brand)}
.footer-bottom{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;border-top:1px solid var(--line);margin-top:26px;padding-top:18px;font-size:12px;color:var(--ink-3)}

/* ---------- Sticky bar — میان‌برها، هماهنگ با safe-area آیفون ---------- */
.sticky-bar{position:fixed;inset-inline:0;bottom:0;z-index:55;background:#1D1C17;transform:translateY(105%);transition:transform .35s cubic-bezier(.4,0,.2,1);box-shadow:0 -6px 24px rgba(20,19,14,.18);padding-bottom:env(safe-area-inset-bottom)}
.sticky-bar.show{transform:none}
.sb-progress{height:3px;background:rgba(255,255,255,.12)}
.sb-fill{height:100%;background:var(--brand);width:0%}
.sb-btns{display:grid;grid-template-columns:repeat(3,1fr)}
.sb-btns.is-5{grid-template-columns:repeat(5,1fr)}
.sb-btn{display:flex;flex-direction:column;align-items:center;gap:3px;padding:8px 2px 9px;color:#B9B7A9;font-size:11px;font-weight:600;transition:.2s}
.sb-btn:hover,.sb-btn:active{color:#fff}
.sb-btn svg{width:20px;height:20px}
.sb-btn.sb-fav.on{color:var(--brand)}
.sb-btn.sb-fav.on svg{fill:var(--brand)}
@media(min-width:900px){.sticky-bar{display:none}}
@media(max-width:899px){body{padding-bottom:calc(58px + env(safe-area-inset-bottom))}}

/* ---------- Toast ---------- */
.toast{position:fixed;bottom:26px;left:50%;transform:translate(-50%,16px);opacity:0;background:var(--ink);color:#F3F1E8;border-radius:12px;padding:11px 20px;font-size:13.5px;z-index:120;transition:.3s;pointer-events:none;max-width:88vw;text-align:center;box-shadow:0 10px 30px rgba(20,19,14,.3)}
.toast.show{opacity:1;transform:translate(-50%,0)}
@media(max-width:899px){.toast{bottom:calc(86px + env(safe-area-inset-bottom))}}

/* ---------- فیگور شبیه‌سازی ویدیو ---------- */
.fig-marker-text{font-family:'Space Grotesk';font-size:11px;letter-spacing:.16em;fill:#8B897B}

/* ---------- فول‌اسکرین ---------- */
.ex-player:fullscreen,.ex-player.maxed{background:#191813;border-radius:0;display:flex;flex-direction:column;justify-content:center;position:fixed;inset:0;z-index:95}
.ex-player:fullscreen::backdrop{background:#191813}
.ex-player:fullscreen .player-stage,.ex-player.maxed .player-stage,
.ex-player:fullscreen .gal-main,.ex-player.maxed .gal-main{flex:1;max-height:none;aspect-ratio:auto}
.ex-player:fullscreen .player-bar,.ex-player.maxed .player-bar{padding:14px 18px;gap:14px}
.ex-player:fullscreen .pb-btn,.ex-player.maxed .pb-btn{width:46px;height:46px}
.ex-player:fullscreen .pb-btn svg,.ex-player.maxed .pb-btn svg{width:22px;height:22px}
.ex-player:fullscreen .pb-speed,.ex-player.maxed .pb-speed{font-size:13px;padding:6px 11px}
.ex-player:fullscreen .pb-time,.ex-player.maxed .pb-time{font-size:13px}
.ex-player:fullscreen .pb-track,.ex-player.maxed .pb-track{height:7px}

/* ---------- فشرده‌سازی موبایل ---------- */
@media(max-width:640px){
  .ex-header{padding:12px 0 20px}
  .ex-lead{font-size:14.5px;margin-bottom:14px}
  .hero-grid{padding:18px 0 22px;gap:16px}
  .ex-section{padding-block:26px}
  .sec-head{margin-bottom:15px}
  .side-card{padding:18px}
}

/* ---------- کاهش حرکت / پرینت ---------- */
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto}
  .sk::after{animation:none}
  .media-badge .dot{animation:none}
  .faq-a,.modal-card{animation:none}
  *{transition-duration:.01ms!important;animation-duration:.01ms!important}
}
@media print{
  .site-header,.sticky-bar,.sheet,.sheet-back,.filter-btn,.player-bar,.gal-nav,.gal-fs,.cta-banner,.disc-search,.disc-chips,.share-group{display:none!important}
  body{padding-bottom:0;background:#fff}
  .ex-section{content-visibility:visible}
}

/* ============================================================
   Body Heatmap — استایل‌های مشترک (از فایل پیوست طرح، بدون تغییر)
   ============================================================ */
.bh-svg {
  --bh-hover: #ff922b;
  --bh-hover-ink: #1e2b3a;
  --bh-1: #74c0fc;
  --bh-2: #339af0;
  --bh-3: #1864ab;
  display: block;
  height: auto;
  max-width: 100%;
  touch-action: manipulation;
  -webkit-tap-highlight-color: transparent;
}
.bh-wrap {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  align-items: flex-start;
  justify-content: center;
}
.bh-fill {
  transition: fill .16s ease, filter .16s ease;
}
.bh-fill path {
  stroke: #fff;
  stroke-opacity: .45;
  stroke-width: 1;
  vector-effect: non-scaling-stroke;
  stroke-linejoin: round;
  transition: stroke .16s ease;
}
@media (hover: hover) and (pointer: fine) {
  .bh-part:hover .bh-fill {
    fill: var(--bh-hover);
    filter: drop-shadow(0 0 4px rgba(255, 146, 43, .65));
  }
  .bh-part:hover .bh-fill path {
    stroke: var(--bh-hover-ink);
    stroke-opacity: .9;
  }
}
.bh-part.bh-hi .bh-fill {
  fill: var(--bh-hover);
  filter: drop-shadow(0 0 4px rgba(255, 146, 43, .65));
}
.bh-part.bh-hi .bh-fill path {
  stroke: var(--bh-hover-ink);
  stroke-opacity: .9;
}
.bh-part.bh-tap .bh-fill {
  animation: bh-tap-pulse .6s ease;
}
@keyframes bh-tap-pulse {
  0%, 100% { filter: drop-shadow(0 0 4px rgba(255, 146, 43, .65)); }
  50%      { filter: drop-shadow(0 0 9px rgba(247, 103, 7, .95)); }
}
.bh-link {
  cursor: pointer;
  outline: none;
}
.bh-link:focus-visible .bh-fill {
  fill: var(--bh-hover);
}
.bh-link:focus-visible {
  outline: 2px dashed var(--bh-hover);
  outline-offset: -2px;
}
.bh-svg .bh-lv-1 { fill: var(--bh-1); }
.bh-svg .bh-lv-2 { fill: var(--bh-2); }
.bh-svg .bh-lv-3 { fill: var(--bh-3); }
.bh-tip {
  position: fixed;
  z-index: 99999;
  pointer-events: none;
  background: #1f2937;
  color: #fff;
  font-family: Vazirmatn, Tahoma, "Segoe UI", sans-serif;
  font-size: 13px;
  line-height: 1;
  padding: 8px 13px;
  border-radius: 8px;
  box-shadow: 0 4px 14px rgba(0, 0, 0, .25);
  transform: translate(-50%, calc(-100% - 12px));
  white-space: nowrap;
  direction: rtl;
  opacity: 0;
  transition: opacity .12s ease;
}
.bh-tip.bh-show { opacity: 1; }
.bh-tip::after {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  margin-left: -5px;
  border-width: 5px;
  border-style: solid;
  border-color: #1f2937 transparent transparent transparent;
}
.bh-tip.bh-tip-touch {
  font-size: 15px;
  padding: 10px 16px;
  border-radius: 10px;
}
@media (prefers-reduced-motion: reduce) {
  .bh-fill,
  .bh-fill path { transition: none; }
  .bh-part.bh-tap .bh-fill { animation: none; }
  .bh-tip { transition: none; }
}

/* ============================================================
   WordPress theme additions (new classes only — design rules above
   are untouched). Required for: autocomplete dropdown, sort select,
   numbered pagination, favorites guest toast, no-JS fallbacks.
   ============================================================ */

/* آیکون‌های اسپرایت — اندازه پیش‌فرض ایمن (قانون‌های با انتخاب‌گر قوی‌تر
   مثل .icon-btn svg همچنان اولویت دارند) */
.gel-ic{width:1.15em;height:1.15em;flex:none}

/* ---------- نام‌های دیگر (alt-names) — نوار آرام انتهای صفحه، بدون لینک ---------- */
.alt-strip{padding-block:26px;border-top:1px solid var(--line)}
.alt-box{background:var(--stage);border:1px dashed var(--line-2);border-radius:var(--r-lg);padding:18px 20px}
.alt-cap{display:flex;align-items:center;gap:8px;font-size:13.5px;font-weight:800;color:var(--ink-2);margin-bottom:12px}
.alt-cap svg{width:15px;height:15px;color:var(--brand);flex:none}
.alt-cap-sub{font-size:9px;letter-spacing:.24em;color:var(--ink-3);font-weight:600;margin-inline-start:auto}
.alt-tags{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:0;padding:0}
.alt-tags li{display:inline-flex;align-items:center;padding:7px 15px;border:1px solid var(--line-2);border-radius:999px;background:var(--surface);font-size:12.5px;font-weight:600;color:var(--ink-2)}
.alt-note{margin:12px 0 0;font-size:11.5px;color:var(--ink-3);line-height:1.9}
@media(max-width:640px){
  .alt-strip{padding-block:18px}
  .alt-box{padding:14px 15px}
  .alt-cap{font-size:12.5px;margin-bottom:9px}
  .alt-tags li{padding:6px 12px;font-size:12px}
  .alt-note{margin-top:9px}
}

/* متن فقط برای صفحه‌خوان‌ها */
.gel-vh{position:absolute;width:1px;height:1px;margin:-1px;padding:0;border:0;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden;white-space:nowrap}

/* Toast پیام مهمان (گزینه ذخیره بدون لاگین) — هم‌خانواده با .toast */
.fav-guest-toast{background:var(--dark);border:1px solid rgba(243,241,232,.16)}
.fav-guest-toast.show{opacity:1;transform:translate(-50%,0)}

/* دراپ‌داون خودتکمیل جستجو (.autocomplete — bank-search + modal) */
.autocomplete.bs-drop{position:absolute;top:calc(100% + 8px);inset-inline:0;z-index:30;background:var(--surface);border:1px solid var(--line-2);border-radius:14px;box-shadow:0 18px 44px rgba(20,19,14,.18);overflow:hidden;display:none}
.autocomplete.bs-drop.open{display:block}
.bs-drop-list{display:grid;gap:8px;padding:8px;max-height:52vh;overflow-y:auto;overscroll-behavior:contain}
.bs-drop .disc-row{box-shadow:none}
.bs-drop .disc-row.is-sel{border-color:var(--brand);background:var(--brand-tint)}
.bs-drop .res-none{padding:16px 12px}
.bs-drop-skel{display:grid;gap:8px;padding:10px}
.bs-drop-skel .sk{height:66px;border-radius:14px}
.bank-search.has-drop{position:relative;z-index:31}
/* ریز-متای ردیف نتیجه (عضله · تجهیزات) */
.res-meta{font-size:11px;color:var(--ink-3);margin-top:1px}

/* سورت + شمارنده در سربرگ نتایج */
.res-tools{margin-inline-start:auto;display:inline-flex;align-items:center;gap:12px;flex-wrap:wrap}
.sort-select{appearance:none;-webkit-appearance:none;background:var(--surface) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23807E6F' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat left 12px center/15px 15px;border:1.5px solid var(--line-2);border-radius:99px;padding:8px 34px 8px 16px;font-size:13px;font-weight:600;color:var(--ink-2);cursor:pointer}
.sort-select:hover{border-color:var(--ink)}
.sort-select:focus-visible{border-color:var(--brand)}
.gel-sort-apply{padding:8px 16px;font-size:12.5px}

/* صفحه‌بندی شماره‌ای (فالبک بدون JS) */
html.js .gel-pagination{display:none}
.gel-pagination{margin-top:22px}
.gel-pagination .nav-links{display:flex;gap:6px;justify-content:center;flex-wrap:wrap}
.gel-pagination .page-numbers{display:inline-grid;place-items:center;min-width:38px;height:38px;padding:0 10px;border:1px solid var(--line-2);border-radius:12px;background:var(--surface);color:var(--ink-2);font-size:13.5px;font-weight:700;transition:.2s}
.gel-pagination .page-numbers:hover{border-color:var(--ink);color:var(--ink)}
.gel-pagination .page-numbers.current{background:var(--ink);border-color:var(--ink);color:var(--ground)}
.gel-pagination .page-numbers.dots{border:none;background:none}

/* بدون JS: سایدبار فیلتر همیشه دیده شود، دکمه شیت مخفی، اسکلتون‌ها مخفی */
html.no-js .bank-side{display:block}
html.no-js .filter-btn{display:none}
html.no-js .sheet,html.no-js .sheet-back{display:none}
html.no-js .gel-skeleton{display:none}
html.no-js .gel-sort-apply{display:inline-flex}

/* بدون JS: فرم GET داخل پنل فیلتر */
.gel-nojs{display:flex;justify-content:center;padding:14px 0 4px}
.gel-nojs-hint{font-size:11.5px;color:var(--ink-3);text-align:center;margin-top:6px}

/* دکمه ذخیره در چیپ‌های سربرگ حرکت */
.tag-chip.tag-fav.on{background:var(--brand-tint);border-color:transparent;color:var(--brand)}
.tag-chip.tag-fav.on svg{fill:var(--brand)}

/* حالت در حال بارگذاری دکمه‌های علاقه‌مندی */
.ex-fav.is-loading,.tag-fav.is-loading,.sb-fav.is-loading,.share-fav.is-loading{opacity:.55;pointer-events:none}
.ex-fav.is-loading svg,.tag-fav.is-loading svg,.sb-fav.is-loading svg,.share-fav.is-loading svg{animation:spin 1s linear infinite}

/* حالت بدون رسانه در پلیر تک‌حرکت */
.gel-nomedia-big{color:#C9C5B4}
.gel-nomedia-big svg{width:84px;height:84px}
.player-stage img.fig-svg{object-fit:contain}

/* لینک دوم کارت «در یک نگاه» (بانک حرکات) */
.side-bank{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;border:1px dashed var(--line-2);border-radius:99px;padding:9px;margin-top:10px;font-weight:700;font-size:12.5px;color:var(--ink-2);transition:.2s}
.side-bank:hover{border-color:var(--brand);color:var(--brand)}
.side-bank svg{width:15px;height:15px}

/* اعلان نبود افزونه (فقط برای مدیران) */
.gel-plugin-notice{max-width:1160px;margin:14px auto 0;padding:12px 18px;background:var(--amber-tint);border:1px solid #E9DCB2;border-radius:14px;color:var(--amber);font-size:13.5px;font-weight:600}

/* اعلان جای‌گذاری شیت فیلتر روی موبایل (بالای نوار اسکرول) */
.ex-thumb img{border-radius:10px}

/* ============================================================
   Generic content templates (page.php / index.php fallback)
   ============================================================ */
.gel-generic{padding:28px 0 64px}
.gel-generic-post{background:var(--card,#fff);border:1px solid var(--line-2,#E7E4DA);border-radius:18px;padding:28px;margin-bottom:22px}
.gel-generic-title{font-family:var(--fa-display,'Lalezar');font-size:clamp(24px,3vw,34px);font-weight:800;margin:0 0 14px;line-height:1.4}
.gel-generic-title a{color:inherit;text-decoration:none}
.gel-generic-content{font-size:15px;line-height:2.1;color:var(--ink-2,#57534E)}
.gel-generic-content p{margin:0 0 14px}
.gel-generic-content h2,.gel-generic-content h3{margin:26px 0 10px;line-height:1.5}
.gel-generic-empty{text-align:center;padding:64px 0}
.gel-generic-empty h1{font-family:var(--fa-display,'Lalezar');font-size:30px;margin:0 0 10px}
.gel-generic-empty p{color:var(--ink-2,#57534E);margin:0 0 22px}
