/* ──────────────────────────────────────────────────────────────────────
   Barmeiers v1 — Typo-Politur c1
   Reine Mikrotypografie: Kerning, Laufweite, Zeilenhöhe, OpenType.
   Keine Schriftgrößen, keine Farben, keine Struktur — nur "Atem".
   ────────────────────────────────────────────────────────────────────── */

/* Optische Größenanpassung global aktivieren (Cormorant profitiert sehr) */
:root,
html,
body {
  font-optical-sizing: auto;
}

/* Body-Grundlage: leicht offenere Zeile, Ziffern mit Kontext, deutsche Silbentrennung */
body {
  /* Etwas mehr Atemraum im Fließtext (vorher ~1.55, bleibt ähnlich, aber konsistenter) */
  font-feature-settings: "kern" 1, "liga" 1, "calt" 1;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* ── Überschriften — Mikro-Tracking & balance ─────────────────────────── */
/* Cormorant Display fühlt sich bei -0.5% bis -1% Laufweite ruhiger an */
h1, h2, h3,
.h-display,
.h-1 {
  font-feature-settings: "kern" 1, "liga" 1, "calt" 1, "dlig" 1, "ss01" 1;
  text-wrap: balance; /* gleichmäßig umbrochene Display-Zeilen */
  font-optical-sizing: auto;
}

/* Hairline-Anpassung der Laufweite (additiv zu styles.css, sehr fein) */
.h-1 {
  letter-spacing: -0.018em; /* von -0.012em auf -0.018em — minimale Verdichtung */
  line-height: 1.0;          /* von 1.0 → bleibt, dient als optischer Anker */
}

.h-display {
  letter-spacing: -0.02em;   /* von -0.015em — eine Spur enger fürs Display */
  line-height: 0.98;         /* vorher 0.95 — kaum spürbar luftiger im Display */
}

/* H3 (Karten- und Info-Titel): Kerning verfeinern */
h3 {
  letter-spacing: -0.012em;  /* von -0.01em */
}

/* Italic-Akzente in Headlines: Swash nur dort, wo Cormorant ihn anbietet */
.h-1 em,
.h-display em,
.hero-headline h1 .it {
  font-feature-settings: "kern" 1, "liga" 1, "dlig" 1, "swsh" 1, "ss01" 1;
}

/* Hero-Headline: einen Hauch enger, Zeile bleibt unangetastet */
.hero-headline h1 {
  letter-spacing: -0.022em;  /* von -0.018em — Display-Größe verträgt das */
  text-wrap: balance;
}

/* ── Eyebrows & Mono — Sperrung schöner ─────────────────────────────── */
/* Anton & JetBrains Mono atmen bei größerer Laufweite */
.eyebrow {
  letter-spacing: 0.24em;    /* von 0.22em — gerade so viel, dass es ruhig sitzt */
  font-feature-settings: "kern" 1, "tnum" 1;
}

.tcard-num,
.car-counter,
.menu-tag,
.rf-lab,
.contact-list .lab,
.lab {
  font-feature-settings: "kern" 1, "tnum" 1, "lnum" 1;
}

/* ── Body-Absätze — Lesefluss & deutsche Trennung ───────────────────── */
p {
  hyphens: auto;
  -webkit-hyphens: auto;
  hyphenate-limit-chars: 6 3 3; /* sparsam trennen, keine Mini-Reste */
  font-feature-settings: "kern" 1, "liga" 1, "onum" 1; /* Oldstyle-Ziffern im Fließtext */
}

/* Maximale Zeilenlänge — Lesekomfort, ohne bestehende max-widths zu sprengen */
.intro-grid .right p,
.location-text .body,
.reserve-intro .body,
.feiern-text .body,
.tcard p,
.hours-foot {
  max-width: 64ch;            /* sanfte Obergrenze für angenehme Augenführung */
}

/* ── Drop-Cap im Intro (Cormorant Italic) ───────────────────────────── */
/* Subtil, nicht plakativ: nur erster Absatz der Intro-Sektion */
.intro-grid .right .intro-lead::first-letter {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-style: italic;
  font-weight: 500;
  font-size: 3.4em;          /* relativ zur Absatzgröße — wächst mit */
  line-height: 0.88;
  float: left;
  padding: 0.06em 0.12em 0 0;
  margin-right: 0.04em;
  color: var(--ink, #0e3a26); /* Forest, Brand-Palette respektiert */
  font-feature-settings: "kern" 1, "swsh" 1, "dlig" 1, "ss01" 1;
}

/* ── Hängende Interpunktion für Zitate ───────────────────────────────── */
blockquote,
q {
  hanging-punctuation: first last;
}

/* ── Links — Tan-Hauch statt harter Unterstreichung ─────────────────── */
/* Nur dort, wo es im Fließtext sichtbar zur Ruhe kommt */
.intro-grid a,
.location-text a,
.menu-foot a,
.reserve-intro a,
.contact-list a,
.rf-or a,
.foot-bottom a {
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-decoration-color: rgba(243, 208, 62, 0.6); /* Sun-Yellow, halbtransparent */
  text-underline-offset: 4px;
  text-decoration-skip-ink: auto;
}

/* ── Tabellarische Ziffern in Preis-, Menü- und Mono-Spalten ────────── */
.menu-list,
.menu-list .price,
.hours-row,
.hours-row .time,
.car-counter,
.tcard-num,
.location-meta .val,
.reserve-meta .val {
  font-variant-numeric: tabular-nums lining-nums;
}

/* ── Form-Felder — Ziffern für Datum/Uhrzeit alignen ────────────────── */
input[type="date"],
input[type="time"],
select,
.rf-field input,
.rf-field textarea {
  font-variant-numeric: tabular-nums lining-nums;
  font-feature-settings: "kern" 1, "tnum" 1, "lnum" 1;
}

/* ── Marquee — Kerning auch im Lauftext ─────────────────────────────── */
.marquee-item {
  font-feature-settings: "kern" 1, "liga" 1, "calt" 1;
}

/* ── Footer-Tagline (Cormorant Italic) — Atem im Subtitel ───────────── */
.foot .foot-tag {
  font-feature-settings: "kern" 1, "liga" 1, "dlig" 1, "swsh" 1;
  /* Laufweite minimal entlasten — italic Serif liest sich offener besser */
  letter-spacing: 0.01em;
}

/* ── Brand-Wordmark — Anton verträgt etwas mehr Sperrung ────────────── */
.brand-mark .brand-name {
  letter-spacing: 0.05em;    /* von 0.045em — kaum sichtbar, aber präsenter */
  font-feature-settings: "kern" 1, "tnum" 1;
}
.brand-mark .brand-tag {
  letter-spacing: 0.18em;    /* von 0.16em — Mulish Caps atmen so besser */
}

/* ── Reservierungs-Form-Label (Mono-Caps) — Tracking ────────────────── */
.rf-lab {
  letter-spacing: 0.18em;
}

/* ── Karten-Intro: rechte Spalte unten an die Headline-Linie ─────────── */
/* Auf trinken-essen sitzt rechts nur Lede + Pfeil. Mit align-items:start
   "schwebt" der Text auf Eyebrow-Höhe statt sich auf die H2-Grundlinie zu
   setzen — wir richten die rechte Spalte am Ende der Headline aus. */
.menu-section .split-grid {
  align-items: end;
}
.menu-section .split-grid .col-right { padding-bottom: 6px; }

/* ── Reduzierte Witwen/Waisen-Gefahr für Display-H1/H2 ──────────────── */
.intro-grid .left h2,
.trio-head h2,
.location-text h2,
.menu-section h2,
.feiern-text h2,
.reserve-intro h2,
.info-card h3,
.hero-headline h1,
.page-hero h1 {
  text-wrap: balance;
}
