/*
Theme Name: Public and Policy
Theme URI: https://publicandpolicy.com
Description: Custom GeneratePress child theme for Public and Policy - an India policy, schemes, jobs and law portal. Black / #ffbd59 / white light UI.
Author: Public and Policy
Author URI: https://publicandpolicy.com
Template: generatepress
Version: 1.4.0
License: GNU General Public License v2 or later
Text Domain: publicandpolicy
*/

/* ==========================================================================
   1. DESIGN TOKENS
   ========================================================================== */
:root{
  --pp-black:#111111;
  --pp-ink:#1c1c1c;
  --pp-body:#33373b;
  --pp-muted:#6b7076;
  --pp-amber:#ffbd59;
  --pp-amber-600:#f2a72e;
  --pp-amber-050:#fff6e6;
  --pp-amber-100:#ffeecd;
  --pp-white:#ffffff;
  --pp-soft:#f7f8f9;
  --pp-soft-2:#fbfbfc;
  --pp-line:#e6e8ea;
  --pp-line-2:#d9dcdf;
  --pp-green:#1a7f4b;
  --pp-red:#c0392b;
  --pp-blue:#1f5faa;

  --pp-font:Arial, "Helvetica Neue", Helvetica, "Segoe UI", sans-serif;
  --pp-wrap:1240px;
  --pp-radius:10px;
  --pp-radius-sm:6px;
  --pp-shadow:0 1px 2px rgba(17,17,17,.04), 0 6px 20px rgba(17,17,17,.06);
  --pp-shadow-sm:0 1px 3px rgba(17,17,17,.07);
}

/* ==========================================================================
   2. BASE
   ========================================================================== */
