/* 후보별 독립 홈 — 프로필·자료 블록 */
.candidate-site .candidate-home-profile {
  margin: 0;
  max-width: none;
  padding: 0;
}
.eposter-shell:not(.candidate-site) .candidate-home-profile {
  margin: 0 auto 16px;
  max-width: var(--eposter-max, 440px);
  padding: 0 var(--eposter-pad, 18px);
}
.candidate-home-profile__card {
  padding: 14px 16px;
  border-radius: 14px;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.55;
}
.candidate-home-profile__card p {
  margin: 0 0 8px;
}
.candidate-home-profile__card p:last-child {
  margin-bottom: 0;
}
.candidate-home-profile__title {
  font-size: 12px;
  font-weight: 900;
  letter-spacing: -0.02em;
  margin-bottom: 10px;
}
.candidate-home-profile__pillars {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  gap: 10px;
}
.candidate-home-profile__pillar {
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(148, 163, 184, 0.2);
}
.candidate-home-profile__pillar strong {
  display: block;
  font-size: 12px;
  font-weight: 900;
  margin-bottom: 6px;
}
.candidate-home-profile__pillar ul {
  margin: 0;
  padding-left: 1.1em;
  font-size: 11px;
  font-weight: 600;
  line-height: 1.45;
  opacity: 0.92;
}
.candidate-home-profile__sources {
  margin-top: 10px;
  font-size: 11px;
  font-weight: 700;
}
.candidate-home-profile__sources a {
  display: block;
  margin-top: 4px;
  text-decoration: underline;
}
.candidate-site .candidate-home-aside {
  margin: 0;
  max-width: none;
  padding: 0;
}
.eposter-shell:not(.candidate-site) .candidate-home-aside {
  margin: 0 auto 12px;
  max-width: var(--eposter-max, 440px);
  padding: 0 var(--eposter-pad, 18px);
  font-size: 11px;
  font-weight: 700;
  line-height: 1.5;
  opacity: 0.85;
}
.candidate-home-aside a {
  text-decoration: underline;
}

.eposter-shell--kang .candidate-home-profile__card {
  background: rgba(15, 118, 110, 0.2);
  border: 1px solid rgba(45, 212, 191, 0.3);
  color: #e2e8f0;
}
.eposter-shell--kang .candidate-home-profile__title {
  color: #5eead4;
}
.eposter-shell--kang .candidate-home-aside a {
  color: #5eead4;
}

.eposter-shell--ha .candidate-home-profile__card {
  background: rgba(0, 70, 166, 0.15);
  border: 1px solid rgba(147, 197, 253, 0.3);
  color: #1e293b;
}
.eposter-shell--ha .candidate-home-profile__title {
  color: #0046a6;
}
.eposter-shell--ha .candidate-home-aside a {
  color: #0046a6;
}

.eposter-shell--park .candidate-home-profile__card {
  background: rgba(234, 88, 12, 0.08);
  border: 1px solid rgba(234, 88, 12, 0.25);
  color: #1f2937;
}
.eposter-shell--park .candidate-home-profile__title {
  color: #ea580c;
}
.eposter-shell--park .candidate-home-aside a {
  color: #ea580c;
}

.eposter-candidate-nav--solo {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 8px;
}
.eposter-candidate-nav--solo span {
  font-size: 11px;
  font-weight: 800;
  opacity: 0.9;
}
