/*
Theme Name: بیست‌نامه
Theme URI: https://bistname.ir
Author: بیست‌نامه
Description: قالب اختصاصی فروشگاه جزوه و نمونه‌سوال درس‌به‌درس. با افزونهٔ «بیست‌نامه — هسته» و ووکامرس کار می‌کند.
Version: 0.5.0
Requires at least: 6.4
Requires PHP: 7.4
Text Domain: bistname
*/
/* Layout: a student's notebook — ruled paper, navy ink, the teacher's red pen for the "20", a highlighter for what matters. Each major has its own cover colour. */
:root{
  --paper:#f6f8fc; --paper-2:#eaeff7; --card:#ffffff;
  --ink:#18213b; --ink-2:#4b5672; --ink-3:#7c869e;
  --rule:#cfdaee; --line:#dbe2ee;
  --red:#c7332a; --red-soft:#fbe9e7;
  --hl:#ffe45c; --hl-ink:#18213b; --mark-bg:#ffe45c;
  --c-ens:#7b3d8f; --c-taj:#1d7a5a; --c-ria:#2f4fc4;
  --on-tint:#ffffff; --on-red:#ffffff;
  --shadow:0 1px 2px rgba(24,33,59,.06),0 8px 24px rgba(24,33,59,.08);
  --f-display:"Lalezar","Vazirmatn",Tahoma,sans-serif;
  --f-body:"Vazirmatn",Tahoma,"Segoe UI",sans-serif;
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --paper:#0f1320; --paper-2:#161c2c; --card:#1a2133;
  --ink:#e9edf6; --ink-2:#aab3c8; --ink-3:#7d879e;
  --rule:#232c43; --line:#2a3349;
  --red:#ff6a5c; --red-soft:#3a1d1f;
  --hl:#e8cc3d; --hl-ink:#141a2b; --mark-bg:rgba(232,204,61,.34);
  --c-ens:#c88ae0; --c-taj:#4cc28f; --c-ria:#7d93ff;
  --on-tint:#10141f; --on-red:#1c0d0b;
  --shadow:0 1px 2px rgba(0,0,0,.3),0 8px 24px rgba(0,0,0,.35);
  color-scheme:dark}}
:root[data-theme="dark"]{
  --paper:#0f1320; --paper-2:#161c2c; --card:#1a2133;
  --ink:#e9edf6; --ink-2:#aab3c8; --ink-3:#7d879e;
  --rule:#232c43; --line:#2a3349;
  --red:#ff6a5c; --red-soft:#3a1d1f;
  --hl:#e8cc3d; --hl-ink:#141a2b; --mark-bg:rgba(232,204,61,.34);
  --c-ens:#c88ae0; --c-taj:#4cc28f; --c-ria:#7d93ff;
  --on-tint:#10141f; --on-red:#1c0d0b;
  --shadow:0 1px 2px rgba(0,0,0,.3),0 8px 24px rgba(0,0,0,.35);
  color-scheme:dark}

*{box-sizing:border-box}
[hidden]{display:none!important}
body{background:var(--paper);color:var(--ink);font-family:var(--f-body);font-size:16px;line-height:1.8;direction:rtl}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:10;background:var(--card)}
a{color:inherit}
button{font:inherit;cursor:pointer}
:focus-visible{outline:2px solid var(--red);outline-offset:2px;border-radius:4px}
.wrap{max-width:1180px;margin-inline:auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
h1,h2,h3{font-family:var(--f-display);font-weight:400;line-height:1.35;text-wrap:balance;margin:0}
p{margin:0}
.mark{background:linear-gradient(transparent 55%,var(--mark-bg) 55%,var(--mark-bg) 92%,transparent 92%);color:var(--ink);padding-inline:2px;-webkit-box-decoration-break:clone;box-decoration-break:clone}
.num{font-variant-numeric:tabular-nums}
.proto{background:var(--ink);color:var(--paper);font-size:13px;text-align:center;padding-block:6px}

/* header */
header.top{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;background:var(--card);border-bottom:1px solid var(--line)}
.top .wrap{display:flex;align-items:center;gap:24px;padding-block:12px}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none}
.logo-mark{width:44px;height:44px;display:grid;place-items:center;position:relative;font-family:var(--f-display);font-size:22px;color:var(--red)}
.logo-mark svg{position:absolute;inset:0}
.logo-word{font-family:var(--f-display);font-size:26px;line-height:1}
.logo-sub{display:block;font-size:11px;color:var(--ink-3);margin-top:4px}
nav.main{display:flex;gap:4px;margin-inline-start:auto;flex-wrap:wrap}
nav.main a{text-decoration:none;padding:6px 12px;border-radius:8px;color:var(--ink-2);font-weight:500;font-size:15px}
nav.main a:hover,nav.main a[aria-current="page"]{background:var(--paper-2);color:var(--ink)}
.cart-btn{display:flex;align-items:center;gap:8px;white-space:nowrap;flex:none;border:1px solid var(--line);background:var(--paper);color:var(--ink);border-radius:999px;padding:7px 14px;font-weight:700;font-size:14px}
.cart-btn .badge{background:var(--red);color:var(--on-red);border-radius:999px;min-width:22px;height:22px;display:grid;place-items:center;font-size:12px;padding-inline:6px}
/* phones: the menu becomes a second row that scrolls sideways */
@media (max-width:760px){
  .top .wrap{justify-content:space-between;flex-wrap:wrap;row-gap:8px;padding-block:10px 8px}
  nav.main{order:3;width:100%;margin:0;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;padding-bottom:2px}
  nav.main::-webkit-scrollbar{display:none}
  nav.main a{white-space:nowrap;font-size:14px;padding:8px 12px;background:var(--paper-2)}
  .logo-sub{display:none}
}

