/*
Theme Name: فورفوائد
Theme URI: https://4fwaed.com
Author: فورفوائد
Author URI: https://4fwaed.com
Description: قالب عربي RTL لمواقع تفسير الأحلام والمحتوى الإسلامي. لوحة تحكم شاملة، نمط تطبيق للجوال، جدول محتويات وأسئلة شائعة مميزة، مواضع إعلانات، وسيو مدمج.
Version: 1.0.0
Requires at least: 6.3
Requires PHP: 7.4
License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: forfawaed
Tags: rtl-language-support, blog, custom-logo, custom-menu, threaded-comments
*/

:root{
  --ink:#1b2140; --ink-2:#262e5a; --hdr-text:#ffffff;
  --paper:#f4f5fa; --surface:#ffffff;
  --text:#1c2034; --head:#141a3a; --muted:#585f7e; --line:#dde0ee;
  --accent:#127a67; --accent-ink:#0d5c4d; --gold:#c8963e; --focus:#b7791f;
  --radius:8px; --wrap:1160px;
  --f-body:'Noto Naskh Arabic','Traditional Arabic',Tahoma,serif;
  --f-ui:'Readex Pro','Segoe UI',Tahoma,sans-serif;
  --fs-base:18px; --fs-content:20px; --lh:2; --hw:600;
}
[data-theme="dark"]{--focus:#f0c36d}

*,*::before,*::after{box-sizing:border-box}
html{direction:rtl;scroll-behavior:smooth;-webkit-text-size-adjust:100%;scroll-padding-top:1rem}
html.sheet-open{overflow:hidden}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
body{margin:0;background:var(--paper);color:var(--text);font-family:var(--f-body);font-size:var(--fs-base);line-height:1.95;text-rendering:optimizeLegibility}
img,svg,video,iframe{max-width:100%;height:auto}
a{color:var(--accent-ink);text-underline-offset:.25em}
a:hover{color:var(--accent)}
:focus-visible{outline:3px solid var(--focus);outline-offset:2px;border-radius:3px}
h1,h2,h3,h4{font-family:var(--f-ui);line-height:1.5;margin:0 0 .6em;color:var(--head);font-weight:var(--hw)}
p{margin:0 0 1.1em}
button{font-family:inherit}
.skip{position:absolute;inset-inline-start:1rem;top:-5rem;background:var(--gold);color:#1b1b1b;padding:.5rem 1rem;z-index:100;font-family:var(--f-ui)}
.skip:focus{top:1rem}
.screen-reader-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.wrap{width:min(100% - 2rem,var(--wrap));margin-inline:auto}

/* ===== Header ===== */
.site-header{background:var(--ink);color:var(--hdr-text);position:relative;z-index:30}
.has-sticky-header .site-header{position:sticky;top:0}
.bar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-block:.85rem}
.brand a,.brand .custom-logo-link{color:var(--hdr-text);text-decoration:none;font-family:var(--f-ui);font-weight:700;font-size:1.55rem;line-height:1.3}
.brand .custom-logo{max-height:48px;width:auto;display:block}
.bar-actions{display:flex;gap:.5rem}
.icon-btn{background:transparent;border:1px solid color-mix(in srgb,var(--hdr-text) 30%,transparent);color:var(--hdr-text);width:42px;height:42px;border-radius:50%;display:inline-grid;place-items:center;cursor:pointer;padding:0}
.icon-btn:hover{background:color-mix(in srgb,var(--hdr-text) 12%,transparent)}
.menu-btn{display:none}
.primary-nav{background:var(--ink-2);border-top:1px solid color-mix(in srgb,var(--hdr-text) 10%,transparent)}
.primary-nav ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap}
.primary-nav a{display:block;padding:.75rem 1rem;color:color-mix(in srgb,var(--hdr-text) 88%,transparent);text-decoration:none;font-family:var(--f-ui);font-size:.95rem;border-bottom:3px solid transparent}
.primary-nav a:hover,.primary-nav .current-menu-item>a,.primary-nav .current-cat>a{border-bottom-color:var(--gold);color:var(--hdr-text)}
@media (max-width:820px){
  .menu-btn{display:inline-grid}
  .primary-nav{display:none}
  .primary-nav.is-open{display:block}
  .primary-nav ul{flex-direction:column}
  .primary-nav a{border-bottom:0;border-inline-start:3px solid transparent;padding-inline:1.25rem}
  .primary-nav a:hover,.primary-nav .current-menu-item>a{border-inline-start-color:var(--gold)}
}

