/*
   LAIA - Typografie / Display-Schrift
   ------------------------------------------------------------------
   Lustria (Google Fonts) ist die Display-Serif und greift die Serifen
   des Laia-Logos auf. Fliesstext bleibt bei Plus Jakarta Sans, damit
   Formulare, Listen und Tabellen weiterhin gut lesbar sind.

   Diese Datei wird NACH dem jeweiligen Seiten-CSS eingebunden
   (header_new.php: nach style_new.css, Apps: nach style_apps.css),
   damit die Schrift ohne !important gewinnt.

   Lustria gibt es nur in Schnitt 400. Deshalb wird hier bewusst
   font-weight: 400 gesetzt und die synthetische Fettung abgeschaltet
   (font-synthesis: none) - sonst zeichnet der Browser eine unsaubere
   Faux-Bold-Variante. Ein Hauch mehr Gewicht kommt stattdessen ueber
   einen minimalen Text-Stroke (siehe unten); Hierarchie entsteht
   weiterhin ueber Groesse, Farbe und Abstand, nicht ueber Fettung.

   Die Schriftdatei kommt per @import von Google Fonts. So gibt es
   genau eine Stelle, an der der Font geladen wird - Apps und Seiten
   brauchen nur diese CSS-Datei.
   ------------------------------------------------------------------ */

@import url('https://fonts.googleapis.com/css2?family=Lustria:wght@400&display=swap');

h1,
h2,
h3,
h4,
h5,
h6,
.card-title,
.modal-title,
.cookie-modal-title,
.page-hero-title,
.dash-hero-title,
.lb-hero-title,
.privacy-section-title,
.terms-section-title,
.laia3-teaser-card-title,
.fc-deck-title,
.q-card-name {
    font-family: var(--font-display, "Lustria", Georgia, "Times New Roman", serif);
    font-weight: 400;
    font-synthesis: none;
    font-synthesis-weight: none;
    /* Lustria nur in 400: ein sehr duenner Stroke hebt die Strichstaerke
       minimal an (ca. 0.3px, skaliert leicht mit der Schriftgroesse). */
    -webkit-text-stroke-width: max(0.3px, 0.012em);
    -webkit-text-stroke-color: currentColor;
}

/* Dashboard section headings are styled by dashboard.css; target the
   combined class explicitly so the display face wins that component rule. */
.dashboard-grid .section-title {
    font-family: var(--font-display, "Lustria", Georgia, "Times New Roman", serif);
    font-weight: 400;
    font-synthesis: none;
    -webkit-text-stroke-width: max(0.3px, 0.012em);
    -webkit-text-stroke-color: currentColor;
}

/* Titel im gemeinsamen Event-Detail-Modal (calendar.php und
   personal_calendar.php). Klasse statt Inline-Typografie, damit beide
   Kalender dieselbe Display-Schrift verwenden. */
.event-title .event-title-text {
    font-family: var(--font-display, "Lustria", Georgia, "Times New Roman", serif);
    font-size: 1.3rem;
    font-weight: 400;
    line-height: 1.2;
    font-synthesis: none;
    -webkit-text-stroke-width: max(0.3px, 0.012em);
    -webkit-text-stroke-color: currentColor;
}

/* Groessere Ueberschriften brauchen engere Zeilen und minimale
   optische Korrektur; kleine Karten-Titel bleiben normal gesetzt. */
h1,
h2,
h3,
h4,
.page-hero-title,
.dash-hero-title,
.lb-hero-title {
    line-height: 1.18;
    letter-spacing: -0.005em;
}

h5,
h6,
.card-title,
.modal-title {
    line-height: 1.3;
    letter-spacing: 0;
}

/* Gradient-Text (background-clip: text, transparenter Fill) darf keinen
   Stroke bekommen - der Stroke wuerde als harte Kontur um die Glyphen
   liegen, weil die Fuellfarbe transparent ist. */
.title-highlight-gradient,
.hero h1,
.hero-title span,
.text-gradient {
    -webkit-text-stroke-width: 0;
}

/* Abschnitts-Labels in Grossbuchstaben bleiben in der UI-Schrift:
   Versalien in einer Serif wirken in der Kopfzeile unruhig. */
.section-title-text,
.laia3-section-title,
h1.uppercase,
h2.uppercase,
h3.uppercase,
h4.uppercase,
h5.uppercase,
h6.uppercase {
    font-family: var(--font);
}