/* Misaq blog post skin, brand v3 — the ONE stylesheet for every blog post,
   generated (scripts/build-misaq-pages.py, scripts/build-seo-posts.py) and
   hand-written (blog/<slug>/, /istikhara-dua/). Replaces the inline <style>
   blocks the old pages copy-pasted. Loads AFTER misaq-brand.css and leans on
   its tokens; PAGE BACKGROUND PAINT STAYS INLINE IN EACH PAGE (hard rule —
   a paint rule that lives only in /assets has caused outages before).
   Content rules are scoped to main.wrap so the shared nav/footer chrome from
   misaq-brand.css is never touched. */
:root{--muted:var(--ink2,#5B5B61);--pill:var(--cream2,#EFE7DC);--red:var(--cherry,#C8102E)}
main.wrap{width:min(760px,100% - 40px);max-width:none;margin:0 auto;padding:44px 0 110px}
main.wrap .back{display:inline-block;background:var(--pill);border-radius:999px;padding:12px 18px;text-decoration:none;font-weight:700;font-size:15px;margin-bottom:38px}
main.wrap .back:hover{color:var(--cherry)}
.crumb{font-size:15px;color:var(--muted);margin:0 0 22px}
.crumb a{text-decoration:none}
main.wrap h1{font-size:clamp(38px,5vw,66px);letter-spacing:-.025em;line-height:1.04;margin:0 0 18px}
main.wrap .meta{color:var(--muted);font-family:var(--mono,ui-monospace),monospace;font-size:14px;letter-spacing:.05em;margin:0 0 42px;padding-bottom:26px;border-bottom:1px solid var(--line)}
main.wrap h2{font-size:clamp(28px,3.2vw,38px);line-height:1.12;margin:54px 0 14px}
main.wrap h3{font-size:22px;margin:32px 0 10px}
main.wrap p{font-size:19px;line-height:1.7;margin:0 0 18px}
main.wrap .lead{font-size:22px;line-height:1.55}
main.wrap ul,main.wrap ol{font-size:19px;line-height:1.7;padding-left:22px;margin:0 0 18px}
main.wrap li{margin:0 0 8px}
main.wrap table{width:100%;border-collapse:collapse;margin:26px 0 12px;font-size:17px}
main.wrap th,main.wrap td{text-align:left;padding:13px 10px;border-bottom:1px solid var(--line);vertical-align:top}
main.wrap th{font-weight:700}
main.wrap td.n{font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:600}
.tag{display:inline-block;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:3px 9px;border-radius:999px}
.tag.src{background:#DCEBD6;color:#1F4715}
.tag.est{background:#F6E2B8;color:#5C3D06}
.note{background:var(--pill);border-radius:16px;padding:22px 24px;margin:30px 0}
.note p:last-child{margin-bottom:0}
.sources{font-size:16px;line-height:1.5}
.sources li{margin:0 0 12px}
a.cta{display:inline-block;background:var(--cherry,#C8102E);color:#fff;text-decoration:none;font-weight:800;padding:16px 26px;border-radius:999px;margin-top:10px;transition:transform .2s ease,background .2s ease}
a.cta:hover{transform:translateY(-2px);background:#B00E29}
.ctarow{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.ctanote{margin:10px 0 0;max-width:46em;font-size:14px;line-height:1.55;color:var(--muted)}
a.cta.alt{background:transparent;color:var(--ink);border:2px solid var(--ink)}
a.cta.alt:hover{border-color:var(--cherry);color:var(--cherry);background:transparent}
.disc{font-size:15px;color:var(--muted);line-height:1.5;margin-top:44px;padding-top:22px;border-top:1px solid var(--line)}
.smk{display:inline-flex;align-items:center;gap:7px;vertical-align:-3px;margin-right:9px}.smk svg{width:15px;height:15px;display:block}
.ar{font-family:var(--arabic,'Noto Naskh Arabic'),serif;font-size:28px;line-height:2;direction:rtl;text-align:right;margin:0 0 14px}
.ref{font-size:15px;color:var(--muted);margin:10px 0 0}
.dua{background:var(--pill);border-radius:16px;padding:26px 26px 20px;margin:26px 0}
.dua .tr{font-size:17px;line-height:1.7;font-style:italic;color:var(--muted);margin:0 0 12px}
.dua .en{font-size:18px;line-height:1.6;margin:0}
.qs{counter-reset:q;padding-left:0;list-style:none}
.qs li{counter-increment:q;position:relative;padding-left:38px;margin:0 0 11px}
.qs li::before{content:counter(q);position:absolute;left:0;top:2px;font-size:13px;font-weight:700;color:var(--cherry);background:#fff;border-radius:999px;width:26px;height:26px;display:grid;place-items:center}
/* .toc also exists in misaq-brand.css as a sticky sidebar; posts use it as an
   in-flow box, so every brand property is reset here. */
main.wrap .toc{position:static;top:auto;background:var(--pill);border-radius:16px;padding:20px 24px;margin:28px 0;font-size:17px}
main.wrap .toc p{font-weight:700;margin:0 0 8px;font-size:17px}
main.wrap .toc ul{margin:0;font-size:17px}
main.wrap .toc a{display:inline;border-left:0;padding:0;color:var(--ink);text-decoration:none;border-bottom:1px solid var(--line)}
main.wrap .toc a:hover{color:var(--cherry);border-color:var(--cherry)}
/* Stat panel (country pages + the pillar's name panel). */
.panel{background:var(--wine,#4A0B12);color:#FFF4F2;border-radius:8px;padding:34px 32px;margin:0 0 14px;box-shadow:0 18px 40px -28px rgba(26,26,28,.6)}
.panel .pk{font-size:13px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--gold2,#F2D98A);margin:0 0 18px}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
@media (max-width:560px){.stats{grid-template-columns:1fr;gap:16px}.panel{padding:28px 24px}}
/* .stat is a white card in misaq-brand.css; inside .panel it is a bare cell. */
.panel .stat{background:none;padding:0;border-radius:0;box-shadow:none}
.stat .v{font-family:var(--serif);font-size:clamp(28px,4.4vw,38px);font-weight:600;letter-spacing:-.02em;line-height:1.1;font-variant-numeric:tabular-nums}
.stat .l{font-size:14px;line-height:1.45;color:rgba(255,244,242,.8);margin-top:6px}
.panel .src{margin:22px 0 0;padding-top:16px;border-top:1px solid rgba(255,244,242,.2);font-size:13px;line-height:1.5;color:rgba(255,244,242,.7)}
.panel .src a{color:#FFF4F2}
.credit{font-size:13px;color:var(--muted);margin:0 0 40px}
.hero+.credit{margin:-30px 0 42px}
.credit a{color:inherit}
/* Country index on the pillar page. */
.cgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px;margin:22px 0 10px;padding:0;list-style:none;font-size:17px}
.cgrid li{margin:0}
.cgrid a{display:flex;justify-content:space-between;gap:10px;align-items:baseline;text-decoration:none;background:var(--pill);border-radius:12px;padding:13px 16px;transition:transform .18s ease,background .18s ease}
.cgrid a:hover{transform:translateY(-2px)}
.cgrid .n{font-variant-numeric:tabular-nums;color:var(--muted);font-size:15px;white-space:nowrap}
/* Reading-progress ring. */
.rp{position:fixed;right:22px;bottom:22px;width:52px;height:52px;z-index:99;border:0;padding:0;cursor:pointer;background:var(--paper,#FBF8F3);border-radius:999px;box-shadow:0 10px 26px -12px rgba(26,26,28,.5);display:grid;place-items:center;opacity:0;transform:translateY(12px) scale(.9);pointer-events:none;transition:opacity .3s ease,transform .3s cubic-bezier(.2,.8,.2,1)}
.rp.on{opacity:1;transform:none;pointer-events:auto}
.rp:hover{transform:translateY(-2px)}
.rp svg{position:absolute;inset:0;width:52px;height:52px;transform:rotate(-90deg)}
.rp circle{fill:none;stroke-width:3;stroke-linecap:round}
.rp .trk{stroke:var(--cream2,#EFE7DC)}
.rp .val{stroke:var(--cherry,#C8102E);stroke-dasharray:138.2;stroke-dashoffset:138.2;transition:stroke-dashoffset .12s linear}
.rp .pct{font-size:12px;font-weight:700;color:var(--ink,#1A1A1C);font-variant-numeric:tabular-nums;position:relative}
.rp .up{position:relative;display:none;line-height:0;color:var(--ink,#1A1A1C)}
.rp .up svg{position:static;width:17px;height:17px;transform:none}
.rp.done .pct{display:none}
.rp.done .up{display:block}
@media (max-width:560px){.rp{right:14px;bottom:14px}}
.js .rv{opacity:0;transform:translateY(18px)}
.js .rv.in{opacity:1;transform:none;transition:opacity .55s ease,transform .55s cubic-bezier(.2,.7,.3,1)}
/* Lead image. .hero is the full-bleed stories hero in misaq-brand.css, so the
   brand properties are explicitly reset for the in-post figure. */
main.wrap .hero{position:relative;min-height:0;display:block;align-items:normal;color:inherit;margin:0 0 42px;border-radius:8px;overflow:hidden;background:var(--pill);aspect-ratio:2.5/1;box-shadow:0 18px 40px -28px rgba(26,26,28,.55)}
main.wrap .hero img{display:block;width:100%;height:100%;object-fit:cover}
.js main.wrap .hero img{animation:heroIn 1s cubic-bezier(.2,.7,.3,1) both}
@keyframes heroIn{from{opacity:0;transform:scale(1.05)}to{opacity:1;transform:none}}
.verdict{border:1.7px solid var(--line);border-left:5px solid var(--cherry,#C8102E);border-radius:16px;padding:24px 26px;margin:30px 0;background:var(--pill)}
.verdict p:last-child{margin-bottom:0}
.verdict .k{font-size:13px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--cherry,#C8102E);margin:0 0 10px}
.ck{list-style:none;padding-left:0}
.ck li{position:relative;padding-left:34px;margin:0 0 11px}
.ck li::before{content:"";position:absolute;left:0;top:7px;width:18px;height:18px;border-radius:5px;border:2px solid var(--line)}
.ck li.y::before{background:var(--green,#22A06B);border-color:var(--green,#22A06B)}
.ck li.n::before{background:var(--cherry,#C8102E);border-color:var(--cherry,#C8102E)}
/* Follow band. */
.follow{background:var(--wine,#4A0B12);color:#FFF4F2;border-radius:8px;padding:34px 32px;margin:52px 0 10px}
.follow h2{margin:0 0 8px;color:#FFF4F2;font-size:clamp(24px,2.6vw,30px)}
.follow p{color:rgba(255,244,242,.8);margin:0 0 22px;font-size:18px}
.fbtns{display:flex;flex-wrap:wrap;gap:10px}
.fbtn{display:inline-flex;align-items:center;gap:9px;background:rgba(255,244,242,.12);border:1px solid rgba(255,244,242,.28);color:#FFF4F2;text-decoration:none;font-weight:600;font-size:15px;padding:11px 17px;border-radius:999px;transition:background .2s ease,transform .2s ease}
.fbtn:hover{background:rgba(255,244,242,.22);transform:translateY(-2px)}
.fbtn svg{width:17px;height:17px;flex:none}
.fbtn.wa{background:var(--green,#22A06B);border-color:var(--green,#22A06B)}
.fbtn.wa:hover{background:#23995f}
/* Click-to-play video facade (parents post). */
.vid{position:relative;display:block;aspect-ratio:16/9;border-radius:18px;overflow:hidden;background:var(--wine2,#2E060B);margin:30px 0 10px;box-shadow:0 18px 44px -26px rgba(26,26,28,.6)}
.vid img{width:100%;height:100%;object-fit:cover;display:block}
.vid .pbtn{position:absolute;inset:0;display:grid;place-items:center;border:0;background:none;cursor:pointer;padding:0;width:100%;height:100%}
.vid .pbtn span{display:grid;place-items:center;width:68px;height:68px;border-radius:999px;background:rgba(200,16,46,.95);box-shadow:0 10px 30px -8px rgba(0,0,0,.6);transition:transform .2s ease,background .2s ease}
.vid:hover .pbtn span{transform:scale(1.07);background:#B00E29}
.vid .pbtn svg{width:26px;height:26px;color:#fff;margin-left:3px}
.vid iframe{position:absolute;inset:0;width:100%;height:100%;border:0;display:block}
.vcap{font-size:15px;color:var(--muted);margin:0 0 34px}
@media (max-width:560px){.vid .pbtn span{width:58px;height:58px}}
/* Branded post header (the compact wine band under the nav). header.phero
   outweighs the brand .phero inner-page hero rule, on purpose. */
header.phero{background:var(--wine,#4A0B12);color:#FFF4F2;text-align:center;padding:44px 20px 48px}
header.phero .ph-mark{display:block;margin:0 auto;width:56px;height:56px}
header.phero .ph-name{margin:12px 0 0;font-family:var(--serif);font-size:32px;font-weight:600;letter-spacing:-.02em;color:#FFF4F2}
header.phero .ph-name a{color:inherit;text-decoration:none}
header.phero .ph-tag{margin:7px 0 22px;font-size:12px;font-weight:700;letter-spacing:.17em;text-transform:uppercase;color:rgba(255,244,242,.72)}
header.phero .ph-row{display:flex;justify-content:center;flex-wrap:wrap;gap:12px}
header.phero .ph-btn{display:inline-block;text-decoration:none;font-weight:700;font-size:16px;padding:13px 26px;border-radius:999px;transition:transform .18s ease,background .18s ease,border-color .18s ease}
header.phero .ph-solid{background:#fff;color:var(--ink,#1A1A1C)}
header.phero .ph-solid:hover{transform:translateY(-2px)}
header.phero .ph-line{color:#FFF4F2;border:2px solid rgba(255,244,242,.42)}
header.phero .ph-line:hover{border-color:#FFF4F2;transform:translateY(-2px)}
@media (max-width:480px){header.phero{padding:36px 16px 40px}header.phero .ph-name{font-size:27px}}
@media (prefers-reduced-motion:reduce){
  .js .rv,.js .rv.in{opacity:1;transform:none;transition:none}
  .js main.wrap .hero img{animation:none}
  a.cta:hover,.fbtn:hover,.cgrid a:hover,header.phero .ph-btn:hover{transform:none}
  .vid:hover .pbtn span{transform:none}
  .rp{transition:none}
  .rp .val{transition:none}
}
