.efc-public-cible-v8, .efc-public-cible-v8 * { box-sizing: border-box; }
.efc-public-cible-v8 {
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  background: var(--efc-pc-bg);
  color: var(--efc-pc-blue);
  padding-top: var(--efc-pc-pt);
  padding-bottom: var(--efc-pc-pb);
  overflow: hidden;
}
.efc-pc-container {
  width: min(var(--efc-pc-container), calc(100% - 96px));
  margin: 0 auto;
}
.efc-pc-header { margin-bottom: var(--efc-pc-header-gap); }
.efc-pc-label {
  font-family: "Virage Wide Italic", "Virage Wide", Arial, sans-serif;
  font-size: var(--efc-pc-label-size);
  line-height: 1;
  font-weight: 800;
  font-style: italic;
  letter-spacing: -0.02em;
  text-transform: uppercase;
  color: var(--efc-pc-gold);
  margin: 0 0 20px;
}
.efc-pc-title {
  margin: 0;
  font-family: "Virage Wide Italic", "Virage Wide", Arial, sans-serif;
  font-size: var(--efc-pc-main-title-size);
  line-height: var(--efc-pc-main-title-lh);
  font-weight: 800;
  font-style: italic;
  letter-spacing: -0.035em;
  text-transform: uppercase;
  color: var(--efc-pc-blue);
}
.efc-pc-title span { display: block; }
.efc-pc-badge-row {
  display: flex;
  align-items: center;
  gap: 24px;
  margin-top: 28px;
}
.efc-pc-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 43px;
  padding: 0 24px;
  border-radius: 999px;
  background: var(--efc-pc-gold);
  color: var(--efc-pc-blue);
  font-family: "Virage Wide Italic", "Virage Wide", Arial, sans-serif;
  font-size: var(--efc-pc-badge-size);
  line-height: 1;
  font-weight: 800;
  font-style: italic;
  letter-spacing: -0.02em;
  text-transform: uppercase;
}
.efc-pc-badge-side {
  font-family: "Inter", Arial, sans-serif;
  color: var(--efc-pc-blue);
  font-size: var(--efc-pc-badge-side-size);
  line-height: 1.2;
  font-weight: 500;
}
.efc-pc-cards {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, var(--efc-pc-card-w)));
  column-gap: var(--efc-pc-card-gap);
  row-gap: 44px;
  justify-content: start;
}
.efc-pc-card {
  width: var(--efc-pc-card-w);
  max-width: 100%;
  overflow: hidden;
  background: var(--efc-pc-card-bg);
  border-radius: var(--efc-pc-radius);
  color: var(--efc-pc-blue);
}
.efc-pc-card-head {
  padding: var(--efc-pc-card-pt) var(--efc-pc-card-px) 0;
}
.efc-pc-card-head h3 {
  margin: 0;
  font-family: "Virage Wide Italic", "Virage Wide", Arial, sans-serif;
  font-size: var(--efc-pc-card-title-size);
  line-height: var(--efc-pc-card-title-lh);
  font-weight: 800;
  font-style: italic;
  letter-spacing: -0.04em;
  text-transform: uppercase;
  color: var(--efc-pc-blue);
}
.efc-pc-age {
  margin-top: 2px;
  font-family: "Virage Wide Italic", "Virage Wide", Arial, sans-serif;
  font-size: var(--efc-pc-age-size);
  line-height: var(--efc-pc-age-lh);
  font-weight: 800;
  font-style: italic;
  letter-spacing: -0.035em;
  text-transform: uppercase;
  color: var(--efc-pc-blue);
}
.efc-pc-image-wrap {
  width: calc(100% - (var(--efc-pc-card-px) * 2));
  height: var(--efc-pc-img-h);
  margin: var(--efc-pc-img-top) var(--efc-pc-card-px) var(--efc-pc-img-bottom);
  overflow: hidden;
  background: var(--efc-pc-placeholder);
}
.efc-pc-image-wrap img, .efc-pc-placeholder {
  display: block;
  width: 100%;
  height: 100%;
}
.efc-pc-image-wrap img { object-fit: cover; }
.efc-pc-placeholder { background: var(--efc-pc-placeholder); }
.efc-pc-bullets {
  margin: 0;
  padding: 0 var(--efc-pc-card-px) var(--efc-pc-card-pb) calc(var(--efc-pc-card-px) + 18px);
  font-family: "Inter", Arial, sans-serif;
  font-size: var(--efc-pc-bullets-size);
  line-height: var(--efc-pc-bullets-lh);
  font-weight: 500;
  color: var(--efc-pc-blue);
}
.efc-pc-bullets li { margin: 0; padding-left: 4px; }
@media (max-width: 1100px) {
  .efc-pc-cards { grid-template-columns: 1fr; }
  .efc-pc-card { width: 100%; }
}
@media (max-width: 760px) {
  .efc-public-cible-v8 { padding-top: 60px; padding-bottom: 64px; }
  .efc-pc-container { width: calc(100% - 40px); }
  .efc-pc-title { font-size: var(--efc-pc-mobile-title); }
  .efc-pc-badge-row { flex-direction: column; align-items: flex-start; gap: 12px; }
  .efc-pc-card-head h3 { font-size: var(--efc-pc-mobile-card-title); }
  .efc-pc-image-wrap { height: var(--efc-pc-mobile-img); }
}
