/*
 * This is a manifest file that'll be compiled into application.css.
 *
 * With Propshaft, assets are served efficiently without preprocessing steps. You can still include
 * application-wide styles in this file, but keep in mind that CSS precedence will follow the standard
 * cascading order, meaning styles declared later in the document or manifest will override earlier ones,
 * depending on specificity.
 *
 * Consider organizing styles into separate files for maintainability.
 */

/* ------------------------------------------------------------------
   Archivo — selbst gehostet.

   Das Design-Template lud die Schrift von Google Fonts. Das geht hier
   nicht: /europa verspricht ausdrücklich, dass weder Lumentia noch die
   damit erstellten Websites Schriften von fremden Servern laden, und
   test/views/eu_page_claims_test.rb lässt den Build scheitern, sobald
   irgendein Stylesheet auf einen entfernten Host verweist.

   Zwei Subsets statt eines: latin deckt Umlaute und ß ab (U+0000-00FF),
   latin-ext kommt für Namen mit ć, ș oder ő hinzu. Dank unicode-range
   lädt ein Browser nur, was die Seite wirklich braucht -- für eine
   deutsche Seite in der Regel allein die 34 KB von latin.

   Variable Font, Gewichte 400 bis 800. Lizenz: OFL 1.1, siehe
   app/assets/fonts/Archivo-OFL.txt
   ------------------------------------------------------------------ */
@font-face {
  font-family: "Archivo";
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url("/assets/archivo-latin-7a918f31.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: "Archivo";
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url("/assets/archivo-latin-ext-4e7e2dd1.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;
}

/* ------------------------------------------------------------------
   Newsreader und Work Sans -- selbst gehostet.

   Die Entwurfsvorlagen luden beide von Google Fonts. Das geht hier nicht:
   /europa verspricht ausdrücklich, dass weder Lumentia noch die damit
   erstellten Websites Schriften von fremden Servern laden, und
   test/views/eu_page_claims_test.rb lässt den Build scheitern, sobald
   irgendein Stylesheet auf einen entfernten Host verweist.

   Newsreader trägt die Überschriften, Work Sans den Fließtext. Beide sind
   Variable Fonts; die Gewichtsbereiche decken ab, was die Vorlagen nutzen
   (300-500 und 400-600). Die kursive Fassung von Newsreader kommt für die
   Kicker-Zeilen dazu -- sie steckt im selben variablen Schnitt.

   Lizenz für beide: OFL 1.1, siehe app/assets/fonts/Newsreader-OFL.txt und
   WorkSans-OFL.txt
   ------------------------------------------------------------------ */
@font-face {
  font-family: "Newsreader";
  font-style: normal;
  font-weight: 200 800;
  font-display: swap;
  src: url("/assets/newsreader-latin-fe979712.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: "Newsreader";
  font-style: normal;
  font-weight: 200 800;
  font-display: swap;
  src: url("/assets/newsreader-latin-ext-c601fd27.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: "Work Sans";
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("/assets/work-sans-latin-ef179ac0.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: "Work Sans";
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("/assets/work-sans-latin-ext-d6795322.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;
}

/* ------------------------------------------------------------------
   Theme Sophia

   Die Schrift lässt sich nicht über eine Tailwind-Utility setzen: das
   Layout gehört der Anwendung, ein Theme besteht nur aus Partials. Jeder
   Sophia-Abschnitt trägt deshalb .theme-sophia.

   Die Textur ist Teil des Themes, nicht des Inhalts -- es gibt keinen
   Datei-Upload, jede Sophia-Seite verwendet dieselbe.
   ------------------------------------------------------------------ */
.theme-sophia {
  font-family: "Archivo", "Helvetica Neue", Helvetica, Arial, sans-serif;
}

.theme-sophia-texture {
  background-image: url("/assets/sophia-texture-ba60a668.webp");
  background-repeat: no-repeat;
}

/* ------------------------------------------------------------------
   Fließtext aus Markdown im Theme Sophia.

   Tailwinds Preflight nimmt Überschriften und Listen jede Auszeichnung,
   und die Elemente entstehen erst zur Laufzeit -- es gibt also keine
   Klassen im Quelltext, die Tailwind finden könnte. Deshalb hier als
   gewöhnliches CSS statt als Utilities.
   ------------------------------------------------------------------ */
.sophia-prose > * + * { margin-top: 1.25em; }
.sophia-prose h2 { font-size: 1.35em; font-weight: 700; color: #16241c; margin-top: 2em; }
.sophia-prose h3 { font-size: 1.1em; font-weight: 700; color: #16241c; margin-top: 1.75em; }
.sophia-prose ul { list-style: disc; padding-left: 1.4em; }
.sophia-prose ol { list-style: decimal; padding-left: 1.4em; }
.sophia-prose li + li { margin-top: 0.4em; }
.sophia-prose a { color: #1f3b30; text-decoration: underline; text-underline-offset: 2px; }
.sophia-prose a:hover { color: #4f7864; }
.sophia-prose strong { font-weight: 700; color: #2a2e2b; }
.sophia-prose blockquote { border-left: 2px solid #c3d3c9; padding-left: 1em; color: #4f7864; }
.sophia-prose hr { border: 0; border-top: 1px solid #c3d3c9; margin: 2.5em 0; }
