/**
 * Content dividers — one contract, site-colored skins.
 *
 * HTML:
 *   <hr class="content-divider" aria-hidden="true">
 *   <hr class="content-divider content-divider--accent" aria-hidden="true">
 *
 * Color follows body[data-site]; excellence (+ alumni) keep the blue rule.
 * Do not paint section / article-title separators with border — insert this node instead.
 */

body[data-site="main"] {
  --content-divider-color: rgba(53, 63, 76, 0.16);
  --content-divider-accent: #353f4c;
}

body[data-site="primary"] {
  /* Match primary article title underline (#9dc1ea on pcl headers). */
  --content-divider-color: #9dc1ea;
  --content-divider-accent: var(--color-primary-blue, #3268b0);
}

body[data-site="secondary"] {
  --content-divider-color: var(--life-line, #d5cfe6);
  --content-divider-accent: var(--color-secondary-purple, #602f9d);
}

/* Excellence + alumni keep existing blue rule (do not fold into main gray). */
body[data-page^="excellence"],
body[data-page="community-alumni"] {
  --content-divider-color: rgba(30, 62, 138, 0.12);
  --content-divider-accent: #1e3e8a;
}

/* Primary curriculum / SD highlights (data-site=main but primary visual). */
body[data-page="curriculum"],
body[data-page="sd-highlights"] {
  --content-divider-color: #9dc1ea;
}

/* Jobs & tenders title rule. */
body[data-page^="jobs-tenders"] {
  --content-divider-color: rgba(2, 40, 76, 0.16);
}

.content-divider {
  display: block;
  width: 100%;
  height: 1px;
  margin: clamp(48px, 4.167vw, 80px) 0;
  padding: 0;
  border: 0;
  background: var(--content-divider-color, rgba(53, 63, 76, 0.16));
}

.content-divider--accent {
  width: clamp(48px, 4.167vw, 80px);
  height: 2px;
  margin: clamp(16px, 1.25vw, 24px) 0;
  background: var(--content-divider-accent, rgba(53, 63, 76, 0.45));
  opacity: 0.45;
}

/* Article / page-title underline rhythm (was border-bottom on *article__header). */
:is(.content-article__header) + .content-divider {
  margin: 0 0 clamp(28px, 2.083vw, 40px);
}

/* Section title underlines migrated from border-bottom. */
.content-title + .content-divider,
.poa-subsection__title + .content-divider {
  margin: 0 0 clamp(16px, 1.25vw, 24px);
}

/* Tighter rhythm for plans-reports list separators (was plans-divider). */
body[data-page="plans-reports"] .content-divider:not(.content-divider--accent) {
  margin: clamp(36px, 3.125vw, 60px) 0;
}

/* Our Teams professional copy used --teams-content-gap. */
body[data-page="about-our-teams"] .content-divider:not(.content-divider--accent) {
  margin: var(--teams-content-gap, clamp(48px, 4.167vw, 80px)) 0;
}

/* Vision & Mission used --vm-content-gap. */
body[data-page="about-vision-mission"] .content-divider:not(.content-divider--accent) {
  margin: var(--vm-content-gap, clamp(48px, 4.167vw, 80px)) 0;
}

/* Compact separators inside admissions callout boxes. */
body[data-page="admissions-grade-4-11-non-local"] .adgnl-closing-box .content-divider,
body[data-page="admissions-g1"] .adg1-briefing__body .content-divider {
  margin: clamp(20px, 1.667vw, 32px) 0;
}
