/* Full candidate page reuses the exact popup card classes from election.css. */
body.eg-complete-profile{background:#f4f6f9;color:#1d2734;font-family:Inter,Arial,sans-serif}
.eg-complete-wrap{max-width:770px;margin:26px auto 60px;border:1px solid #d8dfeb;border-radius:13px;background:#fff;overflow:hidden}
.eg-complete-bar{display:flex;justify-content:space-between;gap:12px;padding:13px 22px;background:#e9edf3;border-bottom:1px solid #d3dbe5;color:#3e5a9d;font-size:11px;font-weight:700;letter-spacing:.045em}
.eg-complete-bar span:last-child{color:#5b6676}
.eg-complete-body{padding:18px 24px 26px}
.eg-complete-back{display:inline-block;margin:0 0 17px;color:#3e5a9d;font-size:13px;text-decoration:none}
.eg-complete-card{border:0;padding:6px 4px 14px;border-radius:0}
.eg-complete-card .eg-person{align-items:center}
.eg-complete-card .eg-person h1{font-size:23px;line-height:1.2;margin:0 0 6px;font-weight:700}
.eg-complete-office{margin:0 0 8px;color:#596779;font-size:13px}
.eg-complete-card .eg-avatar{position:relative;flex:none}
.eg-complete-card .eg-avatar img{z-index:2}
.eg-complete-card .eg-avatar-silhouette{position:absolute;inset:0;width:100%;height:100%;z-index:0}
.eg-complete-card .eg-facts{margin:20px 0 12px}
.eg-complete-card .eg-bio{margin:14px 0;line-height:1.65;font-size:14px}
.eg-complete-card .eg-contact{font-size:19px;text-decoration:none;font-weight:700}
.eg-complete-share{display:flex;gap:9px;align-items:center;flex-wrap:wrap;padding:15px 0 5px;font-size:12px}
.eg-complete-share span{color:#596779;font-weight:600;margin-right:3px}
.eg-complete-share a,.eg-complete-share button{font:600 12px Inter,Arial,sans-serif;color:#3e5a9d;border:1px solid #c9d3e3;border-radius:7px;background:white;padding:8px 10px;text-decoration:none;cursor:pointer}
.eg-complete-section{border-top:1px solid #e5e9f0;padding-top:22px;margin-top:22px}
.eg-complete-section h2{font-size:20px;margin:0 0 8px;color:#1d2734}
.eg-complete-note,.eg-complete-prompt{color:#657184;font-size:13px;line-height:1.6;margin:0 0 12px}
.eg-complete-response{padding:17px 0;border-bottom:1px solid #edf0f4}
.eg-complete-response:last-child{border-bottom:0}
.eg-complete-response h3{font-size:15px;line-height:1.5;margin:0 0 9px}
.eg-complete-missing{font-size:13px;color:#657184;font-style:italic}
.eg-complete-rating{display:inline-flex;align-items:center;gap:10px;background:#edf1f8;border-radius:7px;padding:8px 12px;color:#3e5a9d;font-size:13px}
.eg-complete-rating strong{font-size:19px}
.eg-complete-foot{margin:22px 0 0;color:#657184;font-size:12px;line-height:1.5}
@media(max-width:600px){.eg-complete-wrap{margin:0;border:0;border-radius:0}.eg-complete-body{padding:16px}.eg-complete-bar{padding:12px 15px;font-size:10px}.eg-complete-card .eg-person h1{font-size:20px}.eg-complete-card .eg-avatar{width:80px;height:80px}}


.eg-complete-bar .eg-share{margin-left:auto}.eg-complete-bar .eg-header-identity>span:last-child{color:#5b6676}
.eg-complete-card .eg-contact-groups{margin-top:19px}.eg-complete-section{margin-top:28px;padding-top:24px}
.eg-question-response{background:#f7f9fc;border:1px solid #e1e7f0;border-radius:11px;padding:20px;margin:15px 0}
.eg-question-response h3{color:#273c60;font-size:16px}.eg-complete-prompt{font-size:13px;color:#536174;line-height:1.6;margin-bottom:16px}
.eg-complete-answer{border-left:3px solid #3e5a9d;background:white;padding:14px 16px;font-size:14px;line-height:1.75;border-radius:0 7px 7px 0}
.eg-issue-response{padding:22px 0;border-bottom:1px solid #e1e7f0}.eg-issue-response h3{font-size:15px;line-height:1.55;margin-bottom:20px}
.eg-rating-visual{height:54px;margin:20px 26px 4px;position:relative}.eg-rating-track{height:8px;position:absolute;left:0;right:0;top:21px;border-radius:6px;background:linear-gradient(90deg,#dce1e8 0%,#c2cbd6 25%,#a6b2c0 50%,#7e90a3 75%,#53677c 100%)}
.eg-rating-tick{position:absolute;top:16px;width:18px;height:18px;border:3px solid #fff;background:#8b99aa;border-radius:50%;transform:translateX(-50%);box-shadow:0 0 0 1px #c6d0dd}
.eg-rating-marker{position:absolute;top:0;transform:translateX(-50%);width:50px;height:50px;border-radius:50%;background:#dfe6ef;border:3px solid #fff;box-shadow:0 0 0 2px #3e5a9d,0 3px 8px #0002;display:grid;place-items:center;overflow:hidden;z-index:2;color:#3e5a9d;font-weight:800}
.eg-rating-marker img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:2}.eg-rating-initial{position:relative;z-index:1}
.eg-rating-caption{display:flex;flex-wrap:wrap;gap:5px 16px;justify-content:space-between;font-size:12px;color:#697487;margin:4px 0 14px}.eg-rating-caption strong{color:#3e5a9d;font-size:13px}
.eg-issue-quote{border-left:3px solid #c6d1e1;margin:13px 0 0;padding:10px 16px;background:#f5f7fa;color:#394658;font-size:14px;line-height:1.7;font-style:italic}
@media(max-width:600px){.eg-complete-bar{gap:10px}.eg-complete-bar .eg-share{margin-left:0}.eg-question-response{padding:14px}.eg-rating-marker{width:44px;height:44px;top:3px}}

/* Match the popup's contact row treatment; italicize only the three long-form answers. */
.eg-complete-card .eg-contact-groups{display:flex;flex-direction:column;align-items:flex-start;gap:15px}
.eg-complete-card .eg-contact-group{width:100%}
.eg-complete-card .eg-contact-group + .eg-contact-group{padding-top:12px;border-top:1px solid #edf0f4}
.eg-complete-card .eg-complete-answer{font-style:italic}

/* Brand identity in candidate-guide mastheads; white logo on site-blue tile. */
.eg-header-identity .eg-kvu-logo{display:inline-flex;align-items:center;justify-content:center;flex:none;width:112px;height:35px;padding:5px 8px;border-radius:4px;background:#3e5a9d;box-sizing:border-box;text-decoration:none}
.eg-header-identity .eg-kvu-logo img{display:block;width:100%;height:100%;object-fit:contain;object-position:center}
.eg-header-identity .eg-kvu-logo:hover{background:#2f477e}
@media(max-width:550px){.eg-header-identity .eg-kvu-logo{width:94px;height:31px;padding:5px 7px}.eg-header-identity{gap:7px}}

/* 2026-10-14: neutral agreement scale; preserve the original KVU logo pixels while displaying them in muted slate blue on transparent background. */
.eg-header-identity .eg-kvu-logo{background:transparent!important;padding:2px 0!important;border-radius:0!important}
.eg-header-identity .eg-kvu-logo:hover{background:transparent!important;opacity:.8}
.eg-header-identity .eg-kvu-logo img{filter:brightness(0) saturate(100%) invert(37%) sepia(19%) saturate(1120%) hue-rotate(176deg) brightness(95%) contrast(92%);object-fit:contain}

/* Stronger contrast for CSV-backed contact and social links. Unavailable icons remain visibly muted. */
.eg-contact-group a.eg-contact:not(.eg-disabled){color:#203f72;background:#e8eef8;border:1.5px solid #6683ad;opacity:1;box-shadow:0 1px 2px rgba(25,49,85,.08)}
.eg-contact-group a.eg-contact:not(.eg-disabled) svg{stroke:currentColor;opacity:1}
.eg-contact-group a.eg-contact:not(.eg-disabled):hover,.eg-contact-group a.eg-contact:not(.eg-disabled):focus-visible{color:#17325b;background:#dce7f7;border-color:#294e83}
.eg-contact-group .eg-contact.eg-disabled{color:#b5beca;background:#f5f6f8;border-color:#e3e7ed;opacity:1;box-shadow:none}

/* Match contact headings to Age / Education / Occupation text and space the full-profile link. */
.eg-contact-group .eg-contact-label{font-family:Inter,Arial,sans-serif;font-size:13px;line-height:1.4;font-weight:700;letter-spacing:0}

/* Optional visual comparison: issue responses styled like Beyond the Ballot cards. */
.eg-complete-section .eg-issue-response{
  background:#f4f7fb;
  border:1px solid #d9e3f0;
  border-radius:11px;
  padding:20px;
  margin:15px 0;
  box-shadow:0 1px 2px rgba(30,50,80,.035);
}
.eg-complete-section .eg-issue-response h3{color:#273c60;font-size:16px;line-height:1.55;margin:0 0 20px}
.eg-complete-section .eg-issue-response .eg-rating-caption strong{color:#294b79}
.eg-complete-section .eg-issue-response .eg-issue-quote{
  background:#fff;
  border-left:3px solid #6d89b2;
  border-radius:0 7px 7px 0;
  color:#35445a;
  padding:14px 16px;
  margin-top:15px;
}
@media(max-width:600px){.eg-complete-section .eg-issue-response{padding:14px}}

/* Remove unused vertical gutters around the standalone candidate profile. */
html,body.eg-complete-profile{margin:0;padding:0;min-height:100%;background:#f4f6f9}
body.eg-complete-profile .eg-complete-wrap{margin:26px auto 60px;border:1px solid #d8dfeb;border-radius:13px}
@media(max-width:600px){body.eg-complete-profile .eg-complete-wrap{margin:0;border:0;border-radius:0}}

/* Keep the light slate background visible above and below the centered profile. */
html{background:#f4f6f9}

/* Fix the actual root canvas: election.css sets :root background to white,
   which has higher specificity than a plain html selector. */
html:root { background-color:#f4f6f9; }
body.eg-complete-profile { min-height:100vh; background-color:#f4f6f9; }

/* Compact publisher credit, matching the municipal election widget footer. */
.eg-complete-publisher{
  display:flex;align-items:center;justify-content:flex-start;flex-wrap:wrap;
  gap:6px 4px;padding:12px 22px;border-top:1px solid #d3dbe5;
  background:#e9edf3;color:#89919c;
  font:italic 12px/1.4 Inter,Arial,sans-serif;
}
.eg-complete-publisher a{display:inline-flex;align-items:center;flex:none;text-decoration:none}
.eg-complete-publisher img{
  display:block;width:74px;height:20px;object-fit:contain;object-position:left center;
  filter:brightness(0) saturate(100%) invert(37%) sepia(19%) saturate(1120%) hue-rotate(176deg) brightness(95%) contrast(92%);
}
.eg-complete-publisher a:hover{opacity:.8}
@media(max-width:600px){.eg-complete-publisher{padding:11px 16px;font-size:11px}.eg-complete-publisher img{width:68px;height:19px}}

/* Give the publisher logo comfortable separation from the credit text. */
.eg-complete-publisher a{margin-left:10px;}

/* Match standalone candidate profile labels to the widget palette. */
body.eg-complete-profile .eg-complete-card .eg-person > .eg-avatar,body.eg-complete-profile .eg-rating-marker{background:#b9bec5!important}
body.eg-complete-profile .eg-complete-card .eg-person > .eg-avatar{border:0!important;box-shadow:none!important}
body.eg-complete-profile .eg-tags .eg-party{font-weight:700}
body.eg-complete-profile .eg-tags .eg-party-r{background:#fff0ee!important;color:#a42b22!important}
body.eg-complete-profile .eg-tags .eg-party-d{background:#eef0fa!important;color:#344787!important}
body.eg-complete-profile .eg-tags .eg-party-i{background:#f7f0e2!important;color:#705424!important}
body.eg-complete-profile .eg-tags .eg-party-np{background:#edf0f4!important;color:#3f4b5b!important}
body.eg-complete-profile .eg-tags .eg-incumbent{background:#fff!important;color:#101424!important;border:1px solid #cdd4db}
