/* Chagua Profiles – candidate page. Everything is scoped to .chp so the theme is untouched. */
.chp{--cp-green:#016b3f;--cp-green-d:#014d2e;--cp-green-l:#e7f3ed;--cp-ink:#0f172a;--cp-text:#1f2937;--cp-muted:#5b6472;--cp-line:#e3e7ea;--cp-bg:#f4f6f5;--cp-card:#fff;--cp-r:14px;--cp-top:0px;--cp-pad:0px;
  background:var(--cp-bg);color:var(--cp-text);font-size:16px;line-height:1.6;padding-top:var(--cp-pad)}
.chp *,.chp *::before,.chp *::after{box-sizing:border-box}
.chp a{color:var(--cp-green);text-underline-offset:2px}
.chp h1,.chp h2,.chp h3{color:var(--cp-ink);letter-spacing:-.01em;margin:0}
.chp-wrap{max-width:1120px;margin:0 auto;padding:0 16px}
.chp-muted{color:var(--cp-muted)}
.chp-small{font-size:13px}

/* Hero */
.chp-hero{position:relative;background:linear-gradient(160deg,#014d2e 0%,#016b3f 60%,#0a7d4c 100%);color:#fff;overflow:hidden}
.chp-cover{position:absolute;inset:0;background-size:cover;background-position:center 30%;opacity:.22;filter:saturate(.6)}
.chp-hero::after{content:"";position:absolute;inset:auto 0 0 0;height:48px;background:linear-gradient(transparent,rgba(0,0,0,.12))}
.chp-hero-in{position:relative;z-index:1;display:grid;grid-template-columns:auto 1fr;gap:28px;align-items:center;padding-top:40px;padding-bottom:36px}
.chp-av{display:block;border-radius:20px;object-fit:cover;background:var(--cp-green-l);flex:none}
.chp-av-l{width:168px;height:168px;border:4px solid rgba(255,255,255,.9);box-shadow:0 10px 30px rgba(0,0,0,.25)}
.chp-av-s{width:56px;height:56px;border-radius:12px}
.chp-av-none{display:flex;align-items:center;justify-content:center;font-weight:700;color:var(--cp-green);letter-spacing:.02em}
.chp-av-l.chp-av-none{font-size:48px}
.chp-kicker{margin:0 0 4px;font-size:14px;font-weight:600;letter-spacing:.02em;color:rgba(255,255,255,.85)}
.chp .chp-name{color:#fff;font-size:clamp(28px,4.2vw,44px);line-height:1.1;font-weight:800}
.chp-slogan{margin:10px 0 0;font-size:18px;font-style:italic;color:rgba(255,255,255,.92)}
.chp-badges{margin-top:10px}
.chp-badges .cs-badges{margin:0}
.chp-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.chp-chip{display:inline-flex;align-items:center;gap:8px;min-height:34px;padding:4px 14px;border-radius:999px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.28);color:#fff;font-size:14px;font-weight:600;text-decoration:none}
.chp a.chp-chip{color:#fff}
.chp a.chp-chip:hover{background:rgba(255,255,255,.24)}
.chp-chip img{width:22px;height:22px;border-radius:50%;object-fit:contain;background:#fff}
.chp-dot{width:8px;height:8px;border-radius:50%;background:#cbd5e1}
.chp-stage-nominated .chp-dot{background:#93c5fd}
.chp-stage-cleared .chp-dot,.chp-stage-elected .chp-dot{background:#86efac}
.chp-stage-withdrawn .chp-dot{background:#fca5a5}
.chp-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.chp-btn{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:8px 16px;border-radius:10px;border:1px solid rgba(255,255,255,.35);background:transparent;color:#fff!important;font:inherit;font-size:14px;font-weight:600;text-decoration:none;cursor:pointer}
.chp-btn:hover{background:rgba(255,255,255,.12)}
.chp-btn-primary{background:#fff;color:var(--cp-green-d)!important;border-color:#fff}
.chp-btn-primary:hover{background:#eefaf3}
.chp-btn-ghost{border-style:dashed}
.chp-btn:focus-visible,.chp a:focus-visible,.chp button:focus-visible{outline:3px solid #fbbf24;outline-offset:2px}

/* Section nav */
.chp-nav{position:sticky;top:var(--cp-top);z-index:20;background:rgba(255,255,255,.96);backdrop-filter:blur(6px);border-bottom:1px solid var(--cp-line)}
.chp-nav ul{display:flex;gap:4px;margin:0;padding:0;list-style:none;overflow-x:auto;scrollbar-width:none}
.chp-nav ul::-webkit-scrollbar{display:none}
.chp-nav a{display:block;padding:14px 12px;white-space:nowrap;color:var(--cp-muted);font-size:15px;font-weight:600;text-decoration:none;border-bottom:3px solid transparent}
.chp-nav a:hover{color:var(--cp-ink)}
.chp-nav a[aria-current]{color:var(--cp-green);border-bottom-color:var(--cp-green)}

/* Layout */
.chp-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:24px;align-items:start;padding-top:24px;padding-bottom:32px}
.chp-sec{background:var(--cp-card);border:1px solid var(--cp-line);border-radius:var(--cp-r);padding:24px;margin:0 0 16px;scroll-margin-top:calc(var(--cp-top) + 64px)}
.chp-sec>h2{font-size:21px;font-weight:750;margin-bottom:12px}
.chp-sec h3{font-size:15px;font-weight:700;margin:16px 0 8px;color:var(--cp-ink)}
.chp-cols>div>h3:first-child,.chp-sec>h3:first-of-type{margin-top:0}
.chp-prose p{margin:0 0 12px}
.chp-prose p:last-child{margin-bottom:0}
.chp-lead{font-size:17px;color:var(--cp-ink);margin:0 0 14px;padding-left:14px;border-left:4px solid var(--cp-green)}
.chp-empty{margin:0;padding:14px 16px;border-radius:10px;background:var(--cp-bg);color:var(--cp-muted);font-size:15px}
.chp-list{margin:0;padding:0;list-style:none}
.chp-issues{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px}
.chp-issues li{position:relative;padding:10px 12px 10px 36px;border-radius:10px;background:var(--cp-green-l);color:var(--cp-ink);font-weight:600;font-size:15px;line-height:1.35}
.chp-issues li::before{content:"";position:absolute;left:14px;top:15px;width:10px;height:10px;border-radius:3px;background:var(--cp-green)}
.chp-cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:8px 28px}
.chp-timeline li{position:relative;padding:0 0 10px 20px;font-size:15px}
.chp-timeline li::before{content:"";position:absolute;left:3px;top:9px;width:8px;height:8px;border-radius:50%;background:var(--cp-green)}
.chp-timeline li::after{content:"";position:absolute;left:6.5px;top:19px;bottom:-1px;width:1px;background:var(--cp-line)}
.chp-timeline li:last-child::after{display:none}
.chp-doc{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid var(--cp-line);border-radius:12px;text-decoration:none;margin-bottom:12px;color:var(--cp-ink)!important;font-weight:600}
.chp-doc:hover{border-color:var(--cp-green);background:var(--cp-green-l)}
.chp-doc small{display:block;font-weight:400;color:var(--cp-muted);font-size:13px}
.chp-doc-i{display:flex;align-items:center;justify-content:center;width:42px;height:48px;border-radius:6px;background:#b91c1c;color:#fff;font-size:11px;font-weight:800}
.chp-fold .chp-fold-in{max-height:240px;overflow:hidden;-webkit-mask-image:linear-gradient(#000 60%,transparent)}
.chp-fold.is-open .chp-fold-in{max-height:none;-webkit-mask-image:none}
.chp-link{background:none;border:0;padding:6px 0;color:var(--cp-green);font:inherit;font-weight:700;cursor:pointer;text-decoration:none}
.chp-news{margin:0;padding:0;list-style:none}
.chp-news li{padding:10px 0;border-bottom:1px solid var(--cp-line)}
.chp-news li:last-child{border-bottom:0}
.chp-news a{display:block;font-weight:600;color:var(--cp-ink)}
.chp-news span{font-size:13px}
.chp-sec-sources .cs-sources{margin:0;border:0;padding:0;background:none}

/* Side column */
.chp-side{position:sticky;top:calc(var(--cp-top) + 64px)}
.chp-box{background:var(--cp-card);border:1px solid var(--cp-line);border-radius:var(--cp-r);padding:20px;margin-bottom:16px}
.chp .chp-box-h{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--cp-muted);margin-bottom:12px}
.chp-facts{margin:0}
.chp-facts>div{display:grid;grid-template-columns:22px 1fr;column-gap:10px;padding:10px 0;border-bottom:1px solid var(--cp-line)}
.chp-facts>div:last-child{border-bottom:0}
.chp-facts svg{grid-row:span 2;color:var(--cp-green);margin-top:2px}
.chp-facts dt{font-size:13px;color:var(--cp-muted)}
.chp-facts dd{margin:0;font-weight:600;color:var(--cp-ink);font-size:15px}
.chp-facts dd a{font-weight:600}
.chp-socials{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0}
.chp-socials a{padding:4px 12px;border-radius:999px;border:1px solid var(--cp-line);font-size:14px;font-weight:600;text-decoration:none}
.chp-socials a:hover{border-color:var(--cp-green)}
.chp-claim .chagua-claim{margin:0;padding:0;border:0;background:none;box-shadow:none}
.chp-claim h3{font-size:17px;margin:0 0 6px}
.chp-claim p{margin:0 0 10px;font-size:15px}
.chp-neutral{font-size:13px;color:var(--cp-muted);margin:0;padding:0 4px}

/* Also running */
.chp-race{background:#fff;border-top:1px solid var(--cp-line);padding:32px 0 40px}
.chp-race-h{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:16px}
.chp-race h2{font-size:22px;font-weight:750}
.chp-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}
.chp-card{display:flex;gap:12px;align-items:center;padding:12px;border:1px solid var(--cp-line);border-radius:12px;background:#fff;text-decoration:none;color:var(--cp-text)!important}
.chp-card:hover{border-color:var(--cp-green);box-shadow:0 4px 14px rgba(1,107,63,.08)}
.chp-card-b{display:flex;flex-direction:column;min-width:0}
.chp-card strong{color:var(--cp-ink);font-size:15px;line-height:1.3}
.chp-card-m{font-size:13px;color:var(--cp-muted)}
.chp-card-q{font-size:13px;font-style:italic;color:var(--cp-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.chp-cards-sc{background:none;padding:0}

/* Phones */
@media (max-width:900px){
  .chp-grid{grid-template-columns:1fr}
  /* Phones and tablets: "At a glance" first, then the sections, then claim box and the neutrality note. */
  .chp-side{display:contents}
  .chp-side>.chp-box:first-child{order:-1}
  .chp-main{order:0}
  .chp-side>*:not(:first-child){order:1}
}
@media (max-width:600px){
  .chp{font-size:15px}
  .chp-hero-in{grid-template-columns:1fr;justify-items:center;text-align:center;gap:14px;padding-top:24px;padding-bottom:24px}
  .chp-av-l{width:128px;height:128px}
  .chp-chips,.chp-actions{justify-content:center}
  .chp-sec{padding:18px 16px;border-radius:12px}
  .chp-nav a{padding:12px 10px;font-size:14px}
  .chp-issues{grid-template-columns:1fr}
}
@media print{.chp-nav,.chp-actions,.chp-claim,.chp-race{display:none}.chp-hero{background:#fff;color:#000}.chp .chp-name,.chp-kicker,.chp-slogan{color:#000}}
/* The section already has the heading, and the hero already shows the badges. */
.chp-sec-sources .cs-box-h{display:none}
.chp-sec-sources .cs-src{margin-top:0}

/* ---- 2.0: parties and events ---- */
.chp{--cp-accent:transparent}
.chp-hero{border-top:6px solid var(--cp-accent)}
.chp-av-logo{object-fit:contain;background:#fff;padding:10px}
.chp-av-s.chp-av-logo{padding:4px}
.chp-av-date{display:flex;flex-direction:column;align-items:center;justify-content:center;background:#fff;color:var(--cp-green-d)}
.chp-av-date b{font-size:64px;line-height:1;font-weight:800}
.chp-av-date span{font-size:15px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;margin-top:4px}
.chp-chip svg{width:16px;height:16px}
.chp-abbr{letter-spacing:.04em}
.chp-reg{background:rgba(134,239,172,.2);border-color:rgba(134,239,172,.55)}
.chp-soon{background:#fff;color:var(--cp-green-d);border-color:#fff}
.chp-ended{background:rgba(0,0,0,.25);border-color:transparent}
.chp-swatch{display:inline-block;width:14px;height:14px;border-radius:4px;border:1px solid rgba(0,0,0,.15);vertical-align:-2px;margin-right:8px}
.chp-bullets{margin:0 0 12px;padding-left:20px}
.chp-bullets li{margin:0 0 6px}
.chp-prose h3{margin:14px 0 6px}
.chp-group-h{font-size:16px;margin:22px 0 10px;color:var(--cp-ink)}
.chp-group-h:first-of-type{margin-top:0}
.chp-cards-in{grid-template-columns:repeat(auto-fill,minmax(230px,1fr))}
.chp-events{display:grid;gap:8px}
.chp-evrow{display:flex;gap:14px;align-items:center;padding:10px 12px;border:1px solid var(--cp-line);border-radius:12px;background:#fff;text-decoration:none;color:var(--cp-text)!important}
.chp-evrow:hover{border-color:var(--cp-green)}
.chp-evrow.is-past{opacity:.75}
.chp-date{flex:none;display:flex;flex-direction:column;align-items:center;justify-content:center;width:54px;height:58px;border-radius:10px;background:var(--cp-green-l);color:var(--cp-green-d)}
.chp-date b{font-size:22px;line-height:1;font-weight:800}
.chp-date span{font-size:12px;font-weight:700;text-transform:uppercase}
.chp-event-b{display:flex;flex-direction:column;min-width:0}
.chp-event-b strong{color:var(--cp-ink)}
.chp-event-b .chp-muted{font-size:14px}
.chp-tag{align-self:flex-start;margin-top:4px;font-size:12px;font-weight:700;padding:1px 8px;border-radius:999px;background:#eef0f2;color:var(--cp-muted)}
.chp-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}
.chp-gallery a{display:block;aspect-ratio:4/3;border-radius:10px;overflow:hidden;background:var(--cp-bg)}
.chp-gallery img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .2s}
.chp-gallery a:hover img{transform:scale(1.03)}
.chp-video{position:relative;aspect-ratio:16/9;border-radius:12px;overflow:hidden;background:#000}
.chp-video iframe,.chp-map iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.chp-map{position:relative;height:260px;margin-top:14px;border-radius:12px;overflow:hidden;border:1px solid var(--cp-line)}
.chp-doc-v{background:var(--cp-green)}
.chp-doc-v svg{width:20px;height:20px;fill:#fff;stroke:#fff}
@media (max-width:600px){.chp-av-date b{font-size:48px}.chp-map{height:200px}}

/* ---- 2.1 ---- */
/* The theme header is see-through on listing pages (made for a cover photo behind it); these pages start
   with our own hero, so give it the site's green like every other page. */
.chp-page .c27-main-header .header-skin{background:#006a3f!important;border-bottom:0!important;opacity:1!important}
@media (min-width:993px){.chp-page .c27-main-header #menu-main-menu>li>a,.chp-page .c27-main-header .user-area>a,.chp-page .c27-main-header .user-area .user-profile-name{color:#fff!important}}
.chp-page .c27-main-header .mobile-menu-lines i,.chp-page .c27-main-header .mob-sign-in i,.chp-page .c27-main-header .search-trigger i{color:#fff!important}
.chp-sec-missing{background:transparent;border-style:dashed}
.chp-sec-missing h2{font-size:17px;color:var(--cp-muted)}
.chp-missing-list{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 10px;padding:0;list-style:none}
.chp-missing-list li{padding:4px 12px;border-radius:999px;background:#fff;border:1px solid var(--cp-line);font-size:14px;font-weight:600;color:var(--cp-text)}
.chp-sec-missing p{margin:0;font-size:14px}
.chp-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;background:none;padding:0}
.chp-stat{background:#fff;border-radius:16px;padding:18px 12px;text-align:center;box-shadow:0 4px 18px rgba(15,23,42,.08)}
.chp-stat b{display:block;font-size:30px;line-height:1.1;font-weight:800;color:var(--cp-green)}
.chp-stat.is-days b{color:#c8102e}
.chp-stat span{display:block;margin-top:4px;font-size:14px;color:var(--cp-muted)}
.chp-av-l.chp-av-none.is-long{font-size:30px;letter-spacing:-.01em}
.chp-av-s.chp-av-none.is-long{font-size:11px}
/* 2.3.0 – events: official chip, organiser box with upgrades */
.chp-chip.chp-official{background:#fff4d6;color:#7a4b00;border-color:#f3d48a}
.chp-ups{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;margin:12px 0}
.chp-up{border:1px solid var(--cp-line);border-radius:var(--cp-r);padding:16px;background:#fff;display:flex;flex-direction:column}
.chp-up h3{margin:0 0 4px;font-size:18px;display:flex;justify-content:space-between;align-items:baseline;gap:8px}
.chp-up h3 span{color:var(--cp-green);font-weight:800}
.chp-up .chp-list{margin:10px 0 14px;flex:1}
.chp-up .chp-btn-primary{background:var(--cp-green);color:#fff!important;border-color:var(--cp-green);justify-content:center}
.chp-up .chp-btn-primary:hover{background:var(--cp-green-d)}
.chp-sec-owner{border:2px dashed var(--cp-green-l)}
/* 2.4.0 – Chagua Events page [chagua_events] */
.chev{max-width:1180px;margin:0 auto;padding:16px 16px 40px;color:var(--cp-text);box-sizing:border-box}
.chev-head{display:grid;grid-template-columns:1fr minmax(260px,380px);gap:20px;align-items:end;background:linear-gradient(135deg,#016b3f,#014d2e);color:#fff;border-radius:20px;padding:28px 28px 24px;margin:0 0 16px}
.chev-head h2{color:#fff;font-size:34px;font-weight:800;margin:0 0 6px;line-height:1.1}
.chev-head p{margin:0;color:#d9efe3;font-size:17px}
.chev-my{background:#fff;color:var(--cp-ink);border-radius:14px;padding:14px 16px;box-shadow:0 10px 30px rgba(0,0,0,.18)}
.chev-my label{display:flex;align-items:center;gap:6px;font-weight:800;font-size:14px;margin:0 0 6px;color:var(--cp-green-d)}
.chev-my select{width:100%;height:46px;border:2px solid var(--cp-green);border-radius:10px;padding:0 12px;font-size:16px;font-weight:600;background:#fff;color:var(--cp-ink)}
.chev-my small{display:block;margin-top:6px;color:var(--cp-muted);font-size:12.5px}
.chev.has-my .chev-my select{background:#e7f3ed}
.chev-views{display:flex;gap:8px;overflow-x:auto;padding:4px 2px 10px;margin:0 0 6px;scrollbar-width:thin}
.chev-views button{flex:0 0 auto;border:1px solid var(--cp-line);background:#fff;border-radius:999px;padding:9px 14px;font-size:14px;font-weight:600;color:var(--cp-ink);cursor:pointer;white-space:nowrap}
.chev-views button[aria-pressed=true]{background:var(--cp-green);border-color:var(--cp-green);color:#fff}
.chev-filters{display:grid;grid-template-columns:repeat(5,minmax(0,1fr)) auto;gap:10px;align-items:end;background:#fff;border:1px solid var(--cp-line);border-radius:16px;padding:14px;margin:0 0 12px}
.chev-f{display:flex;flex-direction:column;gap:4px;margin:0;font-size:12.5px;font-weight:700;color:var(--cp-muted);text-transform:uppercase;letter-spacing:.04em}
.chev-f select{height:42px;border:1px solid #cfd6dc;border-radius:10px;padding:0 10px;font-size:14.5px;background:#fff;color:var(--cp-ink);text-transform:none;letter-spacing:0;font-weight:500}
.chev-reset{height:42px;border:0;background:none;color:var(--cp-green);font-weight:700;cursor:pointer;padding:0 8px}
.chev-count{margin:4px 2px 10px;color:var(--cp-muted);font-size:14px}
.chev-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:14px}
.chev-group{grid-column:1/-1;margin:14px 2px 0;font-size:18px;font-weight:800;color:var(--cp-ink)}
.chev-card{display:flex;gap:14px;background:#fff;border:1px solid var(--cp-line);border-radius:16px;padding:16px;box-shadow:0 2px 10px rgba(15,23,42,.05)}
.chev-card[hidden]{display:none}
.chev-card.is-past{opacity:.75}
.chev-date{flex:0 0 56px;height:62px;border-radius:12px;background:var(--cp-green-l);color:var(--cp-green-d);display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1}
.chev-date b{font-size:24px;font-weight:800}
.chev-date span{font-size:12px;font-weight:700;text-transform:uppercase;margin-top:3px}
.chev-body{min-width:0;flex:1;display:flex;flex-direction:column}
.chev-top{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:0 0 4px}
.chev-type{font-size:12px;font-weight:700;color:var(--cp-muted);text-transform:uppercase;letter-spacing:.04em}
.chev-badge{font-size:11.5px;font-weight:800;border-radius:999px;padding:2px 9px}
.chev-badge.is-live{background:#c8102e;color:#fff}
.chev-badge.is-live:before{content:"● ";}
.chev-badge.is-today{background:#fff4d6;color:#7a4b00}
.chev-badge.is-past{background:#eef1f3;color:var(--cp-muted)}
.chev-card h3{font-size:17px;line-height:1.3;margin:0 0 3px}
.chev-card h3 a{color:var(--cp-ink);text-decoration:none}
.chev-card h3 a:hover{text-decoration:underline}
.chev-who{margin:0 0 6px;font-weight:700;color:var(--cp-green-d);font-size:14px}
.chev-meta{list-style:none;margin:0 0 6px;padding:0;display:grid;gap:3px;font-size:13.5px;color:var(--cp-text)}
.chev-meta li{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.chev-meta svg{width:15px;height:15px;color:var(--cp-green);flex:0 0 auto}
.chev-desc{margin:0 0 8px;font-size:14px;color:var(--cp-muted);line-height:1.45}
.chev-go{margin-top:auto;font-weight:700;color:var(--cp-green);text-decoration:none;font-size:14px}
.chev-empty{background:#fff;border:1px dashed var(--cp-line);border-radius:16px;padding:22px;text-align:center}
.chev-cta{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;margin-top:22px;background:var(--cp-green-l);border-radius:16px;padding:18px 20px}
.chev-cta b{display:block;color:var(--cp-ink)}
.chev-cta span{color:var(--cp-muted);font-size:14px}
.chev .chev-add{background:var(--cp-green);color:#fff!important;border-color:var(--cp-green)}
@media (max-width:980px){.chev-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.chev-reset{grid-column:1/-1}}
@media (max-width:760px){.chev-head{grid-template-columns:1fr;padding:22px 18px}.chev-head h2{font-size:28px}.chev-list{grid-template-columns:1fr}.chev{padding-left:12px;padding-right:12px}}
.chev-fbox>summary{display:none}
@media (max-width:760px){.chev-fbox{margin:0 0 12px}.chev-fbox>summary{display:flex;align-items:center;gap:6px;cursor:pointer;list-style:none;background:#fff;border:1px solid var(--cp-line);border-radius:12px;padding:11px 14px;font-weight:700;color:var(--cp-ink)}.chev-fbox>summary::-webkit-details-marker{display:none}.chev-fbox>summary:after{content:"▾";margin-left:auto;color:var(--cp-muted)}.chev-fbox[open]>summary{border-radius:12px 12px 0 0;border-bottom:0}.chev-fbox[open] .chev-filters{border-radius:0 0 12px 12px}.chev-fn{color:var(--cp-green)}}
/* 2.5.0 – events on profiles */
.chev.chev-mini{padding:0;margin:0 0 10px;max-width:none}
.chev-mini .chev-list{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:10px}
.chev-mini .chev-card{box-shadow:none}
.chev-sub{font-size:15px;margin:14px 0 8px}
.chev-links{display:flex;flex-wrap:wrap;gap:10px 16px;align-items:center;margin-top:10px}
.chp .chev-add{background:var(--cp-green);color:#fff!important;border-color:var(--cp-green)}
/* 2.5.0 – homepage: races tabs and events (the homepage block resets margins/padding on everything, so these are scoped to it) */
.chagua-home .cp-tabs{display:flex;gap:8px;overflow-x:auto;margin:0 0 18px;padding:2px 2px 8px}
.chagua-home .cp-tabs button{flex:0 0 auto;border:1px solid #dbe3df;background:#fff;border-radius:999px;padding:9px 16px;font:inherit;font-size:.92rem;font-weight:600;color:#1f2937;cursor:pointer}
.chagua-home .cp-tabs button span{display:inline-block;margin-left:4px;padding:0 7px;border-radius:999px;background:#e8f5ef;color:#016b3f;font-size:.78rem}
.chagua-home .cp-tabs button[aria-selected=true]{background:#016b3f;border-color:#016b3f;color:#fff}
.chagua-home .cp-tabs button[aria-selected=true] span{background:rgba(255,255,255,.2);color:#fff}
.chagua-home .cp-panel[hidden]{display:none}
.chagua-home .cp-race-more{margin:14px 0 0;display:flex;gap:10px;align-items:center;justify-content:flex-end;flex-wrap:wrap;font-size:.88rem;color:#64748b}
.chagua-home .chev.chev-mini{padding:0}
.chagua-home .chev-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px}
.chagua-home .chev-card{padding:16px;gap:14px}
.chagua-home .chev-top{margin:0 0 4px}
.chagua-home .chev-card h3{margin:0 0 3px}
.chagua-home .chev-who{margin:0 0 6px}
.chagua-home .chev-meta{margin:0 0 6px;padding:0}
.chagua-home .chev-desc{margin:0 0 8px}
.chagua-home .chev-badge{padding:2px 9px}
.chagua-home .chev-date span{margin-top:3px}
.chagua-home .chev-go{color:#016b3f}
/* 2.6.0 – current office holders */
.chp-chip.chp-current{background:#e7f0ff;color:#1e3a8a;border-color:#c7d7fe}
.chp-chip.chp-undeclared{background:#f4f6f5;color:#5b6472;border-color:#e3e7ea;font-weight:600}
/* 2.6.1 – homepage: a number for every seat, and party logos on the cards */
.chagua-home .stats.chp-all-stats{grid-template-columns:repeat(4,minmax(0,1fr))!important}
@media (min-width:1180px){.chagua-home .stats.chp-all-stats{grid-template-columns:repeat(8,minmax(0,1fr))!important;max-width:1240px}.chagua-home .chp-all-stats .stat{padding:1.1rem .5rem}.chagua-home .chp-all-stats .stat-num{font-size:1.6rem}}
@media (max-width:768px){.chagua-home .stats.chp-all-stats{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:.6rem}.chagua-home .chp-all-stats .stat{padding:.85rem .5rem}.chagua-home .chp-all-stats .stat-num{font-size:1.45rem}}
.chagua-home .card-party .party-logo{width:22px;height:22px;flex:0 0 22px;border-radius:50%;overflow:hidden;background:#fff;border:1px solid #e3e7ea;display:inline-flex;align-items:center;justify-content:center}
.chagua-home .card-party .party-logo img{width:100%;height:100%;object-fit:contain;display:block;margin:0}
.chagua-home .card-party .party-logo.is-text{background:var(--green,#016b3f);border:0;color:#fff;font-size:7.5px;font-weight:800;letter-spacing:.01em;line-height:1}
.chagua-home .card-party .party-logo.is-ind{background:#64748b}
.chagua-home .card-party-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.chagua-home .party-card-logo{display:flex;width:48px;height:48px;margin:0 auto .55rem;border-radius:50%;overflow:hidden;background:#fff;border:1px solid #e3e7ea;align-items:center;justify-content:center}
.chagua-home .party-card-logo img{width:100%;height:100%;object-fit:contain;display:block;margin:0}
.chagua-home .party-card.has-logo .party-abbr{font-size:1.1rem}
/* Ballot box: county, constituency and ward */
.chagua-home .chp-ballot3{display:flex;flex-wrap:wrap;gap:.6rem}
.chagua-home .chp-ballot3 select{flex:1 1 180px;min-width:0}
.chagua-home .chp-ballot3 select[hidden]{display:none}
.chagua-home .chp-ballot3 .btn{flex:1 1 100%}
@media (min-width:900px){.chagua-home .chp-ballot3 .btn{flex:0 0 auto}}
/* 2.7.0 – country page (Chagua Platform Global Core): open polls */
.chp-country-polls{margin:28px 0 8px}
.chp-cp-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap}
.chp-cp-head h2{margin:0;font-size:1.35rem}
.chp-cp-head a{font-weight:700;color:var(--chp-brand,#016b3f);text-decoration:none}
.chp-cp-note{color:#5b6472;font-size:.9rem;margin:.35rem 0 1rem}
.chp-cp-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px}
.chp-cp-card{display:flex;flex-direction:column;gap:6px;padding:16px;border:1px solid #e3e7ea;border-radius:14px;background:#fff;text-decoration:none;color:#0f172a;box-shadow:0 2px 8px rgba(15,23,42,.05)}
.chp-cp-card:hover{border-color:var(--chp-brand,#016b3f)}
.chp-cp-pill{align-self:flex-start;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;background:#e7f3ed;color:#016b3f;border-radius:999px;padding:2px 9px}
.chp-cp-meta{font-size:.85rem;color:#5b6472}
.chp-cp-empty{color:#5b6472}
.chp-country-wrap{padding:32px 0 48px}
.chp-country-wrap .chagua-country-page{margin-bottom:8px}
/* About this poll (2.9.0) */
.chp-poll-about{margin:22px 0 8px;padding:16px 18px;border:1px solid #dfe7e3;border-radius:14px;background:#f7faf8;font-size:14px;line-height:1.55;color:#33423b}
.chp-poll-about h3{margin:0 0 10px;font-size:16px;color:#16392c}
.chp-poll-about dl{margin:0;display:grid;gap:8px}
.chp-poll-about dl>div{display:grid;grid-template-columns:150px 1fr;gap:10px}
.chp-poll-about dt{font-weight:700;color:#16392c}
.chp-poll-about dd{margin:0}
.chp-pa-links{margin:12px 0 0;font-weight:600}
.chp-pa-links a{color:var(--chp-brand,#016b3f)}
@media (max-width:600px){.chp-poll-about dl>div{grid-template-columns:1fr;gap:2px}}
/* Quick sign-in and guest votes (2.10.0) */
.chp-vote-panel{margin-top:20px;display:grid;gap:14px}
.chp-quick,.chp-guest{padding:18px;border-radius:16px;border:1px solid #dceae2;background:#f3f8f5;color:#17352a;font-size:14px;line-height:1.5}
.chp-quick-lead,.chp-guest-lead{margin:0 0 12px}
.chp-quick-ways{display:grid;gap:14px}
.chp-quick-google{min-height:44px}
.chp-quick-phone label{display:block;font-weight:700;margin-bottom:6px}
.chp-quick-row{display:flex;gap:8px;flex-wrap:wrap}
.chp-quick-row input{flex:1 1 180px;min-height:44px;padding:8px 12px;border:1.5px solid #cfe0d7;border-radius:10px;font-size:16px;background:#fff}
.chp-quick-row button,.chp-guest-form button,.chp-guest-change{min-height:44px;padding:8px 18px;border:0;border-radius:10px;background:#087443;color:#fff;font-weight:800;cursor:pointer}
.chp-quick-row button:hover,.chp-guest-form button:hover{background:#075c3b}
.chp-quick-code{margin-top:8px}
.chp-quick-fine,.chp-guest-note{margin:8px 0 0;font-size:12px;color:#5b6472}
.chp-quick-msg,.chp-guest-msg{margin:10px 0 0;font-weight:700;color:#075c3b;min-height:1em}
.chp-quick-email{margin:10px 0 0}
.chp-quick-email a{font-weight:700;color:#087443}
.chp-guest{background:#fff;border-style:dashed}
.chp-guest-form fieldset{border:0;margin:0 0 12px;padding:0;display:grid;gap:8px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}
.chp-guest-form label{display:flex;gap:8px;align-items:center;padding:10px 12px;border:1.5px solid #e1ebe6;border-radius:12px;cursor:pointer;font-weight:700}
.chp-guest-form label:has(input:checked){border-color:#087443;background:#eaf7f0}
.chp-guest-result h3{margin:0 0 4px;font-size:16px}
.chp-guest-result ul{list-style:none;margin:12px 0 6px;padding:0;display:grid;gap:10px}
.chp-guest-result li{position:relative;display:flex;justify-content:space-between;gap:10px;padding-bottom:8px;font-weight:700}
.chp-guest-result li i{position:absolute;left:0;bottom:0;height:5px;border-radius:5px;background:#9aa7a0}
.chp-guest-result li b{color:#5b6472;font-weight:700}
.chp-guest-total{margin:4px 0 8px;font-size:12px;color:#5b6472}
.chp-guest--view{margin:22px 0 0}
.chp-guest-change{background:#fff;color:#087443;border:1.5px solid #087443}
.chp-vote-panel [hidden],.chp-guest [hidden]{display:none!important}
.chp-guest .screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}
.chp-quick-fb{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:44px;max-width:320px;padding:8px 18px;border-radius:999px;background:#1877f2;color:#fff!important;font-weight:700;text-decoration:none!important}
.chp-quick-fb:hover{background:#166fe5}
/* Widget builder (2.12.0) */
.chp-wb{max-width:1100px;margin:0 auto}
.chp-wb-form{display:flex;flex-wrap:wrap;gap:10px 16px;align-items:end;padding:16px;border:1px solid #dfe7e3;border-radius:14px;background:#f7faf8}
.chp-wb-form label{display:flex;flex-direction:column;gap:4px;font-weight:700;font-size:13px}
.chp-wb-form label:has(input[type=checkbox]){flex-direction:row;align-items:center;font-weight:600}
.chp-wb-form select{min-height:40px;min-width:200px;border:1px solid #cfe0d7;border-radius:10px;padding:6px 10px;background:#fff}
.chp-wb-form [data-for]{display:flex;flex-wrap:wrap;gap:10px 16px;align-items:end}
.chp-wb-form [hidden]{display:none!important}
.chp-wb-out{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:20px;margin-top:18px}
@media(max-width:800px){.chp-wb-out{grid-template-columns:1fr}}
.chp-wb-h{margin:0 0 6px;font-weight:800;font-size:13px;color:#16392c}
.chp-wb-frame{border:1px dashed #cfe0d7;border-radius:14px;padding:8px;min-height:200px;background:#fff}
.chp-wb-code textarea{width:100%;font:12px/1.4 ui-monospace,Menlo,Consolas,monospace;border:1px solid #cfe0d7;border-radius:10px;padding:10px;margin-bottom:8px;background:#fbfdfc}
.chp-wb-copy{min-height:40px;padding:8px 18px;border:0;border-radius:10px;background:#087443;color:#fff;font-weight:800;cursor:pointer;margin-bottom:14px}
.chp-wb-terms{margin-top:14px;font-size:13px;color:#5b6472}
/* Reach (2.13.0) */
.chp-promise{margin:18px auto 0;max-width:920px;padding:12px 18px;border-radius:14px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.28);color:inherit;text-align:center}
.chp-promise-lead{margin:0 0 6px;font-weight:800;font-size:17px;line-height:1.35}
.chp-promise ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:4px 18px;font-size:14px;font-weight:600;opacity:.95}
.chp-promise li::before{content:"✓ ";font-weight:900}
.chp-where-vote{margin:18px 0;padding:14px 16px;border-radius:14px;background:#f3f8f5;border:1px solid #dceae2;color:#17352a;font-size:14px;line-height:1.5}
.chp-where-vote a{font-weight:800;color:#087443;white-space:nowrap}
.chp-week h3{margin:18px 0 6px;font-size:16px}
.chp-week ul{margin:0 0 8px;padding-left:20px}
.chp-week li span{color:#5b6472}

/* ---- Key dates timeline [chagua_key_dates] (2.14.0) ---- */
.chtl{--tl-ink:#0f172a;--tl-mut:#5b6472;--tl-line:#e3e7ea;--tl-g:var(--cp-green,#016b3f);--tl-gl:#e7f3ed;--tl-iebc:#8a5a00;--tl-iebc-l:#fff4d6;--tl-party:#3b3f9e;--tl-party-l:#eceefe;--tl-cand:#0b6e79;--tl-cand-l:#e3f5f7;max-width:860px;margin:0 auto;padding:8px 0 40px;color:var(--tl-ink)}
.chtl-head{margin:0 0 18px}
.chtl-eyebrow{margin:0 0 6px;font-size:12px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--tl-g)}
.chtl-head h2{margin:0 0 6px;font-size:clamp(26px,4vw,38px);line-height:1.15;font-weight:800;letter-spacing:-.01em;color:var(--tl-ink)}
.chtl-lede{margin:0;font-size:16px;color:var(--tl-mut)}
.chtl-top{display:grid;grid-template-columns:1fr auto;gap:12px;margin:0 0 18px}
.chtl-next,.chtl-poll{display:flex;flex-direction:column;gap:4px;padding:16px 18px;border-radius:16px;text-decoration:none!important}
.chtl-next{background:var(--tl-iebc-l);border:1px solid #f1dfa8;color:var(--tl-ink)!important}
.chtl-next:hover{border-color:var(--tl-iebc)}
.chtl-next strong{font-size:18px;line-height:1.3}
.chtl-poll{background:var(--tl-g);color:#fff;min-width:170px;text-align:center;justify-content:center}
.chtl-poll strong{font-size:34px;line-height:1;font-weight:800}
.chtl-k{font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;opacity:.85}
.chtl-next .chtl-k{color:var(--tl-iebc)}
.chtl-d{font-size:14px;opacity:.85}
.chtl-chips{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 12px}
.chtl-chip{display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:6px 14px;border-radius:999px;border:1px solid var(--tl-line);background:#fff;color:var(--tl-ink);font:inherit;font-size:14px;font-weight:700;cursor:pointer}
.chtl-chip span{font-size:12px;font-weight:700;color:var(--tl-mut);background:#f1f4f3;border-radius:999px;padding:1px 7px}
.chtl-chip[aria-pressed="true"]{background:var(--tl-ink);border-color:var(--tl-ink);color:#fff}
.chtl-chip[aria-pressed="true"] span{background:rgba(255,255,255,.18);color:#fff}
.chtl-chip:focus-visible,.chtl-pastbtn:focus-visible{outline:3px solid var(--tl-g);outline-offset:2px}
.chtl-pastbtn{display:inline-block;margin:0 0 6px;padding:6px 0;border:0;background:none;color:var(--tl-g);font:inherit;font-size:14px;font-weight:700;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.chtl-list{list-style:none;margin:0;padding:0 0 0 22px;position:relative}
.chtl-list::before{content:"";position:absolute;left:6px;top:8px;bottom:8px;width:2px;background:var(--tl-line);border-radius:2px}
.chtl-list [hidden]{display:none!important}
.chtl-month h3{margin:22px 0 10px;font-size:13px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--tl-mut)}
.chtl-today{position:relative;margin:18px 0 6px}
.chtl-today span{display:inline-block;padding:3px 10px;border-radius:999px;background:var(--tl-g);color:#fff;font-size:12px;font-weight:800;letter-spacing:.04em}
.chtl-today::before{content:"";position:absolute;left:-21px;top:50%;width:12px;height:12px;margin-top:-6px;border-radius:50%;background:var(--tl-g);box-shadow:0 0 0 4px var(--tl-gl)}
.chtl-item{position:relative;margin:0 0 12px}
.chtl-dot{position:absolute;left:-21px;top:20px;width:12px;height:12px;border-radius:50%;background:#fff;border:3px solid var(--tl-g)}
.chtl-item[data-k~="iebc"] .chtl-dot{border-color:#c98a00}
.chtl-item[data-k~="party"] .chtl-dot{border-color:var(--tl-party)}
.chtl-item[data-k="candidate"] .chtl-dot{border-color:var(--tl-cand)}
.chtl-item.is-now .chtl-dot{background:var(--tl-g)}
.chtl-card{background:#fff;border:1px solid var(--tl-line);border-radius:14px;padding:14px 16px;box-shadow:0 1px 2px rgba(15,23,42,.04)}
.chtl-item.is-past .chtl-card{opacity:.7}
.chtl-when{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;margin:0 0 4px;font-size:13.5px;font-weight:700;color:var(--tl-mut)}
.chtl-badge{display:inline-block;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.chtl-badge--iebc{background:var(--tl-iebc-l);color:var(--tl-iebc)}
.chtl-badge--party{background:var(--tl-party-l);color:var(--tl-party)}
.chtl-badge--candidate{background:var(--tl-cand-l);color:var(--tl-cand)}
.chtl-badge--now{background:var(--tl-g);color:#fff}
.chtl-soon{font-size:12.5px;font-weight:700;color:var(--tl-g)}
.chtl-title{margin:0;font-size:17px;line-height:1.35;font-weight:800}
.chtl-title a{color:var(--tl-ink)!important;text-decoration:none!important}
.chtl-title a:hover{color:var(--tl-g)!important}
.chtl-sum{margin:4px 0 0;font-size:14.5px;line-height:1.55;color:#33423b}
.chtl-meta{margin:6px 0 0;font-size:13.5px;color:var(--tl-mut)}
.chtl-meta a{color:var(--tl-g)!important;font-weight:700;text-decoration:none!important}
.chtl-empty{margin:14px 0;padding:18px;border:1px dashed #cfd8d4;border-radius:14px;background:#fafcfb}
.chtl-empty p{margin:0 0 12px;font-size:15px;color:var(--tl-mut)}
.chtl-empty b{color:var(--tl-ink)}
.chtl .chp-btn{border:1px solid var(--tl-g);background:var(--tl-g);color:#fff!important;border-radius:999px;min-height:44px}
.chtl .chp-btn--ghost{background:#fff;color:var(--tl-g)!important}
.chtl-foot{margin-top:26px;padding-top:18px;border-top:1px solid var(--tl-line)}
.chtl-actions{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 14px}
.chtl-note{margin:0;font-size:13.5px;line-height:1.6;color:var(--tl-mut)}
.chtl-note a{color:var(--tl-g)!important;font-weight:700}
@media (max-width:640px){.chtl-top{grid-template-columns:1fr}.chtl-poll{flex-direction:row;align-items:baseline;justify-content:flex-start;gap:8px;text-align:left;min-width:0}.chtl-poll strong{font-size:26px}.chtl-list{padding-left:18px}.chtl-dot,.chtl-today::before{left:-17px}.chtl-list::before{left:4px}.chtl-actions .chp-btn{flex:1 1 100%;justify-content:center}}
.chtl-remind{display:grid;gap:10px;margin:0 0 18px;padding:16px 18px;border-radius:16px;background:#fff;border:1px solid var(--tl-line)}
.chtl-remind>div:first-child{display:flex;flex-direction:column;gap:2px}
.chtl-remind strong{font-size:16px}
.chtl-remind>div:first-child span{font-size:14px;color:var(--tl-mut)}
.chtl-remind-row{display:flex;gap:8px;flex-wrap:wrap}
.chtl-remind-row[hidden]{display:none}
.chtl-remind input[type=tel],.chtl-remind input[name=code]{flex:1 1 200px;min-height:44px;padding:8px 14px;border:1px solid #cfd8d4;border-radius:999px;font:inherit;font-size:16px}
.chtl-remind-ok{display:flex;gap:8px;align-items:flex-start;font-size:13.5px;color:var(--tl-mut)}
.chtl-remind-ok a{color:var(--tl-g)!important;font-weight:700}
.chtl-remind-msg{margin:0;font-size:14px;font-weight:600;color:var(--tl-g)}
.chtl-remind-msg:empty{display:none}

/* ---- Candidate questions (2.15.0) ---- */
.chp-qa-lede{margin:0 0 12px}
.chp-qa-flash{margin:0 0 12px;padding:10px 14px;border-radius:10px;background:var(--cp-green-l);color:var(--cp-green-d);font-weight:600}
.chp-qa{list-style:none;margin:0;padding:0;counter-reset:q}
.chp-qa li{counter-increment:q;padding:14px 0;border-top:1px solid var(--cp-line)}
.chp-qa li:first-child{border-top:0;padding-top:4px}
.chp-qa h3{margin:0 0 6px;font-size:16px;line-height:1.4;color:var(--cp-ink)}
.chp-qa h3::before{content:counter(q) ". ";color:var(--cp-green)}
.chp-qa p{margin:0 0 4px}
.chp-qa-none{color:var(--cp-muted);font-style:italic}
.chp-qa-mod{margin:4px 0 0}
.chp-qa-mod .chp-link{border:0;background:none;padding:0;color:#b42318;font:inherit;font-size:13px;cursor:pointer;text-decoration:underline}
.chp-qa-form{display:grid;gap:14px}
.chp-qa-q{display:grid;gap:6px;font-weight:700;color:var(--cp-ink)}
.chp-qa-q textarea{width:100%;min-height:96px;padding:10px 12px;border:1px solid #cfd8d4;border-radius:10px;font:inherit;font-weight:400;font-size:16px;line-height:1.5}
.chp-qa-form .chp-btn,.chp-cmp .chp-btn,.chp-qa-form .chp-btn-primary{justify-self:start;background:var(--cp-green);border-color:var(--cp-green);color:#fff!important;border-radius:999px;min-height:44px}
/* Compare page */
.chp-cmp{max-width:1100px;margin:0 auto;padding:8px 0 32px;color:var(--cp-text)}
.chp-cmp h2{margin:0 0 6px;font-size:clamp(24px,3.6vw,34px);line-height:1.2;color:var(--cp-ink)}
.chp-cmp-eb{margin:0 0 6px;font-size:12px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--cp-green)}
.chp-cmp-count{font-weight:700;color:var(--cp-ink)}
.chp-cmp-people{display:flex;gap:10px;overflow-x:auto;padding:4px 0 12px;margin:0 0 8px}
.chp-cmp-people a{flex:0 0 auto;display:flex;align-items:center;gap:8px;padding:6px 12px 6px 6px;border:1px solid var(--cp-line);border-radius:999px;background:#fff;text-decoration:none!important;color:var(--cp-ink)!important}
.chp-cmp-people b{font-size:14px}
.chp-cmp-people small{font-size:12px;color:var(--cp-muted)}
.chp-cmp-ph{position:relative;width:32px;height:32px;border-radius:50%;background:var(--cp-green-l);color:var(--cp-green-d);display:flex;align-items:center;justify-content:center;font-style:normal;font-size:12px;font-weight:800;overflow:hidden}
.chp-cmp-ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.chp-cmp-q{margin:20px 0}
.chp-cmp-q h3{display:flex;gap:10px;align-items:flex-start;margin:0 0 10px;font-size:18px;line-height:1.35;color:var(--cp-ink)}
.chp-cmp-q h3 span{flex:0 0 28px;height:28px;border-radius:50%;background:var(--cp-green);color:#fff;font-size:14px;display:flex;align-items:center;justify-content:center}
.chp-cmp-row{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(240px,1fr);gap:12px;overflow-x:auto;padding-bottom:6px;scroll-snap-type:x mandatory}
.chp-cmp-a{scroll-snap-align:start;background:#fff;border:1px solid var(--cp-line);border-radius:14px;padding:12px 14px}
.chp-cmp-a p{margin:0;font-size:15px;line-height:1.55}
.chp-cmp-a .chp-cmp-who{margin:0 0 6px;font-size:13px;font-weight:800;color:var(--cp-green-d)}
.chp-cmp-a.is-empty p:last-child{color:var(--cp-muted);font-style:italic}
.chp-cmp-pick{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end;margin:26px 0 0;padding:16px;border:1px solid var(--cp-line);border-radius:14px;background:#fff}
.chp-cmp-pick .chp-cmp-eb{flex:1 1 100%;margin:0}
.chp-cmp-pick label{display:grid;gap:4px;font-size:13px;font-weight:700;color:var(--cp-muted)}
.chp-cmp-pick label[hidden]{display:none}
.chp-cmp-pick select{min-height:42px;padding:6px 10px;border:1px solid #cfd8d4;border-radius:10px;font:inherit;font-size:15px}
/* Fact-check label */
.chp-fc{margin:0 0 20px;padding:14px 16px;border-radius:12px;background:#fff7e6;border:1px solid #f3d9a4;border-left:4px solid #c98a00}
.chp-fc p{margin:0 0 4px;font-size:15px}
.chp-fc-h strong{color:#5c3d00}
.chp-fc-r{display:inline-block;margin-left:6px;padding:2px 10px;border-radius:999px;background:#5c3d00;color:#fff;font-size:12px;font-weight:800}
.chp-fc a{color:#8a5a00!important;font-weight:700}
.chp-fc-note{font-size:12.5px;color:#7a6a4a}
/* Promises */
.chp-prom{list-style:none;margin:0;padding:0}
.chp-prom li{padding:12px 0;border-top:1px solid var(--cp-line)}
.chp-prom li:first-child{border-top:0}
.chp-prom-t{margin:0 0 6px;font-weight:700;color:var(--cp-ink)}
.chp-prom-m{margin:0 0 4px;font-size:14px}
.chp-prom-m a{color:var(--cp-green)!important;font-weight:600}
.chp-prom-s{display:inline-block;padding:2px 10px;border-radius:999px;font-size:12px;font-weight:800;background:#eef1f0;color:#374151}
.is-done .chp-prom-s{background:#e3f4ea;color:#0f5132}
.is-partly .chp-prom-s,.is-in-progress .chp-prom-s{background:#e8f0fb;color:#1e3a8a}
.is-broken .chp-prom-s,.is-not-started .chp-prom-s{background:#fdecea;color:#8a1c12}
.chp-prom-n{margin:0 0 4px;font-size:14.5px;color:var(--cp-text)}
.chp-proms-g{margin:0 0 22px}
.chp-proms-g h3{margin:0 0 6px;font-size:18px}
.chp-proms-g h3 a{color:var(--cp-ink)!important;text-decoration:none!important}

/* ---- "At a glance", restyled (2.15.1) ---- */
.chp-side .chp-box:first-child{padding:0;overflow:hidden;box-shadow:0 1px 2px rgba(15,23,42,.04)}
.chp-side .chp-box:first-child>.chp-box-h{margin:0;padding:14px 18px;background:linear-gradient(135deg,var(--cp-green-d),var(--cp-green));color:#fff!important;font-size:12.5px;letter-spacing:.1em}
.chp-side .chp-box:first-child>:not(.chp-box-h){margin-left:18px;margin-right:18px}
.chp-facts{display:grid;gap:8px;margin:14px 18px 4px!important}
.chp-facts>div.chp-fact{display:grid;grid-template-columns:40px 1fr;column-gap:12px;align-items:center;padding:10px 12px;border:1px solid var(--cp-line);border-bottom:1px solid var(--cp-line);border-radius:12px;background:#fbfcfb}
.chp-facts>div.chp-fact:last-child{border-bottom:1px solid var(--cp-line)}
.chp-fact-i{grid-row:span 2;width:40px;height:40px;border-radius:11px;background:var(--cp-green-l);color:var(--cp-green);display:flex;align-items:center;justify-content:center}
.chp-fact-i svg{margin:0!important;width:20px;height:20px}
.chp-facts .chp-fact dt{font-size:11.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--cp-muted);line-height:1.3}
.chp-facts .chp-fact dd{font-size:15px;line-height:1.35}
.chp-facts .chp-fact dd a{color:var(--cp-green);text-decoration:none;border-bottom:1px solid rgba(1,107,63,.3)}
.chp-facts .chp-fact dd .chp-muted{font-weight:600;color:var(--cp-green)}
/* Accents by fact */
.chp-fact--check{background:#fff8e6!important;border-color:#f1dfa8!important}
.chp-fact--check .chp-fact-i{background:#fcecc0;color:#8a5a00}
.chp-fact--flag .chp-fact-i{background:#eceefe;color:#3b3f9e}
.chp-fact--ballot .chp-fact-i{background:#e3f5f7;color:#0b6e79}
.chp-fact--user .chp-fact-i{background:#f3e8fd;color:#6b21a8}
.chp-fact--cal{background:linear-gradient(135deg,var(--cp-green-d),var(--cp-green))!important;border-color:transparent!important}
.chp-fact--cal .chp-fact-i{background:rgba(255,255,255,.16);color:#fff}
.chp-fact--cal dt{color:rgba(255,255,255,.8)!important}
.chp-fact--cal dd,.chp-fact--cal dd .chp-muted{color:#fff!important}
/* Socials and "Updated" */
.chp-socials{justify-content:flex-start!important;text-align:left!important;align-items:center;margin:12px 18px!important}
.chp-socials-h{font-size:11.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--cp-muted);margin-right:4px}
.chp-socials a{background:#fff;color:var(--cp-green)!important}
.chp-side .chp-box:first-child>.chp-small{margin:4px 18px 16px!important;font-size:12.5px}
/* Wide single column (phones in landscape, tablets): facts in two columns */
@media (min-width:560px) and (max-width:900px){.chp-facts{grid-template-columns:1fr 1fr}.chp-fact--cal{grid-column:1/-1}}
/* Key dates and compare pages: keep off the screen edge on plain pages */
.chtl,.chp-cmp{box-sizing:border-box;padding-left:16px;padding-right:16px}
.chtl{padding-top:24px}
/* Party logo in "At a glance" (falls back to the flag icon if the logo fails to load) */
.chp-fact-i.has-logo{background:#fff!important;border:1px solid var(--cp-line);padding:3px;overflow:hidden}
.chp-fact-i.has-logo svg{display:none}
.chp-fact-i img{width:100%;height:100%;object-fit:contain;border-radius:8px;display:block}

/* ---- Account dashboard top (2.16.0) ---- */
.chp-acc{--g:#016b3f;--gd:#014d2e;--gl:#e7f3ed;--ink:#0f172a;--mut:#5b6472;--line:#e3e7ea;margin:0 0 28px;color:var(--ink)}
.chp-acc-days{display:inline-block;margin:0 0 14px;padding:4px 12px;border-radius:999px;background:var(--gl);color:var(--gd);font-size:13px;font-weight:800}
.chp-acc-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px;margin:0 0 10px}
.chp-acc-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px;box-shadow:0 1px 2px rgba(15,23,42,.04)}
.chp-acc-top{display:flex;gap:12px;align-items:center;margin:0 0 14px}
.chp-acc-top h3{margin:0;font-size:19px;line-height:1.25}
.chp-acc-ph{position:relative;flex:0 0 52px;width:52px;height:52px;border-radius:14px;background:var(--gl);color:var(--gd);display:flex;align-items:center;justify-content:center;font-weight:800;overflow:hidden}
.chp-acc-ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;background:#fff}
.chp-acc-k{margin:0 0 2px;font-size:12px;font-weight:700;color:var(--mut)}
.chp-acc-k .is-publish{color:var(--g)}.chp-acc-k .is-pending{color:#8a5a00}.chp-acc-k .is-draft{color:#b42318}
.chp-acc-bar{height:8px;border-radius:999px;background:#eef2f0;overflow:hidden}
.chp-acc-bar i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--g),#2fa86b)}
.chp-acc-pct{margin:6px 0 10px;font-size:13.5px;color:var(--mut)}
.chp-acc-pct b{color:var(--ink)}
.chp-acc-todo{list-style:none;margin:0 0 12px;padding:0;display:grid;gap:6px}
.chp-acc-todo li a{display:flex;gap:8px;align-items:center;padding:8px 10px;border-radius:10px;background:#f7faf8;border:1px dashed #cfe0d6;color:var(--ink)!important;font-size:14px;font-weight:600;text-decoration:none!important}
.chp-acc-todo li a::before{content:"+";flex:0 0 20px;height:20px;border-radius:50%;background:var(--g);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:14px}
.chp-acc-todo li a:hover{border-color:var(--g)}
.chp-acc-warn{margin:0 0 12px;padding:10px 12px;border-radius:10px;background:#fdecea;color:#8a1c12;font-size:13.5px;font-weight:600}
.chp-acc-acts{display:flex;flex-wrap:wrap;gap:6px}
.chp-acc-btn{display:inline-flex;align-items:center;min-height:38px;padding:6px 14px;border-radius:999px;border:1px solid var(--line);background:#fff;color:var(--ink)!important;font-size:13.5px;font-weight:700;text-decoration:none!important}
.chp-acc-btn.is-main{background:var(--g);border-color:var(--g);color:#fff!important}
.chp-acc-btn:hover{border-color:var(--g)}
.chp-acc-note{margin:4px 0 16px;font-size:13px;color:var(--mut)}
.chp-acc-links{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px;margin:0 0 14px}
.chp-acc-links a{display:flex;flex-direction:column;gap:2px;padding:14px 16px;border-radius:14px;background:#fff;border:1px solid var(--line);text-decoration:none!important;box-shadow:0 1px 2px rgba(15,23,42,.04)}
.chp-acc-links a:hover{border-color:var(--g);box-shadow:0 6px 18px rgba(1,107,63,.08)}
.chp-acc-links b{color:var(--ink);font-size:15px}
.chp-acc-links span{color:var(--mut);font-size:13px}
.chp-acc .card{border-radius:14px!important;border-color:var(--line)!important;box-shadow:none!important}
