/*
 * Shared hero system.
 *
 * This file is loaded after template-specific styles so every rebuilt template
 * uses the same typographic scale, spacing rhythm and section-divider logic.
 * The home hero and the internal two-column product layout remain specialised.
 */
:root {
  --evcp-hero-padding-top: 40px;
  --evcp-hero-padding-bottom: 34px;
  --evcp-hero-title-size: clamp(42px, 3.75vw, 54px);
  --evcp-hero-summary-size: 16px;
  --evcp-hero-eyebrow-size: 13px;
  --evcp-hero-divider: 2px solid var(--evcp-line-major);
}

.evcp-hero-standard:not(.evcp-product-hero) {
  padding: var(--evcp-hero-padding-top) 0 var(--evcp-hero-padding-bottom);
  border-bottom: var(--evcp-hero-divider);
  background: var(--evcp-surface);
}

.evcp-hero-standard.evcp-hero-standard .evcp-eyebrow {
  margin: 0 0 12px;
  color: var(--evcp-cyan);
  font-size: var(--evcp-hero-eyebrow-size);
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: .04em;
}

.evcp-hero-standard.evcp-hero-standard .evcp-title,
.evcp-hero-standard.evcp-hero-standard .evcp-product-title,
.evcp-hero-standard.evcp-hero-standard .evcp-article-title {
  max-width: 1040px;
  margin: 0;
  font-size: var(--evcp-hero-title-size);
  font-weight: 700;
  line-height: 1.02;
  letter-spacing: -.03em;
}

.evcp-hero-standard.evcp-hero-standard .evcp-summary,
.evcp-hero-standard.evcp-hero-standard .evcp-article-summary,
.evcp-hero-standard.evcp-hero-standard .evcp-product-summary {
  max-width: 850px;
  margin: 14px 0 0;
  color: var(--evcp-muted);
  font-size: var(--evcp-hero-summary-size);
  font-weight: 400;
  line-height: 1.5;
}

.evcp-hero-standard .evcp-summary > :first-child {
  margin-top: 0;
}

.evcp-hero-standard .evcp-summary > :last-child {
  margin-bottom: 0;
}

/*
 * The divider belongs beneath post-hero navigation, never between the hero
 * and that navigation.
 */
.evcp-catalogue-hero.evcp-hero-standard,
.evcp-news-hero.evcp-hero-standard,
.evcp-terminology-hero.evcp-hero-standard,
.evcp-product-hero.evcp-hero-standard {
  border-bottom: 0;
}

.evcp-catalogue-page .evcp-catalogue-landings,
.evcp-article-format-nav,
.evcp-terminology-index-nav,
.evcp-product-jump-nav {
  border-top: 0;
  border-bottom: var(--evcp-hero-divider);
}

/*
 * Manufacturer alphabet sits inside its hero, so the hero's own major
 * divider naturally appears beneath the complete hero/navigation unit.
 */
.evcp-manufacturers-hero.evcp-hero-standard,
.evcp-resources-hero.evcp-hero-standard {
  padding-bottom: 0;
  border-bottom: var(--evcp-hero-divider);
}

.evcp-manufacturer-alphabet,
.evcp-terminology-index-nav .evcp-terminology-az {
  border-top: 0;
}

@media (max-width: 900px) {
  :root {
    --evcp-hero-padding-top: 34px;
    --evcp-hero-padding-bottom: 30px;
    --evcp-hero-title-size: clamp(36px, 7vw, 46px);
    --evcp-hero-summary-size: 15px;
  }

  .evcp-manufacturers-hero.evcp-hero-standard,
  .evcp-resources-hero.evcp-hero-standard {
    padding-bottom: 24px;
  }

  .evcp-template-article-template {
    --evcp-hero-summary-size: 16px;
  }
}

@media (max-width: 560px) {
  :root {
    --evcp-hero-padding-top: 30px;
    --evcp-hero-padding-bottom: 26px;
    --evcp-hero-title-size: 34px;
    --evcp-hero-summary-size: 14px;
  }

  .evcp-hero-standard.evcp-hero-standard .evcp-eyebrow {
    margin-bottom: 10px;
  }

  .evcp-hero-standard.evcp-hero-standard .evcp-summary,
  .evcp-hero-standard.evcp-hero-standard .evcp-article-summary,
  .evcp-hero-standard.evcp-hero-standard .evcp-product-summary {
    margin-top: 12px;
  }

  .evcp-template-article-template .evcp-hero-standard.evcp-hero-standard .evcp-article-summary {
    margin-top: 10px;
    font-size: 16px;
  }

  .evcp-template-article-template .evcp-hero-standard.evcp-hero-standard {
    padding-top: 24px;
    padding-bottom: 20px;
  }

  .evcp-template-article-template .evcp-hero-standard.evcp-hero-standard .evcp-article-meta {
    margin-top: 10px;
  }

  .evcp-template-article-template .evcp-hero-standard.evcp-hero-standard .evcp-tags {
    margin-top: 12px;
  }
}
