body,
button,
input,
select,
textarea {
  font-family: var(--font-body);
}

body {
  letter-spacing: -0.01em;
}

h1,
h2,
h3,
h4,
h5,
h6,
.entry-title,
.woocommerce-products-header__title.page-title {
  color: var(--color-text);
  font-family: var(--font-heading);
  font-weight: var(--fv-heading-font-weight);
  letter-spacing: var(--fv-heading-tracking);
  line-height: var(--line-height-heading);
  text-wrap: balance;
}

h1,
.entry-title {
  font-size: var(--font-size-xl);
}

h2 {
  font-size: clamp(1.65rem, 1.4rem + 0.9vw, 2.35rem);
}

h3 {
  font-size: clamp(1.3rem, 1.16rem + 0.45vw, 1.7rem);
}

h4 {
  font-size: clamp(1.08rem, 1rem + 0.2vw, 1.22rem);
}

p,
li,
dd,
dt,
label,
legend,
.ast-archive-description,
.entry-content {
  color: var(--color-text);
}

.entry-content > p,
.entry-content > ul,
.entry-content > ol {
  color: var(--color-text-muted);
  max-width: 68ch;
}

.entry-content strong,
.entry-content b {
  color: var(--color-text);
}

.entry-content li + li {
  margin-top: 0.35rem;
}

.entry-meta,
.posted-on,
.byline,
.cat-links,
.tags-links {
  color: var(--color-text-muted);
}

.woocommerce-products-header__description,
.woocommerce-product-details__short-description,
.woocommerce-breadcrumb,
.search .page-content p,
.archive-description {
  color: var(--color-text-muted);
}

.page-title,
.archive-title {
  margin-bottom: 0.4rem;
}

.site .ast-plain-container,
.site .ast-page-builder-template {
  color: var(--color-text);
}

/* ── Globale Page-Hero-Headline ──────────────────────────────────────────────
 * Alle Seiten-Hero-H1s erhalten dieselbe Skalierung wie front-page/protect.
 * Voraussetzung: hero-copy-Div trägt die Klasse .fv-hero-copy.
 * ──────────────────────────────────────────────────────────────────────────── */
.fv-hero-copy h1 {
  font-size: var(--font-size-xl);
  font-weight: var(--fv-heading-font-weight);
  line-height: 1.1;
  letter-spacing: var(--fv-heading-tracking);
}

.fv-eyebrow {
  margin: 0;
  color: var(--color-accent);
  font-size: 0.72rem;
  font-weight: 500;
  letter-spacing: 0.22em;
  text-transform: uppercase;
}

.fv-eyebrow--muted {
  color: var(--color-text-muted);
}

/* ── Globale Hero-Copy-Abstände ── */
.fv-hero-copy {
  display: grid;
  gap: 1.5rem;
}

@media (max-width: 768px) {
  .fv-hero-copy {
    overflow-wrap: anywhere;
  }

  .fv-hero-copy h1 {
    word-break: break-word;
    overflow-wrap: anywhere;
    hyphens: auto;
  }
}

/* Sehr kleine Screens: H1 etwas kompakter, Rhythmus enger */
@media (max-width: 480px) {
  .fv-eyebrow {
    font-size: 0.68rem;
    letter-spacing: 0.18em;
  }

  .fv-hero-copy h1 {
    font-size: clamp(1.62rem, 1.1rem + 2.4vw, 2.35rem);
    line-height: 1.12;
  }

  .fv-hero-copy {
    gap: 1.1rem;
  }
}