html{-webkit-text-size-adjust:100%;}
body{
  font-family:var(--pp-font);
  color:var(--pp-body);
  background:var(--pp-white);
  font-size:16px;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
}
body, button, input, select, textarea{font-family:var(--pp-font);}
h1,h2,h3,h4,h5,h6,.pp-h{font-family:var(--pp-font);color:var(--pp-black);font-weight:700;line-height:1.25;letter-spacing:-.01em;}
a{color:var(--pp-ink);text-decoration:none;}
a:hover{color:var(--pp-amber-600);}
img{max-width:100%;height:auto;}
.pp-wrap{max-width:var(--pp-wrap);margin:0 auto;padding:0 20px;}
.pp-skip{position:absolute;left:-9999px;top:0;background:var(--pp-black);color:#fff;padding:10px 16px;z-index:9999;}
.pp-skip:focus{left:8px;top:8px;color:#fff;}
:focus-visible{outline:3px solid var(--pp-amber);outline-offset:2px;}

/* Front page runs full bleed */
body.home #page.pp-full{max-width:100%;width:100%;padding:0;margin:0;}
body.home #page.pp-full #content{padding:0;margin:0;}

/* ==========================================================================
   3. UTILITY BAR
   ========================================================================== */
.pp-utility{background:var(--pp-black);color:#cfd3d7;font-size:12.5px;line-height:1;}
.pp-utility .pp-wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;height:38px;}
.pp-utility a{color:#cfd3d7;}
.pp-utility a:hover{color:var(--pp-amber);}
.pp-utility-left{display:flex;align-items:center;gap:18px;white-space:nowrap;overflow:hidden;}
.pp-utility-date{color:var(--pp-amber);font-weight:700;}
.pp-utility-links{display:flex;align-items:center;gap:16px;}
.pp-utility-links a{position:relative;}
@media(max-width:860px){.pp-utility-links{display:none;}}

/* ==========================================================================
   4. HEADER (logo centred, search behind an icon)
   ========================================================================== */
.pp-header{background:var(--pp-white);border-bottom:1px solid var(--pp-line);position:relative;}
.pp-header-grid{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;padding-top:16px;padding-bottom:16px;}
.pp-head-left{display:flex;align-items:center;gap:10px;justify-self:start;}
.pp-head-right{display:flex;align-items:center;gap:10px;justify-self:end;}
.pp-logo{display:flex;align-items:center;justify-self:center;}
.pp-logo img{height:58px;width:auto;display:block;}

.pp-searchtoggle{
  width:40px;height:40px;border-radius:50%;border:1px solid var(--pp-line-2);background:#fff;
  display:flex;align-items:center;justify-content:center;cursor:pointer;transition:.15s;padding:0;
}
.pp-searchtoggle svg{width:19px;height:19px;stroke:var(--pp-black);fill:none;stroke-width:2;stroke-linecap:round;}
.pp-searchtoggle:hover{background:var(--pp-amber);border-color:var(--pp-amber);}

.pp-searchdrawer{border-top:1px solid var(--pp-line);background:var(--pp-soft-2);padding:16px 0;}
.pp-searchdrawer[hidden]{display:none;}
.pp-searchdrawer .pp-wrap{display:flex;align-items:center;gap:14px;}
.pp-searchdrawer .pp-searchform{flex:1;max-width:760px;margin:0 auto;}
.pp-searchclose{background:none;border:0;font-size:26px;line-height:1;color:var(--pp-muted);cursor:pointer;padding:0 4px;}
.pp-searchclose:hover{color:var(--pp-black);}

.pp-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:11px 20px;border-radius:999px;font-weight:700;font-size:14px;
  border:2px solid transparent;cursor:pointer;transition:.15s;white-space:nowrap;
}
.pp-btn-primary{background:var(--pp-amber);color:var(--pp-black);}
.pp-btn-primary:hover{background:var(--pp-amber-600);color:var(--pp-black);}
.pp-btn-dark{background:var(--pp-black);color:#fff;}
.pp-btn-dark:hover{background:#000;color:var(--pp-amber);}
.pp-btn-ghost{background:#fff;color:var(--pp-black);border-color:var(--pp-line-2);}
.pp-btn-ghost:hover{border-color:var(--pp-black);color:var(--pp-black);}
.pp-btn-sm{padding:8px 16px;font-size:13px;}

.pp-burger{display:none;background:none;border:0;padding:8px;cursor:pointer;border-radius:8px;}
.pp-burger span{display:block;width:22px;height:2px;background:var(--pp-black);margin:5px 0;transition:.2s;}

@media(max-width:768px){
  .pp-header-grid{padding-top:11px;padding-bottom:11px;gap:8px;}
  .pp-logo img{height:42px;}
  .pp-burger{display:block;}
  .pp-hide-sm{display:none;}
  .pp-head-right .pp-btn{padding:8px 14px;font-size:12.5px;}
}

/* ==========================================================================
   5. PRIMARY NAV (amber bar)
   ========================================================================== */
.pp-nav{background:var(--pp-amber);position:sticky;top:0;z-index:900;box-shadow:inset 0 -1px 0 rgba(17,17,17,.10);}
.pp-nav .pp-wrap{display:flex;align-items:center;}
.pp-nav ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;}
.pp-nav li{position:relative;}
.pp-nav > .pp-wrap > ul > li > a{
  display:block;color:var(--pp-black);font-size:13.5px;font-weight:700;letter-spacing:.03em;
  text-transform:uppercase;padding:14px 15px;position:relative;
}
.pp-nav > .pp-wrap > ul > li > a::after{
  content:"";position:absolute;left:15px;right:15px;bottom:8px;height:2px;background:var(--pp-black);
  transform:scaleX(0);transform-origin:left;transition:transform .18s;
}
.pp-nav > .pp-wrap > ul > li:hover > a::after,
.pp-nav > .pp-wrap > ul > li.current-menu-item > a::after,
.pp-nav > .pp-wrap > ul > li.current-menu-parent > a::after,
.pp-nav > .pp-wrap > ul > li.current-menu-ancestor > a::after{transform:scaleX(1);}
.pp-nav > .pp-wrap > ul > li:hover > a{background:var(--pp-amber-600);}
.pp-nav ul ul{
  display:none;position:absolute;top:100%;left:0;min-width:235px;background:#fff;
  border:1px solid var(--pp-line);border-top:3px solid var(--pp-black);
  box-shadow:var(--pp-shadow);flex-direction:column;padding:6px 0;z-index:50;
}
.pp-nav li:hover > ul{display:flex;}
.pp-nav ul ul a{display:block;padding:9px 18px;font-size:14px;color:var(--pp-ink);text-transform:none;font-weight:400;}
.pp-nav ul ul a:hover{background:var(--pp-amber-050);color:var(--pp-black);}
.pp-nav-live{margin-left:auto;display:flex;align-items:center;gap:7px;color:var(--pp-black);font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:0 4px;}
.pp-dot{width:8px;height:8px;border-radius:50%;background:var(--pp-black);box-shadow:0 0 0 0 rgba(17,17,17,.5);animation:ppPulse 2s infinite;}
@keyframes ppPulse{0%{box-shadow:0 0 0 0 rgba(17,17,17,.45)}70%{box-shadow:0 0 0 9px rgba(17,17,17,0)}100%{box-shadow:0 0 0 0 rgba(17,17,17,0)}}
@media(max-width:900px){.pp-nav-live{display:none;}}
@media(max-width:768px){
  .pp-nav{display:none;position:static;}
  .pp-nav.pp-open{display:block;}
  .pp-nav .pp-wrap{display:block;padding:0;}
  .pp-nav ul{flex-direction:column;}
  .pp-nav > .pp-wrap > ul > li > a{padding:13px 20px;border-bottom:1px solid rgba(17,17,17,.14);}
  .pp-nav > .pp-wrap > ul > li > a::after{display:none;}
  .pp-nav ul ul{position:static;display:flex;border:0;box-shadow:none;background:#ffd591;padding:0;}
  .pp-nav ul ul a{color:#3a2b0d;padding:11px 34px;border-bottom:1px solid rgba(17,17,17,.10);}
  .pp-nav ul ul a:hover{background:var(--pp-amber-600);color:var(--pp-black);}
}

/* ==========================================================================
   6. HERO
   ========================================================================== */
.pp-hero{
  position:relative;background:var(--pp-white);
  background-image:radial-gradient(680px 320px at 12% -10%, var(--pp-amber-050) 0%, rgba(255,255,255,0) 70%),
                   radial-gradient(560px 280px at 92% 0%, #f4f6f8 0%, rgba(255,255,255,0) 70%);
  border-bottom:1px solid var(--pp-line);
  padding:52px 0 44px;
}
.pp-hero-inner{max-width:900px;}
.pp-eyebrow{
  display:inline-flex;align-items:center;gap:8px;background:var(--pp-amber-050);
  border:1px solid var(--pp-amber-100);color:#8a6112;font-size:12px;font-weight:700;
  letter-spacing:.06em;text-transform:uppercase;padding:6px 13px;border-radius:999px;margin-bottom:18px;
}
.pp-hero h1{font-size:clamp(30px,4.4vw,50px);line-height:1.1;margin:0 0 14px;}
.pp-hero h1 mark{background:linear-gradient(180deg,transparent 58%, var(--pp-amber) 58%);color:inherit;padding:0 2px;}
.pp-hero p.pp-lead{font-size:17px;color:var(--pp-muted);max-width:660px;margin:0 0 26px;}

.pp-tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:-1px;position:relative;z-index:2;}
.pp-tab{
  background:#fff;border:1px solid var(--pp-line);border-bottom-color:transparent;
  border-radius:8px 8px 0 0;padding:9px 16px;font-size:13.5px;font-weight:700;
  color:var(--pp-muted);cursor:pointer;transition:.15s;
}
.pp-tab:hover{color:var(--pp-black);}
.pp-tab.is-active{background:#fff;color:var(--pp-black);border-color:var(--pp-line);box-shadow:inset 0 3px 0 var(--pp-amber);}
.pp-searchbox{background:#fff;border:1px solid var(--pp-line);border-radius:0 12px 12px 12px;padding:16px;box-shadow:var(--pp-shadow);}
.pp-searchbox .pp-searchform{border-width:2px;}
.pp-searchbox .pp-searchform input{padding:14px 20px;font-size:15.5px;}
.pp-searchbox .pp-searchform button{padding:0 28px;font-size:15px;}
.pp-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px;align-items:center;}
.pp-chips .pp-chips-label{font-size:12.5px;color:var(--pp-muted);font-weight:700;text-transform:uppercase;letter-spacing:.04em;margin-right:2px;}
.pp-chip{
  display:inline-block;background:var(--pp-soft);border:1px solid var(--pp-line);
  border-radius:999px;padding:6px 13px;font-size:13px;color:var(--pp-body);transition:.15s;
}
.pp-chip:hover{background:var(--pp-amber-050);border-color:var(--pp-amber);color:var(--pp-black);}

.pp-hero-stats{display:flex;flex-wrap:wrap;gap:34px;margin-top:32px;padding-top:26px;border-top:1px solid var(--pp-line);}
.pp-stat b{display:block;font-size:26px;color:var(--pp-black);line-height:1.1;}
.pp-stat span{font-size:12.5px;color:var(--pp-muted);text-transform:uppercase;letter-spacing:.05em;font-weight:700;}

/* ==========================================================================
   7. SECTIONS + HEADINGS
   ========================================================================== */
.pp-section{padding:52px 0;}
.pp-section.pp-alt{background:var(--pp-soft-2);border-top:1px solid var(--pp-line);border-bottom:1px solid var(--pp-line);}
.pp-section.pp-tight{padding:38px 0;}
.pp-sechead{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:24px;flex-wrap:wrap;}
.pp-sechead h2{font-size:clamp(21px,2.4vw,27px);margin:0;position:relative;padding-left:16px;}
.pp-sechead h2::before{content:"";position:absolute;left:0;top:.18em;bottom:.18em;width:5px;background:var(--pp-amber);border-radius:3px;}
.pp-sechead p{margin:6px 0 0 16px;font-size:14.5px;color:var(--pp-muted);}
.pp-seclink{font-size:13.5px;font-weight:700;color:var(--pp-black);white-space:nowrap;}
.pp-seclink:hover{color:var(--pp-amber-600);}
.pp-seclink::after{content:" \2192";}

/* ==========================================================================
   8. QUICK ACCESS TILES
   ========================================================================== */
.pp-tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;}
.pp-tile{
  display:block;background:#fff;border:1px solid var(--pp-line);border-radius:var(--pp-radius);
  padding:20px 18px;transition:.18s;position:relative;overflow:hidden;
}
.pp-tile::after{content:"";position:absolute;inset:auto 0 0 0;height:3px;background:var(--pp-amber);transform:scaleX(0);transform-origin:left;transition:transform .2s;}
.pp-tile:hover{border-color:var(--pp-line-2);box-shadow:var(--pp-shadow);transform:translateY(-2px);}
.pp-tile:hover::after{transform:scaleX(1);}
.pp-tile-ico{
  width:42px;height:42px;border-radius:10px;background:var(--pp-amber-050);
  display:flex;align-items:center;justify-content:center;margin-bottom:13px;
}
.pp-tile-ico svg{width:21px;height:21px;stroke:var(--pp-black);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;}
.pp-tile h3{font-size:15.5px;margin:0 0 4px;}
.pp-tile p{margin:0;font-size:13px;color:var(--pp-muted);line-height:1.5;}
.pp-tile-count{position:absolute;top:16px;right:16px;font-size:11.5px;font-weight:700;color:var(--pp-muted);background:var(--pp-soft);border:1px solid var(--pp-line);padding:3px 8px;border-radius:999px;}
@media(max-width:980px){.pp-tiles{grid-template-columns:repeat(3,1fr);}}
@media(max-width:720px){.pp-tiles{grid-template-columns:repeat(2,1fr);gap:10px;}.pp-tile{padding:16px 14px;}}

/* ==========================================================================
   9. LISTING TABLE (jobs / results style)
   ========================================================================== */
.pp-board{background:#fff;border:1px solid var(--pp-line);border-radius:var(--pp-radius);overflow:hidden;}
.pp-board-head{display:grid;grid-template-columns:1fr 190px 150px 120px;gap:14px;background:var(--pp-black);color:#fff;padding:12px 18px;font-size:11.5px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;}
.pp-row{display:grid;grid-template-columns:1fr 190px 150px 120px;gap:14px;align-items:center;padding:15px 18px;border-bottom:1px solid var(--pp-line);transition:background .15s;}
.pp-row:last-child{border-bottom:0;}
.pp-row:hover{background:var(--pp-amber-050);}
.pp-row-title{font-size:15px;font-weight:700;color:var(--pp-black);line-height:1.4;display:block;}
.pp-row-title:hover{color:var(--pp-amber-600);}
.pp-row-meta{font-size:12.5px;color:var(--pp-muted);margin-top:4px;display:flex;gap:12px;flex-wrap:wrap;}
.pp-row-cell{font-size:13.5px;color:var(--pp-body);}
.pp-row-cell b{display:block;font-size:11px;color:var(--pp-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:2px;font-weight:700;}
.pp-row .pp-btn{width:100%;}
@media(max-width:900px){
  .pp-board-head{display:none;}
  .pp-row{grid-template-columns:1fr;gap:8px;padding:16px;}
  .pp-row .pp-btn{width:auto;align-self:flex-start;justify-self:start;}
}

/* Badges */
.pp-badge{display:inline-block;font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;padding:3px 9px;border-radius:999px;border:1px solid transparent;}
.pp-badge-new{background:var(--pp-amber);color:var(--pp-black);}
.pp-badge-open{background:#e8f6ee;color:var(--pp-green);border-color:#c9e9d7;}
.pp-badge-soon{background:#fdecea;color:var(--pp-red);border-color:#f8d3ce;}
.pp-badge-info{background:#eaf1fa;color:var(--pp-blue);border-color:#d3e2f5;}
.pp-badge-soft{background:var(--pp-soft);color:var(--pp-muted);border-color:var(--pp-line);}

/* ==========================================================================
   10. CARDS
   ========================================================================== */
.pp-grid{display:grid;gap:18px;}
.pp-grid-2{grid-template-columns:repeat(2,1fr);}
.pp-grid-3{grid-template-columns:repeat(3,1fr);}
.pp-grid-4{grid-template-columns:repeat(4,1fr);}
@media(max-width:980px){.pp-grid-4{grid-template-columns:repeat(2,1fr);}.pp-grid-3{grid-template-columns:repeat(2,1fr);}}
@media(max-width:680px){.pp-grid-2,.pp-grid-3,.pp-grid-4{grid-template-columns:1fr;}}

.pp-card{background:#fff;border:1px solid var(--pp-line);border-radius:var(--pp-radius);overflow:hidden;display:flex;flex-direction:column;transition:.18s;}
.pp-card:hover{box-shadow:var(--pp-shadow);border-color:var(--pp-line-2);transform:translateY(-2px);}
.pp-card-thumb{display:block;aspect-ratio:16/9;background:var(--pp-soft);overflow:hidden;}
.pp-card-thumb img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s;}
.pp-card:hover .pp-card-thumb img{transform:scale(1.04);}
.pp-card-body{padding:16px 17px 18px;display:flex;flex-direction:column;flex:1;}
.pp-card-kicker{font-size:11px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--pp-amber-600);margin-bottom:8px;}
.pp-card h3{font-size:16.5px;line-height:1.35;margin:0 0 8px;}
.pp-card h3 a{color:var(--pp-black);}
.pp-card h3 a:hover{color:var(--pp-amber-600);}
.pp-card p{font-size:13.8px;color:var(--pp-muted);margin:0 0 14px;line-height:1.55;}
.pp-card-foot{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:12.5px;color:var(--pp-muted);border-top:1px solid var(--pp-line);padding-top:12px;}

/* Scheme card variant */
.pp-scheme{position:relative;padding:20px;background:#fff;border:1px solid var(--pp-line);border-radius:var(--pp-radius);transition:.18s;display:flex;flex-direction:column;}
.pp-scheme:hover{box-shadow:var(--pp-shadow);transform:translateY(-2px);}
.pp-scheme-min{font-size:11.5px;color:var(--pp-muted);font-weight:700;text-transform:uppercase;letter-spacing:.05em;margin-bottom:9px;}
.pp-scheme h3{font-size:16.5px;margin:0 0 8px;line-height:1.35;}
.pp-scheme p{font-size:13.8px;color:var(--pp-muted);margin:0 0 14px;}
.pp-tagrow{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px;}
.pp-tag{font-size:11.5px;background:var(--pp-soft);border:1px solid var(--pp-line);color:var(--pp-body);padding:3px 9px;border-radius:5px;}
.pp-scheme-foot{margin-top:auto;display:flex;gap:8px;align-items:center;}

/* Compact list */
.pp-list{background:#fff;border:1px solid var(--pp-line);border-radius:var(--pp-radius);overflow:hidden;}
.pp-list-item{display:flex;gap:13px;padding:14px 16px;border-bottom:1px solid var(--pp-line);transition:background .15s;}
.pp-list-item:last-child{border-bottom:0;}
.pp-list-item:hover{background:var(--pp-amber-050);}
.pp-list-num{flex:0 0 26px;height:26px;border-radius:6px;background:var(--pp-black);color:var(--pp-amber);font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center;}
.pp-list-body h4{font-size:14.5px;margin:0 0 3px;line-height:1.4;font-weight:700;}
.pp-list-body span{font-size:12.5px;color:var(--pp-muted);}

/* ==========================================================================
   11. BILL TRACKER
   ========================================================================== */
.pp-bill{background:#fff;border:1px solid var(--pp-line);border-left:4px solid var(--pp-amber);border-radius:var(--pp-radius-sm);padding:18px 20px;transition:.18s;}
.pp-bill:hover{box-shadow:var(--pp-shadow-sm);}
.pp-bill h3{font-size:16px;margin:0 0 6px;line-height:1.35;}
.pp-bill .pp-bill-meta{font-size:12.5px;color:var(--pp-muted);margin-bottom:14px;}
.pp-steps{display:flex;align-items:center;gap:0;}
.pp-step{flex:1;text-align:center;position:relative;font-size:10.5px;text-transform:uppercase;letter-spacing:.04em;font-weight:700;color:var(--pp-muted);}
.pp-step i{display:block;width:13px;height:13px;border-radius:50%;background:#fff;border:2px solid var(--pp-line-2);margin:0 auto 7px;position:relative;z-index:2;}
.pp-step::before{content:"";position:absolute;top:6px;left:-50%;width:100%;height:2px;background:var(--pp-line);z-index:1;}
.pp-step:first-child::before{display:none;}
.pp-step.is-done i{background:var(--pp-amber);border-color:var(--pp-amber);}
.pp-step.is-done{color:var(--pp-black);}
.pp-step.is-done::before{background:var(--pp-amber);}

/* ==========================================================================
   12. CTA / NEWSLETTER
   ========================================================================== */
.pp-cta{background:var(--pp-black);border-radius:14px;padding:38px 40px;color:#fff;display:flex;align-items:center;gap:36px;flex-wrap:wrap;}
.pp-cta h2{color:#fff;font-size:clamp(21px,2.6vw,29px);margin:0 0 8px;}
.pp-cta h2 mark{background:none;color:var(--pp-amber);}
.pp-cta p{color:#b7bcc1;font-size:15px;margin:0;max-width:520px;}
.pp-cta-body{flex:1 1 380px;}
.pp-cta-form{flex:0 1 380px;display:flex;flex-direction:column;gap:10px;}
.pp-cta-form .pp-searchform{border-color:var(--pp-amber);}
.pp-cta-note{font-size:12px;color:#8d9298;}
@media(max-width:768px){.pp-cta{padding:28px 22px;gap:22px;}}

.pp-exam{background:linear-gradient(120deg,var(--pp-amber-050) 0%,#fff 60%);border:1px solid var(--pp-amber-100);border-radius:14px;padding:32px 34px;display:flex;gap:30px;align-items:center;flex-wrap:wrap;}
.pp-exam-body{flex:1 1 420px;}
.pp-exam h2{font-size:clamp(20px,2.4vw,27px);margin:0 0 8px;}
.pp-exam p{margin:0 0 16px;color:var(--pp-muted);font-size:15px;}
.pp-exam-tags{display:flex;flex-wrap:wrap;gap:8px;}

/* ==========================================================================
   13. AD SLOTS
   ========================================================================== */
.pp-ad{margin:0 auto;text-align:center;}
.pp-ad-inner{background:var(--pp-soft);border:1px dashed var(--pp-line-2);border-radius:8px;min-height:90px;display:flex;align-items:center;justify-content:center;color:#a8adb2;font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;}
.pp-ad-label{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:#adb2b7;margin-bottom:6px;display:block;}
.pp-section-ad{padding:26px 0;}

/* ==========================================================================
   14. FOOTER
   ========================================================================== */
.pp-footer{background:var(--pp-black);color:#a9aeb3;font-size:14px;margin-top:0;}
.pp-footer-top{padding:52px 0 40px;}
.pp-footer-cols{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr 1fr;gap:34px;}
.pp-footer h4{color:#fff;font-size:13px;text-transform:uppercase;letter-spacing:.08em;margin:0 0 16px;}
.pp-footer ul{list-style:none;margin:0;padding:0;}
.pp-footer li{margin-bottom:9px;}
.pp-footer a{color:#a9aeb3;font-size:13.8px;}
.pp-footer a:hover{color:var(--pp-amber);}
.pp-footer-brand img{height:46px;width:auto;margin-bottom:16px;filter:brightness(0) invert(1);}
.pp-footer-brand p{font-size:13.8px;line-height:1.65;margin:0 0 16px;max-width:330px;}
.pp-social{display:flex;gap:9px;}
.pp-social a{width:34px;height:34px;border-radius:8px;background:#1d1d1d;display:flex;align-items:center;justify-content:center;transition:.15s;}
.pp-social a:hover{background:var(--pp-amber);}
.pp-social svg{width:16px;height:16px;fill:#a9aeb3;}
.pp-social a:hover svg{fill:var(--pp-black);}
.pp-footer-bottom{border-top:1px solid #222;padding:18px 0;}
.pp-footer-bottom .pp-wrap{display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap;font-size:12.5px;}
.pp-disclaimer{background:#0a0a0a;color:#7d8287;font-size:12px;line-height:1.7;padding:16px 0;border-top:1px solid #1c1c1c;}
@media(max-width:980px){.pp-footer-cols{grid-template-columns:1fr 1fr 1fr;}}
@media(max-width:620px){.pp-footer-cols{grid-template-columns:1fr 1fr;gap:24px;}}

/* ==========================================================================
   15. INNER PAGES (archive / single) - GeneratePress overrides
   ========================================================================== */
.pp-pagehead{background:var(--pp-soft-2);border-bottom:1px solid var(--pp-line);padding:30px 0;margin-bottom:0;}
.pp-crumbs{font-size:12.5px;color:var(--pp-muted);margin-bottom:8px;}
.pp-crumbs a{color:var(--pp-muted);}
.pp-crumbs a:hover{color:var(--pp-amber-600);}

.separate-containers .inside-article,
.separate-containers .comments-area,
.separate-containers .page-header,
.separate-containers .paging-navigation,
.one-container .container{background:#fff;}
.inside-article{border:1px solid var(--pp-line);border-radius:var(--pp-radius);}
.entry-title{font-size:clamp(24px,3.2vw,36px);line-height:1.2;}
.entry-meta{font-size:13px;color:var(--pp-muted);}
.entry-content{font-size:16.5px;line-height:1.75;}
.entry-content h2{font-size:25px;margin-top:1.6em;padding-left:14px;position:relative;}
.entry-content h2::before{content:"";position:absolute;left:0;top:.16em;bottom:.16em;width:4px;background:var(--pp-amber);border-radius:3px;}
.entry-content h3{font-size:20px;margin-top:1.5em;}
.entry-content a{color:var(--pp-blue);text-decoration:underline;text-underline-offset:2px;}
.entry-content a:hover{color:var(--pp-amber-600);}
.entry-content blockquote{border-left:4px solid var(--pp-amber);background:var(--pp-amber-050);margin:1.6em 0;padding:16px 22px;font-style:normal;color:var(--pp-ink);}
.entry-content table{width:100%;border-collapse:collapse;margin:1.6em 0;font-size:15px;}
.entry-content th{background:var(--pp-black);color:#fff;text-align:left;padding:11px 14px;font-size:12.5px;text-transform:uppercase;letter-spacing:.05em;}
.entry-content td{padding:11px 14px;border-bottom:1px solid var(--pp-line);}
.entry-content tr:nth-child(even) td{background:var(--pp-soft-2);}
.entry-content ul,.entry-content ol{padding-left:1.3em;}
.entry-content li{margin-bottom:.5em;}
.entry-content img{border-radius:8px;}
.pp-source{background:var(--pp-soft);border:1px solid var(--pp-line);border-left:4px solid var(--pp-amber);border-radius:6px;padding:12px 16px;font-size:13.5px;color:var(--pp-muted);margin-top:26px;}
.pp-source strong{color:var(--pp-ink);}

.widget-area .widget{background:#fff;border:1px solid var(--pp-line);border-radius:var(--pp-radius);padding:20px;}
.widget-area .widget-title{font-size:13px;text-transform:uppercase;letter-spacing:.07em;color:var(--pp-black);border-bottom:2px solid var(--pp-amber);padding-bottom:9px;margin-bottom:14px;}

button,.button,input[type=submit],.wp-block-button__link{background:var(--pp-black);color:#fff;border-radius:999px;font-weight:700;}
button:hover,.button:hover,input[type=submit]:hover{background:var(--pp-amber);color:var(--pp-black);}

.pagination .page-numbers{border:1px solid var(--pp-line);background:#fff;color:var(--pp-ink);border-radius:6px;}
.pagination .page-numbers.current{background:var(--pp-black);color:#fff;border-color:var(--pp-black);}

/* Empty state */
.pp-empty{background:#fff;border:1px dashed var(--pp-line-2);border-radius:var(--pp-radius);padding:38px 24px;text-align:center;color:var(--pp-muted);}
.pp-empty h4{margin:0 0 6px;font-size:16px;color:var(--pp-ink);}
.pp-empty p{margin:0 0 14px;font-size:14px;}

/* Print */
@media print{.pp-nav,.pp-utility,.pp-footer,.pp-ad{display:none!important;}}

/* ==========================================================================
   16. LAYOUT RESETS over GeneratePress
   ========================================================================== */
body.home #page.pp-full{display:block;}
body.home #page.pp-full > #content,
body.home #page.pp-full > #content.site-content{
  display:block !important;padding:0 !important;margin:0 !important;
  width:100% !important;max-width:100% !important;
}
body.home .pp-section > .pp-wrap{width:100%;}
.pp-eyebrow svg{width:14px;height:14px;flex:0 0 auto;stroke:currentColor;fill:none;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;}
.pp-eyebrow{line-height:1;}
.pp-nav-live i{flex:0 0 auto;}
.pp-tiles .pp-tile-ico svg{width:21px;height:21px;}
.pp-sechead > div{min-width:0;}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap;}
/* Inner pages keep GP's flex content/sidebar, just tidy spacing */
body:not(.home) #content.site-content{padding-top:28px;}

/* ==========================================================================
   17. GENERATEPRESS INLINE-CSS OVERRIDES (loaded after our stylesheet)
   ========================================================================== */
.widget-area .widget .widget-title,
.widget-area .widget h2.widget-title,
.sidebar .widget .widget-title{
  font-size:13px !important;line-height:1.4;text-transform:uppercase;letter-spacing:.07em;
  color:var(--pp-black);border-bottom:2px solid var(--pp-amber);padding-bottom:9px;margin-bottom:14px;font-weight:700;
}
.widget-area .widget ul{list-style:none;margin:0;padding:0;}
.widget-area .widget li{padding:7px 0;border-bottom:1px solid var(--pp-line);font-size:14px;}
.widget-area .widget li:last-child{border-bottom:0;}
.widget-area .widget .search-field{border:2px solid var(--pp-black);border-radius:999px;padding:9px 16px;}

/* Archive / search page header */
.page-header,
.separate-containers .page-header{
  background:#fff;border:1px solid var(--pp-line);border-radius:var(--pp-radius);padding:22px 24px;margin-bottom:20px;
}
.page-header .page-title{font-size:clamp(22px,3vw,30px);margin:0;padding-left:15px;position:relative;line-height:1.2;}
.page-header .page-title::before{content:"";position:absolute;left:0;top:.16em;bottom:.16em;width:5px;background:var(--pp-amber);border-radius:3px;}
.page-header .taxonomy-description{margin:10px 0 0 15px;color:var(--pp-muted);font-size:14.5px;}

/* Archive cards */
.separate-containers .inside-article{padding:24px;}
.entry-summary{font-size:15.5px;color:var(--pp-body);}
.read-more.button, .entry-summary .read-more{font-size:13px;}
.post-image img{border-radius:8px;}

/* Comments off styling safety */
.comments-area{margin-top:26px;}

/* ==========================================================================
   18. HERO CENTRED (v1.1)
   ========================================================================== */
.pp-hero{text-align:center;}
.pp-hero-inner{max-width:900px;margin:0 auto;}
.pp-hero p.pp-lead{margin-left:auto;margin-right:auto;}
.pp-hero .pp-tabs{justify-content:center;}
.pp-hero .pp-chips{justify-content:center;}
.pp-hero-stats{justify-content:center;gap:44px;}
.pp-hero .pp-searchbox{border-radius:12px;}
.pp-hero .pp-searchbox .pp-searchform{max-width:720px;margin:0 auto;}
@media(max-width:620px){
  .pp-hero-stats{gap:26px;}
  .pp-hero .pp-tabs{gap:4px;}
  .pp-tab{padding:8px 11px;font-size:12.5px;}
}

/* ==========================================================================
   19. SEARCH FORM (restored in 1.1.1)
   ========================================================================== */
.pp-searchform{
  display:flex;align-items:stretch;border:2px solid var(--pp-black);
  border-radius:999px;overflow:hidden;background:#fff;
}
.pp-searchform input[type=search],
.pp-searchform input[type=text],
.pp-searchform input[type=email]{
  flex:1;border:0;background:transparent;padding:12px 20px;font-size:15px;
  color:var(--pp-ink);min-width:0;font-family:var(--pp-font);
}
.pp-searchform input::placeholder{color:#9aa0a5;}
.pp-searchform input:focus{outline:none;}
.pp-searchform button{
  border:0;background:var(--pp-amber);color:var(--pp-black);font-weight:700;font-size:14.5px;
  padding:0 26px;cursor:pointer;transition:background .15s;border-radius:0;flex:0 0 auto;
  font-family:var(--pp-font);
}
.pp-searchform button:hover{background:var(--pp-amber-600);color:var(--pp-black);}
.pp-hero .pp-searchbox .pp-searchform input{padding:15px 24px;font-size:16px;}
.pp-hero .pp-searchbox .pp-searchform button{padding:0 30px;font-size:15.5px;}
.pp-cta-form .pp-searchform{border-color:var(--pp-amber);}
.pp-cta-form .pp-searchform input{background:#fff;}

/* Clamp long cell text on the home board (1.1.2) */
.pp-clamp{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;}
.pp-row{align-items:start;}
.pp-row > div:last-child{align-self:center;}

/* ==========================================================================
   20. MINIMAL / PREMIUM PASS (1.2.0)
   White navigation, quieter hero.
   ========================================================================== */

/* --- header sits flush against the nav, one white block --- */
.pp-header{border-bottom:0;}

/* --- navigation: white, lowercase, hairline rules --- */
.pp-nav{
  background:#fff;border-top:1px solid var(--pp-line);border-bottom:1px solid var(--pp-line);
  box-shadow:none;
}
.pp-nav > .pp-wrap > ul > li > a{
  color:#4a5055;font-size:14px;font-weight:500;text-transform:none;letter-spacing:0;
  padding:15px 17px;
}
.pp-nav > .pp-wrap > ul > li > a::after{
  left:17px;right:17px;bottom:0;height:2px;background:var(--pp-black);
}
.pp-nav > .pp-wrap > ul > li:hover > a{background:transparent;color:var(--pp-black);}
.pp-nav > .pp-wrap > ul > li.current-menu-item > a,
.pp-nav > .pp-wrap > ul > li.current-menu-parent > a,
.pp-nav > .pp-wrap > ul > li.current-menu-ancestor > a{color:var(--pp-black);font-weight:600;}
.pp-nav ul ul{border-top:2px solid var(--pp-black);box-shadow:0 12px 28px rgba(17,17,17,.10);}
.pp-nav ul ul a{font-size:13.5px;padding:10px 18px;}
.pp-nav ul ul a:hover{background:var(--pp-soft);color:var(--pp-black);}
.pp-nav-live{color:#9aa0a5;font-size:11.5px;font-weight:600;letter-spacing:.02em;text-transform:none;}
.pp-nav-live .pp-dot{background:var(--pp-amber);box-shadow:0 0 0 0 rgba(255,189,89,.7);}
@keyframes ppPulse{0%{box-shadow:0 0 0 0 rgba(255,189,89,.55)}70%{box-shadow:0 0 0 8px rgba(255,189,89,0)}100%{box-shadow:0 0 0 0 rgba(255,189,89,0)}}
@media(max-width:768px){
  .pp-nav{border-top:1px solid var(--pp-line);}
  .pp-nav > .pp-wrap > ul > li > a{border-bottom:1px solid var(--pp-line);padding:14px 20px;}
  .pp-nav ul ul{background:var(--pp-soft-2);}
  .pp-nav ul ul a{color:#4a5055;border-bottom:1px solid var(--pp-line);padding:12px 34px;}
  .pp-nav ul ul a:hover{background:#fff;color:var(--pp-black);}
}

/* --- hero: flat, roomier, no decorative wash --- */
.pp-hero{
  background:#fff;background-image:none;border-bottom:1px solid var(--pp-line);
  padding:72px 0 60px;
}
.pp-hero h1{
  font-size:clamp(33px,4.7vw,53px);letter-spacing:-.028em;line-height:1.08;margin:0 0 18px;
}
.pp-hero h1 mark{
  background:none;color:inherit;padding:0;
  box-shadow:inset 0 -0.13em 0 0 var(--pp-amber);
}
.pp-hero p.pp-lead{font-size:17px;line-height:1.6;color:#6b7076;max-width:620px;margin:0 0 34px;}

.pp-hero .pp-tabs{border:0;margin-bottom:0;gap:2px;}
.pp-hero .pp-tab{
  background:transparent;border:0;border-bottom:2px solid transparent;border-radius:0;
  color:#8b9096;font-weight:600;font-size:13.5px;padding:9px 15px;box-shadow:none;
}
.pp-hero .pp-tab:hover{color:var(--pp-black);}
.pp-hero .pp-tab.is-active{
  background:transparent;color:var(--pp-black);border-bottom-color:var(--pp-black);box-shadow:none;
}
.pp-hero .pp-searchbox{
  background:transparent;border:0;box-shadow:none;border-radius:0;padding:18px 0 0;
}
.pp-hero .pp-searchbox .pp-searchform{
  border-width:1px;border-color:#d3d7db;box-shadow:0 1px 2px rgba(17,17,17,.03);
}
.pp-hero .pp-searchbox .pp-searchform:focus-within{border-color:var(--pp-black);}
.pp-hero .pp-chips{margin-top:18px;}
.pp-hero .pp-chips-label{color:#a3a8ad;font-weight:600;letter-spacing:.03em;}
.pp-hero .pp-chip{background:#fff;border-color:var(--pp-line);color:#5a6065;font-size:12.5px;}
.pp-hero .pp-chip:hover{background:#fff;border-color:var(--pp-black);color:var(--pp-black);}

.pp-hero-stats{border-top:0;margin-top:44px;padding-top:0;gap:0;}
.pp-hero-stats .pp-stat{padding:0 26px;position:relative;}
.pp-hero-stats .pp-stat + .pp-stat::before{
  content:"";position:absolute;left:0;top:14%;bottom:14%;width:1px;background:var(--pp-line);
}
.pp-stat b{font-size:21px;font-weight:700;letter-spacing:-.01em;}
.pp-stat span{font-size:11px;color:#a3a8ad;font-weight:600;letter-spacing:.06em;}
@media(max-width:620px){
  .pp-hero{padding:44px 0 40px;}
  .pp-hero-stats .pp-stat{padding:0 14px;}
  .pp-hero-stats .pp-stat + .pp-stat::before{display:none;}
}

/* ==========================================================================
   21. POLICY UPDATES LIST (1.3.0)
   ========================================================================== */
.pp-updates{background:#fff;border:1px solid var(--pp-line);border-radius:10px;overflow:hidden;}
.pp-update{
  display:grid;grid-template-columns:62px 1fr 24px;gap:16px;align-items:center;
  padding:15px 20px;border-bottom:1px solid var(--pp-line);transition:background .14s;
}
.pp-update:last-child{border-bottom:0;}
.pp-update:hover{background:var(--pp-soft-2);}
.pp-update-date{
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  border:1px solid var(--pp-line);border-radius:8px;padding:7px 0;background:var(--pp-soft-2);
}
.pp-update-date b{font-size:19px;line-height:1;color:var(--pp-black);font-weight:700;}
.pp-update-date i{font-style:normal;font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:#9aa0a5;margin-top:3px;font-weight:700;}
.pp-update-body{min-width:0;}
.pp-update-title{
  display:block;font-size:16px;font-weight:600;color:var(--pp-black);line-height:1.45;
  letter-spacing:-.005em;
}
.pp-update:hover .pp-update-title{color:var(--pp-amber-600);}
.pp-update-meta{display:flex;flex-wrap:wrap;gap:12px;margin-top:5px;}
.pp-update-meta em{font-style:normal;font-size:12.5px;color:#9aa0a5;}
.pp-update-go{color:#c8ccd0;font-size:17px;text-align:right;transition:.14s;}
.pp-update:hover .pp-update-go{color:var(--pp-black);transform:translateX(2px);}
@media(max-width:640px){
  .pp-update{grid-template-columns:52px 1fr;gap:13px;padding:13px 15px;}
  .pp-update-go{display:none;}
  .pp-update-title{font-size:15px;}
}

/* default featured image sits on white, never cropped oddly */
.pp-thumb-default{width:100%;height:100%;object-fit:contain;background:#fff;display:block;padding:14px;}

/* ==========================================================================
   22. EDGE PADDING (1.3.1)
   GeneratePress leaves #page with no horizontal padding, so on narrow
   screens every inner page ran flush to the viewport edge.
   ========================================================================== */
#page.grid-container{
  box-sizing:border-box;
  padding-left:22px;
  padding-right:22px;
}
body.home #page.pp-full{padding-left:0;padding-right:0;}

@media(max-width:600px){
  #page.grid-container{padding-left:16px;padding-right:16px;}
  .pp-wrap{padding-left:16px;padding-right:16px;}
  .separate-containers .inside-article,
  .separate-containers .page-header,
  .separate-containers .comments-area{padding-left:18px;padding-right:18px;}
}

/* Wide content must scroll inside itself rather than push the page sideways */
@media(max-width:760px){
  .entry-content table,
  .ppc-dates,
  .ppdb-table{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;}
  .ppdb-table{display:table;}
  .ppc-single-grid,
  .ppdb-two,
  .ppc-facets{min-width:0;}
  .ppc-item,.ppc-item-main,.ppc-item-facts{min-width:0;}
  .ppc-item h3,.ppc-item-org,.ppc-item-desc,.ppc-item-facts dd{overflow-wrap:anywhere;}
  .ppdb-treaty h4,.ppdb-support-item h4{overflow-wrap:anywhere;}
}
html,body{overflow-x:hidden;}

/* Ten sections read best as two rows of five on wide screens (1.4.0) */
@media(min-width:1120px){
  .pp-tiles{grid-template-columns:repeat(5,1fr);}
}
