/*
 * Schrift-Variante „fira“ – wird nur geladen, wenn in partials/config.php
 * 'fonts' => ['provider' => 'fira'] steht. Zurück auf Adobe Fonts: 'typekit'.
 *
 * Fira Sans und Playfair Display stehen unter der SIL Open Font License,
 * dürfen also selbst gehostet werden. Kein Drittanbieter beim Seitenaufruf.
 */

@font-face {
  font-family: "Fira Sans";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/fonts/fira-sans-400-cyrillic.woff2") format("woff2");
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

@font-face {
  font-family: "Fira Sans";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/fonts/fira-sans-400-latin-ext.woff2") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: "Fira Sans";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/fonts/fira-sans-400-latin.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: "Fira Sans";
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/fonts/fira-sans-500-cyrillic.woff2") format("woff2");
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

@font-face {
  font-family: "Fira Sans";
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/fonts/fira-sans-500-latin-ext.woff2") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: "Fira Sans";
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/fonts/fira-sans-500-latin.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: "Fira Sans";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/fonts/fira-sans-700-cyrillic.woff2") format("woff2");
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

@font-face {
  font-family: "Fira Sans";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/fonts/fira-sans-700-latin-ext.woff2") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: "Fira Sans";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/fonts/fira-sans-700-latin.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: "Playfair Display";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/fonts/playfair-display-400-latin-ext.woff2") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: "Playfair Display";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/fonts/playfair-display-400-latin.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* ---------- Skala: größerer Fließtext, gleiche Verhältnisse ---------- */

:root {
  --font-text: "Fira Sans", "Helvetica Neue", Helvetica, Arial, system-ui, sans-serif;
  --font-display: "Fira Sans", "Helvetica Neue", Helvetica, Arial, system-ui, sans-serif;
  --font-quote: "Playfair Display", Georgia, "Times New Roman", serif;
  --measure: 60ch;
}

html {
  font-size: 106.25%; /* 17 px – auf 375 px Breite bleiben so rund 43 Zeichen je Zeile */
}

/* Auf schmalen Bildschirmen brechen große Überschriften zu stark um */
@media (max-width: 47.99rem) {
  h1 {
    font-size: 2.1rem;
  }

  h2 {
    font-size: 1.45rem;
  }

  .lead {
    font-size: 1.15rem;
  }
}

@media (min-width: 48rem) {
  html {
    font-size: 118.75%; /* 19 px */
  }
}

@media (min-width: 75rem) {
  html {
    font-size: 125%; /* 20 px */
  }
}

@media (min-width: 90rem) {
  html {
    /* wächst weiter bis 22 px bei 2560 px Fensterbreite */
    font-size: clamp(125%, calc(125% + (100vw - 90rem) * 0.125 / 70), 137.5%);
  }
}

/* Fira Sans läuft etwas schmaler als die bisherige Schrift: Überschriften leicht ruhiger */
h1,
h2,
h3,
h4 {
  font-weight: 700;
  letter-spacing: -0.005em;
}

.logo-name,
.footer-brand {
  font-weight: 700;
}

/* Serif nur als Akzent: Zitate und der redaktionelle Einstieg */
.editorial__body > .lead,
blockquote,
.band__quote-lead {
  font-family: var(--font-quote);
  font-weight: 400;
}

.band__quote p {
  letter-spacing: -0.01em;
}


/* ---------- Kopfzeile: eigene, kleinere Skala (wächst nicht mit dem Fließtext) ---------- */

.site-header {
  font-size: 1rem;
}

.header-phone,
.menu-button,
.header-tools .btn {
  font-size: 0.85rem;
}

.header-bar {
  gap: 1.75rem;
}

.logo-name {
  font-size: 1rem;
}

.logo-role {
  font-size: 0.7rem;
}


/* ---------- Satz: Rhythmus, Umbruch, Hervorhebungen ---------- */

p {
  margin-bottom: 1.5em; /* eine Leerzeile Abstand, wie in der Vorlage */
}

h1 {
  line-height: 1.15;
}

h2 {
  line-height: 1.25;
}

h3 {
  line-height: 1.35;
}

/* Wichtige Passagen im Fließtext hervorheben – gleiche Farbe, nur fetter */
main p strong,
main li strong {
  font-weight: 700;
  color: inherit;
}

/* Zitat mit Akzentlinie, Serif und Namenszeile */
blockquote {
  max-width: 34rem;
  margin: 2.5rem 0;
  padding-inline-start: 1.25rem;
  border-inline-start: 2px solid var(--accent);
  font-family: var(--font-quote);
  font-size: 1.35rem;
  line-height: 1.4;
}

blockquote p {
  margin-bottom: 0.5rem;
  max-width: none;
}

blockquote cite {
  display: block;
  font-family: var(--font-text);
  font-size: 0.85rem;
  font-style: normal;
  color: var(--muted);
}
