/*
Theme Name: جمهوری سادات (Jomhuri Sadat)
Theme URI: https://example.org/
Description: قالب اختصاصی جمهوری سادات — RTL/LTR، موبایل‌محور، حالت تاریک. داده‌ها در افزونه «جمهوری سادات — هسته» نگهداری می‌شوند.
Version: 0.2.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: jomhuri-sadat-theme
*/
@font-face{font-family:"Vazirmatn";src:url("assets/fonts/Vazirmatn.woff2") format("woff2");font-display:swap;font-weight:100 900}
:root{--g1:#123D32;--g2:#1D5947;--bg:#FFFFFF;--soft:#F3F5F0;--gold:#B99A5B;--text:#25352F;--line:#e0e6dc;--jsd-bg:#fff;--radius:12px}
:root[data-theme="dark"]{--bg:#0f1714;--soft:#17231e;--text:#e6ece8;--line:#2a3a33;--jsd-bg:#0f1714;--g1:#0b2a22;--g2:#2c7a63}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:"Vazirmatn","Noto Naskh Arabic","Segoe UI",Tahoma,sans-serif;background:var(--bg);color:var(--text);line-height:1.9;padding-bottom:64px}
a{color:var(--g2)}img{max-width:100%;height:auto}
.container{width:min(1180px,100% - 2rem);margin-inline:auto}
.skip{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);inset-inline-start:0}.skip:focus{width:auto;height:auto;clip:auto;background:#fff;padding:.5rem;z-index:99}
.site-header{background:var(--g1);color:#fff;position:sticky;top:0;z-index:50}
.site-header a{color:#fff;text-decoration:none}
.header-row{display:flex;align-items:center;gap:1rem;padding:.6rem 0}
.brand{display:flex;flex-direction:column;line-height:1.2;font-weight:800;font-size:1.25rem}
.brand small{font-weight:400;font-size:.75rem;color:var(--gold)}
.primary-nav{flex:1}
.primary-nav ul{list-style:none;display:flex;flex-wrap:wrap;gap:.2rem 1rem;margin:0;padding:0}
.primary-nav a{padding:.3rem .2rem;border-bottom:2px solid transparent;font-size:.95rem}
.primary-nav a:hover,.primary-nav .current-menu-item>a{border-color:var(--gold)}
.tools{display:flex;gap:.5rem;align-items:center}
.icon-btn{background:transparent;border:1px solid rgba(255,255,255,.3);color:#fff;border-radius:8px;min-width:44px;min-height:44px;cursor:pointer;font:inherit;padding:0 .7rem}
.search-box{position:relative}
.search-box input{padding:.5rem .7rem;border-radius:8px;border:0;min-height:44px;width:180px}
.suggest{position:absolute;inset-inline:0;top:100%;background:var(--bg);color:var(--text);list-style:none;margin:0;padding:0;border:1px solid var(--line);border-radius:8px;z-index:60;min-width:260px}
.suggest li a{display:block;color:var(--text);padding:.5rem .8rem}
.menu-toggle{display:none}
.hero{background:linear-gradient(var(--g1),var(--g2));color:#fff;padding:3rem 0}
.hero h1{margin:.2rem 0;font-size:clamp(1.8rem,4vw,2.8rem)}
.hero .kicker{color:var(--gold)}
.section{padding:2rem 0}.section:nth-of-type(even){background:var(--soft)}
.section h2{margin:0 0 1rem;color:var(--g1);border-inline-start:4px solid var(--gold);padding-inline-start:.6rem}
:root[data-theme="dark"] .section h2{color:#cfe3da}
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1rem}
.post-card{background:var(--bg);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column}
.post-card img{width:100%;height:170px;object-fit:cover}
.post-card .body{padding:.8rem 1rem}
.post-card h3{margin:.2rem 0;font-size:1.05rem}.post-card h3 a{color:inherit;text-decoration:none}
.meta{font-size:.82rem;opacity:.75}
.badge{display:inline-block;background:var(--gold);color:#fff;border-radius:6px;padding:0 .5rem;font-size:.75rem}
.slider{position:relative;overflow:hidden;border-radius:var(--radius);background:var(--g1);color:#fff}
.slide{display:none;position:relative;min-height:320px}
.slide.on{display:block}
.slide img{width:100%;height:380px;object-fit:cover;opacity:.55}
.slide .cap{position:absolute;inset-inline:0;bottom:0;padding:1.2rem;background:linear-gradient(transparent,rgba(0,0,0,.7))}
.slide .cap a{color:#fff;text-decoration:none;font-size:1.4rem;font-weight:700}
.slider-nav{position:absolute;inset-block-end:.6rem;inset-inline-end:1rem;display:flex;gap:.4rem}
.slider-nav button{width:44px;height:44px;border-radius:50%;border:0;background:rgba(255,255,255,.85);cursor:pointer}
.entry{max-width:780px;margin:2rem auto}
.entry-content{font-size:1.08rem}
.sources{background:var(--soft);padding:1rem;border-radius:var(--radius);margin-top:1.5rem}
.person-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.6rem;background:var(--soft);padding:1rem;border-radius:var(--radius)}
.site-footer{background:var(--g1);color:#dfe8e3;padding:2rem 0;margin-top:2rem}
.site-footer a{color:#fff}
.bottom-nav{display:none}
@media(max-width:820px){
  .primary-nav{display:none;position:absolute;top:100%;inset-inline:0;background:var(--g1);padding:1rem}
  .primary-nav.open{display:block}.primary-nav ul{flex-direction:column}
  .menu-toggle{display:inline-block}.search-box input{width:120px}
  .bottom-nav{display:flex;position:fixed;bottom:0;inset-inline:0;background:var(--bg);border-top:1px solid var(--line);z-index:60;padding-bottom:env(safe-area-inset-bottom)}
  .bottom-nav a{flex:1;text-align:center;padding:.5rem .2rem;font-size:.72rem;color:var(--text);text-decoration:none;min-height:56px}
  .bottom-nav a b{display:block;font-size:1.2rem}
}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
:focus-visible{outline:3px solid var(--gold);outline-offset:2px}

/* ===== v0.2: mobile fixes, banners, entry pages ===== */
html,body{max-width:100%;overflow-x:hidden}
.brand{min-width:0}
.header-row{flex-wrap:wrap}
input,select,textarea,button{font-size:16px}
table{max-width:100%}
.entry-content table,.jsd-table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}
.entry-content iframe,.entry-content video{max-width:100%}
.banner{margin:0;max-height:420px;overflow:hidden;background:var(--g1)}
.banner img{width:100%;height:auto;max-height:420px;object-fit:cover;display:block}
.wp-block-gallery{gap:.6rem}
.wp-block-gallery img{border-radius:8px}
.leaflet-container{max-width:100%}
@media(max-width:820px){
  .tools{flex:1 1 100%;order:3;justify-content:space-between;flex-wrap:wrap}
  .search-box{flex:1 1 100%;order:5}
  .search-box input{width:100%}
  .tools .icon-btn:not(.menu-toggle):not(#theme-toggle){display:none}
  .brand{flex:1}
  .slide img{height:220px}.slide{min-height:220px}
  .jsd-map{height:320px}
  .hero{padding:2rem 0}
  .container{width:min(1180px,100% - 1.2rem)}
  .cards,.jsd-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:480px){.cards,.jsd-grid{grid-template-columns:1fr}.jsd-cards{grid-template-columns:1fr 1fr}}

/* v0.2.1: blocks, widgets */
.blk-banner{position:relative;border-radius:var(--radius);overflow:hidden;background:var(--g1);color:#fff;min-height:200px}
.blk-banner img{width:100%;height:320px;object-fit:cover;opacity:.5;display:block}
.blk-banner .cap{position:absolute;inset-inline:0;bottom:0;padding:1.2rem;background:linear-gradient(transparent,rgba(0,0,0,.75))}
.blk-banner h2{color:#fff;border:0;padding:0;margin:0 0 .4rem}
.home-widgets{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem}
.footer-widgets{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;margin-bottom:1rem}
.footer-widgets .jsd-widget{background:rgba(255,255,255,.08);color:#fff}
.widget-title{margin:.2rem 0 .6rem;font-size:1.05rem;color:var(--g1)}
.footer-widgets .widget-title{color:#fff}
@media(max-width:820px){.blk-banner img{height:200px}}
