/*
Theme Name: PakPolitics
Theme URI: https://pakpolitics.com
Author: PakPolitics Editorial Desk
Description: A refined, responsive WordPress theme for Pakistan's political archive, elections reference and constitutional learning portal.
Version: 1.1.0
Requires at least: 6.4
Requires PHP: 7.4
Text Domain: pakpolitics
*/

:root {
  --green-950:#062f24; --green-900:#073d2f; --green-800:#0a513e; --green-700:#0b6a4f;
  --green-100:#dcece5; --green-50:#eff7f3; --ivory:#f8f5ec; --paper:#fffef9;
  --ink:#17201d; --muted:#607069; --gold:#bd9552; --gold-light:#e8d4a9; --line:#d8e0db;
  --shadow:0 18px 50px rgba(4,42,31,.12); --radius:18px; --wrap:1180px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:var(--ink);background:var(--ivory);font-family:Inter,"Segoe UI",Arial,sans-serif;line-height:1.72;-webkit-font-smoothing:antialiased}
body.admin-bar .nav-shell{top:32px}
a{color:var(--green-700);text-decoration-thickness:1px;text-underline-offset:3px}
a:hover{color:var(--green-950)}
img{max-width:100%;height:auto}
.wrap{width:min(var(--wrap),calc(100% - 40px));margin:auto}
.skip-link{position:fixed;left:16px;top:-100px;z-index:9999;background:#fff;color:#000;padding:12px 18px;border-radius:8px}.skip-link:focus{top:16px}
.utility{background:var(--green-950);color:#dcebe5;font-size:.77rem;letter-spacing:.06em;text-transform:uppercase}
.utility .wrap{height:36px;display:flex;justify-content:space-between;align-items:center}
.utility a{color:#fff;text-decoration:none;font-family:"Noto Nastaliq Urdu","Noto Sans Arabic",serif;font-size:.95rem}
.masthead{min-height:315px;display:grid;place-items:end center;padding:34px 20px;background:linear-gradient(180deg,rgba(2,26,20,.05),rgba(2,35,26,.88)),url('assets/images/pakpolitics-header.png') center 34%/cover no-repeat;border-bottom:4px solid var(--gold)}
.brand{text-align:center;text-decoration:none;color:#fff;text-shadow:0 2px 20px rgba(0,0,0,.6)}
.brand strong{display:block;font-family:Georgia,"Times New Roman",serif;font-size:clamp(2.6rem,6vw,5.7rem);line-height:.9;letter-spacing:-.055em}.brand strong span{color:var(--gold-light)}
.brand em{display:block;margin-top:12px;font-style:normal;font-weight:650;font-size:clamp(.86rem,1.6vw,1.1rem);letter-spacing:.16em;text-transform:uppercase}
.nav-shell{position:sticky;top:0;z-index:100;background:rgba(255,254,249,.97);border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}
.nav-shell>.wrap{display:flex;align-items:center;min-height:62px;gap:18px}
.primary-nav{display:flex;align-items:center;gap:4px;flex:1}.primary-nav a{display:block;padding:19px 13px;color:var(--ink);text-decoration:none;font-size:.84rem;font-weight:760;letter-spacing:.02em}.primary-nav a:hover,.primary-nav a[aria-current=page]{color:var(--green-700);box-shadow:inset 0 -3px var(--gold)}
.menu-toggle,.search-toggle{appearance:none;border:0;background:none;color:var(--green-900);font:inherit;font-size:.79rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;padding:10px}.menu-toggle{display:none}.search-toggle{margin-left:auto;border:1px solid var(--green-100);border-radius:999px;padding:9px 16px}
.search-panel{border-top:1px solid var(--line);background:var(--paper);padding:25px 0 30px;box-shadow:var(--shadow)}
.search-panel label{display:block;font-family:Georgia,"Times New Roman",serif;font-size:1.35rem;font-weight:700;color:var(--green-950);margin-bottom:10px}
.search-panel input{width:100%;padding:15px 18px;border:1px solid #b9c9c1;border-radius:10px;background:#fff;font:inherit;outline:none}.search-panel input:focus{border-color:var(--green-700);box-shadow:0 0 0 4px var(--green-100)}
.search-results{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:14px}.search-result{display:block;padding:13px 15px;border:1px solid var(--line);border-radius:10px;text-decoration:none;background:#fff}.search-result strong{display:block;color:var(--ink)}.search-result small{color:var(--muted)}
.site-main{width:min(var(--wrap),calc(100% - 40px));margin:0 auto}.home-main{padding-bottom:70px}
.pakpolitics-hero{margin:0 calc(50% - 50vw) 0;min-height:520px!important;display:grid;place-items:center;background:radial-gradient(circle at 50% 0,#12684f 0,#073d2f 48%,#062f24 100%);color:#fff;text-align:center;padding:80px 20px}.pakpolitics-hero .wp-block-cover__background{display:none}.pakpolitics-hero .wp-block-cover__inner-container{max-width:880px}.pakpolitics-hero h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(2.8rem,7vw,5.8rem);line-height:1.01;letter-spacing:-.045em;margin:0 0 24px}.pakpolitics-hero p{font-size:1.18rem;color:#e5f1ec;max-width:700px;margin:0 auto 28px}
.wp-block-buttons{display:flex;gap:12px;flex-wrap:wrap}.pakpolitics-hero .wp-block-buttons{justify-content:center}.wp-block-button__link{display:inline-flex;padding:12px 20px;border-radius:999px;background:var(--gold);color:#162219!important;text-decoration:none;font-weight:800}.is-style-outline .wp-block-button__link{background:transparent;color:#fff!important;border:1px solid rgba(255,255,255,.6)}
.home-main>h2{font-family:Georgia,"Times New Roman",serif;color:var(--green-950);font-size:clamp(2rem,4vw,3.1rem);line-height:1.1;margin:75px 0 20px;letter-spacing:-.03em}.home-main>h3{font-family:Georgia,"Times New Roman",serif;font-size:1.55rem}.home-main>p{max-width:820px;font-size:1.08rem;color:#40514b}.home-main>ul{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;padding:0;list-style:none}.home-main>ul li{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:21px;box-shadow:0 6px 24px rgba(4,42,31,.05)}.home-main>ul a{font-weight:800;text-decoration:none}.home-main>.wp-block-table{margin:25px 0}
.article-layout{display:grid;grid-template-columns:minmax(0,790px) 300px;gap:56px;padding:45px 0 90px;align-items:start}.article-layout article{min-width:0;background:var(--paper);border:1px solid var(--line);border-radius:24px;padding:clamp(28px,5vw,60px);box-shadow:0 10px 40px rgba(4,42,31,.06)}
.breadcrumb{display:flex;gap:8px;align-items:center;color:var(--muted);font-size:.78rem;margin-bottom:35px}.breadcrumb a{text-decoration:none}.article-header{padding-bottom:30px;border-bottom:1px solid var(--line);margin-bottom:35px}.eyebrow{display:block;color:var(--gold);font-size:.76rem;font-weight:900;letter-spacing:.14em;text-transform:uppercase;margin-bottom:12px}.article-header h1{font-family:Georgia,"Times New Roman",serif;color:var(--green-950);font-size:clamp(2.2rem,5vw,4rem);line-height:1.05;letter-spacing:-.045em;margin:0 0 18px}.dek{font-size:1.13rem;color:var(--muted);margin:0 0 15px}.reviewed{font-size:.77rem;color:var(--muted);font-weight:700;text-transform:uppercase;letter-spacing:.06em}
article h2{font-family:Georgia,"Times New Roman",serif;color:var(--green-950);font-size:1.8rem;line-height:1.2;margin:45px 0 16px}article h3{font-family:Georgia,"Times New Roman",serif;font-size:1.35rem;color:var(--green-900);margin-top:30px}article p,article li{font-size:1.02rem}article li{margin:.45em 0}article ul,article ol{padding-left:1.35em}
.editorial-note{margin:0 0 30px;padding:18px 20px;border-left:4px solid var(--gold);background:#f5f0df;border-radius:0 12px 12px 0}.editorial-note p{margin:0;color:#3f4c46}
.wp-block-table{overflow-x:auto;border:1px solid var(--line);border-radius:14px;background:#fff}.wp-block-table table{width:100%;border-collapse:collapse}.wp-block-table th,.wp-block-table td{padding:14px 16px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.wp-block-table th{width:32%;color:var(--green-900);background:var(--green-50)}.wp-block-table tr:last-child th,.wp-block-table tr:last-child td{border-bottom:0}
.sidebar{position:sticky;top:90px;display:grid;gap:22px}.sidebar-card{background:var(--green-950);color:#fff;border-radius:var(--radius);padding:26px;box-shadow:var(--shadow)}.sidebar-card h2{font-family:Georgia,"Times New Roman",serif;font-size:1.45rem;margin:0 0 14px}.sidebar-card a{display:flex;justify-content:space-between;gap:12px;padding:10px 0;color:#e8f4ef;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.12);font-weight:650}.sidebar-card a:last-child{border-bottom:0}.source-card{background:var(--paper);color:var(--ink);border:1px solid var(--line);box-shadow:none}.source-card a{color:var(--green-700);border:0;padding:0}.source-card p{color:var(--muted)}
.ad-slot{width:min(970px,calc(100% - 40px));min-height:110px;margin:35px auto;border:1px dashed #9bb0a7;border-radius:14px;background:linear-gradient(135deg,#f5f7f5,#fff);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#788780;padding:20px}.ad-slot span{font-size:.65rem;text-transform:uppercase;letter-spacing:.16em}.ad-slot strong{color:#52645d;font-size:.88rem}.ad-slot small{font-size:.72rem}.ad-inline{width:100%;margin:5px 0 35px}.ad-sidebar{width:100%;min-height:250px;margin:0}.ad-footer{margin-top:45px;margin-bottom:45px}
.site-footer{background:var(--green-950);color:#dcebe5;padding:70px 0 0;border-top:4px solid var(--gold)}.footer-grid{display:grid;grid-template-columns:1.7fr 1fr 1fr 1fr;gap:45px;padding-bottom:55px}.footer-brand{font-family:Georgia,"Times New Roman",serif;color:#fff;text-decoration:none;font-size:2rem;font-weight:700;letter-spacing:-.04em}.footer-brand span{color:var(--gold-light)}.site-footer p{color:#b9cbc4}.site-footer h2{font-size:.75rem;text-transform:uppercase;letter-spacing:.14em;color:var(--gold-light);margin:4px 0 14px}.site-footer a:not(.footer-brand){display:block;color:#dcebe5;text-decoration:none;padding:4px 0}.copyright{border-top:1px solid rgba(255,255,255,.12);padding:20px;text-align:center;font-size:.76rem;color:#9fb4ac}
.navigation.pagination,.posts-navigation{margin:30px 0}.nav-links{display:flex;gap:8px;flex-wrap:wrap}.page-numbers{padding:9px 13px;background:#fff;border:1px solid var(--line);border-radius:8px;text-decoration:none}.page-numbers.current{background:var(--green-800);color:#fff}
.not-found{max-width:740px;margin:80px auto;padding:60px;background:var(--paper);border:1px solid var(--line);border-radius:24px;text-align:center}
[dir=rtl] .article-layout article,[dir=rtl] .wp-block-table th,[dir=rtl] .wp-block-table td{text-align:right}[dir=rtl] article ul,[dir=rtl] article ol{padding-left:0;padding-right:1.35em}
@media (max-width:980px){.primary-nav a{padding:19px 8px;font-size:.76rem}.article-layout{grid-template-columns:1fr}.sidebar{position:static;grid-template-columns:1fr 1fr}.home-main>ul{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:2fr 1fr 1fr}.footer-grid>div:last-child{grid-column:2}}
@media (max-width:760px){body.admin-bar .nav-shell{top:46px}.wrap,.site-main{width:min(100% - 28px,var(--wrap))}.masthead{min-height:240px;background-position:center center}.brand strong{font-size:3.1rem}.brand em{font-size:.69rem;letter-spacing:.1em}.menu-toggle{display:block}.nav-shell>.wrap{justify-content:space-between}.primary-nav{display:none;position:absolute;left:0;right:0;top:62px;background:var(--paper);padding:10px 20px 20px;box-shadow:var(--shadow);grid-template-columns:1fr 1fr}.primary-nav.is-open{display:grid}.primary-nav a{padding:12px 8px;border-bottom:1px solid var(--line)}.search-toggle{margin-left:0}.search-results{grid-template-columns:1fr}.pakpolitics-hero{min-height:440px!important}.home-main>ul{grid-template-columns:1fr}.article-layout{padding-top:24px}.article-layout article{padding:26px 22px;border-radius:18px}.article-header h1{font-size:2.3rem}.sidebar{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:first-child{grid-column:1/-1}.footer-grid>div:last-child{grid-column:auto}.ad-slot{min-height:90px}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Compact portal header and editorial photography */
.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.utility{display:none}
.masthead{min-height:112px;display:block;padding:0;background:linear-gradient(90deg,rgba(2,35,26,.97) 0%,rgba(2,35,26,.91) 42%,rgba(2,35,26,.22) 76%,rgba(2,35,26,.05) 100%),url('assets/images/pakpolitics-header.png') center 33%/cover no-repeat;border-bottom:3px solid var(--gold)}
.masthead-row{min-height:112px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{text-align:left;text-decoration:none;color:#fff;text-shadow:0 2px 18px rgba(0,0,0,.55)}
.brand strong{font-size:clamp(2.15rem,4vw,3.65rem)}
.brand em{margin-top:9px;font-size:.72rem;letter-spacing:.14em}
.portal-label{align-self:flex-end;margin-bottom:19px;padding:7px 12px;border:1px solid rgba(255,255,255,.32);border-radius:999px;background:rgba(6,47,36,.72);color:#fff;font-size:.68rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase;backdrop-filter:blur(7px)}
.nav-shell>.wrap{min-height:50px;gap:12px}
.primary-nav{gap:2px}
.primary-nav>a,.nav-group>summary{display:block;padding:14px 11px;color:var(--ink);text-decoration:none;font-size:.77rem;font-weight:800;letter-spacing:.025em;line-height:1.35;cursor:pointer}
.primary-nav>a:hover,.primary-nav>a[aria-current=page],.nav-group>summary:hover,.nav-group[open]>summary{color:var(--green-700);box-shadow:inset 0 -3px var(--gold)}
.nav-group{position:relative}
.nav-group>summary{list-style:none}
.nav-group>summary::-webkit-details-marker{display:none}
.nav-group>summary::after{content:'▾';margin-left:6px;color:var(--gold);font-size:.7em}
.nav-dropdown{position:absolute;top:calc(100% + 8px);left:0;width:220px;padding:8px;background:var(--paper);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow)}
.nav-dropdown-right{left:auto;right:0}
.nav-dropdown a{display:block;padding:10px 12px;border-radius:8px;color:var(--ink);text-decoration:none;font-size:.78rem;font-weight:720}
.nav-dropdown a:hover{color:var(--green-700);background:var(--green-50)}
.menu-toggle,.search-toggle{font-size:.73rem;padding:9px}
.search-toggle{padding:7px 13px}
.pakpolitics-hero{min-height:455px!important;padding:70px 20px}
.visual-explore{margin:72px 0 12px}
.section-intro{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:24px}
.section-intro h2{font-family:Georgia,"Times New Roman",serif;color:var(--green-950);font-size:clamp(2rem,4vw,3rem);line-height:1.05;letter-spacing:-.035em;margin:0}
.section-intro p{max-width:550px;color:var(--muted);margin:0}
.visual-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}
.visual-card{position:relative;min-height:300px;overflow:hidden;border-radius:16px;background:var(--green-950);box-shadow:0 12px 32px rgba(4,42,31,.13)}
.visual-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
.visual-card::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(2,24,18,.04) 25%,rgba(2,24,18,.9) 100%)}
.visual-card:hover img{transform:scale(1.035)}
.visual-card-body{position:absolute;z-index:1;left:0;right:0;bottom:0;padding:22px}
.visual-card h3{font-family:Georgia,"Times New Roman",serif;color:#fff;font-size:1.35rem;line-height:1.1;margin:0 0 7px}
.visual-card>a{position:absolute;inset:0;z-index:2}
.photo-credit{position:relative;z-index:3;color:#dcebe5;font-size:.61rem}
.photo-credit a{color:#fff}
.section-photo{margin:0 0 34px;border-radius:14px;overflow:hidden;background:var(--green-50)}
.section-photo img{display:block;width:100%;height:270px;object-fit:cover}
.section-photo figcaption{padding:8px 12px;color:var(--muted);font-size:.68rem}
.section-photo figcaption a{color:var(--green-700)}
.site-footer{padding-top:54px}
.footer-grid{padding-bottom:44px}

@media (max-width:980px){
  .primary-nav>a,.nav-group>summary{padding:14px 8px;font-size:.72rem}
  .visual-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:760px){
  .masthead,.masthead-row{min-height:88px}
  .masthead{padding:0;background-position:center center}
  .brand strong{font-size:2.3rem}
  .brand em{font-size:.61rem;letter-spacing:.08em}
  .portal-label{display:none}
  .nav-shell>.wrap{min-height:48px}
  .primary-nav{top:48px;grid-template-columns:1fr 1fr;align-items:start}
  .primary-nav>a,.nav-group>summary{padding:11px 9px;border-bottom:1px solid var(--line);box-shadow:none!important}
  .nav-group{position:static}
  .nav-dropdown,.nav-dropdown-right{position:static;width:auto;margin:3px 0 7px;padding:3px;border:0;border-left:2px solid var(--gold);border-radius:0;box-shadow:none}
  .nav-dropdown a{padding:8px 10px}
  .pakpolitics-hero{min-height:390px!important;padding:55px 20px}
  .section-intro{display:block}
  .section-intro p{margin-top:12px}
  .visual-card{min-height:260px}
  .section-photo img{height:210px}
}
@media (max-width:520px){
  .primary-nav{grid-template-columns:1fr}
  .visual-grid{grid-template-columns:1fr}
  .visual-card{min-height:235px}
}