/* hero */
.hero{background:repeating-linear-gradient(to bottom,transparent 0,transparent 35px,var(--rule) 35px,var(--rule) 36px),var(--paper);border-bottom:1px solid var(--line);position:relative}
.hero::before{content:"";position:absolute;inset-block:0;right:clamp(16px,6vw,72px);width:2px;background:var(--red);opacity:.35}
.hero .wrap{display:grid;grid-template-columns:1.15fr .85fr;gap:48px;align-items:center;padding-block:60px 68px}
.hero-text{min-width:0;padding-inline-start:clamp(0px,4vw,40px)}
.eyebrow{display:inline-block;font-size:13px;font-weight:700;color:var(--red);background:var(--red-soft);padding:4px 12px;border-radius:999px;margin-bottom:18px}
.hero h1{font-size:clamp(36px,5.4vw,62px);margin-bottom:18px}
.twenty{position:relative;display:inline-block;padding-inline:.15em;color:var(--red)}
.twenty svg{position:absolute;inset:-18% -22% -12% -22%;width:144%;height:130%;overflow:visible;pointer-events:none}
.lead{font-size:18px;color:var(--ink-2);max-width:34em;margin-bottom:28px}
.cta-row{display:flex;gap:12px;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:10px;padding:12px 22px;font-weight:700;font-size:16px;text-decoration:none;border:1px solid transparent;transition:transform .15s}
.btn:hover{transform:translateY(-1px)}
.btn-primary{background:var(--ink);color:var(--paper)}
.btn-ghost{background:var(--card);color:var(--ink);border-color:var(--line)}
.btn-red{background:var(--red);color:var(--on-red)}
.facts{display:flex;gap:28px;flex-wrap:wrap;margin-top:34px;color:var(--ink-2);font-size:14px}
.facts b{display:block;font-size:22px;color:var(--ink);font-weight:800}
.stack{position:relative;height:380px;min-width:0}

/* book covers, minimal: a soft solid colour per subject, one line icon with a single accent shape, a short accent bar over the title. Colours stay the same in both themes; spine on the right like a Persian book. */
@property --u{syntax:"<length>";inherits:true;initial-value:1.44px}
.bk-cover{--bg-c:#e9e3ff;--acc:#6c4cf1;--u:.18em;font-size:8.5px;position:relative;aspect-ratio:3/4;max-width:100%;border-radius:8px 3px 3px 8px;overflow:hidden;color:#15172b;background:var(--bg-c);
  box-shadow:0 1px 2px rgba(20,23,43,.08),0 10px 20px -12px rgba(20,23,43,.4);
  display:flex;flex-direction:column;padding:calc(9*var(--u)) calc(12*var(--u)) calc(10*var(--u)) calc(9*var(--u));transition:transform .25s ease}
