/**
 * Typographic utilities , Bourne Builders
 */

/* ── Section labels ──────────────────────────────────────────────────────── */

.section-eyebrow {
  display: inline-block;
  font-family: var(--font-body);
  font-size: var(--text-xs);
  font-weight: 500;
  letter-spacing: var(--tracking-widest);
  text-transform: uppercase;
  color: var(--color-gold);
  margin-bottom: var(--space-4);
}

.section-title {
  font-family: var(--font-heading);
  font-size: var(--text-4xl);
  font-weight: 400;
  line-height: var(--leading-tight);
  letter-spacing: var(--tracking-tight);
  color: var(--color-navy);
  margin-bottom: var(--space-4);
}

.section-title--light {
  color: var(--color-ivory);
}

.section-subtitle {
  font-family: var(--font-body);
  font-size: var(--text-lg);
  font-weight: 300;
  line-height: var(--leading-loose);
  color: var(--color-slate);
  max-width: 52ch;
}

.section-subtitle--light {
  color: rgba(247, 244, 239, 0.75);
}

.section-header {
  margin-bottom: var(--space-12);
}

.section-header--center {
  text-align: center;
}

.section-header--center .section-subtitle {
  margin-inline: auto;
}

/* ── Text utilities ──────────────────────────────────────────────────────── */

.text-lead {
  font-size: var(--text-xl);
  font-weight: 300;
  line-height: var(--leading-loose);
  color: var(--color-charcoal);
}

.text-small  { font-size: var(--text-sm); }
.text-xs     { font-size: var(--text-xs); }
.text-muted  { color: var(--color-slate); }
.text-light  { color: var(--color-slate-light); }
.text-gold   { color: var(--color-gold); }
.text-navy   { color: var(--color-navy); }
.text-white  { color: var(--color-white); }
.text-ivory  { color: var(--color-ivory); }

.text-center { text-align: center; }
.text-right  { text-align: right; }

.text-uppercase {
  text-transform: uppercase;
  letter-spacing: var(--tracking-wider);
}

.font-heading { font-family: var(--font-heading); }
.font-light   { font-weight: 300; }
.font-normal  { font-weight: 400; }
.font-medium  { font-weight: 500; }
.font-semibold { font-weight: 600; }

.italic { font-style: italic; }

/* ── Price display ───────────────────────────────────────────────────────── */

.price {
  font-family: var(--font-heading);
  font-size: var(--text-2xl);
  font-weight: 500;
  letter-spacing: var(--tracking-tight);
  color: var(--color-navy);
}

.price--large {
  font-size: var(--text-4xl);
}

/* ── Meta labels ─────────────────────────────────────────────────────────── */

.meta-label {
  font-size: var(--text-xs);
  font-weight: 500;
  letter-spacing: var(--tracking-wide);
  text-transform: uppercase;
  color: var(--color-slate-light);
}

.meta-value {
  font-size: var(--text-sm);
  color: var(--color-charcoal);
  font-weight: 500;
}

/* ── Breadcrumb ──────────────────────────────────────────────────────────── */

.breadcrumb {
  padding-block: var(--space-4);
}

.breadcrumb__list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-2);
  font-size: var(--text-xs);
  color: var(--color-slate-light);
  letter-spacing: var(--tracking-wide);
}

.breadcrumb__link {
  color: var(--color-slate);
  transition: color var(--transition-fast);
}

.breadcrumb__link:hover { color: var(--color-gold); }

.breadcrumb__current { color: var(--color-navy); font-weight: 500; }

.breadcrumb__sep { color: var(--color-border); }