/* ===== Search ===== */
.search-form{display:flex;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
.search-form label{flex:1;display:block}
.search-field{width:100%;border:0;background:transparent;color:var(--text);padding:.95rem 1.1rem;font-family:var(--f-ui);font-size:1.05rem}
.search-field:focus-visible{outline:none}
.search-form:focus-within{outline:3px solid var(--focus)}
.search-submit{border:0;background:var(--gold);color:#1c1608;font-family:var(--f-ui);font-weight:600;font-size:1rem;padding:0 1.5rem;cursor:pointer}
.search-submit:hover{filter:brightness(1.08)}
.search-again{margin-bottom:1.5rem}

/* ===== Hero (centered) ===== */
.hero{background:var(--ink);color:var(--hdr-text);padding-block:clamp(2.2rem,6vw,4.5rem);text-align:center}
.hero--gradient{background:linear-gradient(135deg,var(--ink),var(--ink-2) 70%,color-mix(in srgb,var(--accent) 40%,var(--ink-2)))}
.hero--light{background:var(--surface);color:var(--text);border-bottom:1px solid var(--line)}
.hero--light h1{color:var(--head)}
.hero--light .hero-text,.hero--light .chips-label{color:var(--muted)}
.hero--light .search-form{border:1px solid var(--line)}
.hero--light .chips a{color:var(--head);border-color:var(--line)}
.hero-grid{display:grid;justify-items:center}
.hero h1{font-size:clamp(2.1rem,5.4vw,3.7rem);color:var(--hdr-text);margin-bottom:.35em;font-weight:700;line-height:1.35}
.hero-text{color:color-mix(in srgb,var(--hdr-text) 78%,transparent);font-size:1.15rem;max-width:38rem;margin:0 auto 1.6rem}
.hero .search-form{background:#fff;border:0;width:min(100%,680px);margin-inline:auto}
.hero .search-field{color:#1c2034;padding:1.1rem 1.3rem;font-size:1.15rem}
.hero .search-field::placeholder{color:#6b7190}
.chips{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem;margin:1.2rem 0 0;padding:0;list-style:none;align-items:center}
.chips-label{font-family:var(--f-ui);font-size:.9rem;color:color-mix(in srgb,var(--hdr-text) 65%,transparent)}
.chips a{display:block;padding:.28rem .85rem;border:1px solid color-mix(in srgb,var(--hdr-text) 30%,transparent);border-radius:999px;color:var(--hdr-text);text-decoration:none;font-family:var(--f-ui);font-size:.88rem}
.chips a:hover{background:color-mix(in srgb,var(--hdr-text) 14%,transparent)}
.chips--light{margin:0 0 1.5rem;justify-content:flex-start}
.chips--light a{color:var(--head);border-color:var(--line);background:var(--surface)}
.chips--light a:hover{border-color:var(--gold);background:var(--surface)}
.chips--light .is-current a{background:var(--accent);border-color:var(--accent);color:#fff}
.chips--sheet{justify-content:flex-start;margin-top:1rem}

/* ===== Sections ===== */
.section{padding-block:clamp(1.6rem,4.5vw,3rem)}
.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin-bottom:1.3rem;border-bottom:1px solid var(--line);padding-bottom:.7rem}
.section-head h2{margin:0;font-size:1.5rem}
.section-head a{font-family:var(--f-ui);font-size:.95rem;white-space:nowrap}

/* Letters: flex-fill so the last row stretches (no gaps) */
.letters{--lg:.85rem;--lc:4;display:flex;flex-wrap:wrap;gap:var(--lg);list-style:none;margin:0;padding:0}
.letters li{flex:1 0 calc((100% - (var(--lc) - 1) * var(--lg)) / var(--lc));min-width:0;display:flex}
.letter{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.15rem;width:100%;min-height:96px;padding:.9rem .8rem;text-align:center;text-decoration:none;color:var(--head);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);transition:transform .15s,border-color .15s}
.letter strong{font-family:var(--f-ui);font-size:clamp(1.1rem,2.2vw,1.45rem);line-height:1.6;font-weight:600;text-wrap:balance}
.letter span{color:var(--muted);font-family:var(--f-ui);font-size:.82rem}
.letter:hover{transform:translateY(-2px);color:var(--head);border-color:var(--gold)}
.letters--tiles .letter{border-top:4px solid var(--accent)}
.letters--tiles .letter:hover{border-top-color:var(--gold)}
.letters--solid .letter{background:var(--accent);border-color:var(--accent);color:#fff}
.letters--solid .letter span{color:color-mix(in srgb,#fff 80%,transparent)}
.letters--solid .letter:hover{background:var(--ink);border-color:var(--ink);color:#fff}
.letters--pills .letter{min-height:64px;border-radius:999px}
.letters--outline .letter{background:transparent;border:2px solid var(--line)}
@media (max-width:900px){.letters{--lc:3}}
@media (max-width:560px){.letters{--lc:2}.letter{min-height:84px}}

/* ===== Post lists ===== */
.plist{display:grid}
.pi{position:relative;min-width:0}
.pi-thumb{display:block;overflow:hidden;border-radius:var(--radius);background:var(--line);aspect-ratio:4/3}
.ratio-16-9 .pi-thumb{aspect-ratio:16/9}
.ratio-1-1 .pi-thumb{aspect-ratio:1/1}
.pi-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.pi-ph{display:grid;place-items:center;width:100%;height:100%;background:linear-gradient(135deg,var(--ink),var(--ink-2));color:var(--gold);font:700 2.6rem var(--f-ui)}
.pi-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.1rem .8rem;font:.8rem var(--f-ui);color:var(--muted);margin-bottom:.1rem}
.pi-cat{color:var(--accent-ink);font-weight:600;text-decoration:none}
.pi-title{margin:0;font-size:1.1rem;line-height:1.75}
.pi-title a{color:var(--head);text-decoration:none}
.pi-title a:hover{color:var(--accent)}
.pi-excerpt{margin:.25rem 0 0;color:var(--muted);font-size:.98rem;line-height:1.85}
.lines-1 .pi-title a,.lines-2 .pi-title a,.lines-3 .pi-title a{display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden}
.lines-1 .pi-title a{-webkit-line-clamp:1}.lines-2 .pi-title a{-webkit-line-clamp:2}.lines-3 .pi-title a{-webkit-line-clamp:3}
.plist-ad{grid-column:1/-1}

.plist--list .pi,.plist--compact .pi,.plist--rank .pi{padding-block:1rem;border-bottom:1px solid var(--line)}
.plist--list .pi{display:grid;gap:1rem;align-items:center}
.plist--list .pi.has-thumb{grid-template-columns:116px minmax(0,1fr)}
.plist--compact .pi{padding-block:.65rem}
.plist--compact .pi-title{font-size:1.05rem}
.plist--rank{counter-reset:rk}
.plist--rank .pi{counter-increment:rk;display:flex;gap:.9rem;align-items:center;padding-block:.75rem}
.plist--rank .pi::before{content:counter(rk);flex:none;width:2rem;height:2rem;border-radius:50%;background:var(--accent);color:#fff;display:grid;place-items:center;font:700 .9rem var(--f-ui)}
.plist--grid,.plist--cards{grid-template-columns:repeat(var(--cols,3),minmax(0,1fr));gap:1.5rem 1.3rem}
.cols-2{--cols:2}.cols-3{--cols:3}.cols-4{--cols:4}
.plist--grid .pi{display:flex;flex-direction:column;gap:.7rem}
.plist--cards .pi{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
.plist--cards .pi-thumb{border-radius:0}
.plist--cards .pi-body{padding:1rem 1.1rem 1.2rem}
.plist--magazine{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 1.6rem}
.plist--magazine .pi{display:grid;grid-template-columns:104px minmax(0,1fr);gap:1rem;align-items:center;padding-block:.9rem;border-bottom:1px solid var(--line)}
.plist--magazine .pi:not(.has-thumb){grid-template-columns:1fr}
.plist--magazine .pi--lead{grid-column:1/-1;display:grid;grid-template-columns:1.1fr 1fr;gap:1.6rem;padding-block:0 1.4rem}
.plist--magazine .pi--lead .pi-title{font-size:1.5rem}
.plist--magazine .pi:last-child:nth-child(even){grid-column:1/-1}

/* complete the last row of grids (no empty cells) */
@media (min-width:901px){
  .plist.cols-2>.pi:last-child:nth-child(odd){grid-column:1/-1}
  .plist.cols-3>.pi:last-child:nth-child(3n+1){grid-column:1/-1}
  .plist.cols-3>.pi:last-child:nth-child(3n+2){grid-column:span 2}
  .plist.cols-4>.pi:last-child:nth-child(4n+1){grid-column:1/-1}
  .plist.cols-4>.pi:nth-child(4n+1):nth-last-child(2),.plist.cols-4>.pi:last-child:nth-child(4n+2),.plist.cols-4>.pi:last-child:nth-child(4n+3){grid-column:span 2}
}
@media (max-width:900px) and (min-width:561px){
  .plist--grid,.plist--cards{grid-template-columns:repeat(2,minmax(0,1fr))}
  .plist--grid>.pi:last-child:nth-child(odd),.plist--cards>.pi:last-child:nth-child(odd){grid-column:1/-1}
  .plist--magazine .pi--lead{grid-template-columns:1fr}
}
@media (max-width:560px){
  .plist--grid,.plist--cards,.plist--magazine{grid-template-columns:minmax(0,1fr)}
  .plist--magazine .pi--lead{grid-template-columns:1fr}
  .plist--list .pi.has-thumb{grid-template-columns:92px minmax(0,1fr)}
}

/* ===== Sources / note ===== */
.sources{background:var(--surface);border:1px solid var(--line);border-inline-start:5px solid var(--gold);border-radius:var(--radius);padding:1.5rem 1.6rem}
.sources h2{font-size:1.35rem}
.sources p{margin:0}

/* ===== Ads ===== */
.ad{margin:1.5rem 0;text-align:center;clear:both;overflow:hidden}
.ad-label{display:block;font:.7rem var(--f-ui);color:var(--muted);margin-bottom:.25rem}
.ad-ph{display:grid;place-items:center;min-height:inherit;border:2px dashed var(--line);border-radius:var(--radius);color:var(--muted);font:.85rem var(--f-ui);padding:1rem}
@media (max-width:820px){.ad-dev-desktop{display:none}}
@media (min-width:821px){.ad-dev-mobile{display:none}}

/* ===== Layout ===== */
.layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:2.5rem;padding-block:2rem 3rem;align-items:start}
.layout--none{grid-template-columns:minmax(0,1fr)}
.layout--start{grid-template-columns:320px minmax(0,1fr)}
.layout--start .sidebar{order:-1}
@media (max-width:1000px){.layout,.layout--start{grid-template-columns:minmax(0,1fr)}.layout--start .sidebar{order:0}}
.sidebar .widget{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:1.2rem 1.3rem;margin-bottom:1.2rem}
.sidebar .widget-title{font-size:1.1rem;margin-bottom:.7rem}
.sidebar ul{list-style:none;margin:0;padding:0}
.sidebar li{padding:.45rem 0;border-bottom:1px solid var(--line);line-height:1.7;font-size:1.02rem}
.sidebar li:last-child{border-bottom:0}
.sidebar a{text-decoration:none;color:var(--head)}
.sidebar a:hover{color:var(--accent)}
@media (min-width:1001px){.sidebar-sticky{position:sticky;top:1rem}}

.crumbs{font-family:var(--f-ui);font-size:.85rem;color:var(--muted);margin-bottom:1rem}
.crumbs ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.35rem}
.crumbs li+li::before{content:"‹";margin-inline-end:.35rem;opacity:.5}
.crumbs a{color:inherit;text-decoration:none}
.crumbs a:hover{color:var(--accent)}

/* ===== Post hero (title banner) ===== */
.post-hero{position:relative;background:linear-gradient(135deg,var(--ink),var(--ink-2));color:var(--hdr-text);padding-block:1.6rem 4.4rem;overflow:hidden}
.post-hero::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 12% 20%,color-mix(in srgb,var(--gold) 22%,transparent),transparent 45%),radial-gradient(color-mix(in srgb,#fff 10%,transparent) 1px,transparent 1.5px) 0 0/22px 22px;pointer-events:none}
.post-hero .wrap{position:relative}
.crumbs--hero{color:color-mix(in srgb,var(--hdr-text) 70%,transparent)}
.post-title{font-size:clamp(1.8rem,4.6vw,3rem);line-height:1.55;color:var(--hdr-text);font-weight:700;max-width:60rem;margin:.5rem 0 .9rem;text-wrap:balance}
.badge{display:inline-block;background:var(--gold);color:#1c1608;font:600 .8rem var(--f-ui);padding:.2rem .85rem;border-radius:999px;text-decoration:none}
.badge:hover{color:#1c1608;filter:brightness(1.08)}
.badge--solid{margin-bottom:.8rem}
.post-hero .article-meta{border:0;margin:0;padding:0;color:color-mix(in srgb,var(--hdr-text) 78%,transparent)}
.has-post-hero .layout{margin-top:-2.6rem;position:relative;padding-top:0}

/* ===== Article ===== */
.article{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:clamp(1.2rem,4vw,2.4rem)}
.article-title{font-size:clamp(1.55rem,3.6vw,2.2rem);line-height:1.55;margin-bottom:.6rem}
.article-meta{display:flex;flex-wrap:wrap;gap:.3rem 1.2rem;font:.85rem var(--f-ui);color:var(--muted);margin-bottom:1.4rem;padding-bottom:1.1rem;border-bottom:1px solid var(--line)}
.article-thumb{margin:0 0 1.5rem}
.article-thumb img{width:100%;border-radius:var(--radius);display:block}
.entry-content{font-size:var(--fs-content);line-height:var(--lh);overflow-wrap:anywhere}
.entry-content a{font-weight:500}
.entry-content ul,.entry-content ol{padding-inline-start:1.6rem;margin:0 0 1.2em}
.entry-content li{margin-bottom:.35em}
.entry-content img{border-radius:var(--radius)}
.entry-content blockquote{margin:1.5rem 0;padding:.9rem 1.2rem;background:var(--paper);border-inline-start:4px solid var(--gold);border-radius:var(--radius)}
.entry-content blockquote p:last-child{margin-bottom:0}
.entry-content table{width:100%;border-collapse:collapse;font-size:.9em;display:block;overflow-x:auto}
.entry-content th,.entry-content td{border:1px solid var(--line);padding:.6rem .8rem;text-align:start}
.entry-content th{background:var(--paper);font-family:var(--f-ui)}

/* Headings in content */
.entry-content h2{font-size:1.55rem;margin:2.1em 0 .8em;line-height:1.55}
.entry-content h3{font-size:1.28rem;margin:1.7em 0 .6em;color:var(--accent-ink)}
.entry-content h3::before{content:"";display:inline-block;width:.5em;height:.5em;background:var(--gold);transform:rotate(45deg);margin-inline-end:.55em;vertical-align:.1em}
.hs-bar .entry-content h2{padding:.35rem 1rem;border-inline-start:6px solid var(--accent);background:linear-gradient(to left,transparent,color-mix(in srgb,var(--accent) 9%,transparent));border-radius:0 var(--radius) var(--radius) 0}
.hs-box .entry-content h2{padding:.55rem 1.1rem;background:var(--accent);color:#fff;border-radius:var(--radius)}
.hs-line .entry-content h2{padding-bottom:.45rem;border-bottom:2px solid var(--line);position:relative}
.hs-line .entry-content h2::after{content:"";position:absolute;inset-inline-start:0;bottom:-2px;width:72px;height:2px;background:var(--gold)}

/* ===== TOC ===== */
.toc{margin:0 0 2rem;background:var(--paper);border:1px solid var(--line);border-inline-start:5px solid var(--gold);border-radius:var(--radius);font-family:var(--f-ui);font-size:.98rem;line-height:1.7}
.toc summary{display:flex;align-items:center;gap:.7rem;cursor:pointer;padding:.9rem 1.2rem;list-style:none;color:var(--head);font-weight:600;font-size:1.05rem}
.toc summary::-webkit-details-marker{display:none}
.toc-ico{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--accent);color:#fff}
.toc-ico svg{width:18px;height:18px}
.toc-ttl{flex:1}
.toc-chev{width:.6rem;height:.6rem;border-inline-end:2px solid var(--muted);border-bottom:2px solid var(--muted);transform:rotate(45deg);transition:transform .2s;margin-inline-end:.3rem}
.toc[open] .toc-chev{transform:rotate(-135deg)}
.toc-list,.toc-sub{margin:0;padding:0;list-style:none}
.toc-list{counter-reset:t;padding:.2rem 1.2rem 1.1rem}
.toc-list>li{counter-increment:t;padding:.3rem 0;border-top:1px dashed var(--line)}
.toc-list>li:first-child{border-top:0}
.toc-list>li>a{display:flex;align-items:baseline;gap:.7rem}
.toc-list>li>a::before{content:counter(t);flex:none;min-width:1.7rem;height:1.7rem;display:grid;place-items:center;border-radius:50%;background:color-mix(in srgb,var(--accent) 14%,transparent);color:var(--accent-ink);font:600 .8rem var(--f-ui)}
.toc a{color:var(--text);text-decoration:none}
.toc a:hover,.toc a.is-active{color:var(--accent-ink)}
.toc a.is-active{font-weight:600}
.toc-sub{margin:.2rem 2.4rem .3rem 0;font-size:.92rem}
.toc-sub li{padding:.15rem 0}
.toc-sub a::before{content:"–";margin-inline-end:.4rem;color:var(--gold)}

/* ===== FAQ ===== */
.faq{margin:2.4rem 0;padding:clamp(1rem,3vw,1.7rem);background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 7%,var(--surface)),var(--surface));border:1px solid var(--line);border-top:5px solid var(--accent);border-radius:calc(var(--radius) + 4px)}
.faq>h2{display:flex;align-items:center;gap:.8rem;margin:0 0 1.1rem;padding:0;background:none;border:0;color:var(--head);border-radius:0}
.faq>h2::before{content:"؟";flex:none;display:grid;place-items:center;width:2.4rem;height:2.4rem;border-radius:50%;background:var(--gold);color:#1c1608;font:700 1.4rem var(--f-ui)}
.faq>h2::after{display:none}
.faq-intro{margin-bottom:1rem;font-size:.95em;color:var(--muted)}
.faq-list{display:grid;gap:.7rem}
.faq-item{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
.faq-item[open]{border-color:var(--accent);box-shadow:0 2px 0 var(--accent)}
.faq-item summary{display:flex;align-items:center;gap:.8rem;cursor:pointer;padding:.85rem 1rem;list-style:none;font:600 1.05rem/1.7 var(--f-ui);color:var(--head)}
.faq-item summary::-webkit-details-marker{display:none}
.faq-q,.faq-aa{flex:none;display:grid;place-items:center;width:1.9rem;height:1.9rem;border-radius:50%;font:700 .9rem var(--f-ui)}
.faq-q{background:var(--accent);color:#fff}
.faq-aa{background:var(--gold);color:#1c1608}
.faq-t{flex:1}
.faq-i{flex:none;position:relative;width:1.1rem;height:1.1rem}
.faq-i::before,.faq-i::after{content:"";position:absolute;inset:50% 0 auto;height:2px;background:var(--muted);transition:transform .2s}
.faq-i::after{transform:rotate(90deg)}
.faq-item[open] .faq-i::after{transform:rotate(0)}
.faq-a{display:flex;gap:.8rem;padding:.2rem 1rem 1.1rem;border-top:1px dashed var(--line);padding-top:1rem}
.faq-body{flex:1;min-width:0;font-size:.95em;line-height:1.95}
.faq-body>:last-child{margin-bottom:0}
/* Rank Math / Yoast FAQ blocks */
.rank-math-list-item,.schema-faq-section{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:.9rem 1.1rem;margin-bottom:.7rem}
.rank-math-question,.schema-faq-question{display:block;font:600 1.05rem var(--f-ui);color:var(--head);margin-bottom:.4rem}

/* ===== Misc article blocks ===== */
.note{margin-top:2rem;padding:1rem 1.2rem;background:var(--paper);border-radius:var(--radius);font-size:.9em;color:var(--muted)}
.share{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:1.6rem;padding-top:1.2rem;border-top:1px solid var(--line);font:.9rem var(--f-ui)}
.share a,.share button{border:1px solid var(--line);background:var(--surface);color:var(--head);padding:.4rem .9rem;border-radius:999px;text-decoration:none;font:inherit;cursor:pointer}
.share a:hover,.share button:hover{border-color:var(--gold)}
.find-more{margin-top:2rem;padding:1.4rem;background:var(--ink);border-radius:var(--radius);color:var(--hdr-text)}
.find-more h2{color:var(--hdr-text);font-size:1.25rem;margin-bottom:.8rem}
.find-more .search-form{background:#fff;border:0}
.find-more .search-field{color:#1c2034}
.related{margin-top:2.2rem}
.related h2{font-size:1.3rem}
.post-navigation .nav-links{display:flex;justify-content:space-between;gap:1rem;margin-top:2rem;font:.95rem var(--f-ui)}
.post-navigation a{text-decoration:none}

/* ===== Archive / pagination ===== */
.page-head{margin-bottom:1.4rem}
.page-head h1{font-size:clamp(1.6rem,4vw,2.3rem);margin-bottom:.3rem}
.page-head p,.page-desc{color:var(--muted);margin:0}
.pagination{margin-top:2rem}
.pagination .nav-links{display:flex;flex-wrap:wrap;gap:.4rem;justify-content:center;font-family:var(--f-ui)}
.pagination .page-numbers{min-width:2.5rem;text-align:center;padding:.4rem .8rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);text-decoration:none;color:var(--head)}
.pagination .current{background:var(--accent);border-color:var(--accent);color:#fff}
.pagination a.page-numbers:hover{border-color:var(--gold)}

/* ===== Comments ===== */
.comments{margin-top:2rem}
.comment-list{list-style:none;padding:0}
.comment-list .children{list-style:none;padding-inline-start:1.5rem}
.comment-body{padding:1rem 0;border-bottom:1px solid var(--line);font-size:.95em}
.comment-author{font-family:var(--f-ui);font-weight:600}
.comment-metadata{font:.8rem var(--f-ui)}
.comment-form label{display:block;font:.9rem var(--f-ui);margin-bottom:.2rem}
.comment-form input[type=text],.comment-form input[type=email],.comment-form input[type=url],.comment-form textarea{width:100%;padding:.7rem .9rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);color:var(--text);font:inherit}
.comment-form .submit{background:var(--accent);color:#fff;border:0;border-radius:var(--radius);padding:.7rem 1.4rem;font-family:var(--f-ui);cursor:pointer}

.not-found{text-align:center;padding-block:3rem}
.not-found .search-form{max-width:520px;margin:1.5rem auto}

/* ===== Footer ===== */
.site-footer{background:var(--ink);color:color-mix(in srgb,var(--hdr-text) 80%,transparent);padding-block:2.5rem 1.5rem;margin-top:1rem}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:2rem;padding-bottom:1.8rem;border-bottom:1px solid color-mix(in srgb,var(--hdr-text) 14%,transparent)}
@media (max-width:700px){.footer-grid{grid-template-columns:1fr}}
.site-footer h2{color:var(--hdr-text);font-size:1.1rem}
.site-footer p{font-size:.95rem;margin:0 0 .8rem}
.site-footer ul{list-style:none;margin:0;padding:0}
.site-footer li{padding:.2rem 0}
.site-footer a{color:var(--hdr-text);text-decoration:none;font:.95rem var(--f-ui)}
.site-footer a:hover{color:var(--gold)}
.social{display:flex;flex-wrap:wrap;gap:.4rem 1rem}
.copyright{padding-top:1.2rem;font:.85rem var(--f-ui);opacity:.75;margin:0}
.to-top{position:fixed;inset-inline-start:1rem;bottom:1rem;width:44px;height:44px;border-radius:50%;border:0;background:var(--accent);color:#fff;display:grid;place-items:center;cursor:pointer;box-shadow:0 4px 14px rgba(0,0,0,.25);z-index:40}
.to-top[hidden]{display:none}

/* ===== App bar + sheets ===== */
.appbar{display:none;position:fixed;inset-inline:0;bottom:0;z-index:60;background:var(--surface);border-top:1px solid var(--line);padding:.35rem .4rem calc(.35rem + env(safe-area-inset-bottom,0px));box-shadow:0 -6px 24px rgba(0,0,0,.08);justify-content:space-around;align-items:flex-end}
.ab-item{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;gap:.1rem;padding:.3rem .2rem;border:0;background:none;color:var(--muted);text-decoration:none;font:500 .7rem var(--f-ui);cursor:pointer;-webkit-tap-highlight-color:transparent}
.ab-ico{display:grid;place-items:center;width:34px;height:30px}
.ab-item:hover,.ab-item.is-current{color:var(--accent)}
.ab-search .ab-ico{width:52px;height:52px;margin-top:-26px;border-radius:50%;background:var(--accent);color:#fff;border:4px solid var(--surface);box-shadow:0 4px 12px rgba(0,0,0,.2)}
.ab-search{color:var(--accent)}
.sheet{position:fixed;inset:0;z-index:80;display:flex;align-items:flex-end;justify-content:center}
.sheet[hidden]{display:none}
.sheet-backdrop{position:absolute;inset:0;background:rgba(8,10,25,.55);opacity:0;transition:opacity .22s}
.sheet.is-open .sheet-backdrop{opacity:1}
.sheet-panel{position:relative;width:min(100%,680px);max-height:84dvh;overflow:auto;background:var(--surface);border-radius:20px 20px 0 0;padding:1rem 1.1rem calc(1.2rem + env(safe-area-inset-bottom,0px));transform:translateY(100%);transition:transform .25s}
.sheet.is-open .sheet-panel{transform:none}
.sheet--full .sheet-panel{height:100dvh;max-height:none;border-radius:0}
.sheet-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}
.sheet-head h2{margin:0;font-size:1.2rem}
.sheet-x{width:40px;height:40px;border-radius:50%;border:1px solid var(--line);background:var(--paper);color:var(--head);display:grid;place-items:center;cursor:pointer}
.sheet .search-form{border:2px solid var(--accent)}
.sheet-links{list-style:none;margin:0;padding:0}
.sheet-links a{display:block;padding:.85rem .4rem;border-bottom:1px solid var(--line);text-decoration:none;color:var(--head);font:500 1rem var(--f-ui)}
.letters--sheet{--lc:2}
@media (min-width:821px){.sheet{align-items:center}.sheet-panel{border-radius:20px}.sheet--full .sheet-panel{height:auto;max-height:84dvh;border-radius:20px}}

@media (max-width:820px){
  .mode-app-mobile .menu-btn,.mode-app-mobile .primary-nav{display:none!important}
  .mode-app-mobile .appbar{display:flex}
  .mode-app-mobile{padding-bottom:calc(72px + env(safe-area-inset-bottom,0px))}
  .mode-app-mobile .to-top{bottom:calc(84px + env(safe-area-inset-bottom,0px))}
  .mode-app-mobile .site-header{position:sticky;top:0}
  .mode-app-mobile .bar{padding-block:.6rem}
  .mode-app-mobile .brand a{font-size:1.3rem}
}
.mode-app-all{--wrap:860px;padding-bottom:calc(72px + env(safe-area-inset-bottom,0px))}
.mode-app-all .appbar{display:flex;justify-content:center}
.mode-app-all .appbar .ab-item{max-width:130px}
.mode-app-all .menu-btn,.mode-app-all .primary-nav{display:none!important}
.mode-app-all .site-header{position:sticky;top:0}
.mode-app-all .layout,.mode-app-all .layout--start{grid-template-columns:minmax(0,1fr)}
.mode-app-all .sidebar{display:none}
.mode-app-all .to-top{bottom:calc(84px + env(safe-area-inset-bottom,0px))}

/* ===== WordPress core ===== */
.alignleft{float:left;margin:0 1rem 1rem 0}
.alignright{float:right;margin:0 0 1rem 1rem}
.aligncenter{display:block;margin-inline:auto}
.wp-caption{max-width:100%}
.wp-caption-text,figcaption{font-size:.9rem;color:var(--muted);text-align:center}