.bk-cover::before{content:"";position:absolute;inset:0 0 0 auto;width:calc(5*var(--u));background:rgba(20,23,43,.07)}
.bk-top{display:flex;justify-content:space-between;align-items:center;gap:4px;font-size:max(8px,calc(5.2*var(--u)));font-weight:700;color:rgba(21,23,43,.55);line-height:1.4}
.bk-top b{font-family:var(--f-display);font-weight:400;font-size:calc(11*var(--u));color:var(--acc);line-height:1}
.bk-ic{width:60%;margin:auto;transition:transform .3s cubic-bezier(.2,.8,.2,1)}
.bk-ic svg{display:block;width:100%;height:auto;overflow:visible}
.bk-ic .a{fill:var(--acc)}
.bk-ic .k{fill:#15172b}
.bk-ic .s{fill:none;stroke:#15172b;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.bk-ic .f{fill:var(--bg-c)}
.bk-cover strong{font-family:var(--f-display);font-weight:400;font-size:clamp(13px,calc(12*var(--u)),32px);line-height:1.25;text-wrap:balance}
.bk-cover strong::before{content:"";display:block;width:calc(8*var(--u));height:max(2px,calc(1.3*var(--u)));background:var(--acc);border-radius:2px;margin-bottom:calc(3*var(--u))}
.bk:hover .bk-ic{transform:translateY(-4%) rotate(-4deg)}
.stack .bk-cover{font-size:11.5px}
.pd-cover .bk-cover{font-size:13px}
.ph-grid .bk-cover{font-size:8px}
@media (max-width:640px){.ph-grid .bk-cover{font-size:5.5px}.books .bk-cover{font-size:6.6px}}
.stack .bk-cover{position:absolute;width:200px;max-width:56%}
.stack .c1{top:10px;right:6%;transform:rotate(6deg)}
.stack .c2{top:40px;left:4%;transform:rotate(-7deg)}
.stack .c3{top:70px;right:30%;transform:rotate(-1deg);z-index:2}
@media (max-width:860px){.hero .wrap{grid-template-columns:1fr;padding-block:40px 48px}.stack{height:320px}.hero::before{display:none}}

/* sections */
section.block{padding-block:68px}
.sec-head{display:flex;align-items:end;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:24px}
.sec-head h2{font-size:clamp(28px,3.4vw,38px)}
.sec-head p{color:var(--ink-2);max-width:42em}
.alt{background:var(--paper-2);border-block:1px solid var(--line)}

/* major tabs + grade columns */
.mtabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:20px}
.mtab{--tint:var(--c-ens);border:1.5px solid var(--line);background:var(--card);color:var(--ink-2);border-radius:12px;padding:10px 20px;font-weight:700;font-size:16px;display:flex;align-items:center;gap:10px}
.mtab::before{content:"";width:12px;height:12px;border-radius:3px;background:var(--tint)}
.mtab[aria-selected="true"]{border-color:var(--tint);color:var(--ink);box-shadow:inset 0 -3px 0 var(--tint)}
.grades{display:grid;gap:44px}
.gsec h3{font-size:26px;display:flex;align-items:baseline;gap:12px}
.gsec h3 small{font-family:var(--f-body);font-size:13px;color:var(--ink-3)}
.grp{font-size:13px;color:var(--ink-3);margin-block:12px 12px;font-weight:700}
.books{display:grid;grid-template-columns:repeat(auto-fill,minmax(124px,1fr));gap:22px 16px}
.bk{text-decoration:none;display:grid;gap:8px;min-width:0;align-content:start}
.bk:hover .bk-cover{transform:translateY(-5px) rotate(-1.2deg)}
.bk-meta{display:flex;justify-content:space-between;align-items:center;gap:6px;font-size:12.5px;color:var(--ink-3);white-space:nowrap;flex-wrap:wrap}
.bk.soon .bk-cover{opacity:.92}
.st{font-size:12px;font-weight:700;border-radius:6px;padding:1px 8px;white-space:nowrap}
@media (max-width:480px){.books{grid-template-columns:repeat(3,1fr);gap:16px 10px}}
.gcol{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:20px 20px 12px;min-width:0}
.gcol h3{font-size:24px;display:flex;justify-content:space-between;align-items:baseline;gap:8px}
.gcol h3 small{font-family:var(--f-body);font-size:13px;color:var(--ink-3)}
.slist{list-style:none;margin:12px 0 0;padding:0;display:grid}
.slist a{display:flex;justify-content:space-between;align-items:center;gap:8px;text-decoration:none;padding:9px 4px;border-top:1px dashed var(--line);font-weight:500}
.slist a:hover{color:var(--red)}
.slist .st{font-size:12px;font-weight:700;border-radius:6px;padding:1px 8px;white-space:nowrap}
.st.ready{background:var(--hl);color:var(--hl-ink)}
.st.part{background:var(--red-soft);color:var(--red)}
.st.soon{background:var(--paper-2);color:var(--ink-3)}
.slist .grp{font-size:12px;color:var(--ink-3);padding:10px 4px 2px;letter-spacing:.02em}

/* steps */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;counter-reset:s}
.step{counter-increment:s;padding-top:8px}
.step::before{content:counter(s,persian);display:grid;place-items:center;width:44px;height:44px;border:2px solid var(--red);color:var(--red);border-radius:50%;font-family:var(--f-display);font-size:22px;margin-bottom:12px}
.step h3{font-size:21px;margin-bottom:4px}
.step p{color:var(--ink-2);font-size:15px}
@media (max-width:900px){.steps{grid-template-columns:repeat(2,1fr)}}
@media (max-width:480px){.steps{grid-template-columns:1fr}}

