.cch-generated-profile{
  --navy:#0b4268;
  --deep:#073756;
  --green:#58b947;
  --ink:#102033;
  --muted:#5f6d7c;
  --line:#dce3e9;
  --soft:#f0f4f7;
  --white:#fff;
  width:100%;
  margin:0!important;
  color:var(--ink);
  background:#fff;
  font-family:Arial,Helvetica,sans-serif!important;
}
.cch-generated-profile *{box-sizing:border-box}
.cch-generated-profile h1,.cch-generated-profile h2,.cch-generated-profile h3,.cch-generated-profile p,.cch-generated-profile a,.cch-generated-profile span,.cch-generated-profile strong,.cch-generated-profile li{font-family:Arial,Helvetica,sans-serif!important}

/* Full-width hero, matching the hand-built Clacton candidate profiles. */
.cch-profile-hero{width:100%;background:var(--navy);color:#fff}
.cch-profile-hero-inner{
  width:min(1200px,calc(100% - 48px));
  margin:0 auto;
  padding:36px 0 34px;
  display:grid;
  grid-template-columns:minmax(0,1fr) 280px;
  gap:58px;
  align-items:center;
  min-height:336px;
}
.cch-profile-hero-copy{min-width:0;align-self:center}
.cch-profile-kicker{
  display:inline-flex;
  align-items:center;
  width:max-content;
  max-width:100%;
  margin:0 0 18px;
  padding:5px 11px;
  border:1px solid rgba(255,255,255,.45);
  border-radius:999px;
  color:#fff;
  font-size:12px;
  line-height:1.25;
  font-weight:900;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.cch-profile-hero h1{
  margin:0 0 3px!important;
  color:#fff!important;
  font-size:clamp(44px,5vw,66px)!important;
  line-height:1!important;
  font-weight:900!important;
  letter-spacing:-.025em!important;
}
.cch-profile-party{
  margin:0 0 4px!important;
  color:#73c942!important;
  font-size:26px!important;
  line-height:1.08!important;
  font-weight:900!important;
}
.cch-profile-subtitle{
  margin:0 0 18px;
  color:#fff!important;
  font-size:20px!important;
  line-height:1.2!important;
  font-weight:900!important;
}
.cch-profile-hero p{
  max-width:820px;
  margin:0!important;
  color:#fff!important;
  font-size:16px!important;
  line-height:1.62!important;
}
.cch-profile-hero-photo{
  width:280px;
  height:300px;
  justify-self:end;
  align-self:center;
  overflow:hidden;
  border:5px solid #fff;
  border-radius:11px;
  background:#dce4ea;
  box-shadow:0 0 0 1px rgba(0,0,0,.05);
}
.cch-profile-hero-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:center top}
.cch-profile-hero-no-photo{grid-template-columns:1fr!important}
.cch-profile-hero-no-photo .cch-profile-hero-copy{max-width:900px}

/* Full-width white section nav, with the links centred to the same width as Michael O'Keeffe. */
.cch-profile-nav{width:100%;background:#fff;border-bottom:1px solid #d8dfe6;box-shadow:0 1px 0 rgba(0,0,0,.02)}
.cch-profile-nav-inner{width:min(1200px,calc(100% - 48px));margin:0 auto;display:flex;align-items:center;overflow-x:auto;scrollbar-width:thin}
.cch-profile-nav a{flex:0 0 auto;padding:14px 15px;color:#0b3554!important;text-decoration:none!important;font-size:13px!important;line-height:1.2!important;font-weight:900!important;white-space:nowrap}
.cch-profile-nav a:hover{background:#f5f7f9}

/* Body remains centred, unlike the hero band. */
.cch-profile-body{width:min(1200px,calc(100% - 48px));margin:0 auto;padding:50px 0 66px;background:#fff}
.cch-profile-section{padding:0 0 42px;margin:0 0 42px;border-bottom:1px solid #e1e6eb;scroll-margin-top:70px}
.cch-profile-section:last-child{border-bottom:0;margin-bottom:0}
.cch-profile-section h2{margin:0 0 7px!important;color:#043f65!important;font-size:38px!important;line-height:1.08!important;font-weight:900!important;letter-spacing:-.02em!important}
.cch-profile-heading-rule{width:64px;height:5px;margin:0 0 28px;border-radius:99px;background:var(--green)}
.cch-profile-section p{margin:0 0 18px!important;color:#172a3d!important;font-size:16px!important;line-height:1.7!important}
.cch-profile-callout{padding:24px 30px;margin:0 0 28px;border-radius:10px;background:#eef3f6}
.cch-profile-callout-green{border-left:6px solid var(--green)}
.cch-profile-callout strong{display:block;margin-bottom:12px;color:#006194!important;font-size:12px!important;text-transform:uppercase;letter-spacing:.07em}
.cch-profile-callout p{margin:0!important;font-size:16px!important}
.cch-profile-at-glance{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 20px}
.cch-profile-at-glance div{padding:16px 17px;border:1px solid #dce3e9;border-radius:8px;background:#fafcfd}
.cch-profile-at-glance span{display:block;margin-bottom:5px;color:#637080;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.055em}
.cch-profile-at-glance strong{display:block;color:#0b4268;font-size:14px;line-height:1.35}
.cch-profile-pills{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 18px}
.cch-profile-pills span{display:inline-flex;align-items:center;min-height:28px;padding:6px 10px;border-radius:999px;background:#eef5fb;color:#064c7b;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.03em}
.cch-profile-evidence-box{padding:20px 22px;background:#f6f8fa;border:1px solid #e3e8ed;border-radius:8px}
.cch-profile-evidence-box strong{display:block;margin-bottom:8px;color:#0b4268;font-size:13px}
.cch-profile-evidence-box p{margin:0!important}
.cch-profile-policy-list{margin:0 0 20px;padding:18px 20px;border:1px solid #dce3e9;border-radius:8px;background:#fafcfd}
.cch-profile-policy-list>strong{display:block;margin-bottom:10px;color:#0b4268;font-size:13px}
.cch-profile-policy-list .cch-profile-pills{margin-bottom:10px}
.cch-profile-small-note{margin:0!important;color:#667085!important;font-size:12px!important;line-height:1.55!important}
.cch-profile-position{max-width:760px;padding:18px;border:1px solid #dce3e9;border-radius:10px;background:#fbfcfd}
.cch-profile-position-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.cch-profile-position-head strong{color:#0b4268;font-size:17px}
.cch-profile-position-head span{color:#657383;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.04em}
.cch-profile-position-track{position:relative;height:10px;margin-top:14px;border-radius:99px;background:linear-gradient(90deg,#f2ef69 0%,#f8d858 25%,#f4a33d 50%,#ea6b34 75%,#cf3227 100%)}
.cch-profile-position-track i{position:absolute;top:-5px;width:4px;height:20px;border-radius:2px;background:#13273b;transform:translateX(-2px)}
.cch-profile-position-labels{display:flex;justify-content:space-between;margin-top:5px;color:#667485;font-size:9px;font-weight:900}
.cch-profile-position p{margin:14px 0 0!important;color:#637080!important;font-size:12px!important}
.cch-profile-position-text strong{display:block;color:#0b4268;font-size:18px}
.cch-profile-history{display:grid;gap:9px}
.cch-profile-history-row{display:grid;grid-template-columns:78px minmax(0,1.8fr) minmax(120px,1fr) minmax(145px,1fr);gap:10px;align-items:start;padding:13px 14px;border:1px solid #e0e6eb;border-radius:7px;background:#fff;font-size:12px;line-height:1.45}
.cch-profile-history-row strong{color:#0b4268;font-size:13px}
.cch-profile-links{display:flex;gap:9px;flex-wrap:wrap}
.cch-profile-links a{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:10px 14px;border:1px solid #bfcbd5;border-radius:6px;color:#0b4268!important;text-decoration:none!important;font-size:12px;font-weight:900}
.cch-profile-links a:hover{background:#f4f7f9}
.cch-profile-links .cch-profile-link-primary{border-color:#0b4268;background:#0b4268;color:#fff!important}
.cch-profile-sources{margin:0;padding-left:22px}
.cch-profile-sources li{margin:0 0 12px;color:#24384b;font-size:14px;line-height:1.55}
.cch-profile-sources a{color:#075d91!important;font-weight:700}
.cch-profile-sources small{display:block;margin-top:2px;color:#7a8795;font-size:11px;word-break:break-all}
.cch-profile-editorial-note{margin-top:24px;padding:18px 20px;border-left:5px solid #d4aa2b;background:#f5f7f9}
.cch-profile-editorial-note strong{display:block;margin-bottom:6px;color:#0b4268}
.cch-profile-editorial-note p{margin:0!important;font-size:13px!important}

/* Logged-in editor controls only. */
.cch-profile-admin-tools{display:flex;align-items:center;gap:8px;flex-wrap:wrap;width:min(1200px,calc(100% - 48px));margin:10px auto;padding:10px 14px;border:1px solid #ead88c;background:#fff8d8;color:#3e4650;font:700 12px Arial,Helvetica,sans-serif}
.cch-profile-admin-tools strong{color:#0b4268}
.cch-profile-admin-tools a{display:inline-flex;padding:5px 8px;border-radius:4px;background:#0b4268;color:#fff!important;text-decoration:none!important;font-weight:800}

/* Strip the theme's boxed/page-title treatment only on plugin-generated candidate profiles. */
body.cch-generated-candidate-page .entry-header,
body.cch-generated-candidate-page .page-header,
body.cch-generated-candidate-page h1.entry-title,
body.cch-generated-candidate-page .entry-title{display:none!important}
body.cch-generated-candidate-page .site-content,
body.cch-generated-candidate-page .content-area,
body.cch-generated-candidate-page #content,
body.cch-generated-candidate-page .site-main,
body.cch-generated-candidate-page .entry-content,
body.cch-generated-candidate-page .wp-block-post-content,
body.cch-generated-candidate-page main#primary,
body.cch-generated-candidate-page .cch-generated-profile-shell{
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
  padding-left:0!important;
  padding-right:0!important;
}
body.cch-generated-candidate-page main#primary.cch-generated-profile-shell{margin-top:0!important;margin-bottom:0!important;background:#fff!important;box-shadow:none!important}
body.cch-generated-candidate-page .cch-generated-profile{width:100%!important;max-width:none!important;margin:0!important}

@media(max-width:900px){
  .cch-profile-hero-inner{width:min(100% - 36px,1200px);grid-template-columns:minmax(0,1fr) 230px;gap:28px;min-height:300px;padding:30px 0}
  .cch-profile-hero-photo{width:230px;height:250px}
  .cch-profile-nav-inner,.cch-profile-body,.cch-profile-admin-tools{width:calc(100% - 36px)}
  .cch-profile-at-glance{grid-template-columns:1fr 1fr}
  .cch-profile-history-row{grid-template-columns:62px 1fr}
  .cch-profile-history-row span:nth-child(n+3){grid-column:2}
}
@media(max-width:680px){
  .cch-profile-hero-inner{width:calc(100% - 28px);grid-template-columns:1fr;gap:24px;min-height:0;padding:28px 0 30px}
  .cch-profile-hero-photo{width:100%;max-width:280px;height:290px;justify-self:start}
  .cch-profile-hero h1{font-size:44px!important}
  .cch-profile-party{font-size:23px!important}
  .cch-profile-subtitle{font-size:17px!important}
  .cch-profile-hero p{font-size:15px!important}
  .cch-profile-nav-inner,.cch-profile-body,.cch-profile-admin-tools{width:calc(100% - 28px)}
  .cch-profile-nav a{padding:12px 11px;font-size:12px!important}
  .cch-profile-body{padding:34px 0 44px}
  .cch-profile-section{padding-bottom:34px;margin-bottom:34px}
  .cch-profile-section h2{font-size:32px!important}
  .cch-profile-at-glance{grid-template-columns:1fr}
  .cch-profile-callout{padding:20px}
  .cch-profile-history-row{grid-template-columns:52px 1fr}
  .cch-profile-links a{width:100%}
}
