/* ==========================================================================
   page-stances.css — Styles for the /stances/ page.
   Conditionally enqueued via inc/setup.php on is_page('stances').
   ========================================================================== */

.stances-hero {
  padding: clamp(2.5rem, 5vw, 4.5rem) 0 clamp(2rem, 4vw, 3rem);
  border-bottom: 1px solid var(--color-border);
}

.stances-hero__inner {
  max-width: 64ch;
}

.stances-hero .eyebrow {
  display: inline-block;
  font-family: "Sora", sans-serif;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--color-gold-text);
  margin-bottom: 0.75rem;
}

.stances-hero h1 {
  font-size: var(--fs-display);
  font-weight: 400;
  letter-spacing: -0.03em;
  line-height: 1.04;
  margin: 0 0 0.85rem;
  text-wrap: balance;
}

.stances-hero__lead {
  margin: 0;
  color: var(--color-accent);
  font-size: clamp(1rem, 0.9rem + 0.5vw, 1.2rem);
  line-height: 1.55;
  max-width: 56ch;
}

/* ==========================================================================
   STANCES LIST — numbered editorial index of published commitments
   Each item is a child page; the full stance statement is the title.
   ========================================================================== */

.stances-list-section {
  padding: clamp(3rem, 6vw, 5rem) 0 clamp(4rem, 8vw, 7rem);
}

.stances-list {
  list-style: none;
  margin: 0;
  padding: 0;
  counter-reset: stance-counter;
  max-width: 72ch;
}

.stances-list__item {
  counter-increment: stance-counter;
  border-top: 1px solid var(--color-border);
}

.stances-list__item:last-child {
  border-bottom: 1px solid var(--color-border);
}

/* Grid: [counter] [text column] [arrow] */
.stances-list__link {
  display: grid;
  grid-template-columns: 2.25rem 1fr 1.5rem;
  gap: 0 0.85rem;
  padding: 1.15rem 0;
  text-decoration: none;
  color: inherit;
}

/* Counter number — gold, small-caps feel */
.stances-list__link::before {
  content: counter(stance-counter);
  grid-column: 1;
  grid-row: 1 / 3;
  align-self: start;
  font-family: "Sora", sans-serif;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  color: var(--color-gold-text);
  padding-top: 0.3rem;
}

/* Arrow glyph — appears on hover */
.stances-list__link::after {
  content: "→";
  grid-column: 3;
  grid-row: 1;
  align-self: center;
  justify-self: end;
  color: var(--color-accent);
  font-size: 0.9rem;
  opacity: 0;
  transform: translateX(-4px);
  transition: opacity 0.15s ease, transform 0.15s ease;
}

.stances-list__link:hover::after,
.stances-list__link:focus-visible::after {
  opacity: 1;
  transform: translateX(0);
}

/* Stance title — reads as prose, not a nav label */
.stances-list__title {
  grid-column: 2;
  grid-row: 1;
  display: block;
  font-size: 1rem;
  font-weight: 400;
  color: var(--color-text-strong);
  line-height: 1.5;
  transition: color 0.15s ease;
}

.stances-list__link:hover .stances-list__title,
.stances-list__link:focus-visible .stances-list__title {
  color: var(--color-accent);
}

/* Excerpt — contextual detail, recedes behind the statement */
.stances-list__excerpt {
  grid-column: 2;
  grid-row: 2;
  display: block;
  margin-top: 0.25rem;
  font-size: 0.85rem;
  color: var(--color-muted);
  line-height: 1.5;
}