/* sample */
.sample{display:grid;grid-template-columns:.9fr 1.1fr;gap:40px;align-items:center}
.sheet{background:var(--card);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow);padding:28px;font-size:15px;position:relative;min-width:0;background-image:repeating-linear-gradient(to bottom,transparent 0,transparent 31px,var(--rule) 31px,var(--rule) 32px);background-position:0 54px;line-height:32px}
.sheet h4{margin:0 0 8px;font-family:var(--f-display);font-weight:400;font-size:22px;color:var(--c-ens);line-height:1.6}
.sheet .note{color:var(--red);font-weight:700}
.sheet .wm{position:absolute;left:16px;bottom:10px;font-size:11px;color:var(--ink-3);line-height:1.4}
.checks{display:grid;gap:14px;margin-block:20px 28px}
.checks div{display:flex;gap:12px;align-items:flex-start}
.checks i{flex:none;width:26px;height:26px;border-radius:50%;background:var(--red-soft);color:var(--red);display:grid;place-items:center;font-style:normal;font-weight:800;font-size:14px;margin-top:2px}
@media (max-width:860px){.sample{grid-template-columns:1fr}}

/* faq */
.faq{display:grid;gap:10px;max-width:820px}
.faq details{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:4px 20px}
.faq summary{cursor:pointer;font-weight:700;padding-block:14px;list-style:none;display:flex;justify-content:space-between;gap:12px}
.faq summary::after{content:"+";color:var(--red);font-size:22px;line-height:1}
.faq details[open] summary::after{content:"−"}
.faq details p{color:var(--ink-2);padding-bottom:16px}

/* footer */
footer.site{background:var(--card);border-top:1px solid var(--line);padding-block:44px 28px;color:var(--ink-2);font-size:14px}
footer.site .cols{display:grid;grid-template-columns:1.4fr 1fr 1fr auto;gap:32px}
footer.site h4{color:var(--ink);font-size:15px;margin:0 0 10px}
footer.site ul{list-style:none;margin:0;padding:0;display:grid;gap:6px}
footer.site a{text-decoration:none}
footer.site a:hover{color:var(--red)}
.trust{width:110px;height:120px;border:1.5px dashed var(--line);border-radius:12px;display:grid;place-items:center;text-align:center;font-size:12px;color:var(--ink-3);padding:8px}
.copy{margin-top:32px;padding-top:18px;border-top:1px solid var(--line);font-size:13px;color:var(--ink-3)}
@media (max-width:860px){footer.site .cols{grid-template-columns:1fr 1fr}}

/* page head */
.page-head{background:var(--paper-2);border-bottom:1px solid var(--line);padding-block:36px}
.crumbs{font-size:13px;color:var(--ink-3);margin-bottom:10px}
.crumbs a{text-decoration:none}
.crumbs a:hover{color:var(--red)}
.page-head h1{font-size:clamp(32px,4.4vw,48px);color:var(--tint)}
.page-head p{color:var(--ink-2);max-width:46em;margin-top:6px}
.ph-grid{display:grid;grid-template-columns:1fr auto;gap:32px;align-items:center}
.ph-grid>*{min-width:0}
.ph-grid .bk-cover{width:140px;transform:rotate(-3deg)}
@media (max-width:640px){.ph-grid .bk-cover{width:92px}.ph-grid .bk-cover .stamp{display:none}}

