/* Kogi People's Poll — theme styles. All colors come from CSS variables so the
   Customizer, dark mode and RTL all work without overrides. */
:root{
--kpp-primary:#0B6E4F;--kpp-dark:#064E3B;--kpp-gold:#F4B400;--kpp-gray:#F5F7FA;
--kpp-white:#FFFFFF;--kpp-ink:#111827;--kpp-muted:#64748B;--kpp-border:#E3E8EF;
--kpp-surface:#FFFFFF;--kpp-bg:#FFFFFF;--kpp-radius:14px;--kpp-base-size:16px;
--kpp-font-heading:"Poppins",system-ui,sans-serif;--kpp-font-body:"Inter",system-ui,sans-serif;
--kpp-shadow:0 6px 24px rgba(15,23,42,.07);
}
html.kpp-dark{--kpp-white:#0F1720;--kpp-ink:#E7EDF3;--kpp-muted:#9AA8B8;--kpp-gray:#111A22;
--kpp-border:#243040;--kpp-surface:#16202B;--kpp-bg:#0B1219;}
html{scroll-behavior:smooth}
body.kpp{font-family:var(--kpp-font-body);font-size:var(--kpp-base-size);color:var(--kpp-ink);background:var(--kpp-bg);line-height:1.7}
.kpp h1,.kpp h2,.kpp h3,.kpp h4,.kpp h5{font-family:var(--kpp-font-heading);font-weight:700;color:var(--kpp-ink)}
.kpp a{color:var(--kpp-primary);text-decoration:none}
.kpp a:hover{text-decoration:underline}
.kpp-container{width:100%;max-width:1200px;margin-inline:auto;padding-inline:16px}
.kpp-section{padding-block:56px}
.kpp-section--tight{padding-block:28px}
.kpp-section--gray{background:var(--kpp-gray)}
.kpp-section--dark{background:var(--kpp-dark);color:#fff}
.kpp-section--dark h2,.kpp-section--dark h3,.kpp-section--dark .kpp-section-title__text{color:#fff}
.kpp-section--dark .kpp-section-title__sub{color:rgba(255,255,255,.75)}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}
.kpp-skip-link:focus{position:fixed;inset-inline-start:12px;top:12px;width:auto;height:auto;clip:auto;background:var(--kpp-gold);color:#111;padding:10px 16px;z-index:9999;border-radius:8px}
/* Buttons */
.kpp-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 22px;border-radius:999px;font-weight:600;font-family:var(--kpp-font-heading);border:2px solid transparent;transition:.2s;cursor:pointer}
.kpp-btn:hover{text-decoration:none;transform:translateY(-1px)}
.kpp-btn--sm{padding:8px 16px;font-size:.875rem}
.kpp-btn--primary{background:var(--kpp-primary);color:#fff}
.kpp-btn--gold{background:var(--kpp-gold);color:#1a1a1a}
.kpp-btn--outline{background:transparent;color:var(--kpp-primary);border-color:var(--kpp-primary)}
.kpp-btn--ghost{background:rgba(255,255,255,.12);color:#fff;border-color:rgba(255,255,255,.55)}
.kpp-icon-btn{width:40px;height:40px;border-radius:50%;border:1px solid var(--kpp-border);background:transparent;color:inherit;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}
/* Topbar + header */
.kpp-topbar{background:var(--kpp-dark);color:rgba(255,255,255,.9);font-size:.8125rem}
.kpp-topbar__inner{display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:38px;flex-wrap:wrap}
.kpp-topbar p{margin:0}
.kpp-topbar__menu,.kpp-footer__menu,.kpp-footer__legal,.kpp-menu{list-style:none;margin:0;padding:0}
.kpp-topbar__menu{display:flex;gap:14px}
.kpp-topbar a{color:rgba(255,255,255,.9)}
.kpp-topbar__right{display:flex;align-items:center;gap:14px}
.kpp-header{background:var(--kpp-surface);border-bottom:1px solid var(--kpp-border)}
.kpp-header--sticky{position:sticky;top:0;z-index:1030;box-shadow:var(--kpp-shadow)}
.kpp-header__inner{display:flex;align-items:center;gap:20px;min-height:74px}
.kpp-brand{display:flex;align-items:center;gap:10px}
.kpp-brand__mark{width:42px;height:42px;border-radius:12px;background:var(--kpp-primary);color:#fff;font-family:var(--kpp-font-heading);font-weight:800;display:grid;place-items:center}
.kpp-brand__name{display:block;font-family:var(--kpp-font-heading);font-weight:700;color:var(--kpp-ink);line-height:1.2}
.kpp-brand__sub{display:block;font-size:.75rem;color:var(--kpp-muted)}
.kpp-nav{margin-inline-start:auto}
.kpp-menu{display:flex;align-items:center;gap:4px}
.kpp-menu .nav-link{font-family:var(--kpp-font-heading);font-weight:600;font-size:.9375rem;color:var(--kpp-ink);padding:10px 12px;border-radius:8px}
.kpp-menu .nav-link:hover,.kpp-menu .active>.nav-link{color:var(--kpp-primary);background:color-mix(in srgb,var(--kpp-primary) 8%,transparent);text-decoration:none}
.kpp-nav__toggle{display:none;width:44px;height:44px;border:1px solid var(--kpp-border);background:transparent;border-radius:10px;cursor:pointer}
.kpp-nav__bars,.kpp-nav__bars::before,.kpp-nav__bars::after{display:block;width:20px;height:2px;background:currentColor;margin-inline:auto;position:relative;content:""}
.kpp-nav__bars::before{position:absolute;top:-6px}
.kpp-nav__bars::after{position:absolute;top:6px}
.kpp-header__actions{display:flex;align-items:center;gap:8px}
.kpp-search-panel{border-top:1px solid var(--kpp-border);padding:14px 0;background:var(--kpp-gray)}
.kpp-searchform{display:flex;gap:8px}
.kpp-searchform__input,.kpp-input{flex:1;padding:12px 14px;border:1px solid var(--kpp-border);border-radius:10px;background:var(--kpp-surface);color:var(--kpp-ink);width:100%}
/* Hero */
.kpp-hero{background:linear-gradient(135deg,var(--kpp-dark),var(--kpp-primary));color:#fff;padding-block:84px;position:relative;background-size:cover;background-position:center}
.kpp-hero--image::before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(6,78,59,.92),rgba(11,110,79,.78))}
.kpp-hero__inner{position:relative;max-width:820px}
.kpp-hero__eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:.75rem;font-weight:700;color:var(--kpp-gold);margin-bottom:12px}
.kpp-hero__title{color:#fff;font-size:clamp(2rem,5vw,3.5rem);line-height:1.1;margin-bottom:16px}
.kpp-hero__sub{font-size:1.0625rem;color:rgba(255,255,255,.88);margin-bottom:26px}
.kpp-hero__actions{display:flex;gap:12px;flex-wrap:wrap}
/* Section titles */
.kpp-section-title{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:24px;border-bottom:2px solid var(--kpp-border);padding-bottom:12px}
.kpp-section-title__text{font-size:1.5rem;margin:0;position:relative}
.kpp-section-title__sub{margin:4px 0 0;color:var(--kpp-muted);font-size:.9375rem}
.kpp-link-more{font-weight:600;font-size:.9375rem;white-space:nowrap}
/* Grid + cards */
.kpp-grid{display:grid;gap:22px}
.kpp-grid--1{grid-template-columns:1fr}
.kpp-grid--2{grid-template-columns:repeat(2,1fr)}
.kpp-grid--3{grid-template-columns:repeat(3,1fr)}
.kpp-grid--4{grid-template-columns:repeat(4,1fr)}
.kpp-two-col{display:grid;grid-template-columns:1.15fr .85fr;gap:32px}
.kpp-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:36px}
.no-sidebar .kpp-layout{grid-template-columns:minmax(0,1fr)}
.kpp-card,.kpp-candidate-card,.kpp-lga-card{background:var(--kpp-surface);border:1px solid var(--kpp-border);border-radius:var(--kpp-radius);overflow:hidden;box-shadow:var(--kpp-shadow);transition:.2s}
.kpp-card:hover,.kpp-candidate-card:hover{transform:translateY(-3px)}
.kpp-card__media{display:block;aspect-ratio:16/10;overflow:hidden;background:var(--kpp-gray)}
.kpp-card__img,.kpp-candidate-card__img{width:100%;height:100%;object-fit:cover}
.kpp-card__placeholder{display:block;width:100%;height:100%;min-height:150px;background:repeating-linear-gradient(45deg,var(--kpp-gray),var(--kpp-gray) 10px,var(--kpp-border) 10px,var(--kpp-border) 20px)}
.kpp-card__body{padding:18px}
.kpp-card__title{font-size:1.0625rem;margin:6px 0 8px;line-height:1.35}
.kpp-card__title a{color:var(--kpp-ink)}
.kpp-card__title a:hover{color:var(--kpp-primary)}
.kpp-card__excerpt{color:var(--kpp-muted);font-size:.9375rem;margin:0}
.kpp-card--list{display:flex}
.kpp-card--list .kpp-card__media{flex:0 0 110px;aspect-ratio:1}
.kpp-entry-meta{font-size:.8125rem;color:var(--kpp-muted);display:flex;gap:6px;flex-wrap:wrap}
.kpp-entry-meta__cat{font-weight:600;color:var(--kpp-primary)}
.kpp-candidate-card__body{padding:18px;text-align:center}
.kpp-candidate-card__media{display:block;aspect-ratio:4/5;background:var(--kpp-gray)}
.kpp-candidate-card__name{font-size:1.0625rem;margin:0 0 4px}
.kpp-candidate-card__party{color:var(--kpp-primary);font-weight:600;font-size:.875rem;margin:0}
.kpp-candidate-card__pos,.kpp-candidate-card__lga{color:var(--kpp-muted);font-size:.8125rem;margin:2px 0}
.kpp-candidate-card .kpp-btn{margin-top:10px}
/* Stats */
.kpp-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.kpp-stat{background:var(--kpp-surface);border:1px solid var(--kpp-border);border-inline-start:4px solid var(--kpp-gold);border-radius:var(--kpp-radius);padding:22px;box-shadow:var(--kpp-shadow)}
.kpp-stat__value{display:block;font-family:var(--kpp-font-heading);font-size:2rem;font-weight:800;color:var(--kpp-primary)}
.kpp-stat__label{display:block;color:var(--kpp-muted);font-size:.875rem;text-transform:uppercase;letter-spacing:.06em}
/* Poll placeholders */
.kpp-poll-slot{border:2px dashed var(--kpp-primary);border-radius:var(--kpp-radius);background:var(--kpp-surface);padding:22px;color:var(--kpp-ink)}
.kpp-poll-slot--compact{padding:16px}
.kpp-poll-slot__head{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:12px}
.kpp-poll-slot__title{font-size:1.125rem;margin:0}
.kpp-poll-slot__hint{color:var(--kpp-muted);font-size:.9rem;margin:0 0 10px}
.kpp-poll-slot__code{display:inline-block;background:var(--kpp-gray);border:1px solid var(--kpp-border);border-radius:8px;padding:6px 10px;font-size:.8125rem;color:var(--kpp-primary)}
.kpp-badge{display:inline-block;padding:4px 12px;border-radius:999px;font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em}
.kpp-badge--gold{background:var(--kpp-gold);color:#1a1a1a}
.kpp-badge--green{background:var(--kpp-primary);color:#fff}
/* Ads */
.kpp-ad{border:1px dashed var(--kpp-border);border-radius:var(--kpp-radius);padding:14px;text-align:center;background:var(--kpp-gray);margin-block:20px}
.kpp-ad__label{display:block;font-size:.6875rem;text-transform:uppercase;letter-spacing:.14em;color:var(--kpp-muted);margin-bottom:8px}
/* Updates + logos */
.kpp-updates{list-style:none;margin:0;padding:0}
.kpp-updates__item{display:flex;gap:12px;padding:12px 0;border-bottom:1px solid var(--kpp-border)}
.kpp-updates__date{color:var(--kpp-muted);font-size:.8125rem;min-width:110px}
.kpp-logos{display:grid;grid-template-columns:repeat(6,1fr);gap:16px;align-items:center}
.kpp-logos__item{display:grid;place-items:center;padding:16px;background:var(--kpp-surface);border:1px solid var(--kpp-border);border-radius:var(--kpp-radius);min-height:90px}
.kpp-logos__item img{max-width:100%;height:auto}
.kpp-logos__text{font-weight:600;font-size:.875rem;text-align:center;color:var(--kpp-ink)}
/* Page heads, content */
.kpp-page-head{background:var(--kpp-gray);padding-block:36px;border-bottom:1px solid var(--kpp-border)}
.kpp-page-head__title{font-size:clamp(1.6rem,3.5vw,2.4rem);margin:8px 0}
.kpp-page-head__sub{color:var(--kpp-muted);margin:0}
.kpp-breadcrumbs__list{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:0;padding:0;font-size:.8125rem;color:var(--kpp-muted)}
.kpp-breadcrumbs__item+.kpp-breadcrumbs__item::before{content:"/";margin-inline-end:8px;color:var(--kpp-muted)}
.kpp-entry-content{font-size:1.0625rem}
.kpp-entry-content img{max-width:100%;height:auto;border-radius:var(--kpp-radius)}
.kpp-featured{margin:0 0 22px}
.kpp-featured__img{width:100%;height:auto;border-radius:var(--kpp-radius)}
.kpp-block{margin-bottom:34px}
.kpp-block__title{font-size:1.375rem;margin:0 0 14px;padding-bottom:10px;border-bottom:2px solid var(--kpp-border)}
.kpp-list{padding-inline-start:20px}
.kpp-list--check{list-style:none;padding-inline-start:0}
.kpp-list--check li{position:relative;padding-inline-start:26px;margin-bottom:8px}
.kpp-list--check li::before{content:"\2713";position:absolute;inset-inline-start:0;color:var(--kpp-primary);font-weight:700}
.kpp-share{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-block:16px}
.kpp-share__label{font-weight:600;font-size:.875rem}
.kpp-share__btn{font-size:.8125rem;font-weight:600;padding:6px 14px;border:1px solid var(--kpp-border);border-radius:999px;color:var(--kpp-ink)}
.kpp-share__btn:hover{background:var(--kpp-primary);color:#fff;text-decoration:none}
.kpp-author-box{display:flex;gap:18px;padding:22px;background:var(--kpp-gray);border-radius:var(--kpp-radius);margin-block:26px}
.kpp-author-box__avatar{border-radius:50%}
.kpp-author-box__name{font-size:1.0625rem;margin:0 0 6px}
.kpp-author-box__bio{color:var(--kpp-muted);font-size:.9375rem;margin:0 0 6px}
.kpp-tags a{display:inline-block;font-size:.8125rem;background:var(--kpp-gray);padding:5px 12px;border-radius:999px;margin:0 6px 6px 0}
.kpp-filters,.kpp-gallery{display:flex;flex-wrap:wrap;gap:10px}
.kpp-chip{padding:8px 16px;border:1px solid var(--kpp-border);border-radius:999px;font-size:.875rem;font-weight:600;color:var(--kpp-ink)}
.kpp-chip:hover{background:var(--kpp-primary);color:#fff;text-decoration:none}
.kpp-gallery img{width:calc(33.333% - 7px);border-radius:var(--kpp-radius);object-fit:cover;aspect-ratio:3/2}
/* Candidate hero */
.kpp-candidate-hero{display:grid;grid-template-columns:340px 1fr;gap:32px;margin-block:24px 40px;align-items:start}
.kpp-candidate-hero__img{width:100%;height:auto;border-radius:var(--kpp-radius);box-shadow:var(--kpp-shadow)}
.kpp-candidate-hero__name{font-size:clamp(1.6rem,4vw,2.5rem);margin:0 0 10px}
.kpp-candidate-facts{list-style:none;padding:0;margin:16px 0}
.kpp-candidate-facts li{padding:6px 0;border-bottom:1px solid var(--kpp-border)}
.kpp-socials{display:flex;gap:8px;flex-wrap:wrap}
.kpp-socials__link{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--kpp-border);font-size:.8125rem;font-weight:700;color:inherit}
.kpp-socials--candidate .kpp-socials__link{width:auto;padding:6px 14px;border-radius:999px}
.kpp-socials--top .kpp-socials__link,.kpp-socials--footer .kpp-socials__link{border-color:rgba(255,255,255,.3);color:#fff}
/* LGA */
.kpp-lga-card{padding:20px}
.kpp-lga-card__name{font-size:1.0625rem;margin:0 0 4px}
.kpp-lga-card__meta{color:var(--kpp-muted);font-size:.8125rem;margin:0 0 10px}
.kpp-lga-card__slot{border:1px dashed var(--kpp-border);border-radius:10px;padding:12px;font-size:.8125rem;color:var(--kpp-muted);margin-bottom:10px}
/* Newsletter */
.kpp-newsletter{background:var(--kpp-primary);color:#fff;padding-block:48px}
.kpp-newsletter__inner{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:center}
.kpp-newsletter__title{color:#fff;font-size:1.75rem;margin:0 0 8px}
.kpp-newsletter__sub{color:rgba(255,255,255,.85);margin:0}
.kpp-newsletter .kpp-poll-slot__hint{color:rgba(255,255,255,.85)}
/* Footer */
.kpp-footer{background:var(--kpp-dark);color:rgba(255,255,255,.8);padding-block:52px 24px;font-size:.9375rem}
.kpp-footer__grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:32px}
.kpp-footer__title{color:#fff;font-size:1.0625rem;margin:0 0 14px}
.kpp-footer__text{color:rgba(255,255,255,.75)}
.kpp-footer a,.kpp-footer__menu a{color:rgba(255,255,255,.8)}
.kpp-footer__menu li{padding:5px 0}
.kpp-footer__widgets{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-top:32px}
.kpp-footer__disclaimer{margin-top:34px;padding:18px;border:1px solid rgba(255,255,255,.18);border-radius:var(--kpp-radius);font-size:.8125rem;color:rgba(255,255,255,.75)}
.kpp-footer__bottom{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:22px;padding-top:18px;border-top:1px solid rgba(255,255,255,.15);font-size:.8125rem}
.kpp-footer__legal{display:flex;gap:16px}
.kpp-disclaimer{font-size:.8125rem;color:var(--kpp-muted);border-inline-start:3px solid var(--kpp-gold);padding-inline-start:14px;margin-top:26px}
/* Misc */
.kpp-empty{color:var(--kpp-muted)}
.kpp-404{text-align:center}
.kpp-404__code{font-family:var(--kpp-font-heading);font-size:clamp(4rem,14vw,9rem);font-weight:800;color:var(--kpp-primary);margin:0;line-height:1}
.kpp-404__search{max-width:520px;margin:20px auto}
.kpp-404__actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-bottom:36px}
.kpp-sidebar .widget{background:var(--kpp-surface);border:1px solid var(--kpp-border);border-radius:var(--kpp-radius);padding:20px}
.widget-title{font-size:1.0625rem;margin:0 0 12px;padding-bottom:10px;border-bottom:2px solid var(--kpp-border)}
.kpp-pagination{margin-top:32px}
.kpp-pagination .page-numbers{display:inline-block;padding:8px 14px;border:1px solid var(--kpp-border);border-radius:8px;margin:0 4px 6px 0;color:var(--kpp-ink)}
.kpp-pagination .current{background:var(--kpp-primary);color:#fff;border-color:var(--kpp-primary)}
.kpp-comment-list{list-style:none;padding:0}
.kpp-comment-list ol{list-style:none}
.kpp-video-placeholder{border:2px dashed var(--kpp-border);border-radius:var(--kpp-radius);padding:40px;text-align:center;color:var(--kpp-muted)}
/* Responsive */
@media(max-width:1024px){
.kpp-grid--4{grid-template-columns:repeat(2,1fr)}
.kpp-grid--3{grid-template-columns:repeat(2,1fr)}
.kpp-logos{grid-template-columns:repeat(3,1fr)}
.kpp-layout,.kpp-two-col,.kpp-candidate-hero,.kpp-newsletter__inner{grid-template-columns:1fr}
.kpp-footer__grid{grid-template-columns:repeat(2,1fr)}
.kpp-stats{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:782px){
.kpp-nav__toggle{display:block}
.kpp-nav{margin-inline-start:auto;position:static}
.kpp-menu{position:absolute;inset-inline:0;top:100%;flex-direction:column;align-items:stretch;background:var(--kpp-surface);border-top:1px solid var(--kpp-border);padding:10px 16px;display:none;box-shadow:var(--kpp-shadow)}
.kpp-header{position:relative}
.kpp-menu.is-open{display:flex}
.kpp-menu .dropdown-menu{position:static;display:block;border:0;padding-inline-start:14px;background:transparent}
.kpp-header__login{display:none}
.kpp-grid--2,.kpp-grid--3,.kpp-grid--4{grid-template-columns:1fr}
.kpp-footer__grid,.kpp-footer__widgets{grid-template-columns:1fr}
.kpp-gallery img{width:calc(50% - 5px)}
.kpp-section{padding-block:38px}
}