/* subject page */
.sub-layout{display:grid;grid-template-columns:1fr 320px;gap:32px;padding-block:32px 72px;align-items:start}
.sub-layout>*{min-width:0}
.lessons{display:grid;gap:12px}
.lesson{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:16px 18px;display:grid;grid-template-columns:44px 1fr;gap:14px;align-items:start}
.lesson .n{width:44px;height:44px;border-radius:50%;border:2px solid var(--tint);color:var(--tint);display:grid;place-items:center;font-family:var(--f-display);font-size:20px}
.lesson h3{font-size:20px;margin-bottom:8px}
.lesson .opts{display:flex;gap:10px;flex-wrap:wrap}
.opt{display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:10px;padding:6px 6px 6px 10px;background:var(--paper);font-size:14px}
.opt .ttl{font-weight:700}
.opt .pr{color:var(--ink-2)}
.opt a{text-decoration:none}
.add{border:1px solid var(--ink);background:transparent;color:var(--ink);border-radius:8px;padding:4px 12px;font-weight:700;font-size:13px}
.add:hover,.add.in{background:var(--ink);color:var(--paper)}
.side{position:sticky;top:96px;display:grid;gap:16px}
.pack{background:var(--ink);color:var(--paper);border-radius:14px;padding:22px;display:grid;gap:8px}
.pack h3{font-size:24px}
.pack p{opacity:.8;font-size:14px}
.pack .big{font-size:28px;font-weight:800}
.pack .big small{font-size:14px;font-weight:500}
.pack s{opacity:.6;font-size:14px}
.pack .add{border-color:var(--paper);color:var(--paper);padding:8px 14px;font-size:15px}
.pack .add:hover,.pack .add.in{background:var(--paper);color:var(--ink)}
.box{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:18px;display:grid;gap:10px}
.box h3{font-size:19px}
.box .row{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:14px;border-top:1px dashed var(--line);padding-top:10px}
.soon-box{background:var(--card);border:1.5px dashed var(--line);border-radius:14px;padding:32px;text-align:center;color:var(--ink-2)}
.soon-box h3{font-size:24px;color:var(--ink);margin-bottom:6px}
@media (max-width:900px){.sub-layout{grid-template-columns:1fr}.side{position:static}}

/* product page */
.pd{display:grid;grid-template-columns:.8fr 1.2fr;gap:48px;padding-block:40px 72px;align-items:start}
.pd-cover{position:sticky;top:96px;display:grid;gap:14px;min-width:0}
.pd-cover .bk-cover{width:100%;max-width:250px;margin-inline:auto}
.pd-info{min-width:0}
.pd-info h1{font-size:clamp(28px,3.8vw,42px);margin-block:6px 10px}
.pd-info .desc{color:var(--ink-2);font-size:17px}
.spec-table{width:100%;border-collapse:collapse;margin-block:24px;font-size:15px}
.spec-table th,.spec-table td{text-align:start;padding:10px 0;border-bottom:1px solid var(--line)}
.spec-table th{color:var(--ink-3);font-weight:500;width:38%}
.buybox{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:20px;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.buybox .big{font-size:30px;font-weight:800}
.buybox .big small{font-size:14px;font-weight:500;color:var(--ink-3)}
.buybox .add{padding:10px 18px;font-size:15px;background:var(--red);border-color:var(--red);color:var(--on-red)}
.toc{margin-top:28px}
.toc h3{font-size:22px;margin-bottom:10px}
.toc ol{margin:0;padding-inline-start:22px;color:var(--ink-2);display:grid;gap:4px}
.toc ol li::marker{color:var(--red);font-weight:700}
@media (max-width:860px){.pd{grid-template-columns:1fr}.pd-cover{position:static}}

/* drawer */
.scrim{position:fixed;inset:0;background:rgba(10,14,25,.45);z-index:40}
.drawer{position:fixed;top:0;bottom:0;left:0;width:min(400px,100%);background:var(--card);z-index:41;display:flex;flex-direction:column;box-shadow:var(--shadow);padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px);padding-left:env(safe-area-inset-left,0px)}
.drawer>header{display:flex;justify-content:space-between;align-items:center;padding:18px 20px;border-bottom:1px solid var(--line)}
.drawer h2{font-size:24px}
.x{border:0;background:var(--paper-2);color:var(--ink);width:36px;height:36px;border-radius:50%;font-size:20px}
.items{flex:1;overflow:auto;padding:12px 20px;display:grid;gap:12px;align-content:start}
.item{display:grid;grid-template-columns:40px 1fr auto;gap:12px;align-items:center;padding-block:8px;border-bottom:1px dashed var(--line)}
.item .sw{width:40px;height:52px;border-radius:3px 7px 7px 3px;background:var(--tint)}
.item b{display:block;font-size:14px;line-height:1.5}
.item span{font-size:13px;color:var(--ink-3)}
.item button{border:0;background:none;color:var(--ink-3);font-size:13px}
.item button:hover{color:var(--red)}
.empty{text-align:center;color:var(--ink-3);padding-block:48px}
.drawer>footer{padding:18px 20px;border-top:1px solid var(--line);display:grid;gap:12px}
.total{display:flex;justify-content:space-between;font-weight:800;font-size:18px}
.pay-note{font-size:13px;color:var(--ink-2);background:var(--paper-2);border-radius:8px;padding:10px 12px}
.toast{position:fixed;bottom:calc(20px + env(safe-area-inset-bottom,0px));left:50%;transform:translateX(-50%);background:var(--ink);color:var(--paper);padding:10px 20px;border-radius:999px;font-weight:700;font-size:14px;z-index:50;box-shadow:var(--shadow)}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}

/* ---------- WordPress / WooCommerce additions ---------- */
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}
body{margin:0}
.added_to_cart{display:none!important}
.add.loading,.add_to_cart_button.loading{opacity:.55;pointer-events:none}
a.add{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;line-height:1.6}
.pack a.add,.pack button.add{border-color:var(--paper);color:var(--paper);padding:8px 14px;font-size:15px}
.buybox .add{padding:10px 18px;font-size:15px;background:var(--red);border-color:var(--red);color:var(--on-red)}
ins{text-decoration:none}
.opt .ttl{white-space:nowrap}
.nowrap{white-space:nowrap}

/* C9: the display face only for big headings; small ones in Vazirmatn bold */
.lesson h3,.box h3,.toc h3,.step h3,.pack h3,.trust-card.small h3,.previews h3,.soon-box h3{font-family:var(--f-body);font-weight:800;letter-spacing:-.01em}
.lesson h3{font-size:16px;line-height:1.6}
.step h3{font-size:18px}
.box h3,.toc h3,.previews h3,.trust-card.small h3{font-size:17px}
.pack h3{font-size:19px}

/* C10: one tidy row per lesson — title on one side, choices on the other */
.lesson{grid-template-columns:40px 1fr;align-items:center;padding:12px 16px}
.lesson .n{width:40px;height:40px;font-size:18px}
.lesson>div:not(.n){display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 18px;min-width:0}
.lesson .n{flex:none}
@media (max-width:600px){.opt+.opt{border-inline-start:0;padding-inline-start:0}.lesson{align-items:start}}
.lesson h3{margin:0;flex:1 1 220px}
.lesson .opts{gap:8px}
.opt{border:0;background:none;padding:0;gap:8px}
.opt .ttl{font-size:13.5px;color:var(--ink-2);text-decoration:none}
.opt .ttl:hover{color:var(--red)}
.opt .pr{font-size:13px;color:var(--ink-3)}
.opt+.opt{border-inline-start:1px solid var(--line);padding-inline-start:12px}

/* C14: search */
.icon-btn{border:1px solid var(--line);background:var(--paper);color:var(--ink);width:40px;height:40px;border-radius:50%;display:grid;place-items:center;flex:none}
.icon-btn:hover{background:var(--paper-2)}
.site-search{display:flex;gap:8px;padding-block:0 12px}
.site-search input{flex:1;min-width:0;border:1px solid var(--line);border-radius:10px;padding:10px 14px;font:inherit;background:var(--card);color:var(--ink)}
.site-search .btn{padding:10px 18px}
/* phones: logo, search and cart on one row; the cart shows just its icon and count */
@media (max-width:760px){
  .top .wrap{gap:8px}
  .icon-btn{margin-inline-start:auto}
  .cart-btn{padding:7px 10px}
  .cart-btn .lbl{display:none}
}
.results{display:grid;gap:10px;margin-bottom:24px}
.result{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:10px 14px}
.result>div{min-width:0}
.r-title{font-weight:700;text-decoration:none;color:var(--ink)}
.r-title:hover{color:var(--red)}
.r-meta{font-size:13px;color:var(--ink-3);display:flex;gap:10px;flex-wrap:wrap}
.bk-cover.mini{width:46px;font-size:3.4px;padding:6px 8px 6px 6px}
.bk-cover.mini .bk-top,.bk-cover.mini strong{display:none}
.bk-cover.mini .bk-ic{width:78%}

/* C11: who writes the notes, guarantee, support */
.trust-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:20px;align-items:start}
.trust-grid>*{min-width:0}
.trust-side{display:grid;gap:16px}
.trust-card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:24px}
.trust-card h2{font-size:clamp(24px,3vw,32px);margin-bottom:10px}
.trust-card p{color:var(--ink-2)}
.trust-card.small{padding:18px 20px}
.trust-card.small h3{margin:0 0 6px}
.support{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.support span{color:var(--ink-3)}
.support a{color:var(--ink);font-weight:700;text-decoration:none}
.support a:hover{color:var(--red)}
@media (max-width:860px){.trust-grid{grid-template-columns:1fr}}
.trust-badge img{max-width:110px;height:auto}

/* C12: page previews */
.previews{margin-top:28px}
.previews h3{margin:0 0 10px}
.pv-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:12px}
.pv-grid a{display:block;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:var(--card);box-shadow:var(--shadow);transition:transform .2s}
.pv-grid a:hover{transform:translateY(-3px)}
.pv-grid img{display:block;width:100%;height:auto;aspect-ratio:3/4;object-fit:cover}

/* hero: concrete reasons to buy */
.perks{list-style:none;margin:30px 0 0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 22px;max-width:520px}
.perks li{display:flex;align-items:center;gap:10px;font-size:14.5px;font-weight:600;color:var(--ink-2)}
.perks svg{flex:none;width:30px;height:30px;padding:6px;border-radius:9px;background:var(--red-soft);fill:none;stroke:var(--red);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
@media (max-width:480px){.perks{grid-template-columns:1fr}}

/* books with files first; upcoming ones step back */
.bk.soon{opacity:.55;transition:opacity .2s}
.bk.soon:hover,.bk.soon:focus-visible{opacity:1}
.ready-shelf{padding-bottom:24px}
.ready-shelf .books{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}
.ready-shelf .sec-head{margin-bottom:18px}

/* empty cart */
.empty-state{text-align:center;padding:40px 16px 8px;max-width:460px;margin-inline:auto}
.empty-state svg{width:84px;height:84px;margin-bottom:10px}
.empty-state .s{fill:none;stroke:var(--ink);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.empty-state .a{fill:var(--red)}
.empty-state h2{font-size:28px;margin-bottom:6px}
.empty-state p{color:var(--ink-2)}
.woocommerce .return-to-shop{text-align:center;margin-bottom:40px}
.woocommerce .return-to-shop .button{background:var(--ink)!important;color:var(--paper)!important;padding:12px 26px!important;font-weight:700}

/* 404 */
.nf{padding-block:72px 96px;text-align:center}
.nf .wrap{display:grid;justify-items:center;gap:14px}
.nf-mark{display:flex;gap:.08em;font-family:var(--f-display);font-size:clamp(84px,16vw,150px);line-height:1;color:var(--ink)}
.nf-zero{position:relative;color:var(--red);padding-inline:.12em}
.nf-zero svg{position:absolute;inset:-6% -18% 0 -18%;width:136%;height:108%;overflow:visible}
.nf h1{font-size:clamp(26px,3.4vw,36px)}
.nf p{color:var(--ink-2);max-width:34em}
.nf-links{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-block:6px 8px}

.bist-notices{padding-top:16px}
/* teacher package: same box, quieter */
.pack.teacher{background:var(--card);color:var(--ink);border:1px solid var(--line)}
.pack.teacher p{color:var(--ink-2);opacity:1}
.pack.teacher del{color:var(--ink-3)}
.pack.teacher a.add,.pack.teacher button.add{border-color:var(--ink);color:var(--ink)}
.pack.teacher a.add:hover,.pack.teacher .add.in{background:var(--ink);color:var(--paper)}
/* lesson rows: three choices may wrap on narrow screens */
.lesson .opts{justify-content:flex-start}
.bist-notices ul,.bist-notices .woocommerce-message,.bist-notices .woocommerce-info{list-style:none;margin:0;padding:12px 16px;border-radius:12px;background:var(--card);border:1px solid var(--line);border-inline-start:4px solid var(--red);font-size:14.5px}
.bist-notices .woocommerce-message,.bist-notices .woocommerce-info{border-inline-start-color:var(--c-taj)}
.bist-notices a{color:var(--red);font-weight:700}
/* touch screens: buttons at least 40px tall */
@media (pointer:coarse){
  .add,a.add{min-height:40px;padding-inline:14px}
  .opt .ttl{display:inline-flex;align-items:center;min-height:40px}
  .x{width:44px;height:44px}
}
.pack del,.buybox del,.box del{display:block;opacity:.6;font-weight:500;font-size:.5em;line-height:1.4}
.box del{font-size:.85em;display:inline;margin-inline-end:6px}
.opt .pr del{display:none}
.mtabs+.grades[hidden]{display:none}

/* cart drawer = WooCommerce mini cart */
.drawer .items{padding:12px 20px}
.woocommerce-mini-cart{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.woocommerce-mini-cart-item{position:relative;display:block;padding:10px 0 10px 28px;border-bottom:1px dashed var(--line);font-size:14px;line-height:1.6}
.woocommerce-mini-cart-item a:not(.remove){text-decoration:none;font-weight:700;color:var(--ink)}
.woocommerce-mini-cart-item img{display:none}
.woocommerce-mini-cart-item .remove{position:absolute;left:0;top:10px;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:var(--paper-2);color:var(--ink-3)!important;text-decoration:none;font-size:16px}
.woocommerce-mini-cart-item .remove:hover{background:var(--red-soft);color:var(--red)!important}
.woocommerce-mini-cart-item .quantity{display:block;color:var(--ink-3);font-size:13px}
.woocommerce-mini-cart__total{display:flex;justify-content:space-between;font-weight:800;font-size:17px;padding-top:14px;margin:0}
.woocommerce-mini-cart__buttons{display:grid;gap:8px;margin-top:14px}
.woocommerce-mini-cart__buttons .button{display:block;text-align:center;padding:12px;border-radius:10px;text-decoration:none;font-weight:700;background:var(--card);border:1px solid var(--line);color:var(--ink)}
.woocommerce-mini-cart__buttons .checkout{background:var(--red);border-color:var(--red);color:var(--on-red)}
.woocommerce-mini-cart__empty-message{text-align:center;color:var(--ink-3);padding-block:48px}

/* plain pages: cart, checkout, account */
.page-body{padding-block:36px 72px;max-width:1000px}
.page-title{font-size:clamp(28px,3.6vw,40px);margin-bottom:20px}
.entry a{color:var(--red)}
.woocommerce .button,.woocommerce button.button,.woocommerce a.button,.woocommerce #respond input#submit,.wc-block-components-button{font-family:var(--f-body)!important;border-radius:10px!important}
.woocommerce .button.alt,.woocommerce button.button.alt,.woocommerce #place_order{background:var(--red)!important;color:var(--on-red)!important}
.woocommerce table.shop_table{border-radius:12px;border-color:var(--line);background:var(--card)}
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.woocommerce-page form .input-text{border:1px solid var(--line);border-radius:8px;padding:10px 12px;background:var(--card);color:var(--ink);font-family:var(--f-body)}
.woocommerce-info,.woocommerce-message,.woocommerce-error{border-top-color:var(--red)!important;background:var(--paper-2)!important;color:var(--ink)!important}
.woocommerce-MyAccount-navigation ul{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.woocommerce-MyAccount-navigation a{display:block;padding:6px 14px;border-radius:999px;border:1px solid var(--line);text-decoration:none;color:var(--ink-2)!important}
.woocommerce-MyAccount-navigation .is-active a{background:var(--ink);color:var(--paper)!important}

.box.finals .row{padding-bottom:10px}
.box .sample{display:inline-block;margin-top:4px;font-size:12.5px;font-weight:600;color:var(--brand,#7c3aed)}

/* page previews */
.lesson{position:relative}
.lesson .lthumb{flex:none;width:58px;height:76px;border-radius:8px;overflow:hidden;border:1px solid var(--line);background:#fff;box-shadow:0 2px 8px rgba(0,0,0,.08);transition:transform .15s}
.lesson .lthumb:hover{transform:scale(1.06)}
.lesson .lthumb img,.box .fthumb img{width:100%;height:100%;object-fit:cover;object-position:top}
.box .fthumb{flex:none;width:44px;height:58px;border-radius:6px;overflow:hidden;border:1px solid var(--line);background:#fff}
@media (max-width:560px){.lesson .lthumb{width:46px;height:60px}}
.pv-grid img{width:100%;height:auto;display:block;border-radius:10px;border:1px solid var(--line);background:#fff}
.lesson:has(.lthumb){grid-template-columns:40px 58px 1fr}
@media (max-width:560px){.lesson:has(.lthumb){grid-template-columns:36px 46px 1fr}}
.pv-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}
