/* ============================================================
   Osteopathie am Stadtpark · Design-Tokens
   Stand: 14.05.2026 · Phase A1 zentralisiert
   ============================================================
   Single Source of Truth fuer alle CSS-Custom-Properties.
   Lade-Reihenfolge: tokens -> base -> components -> [bento] -> rhythm.
   ============================================================ */

:root {
  /* ---- Farben Hell (Surface, Text auf Hell) ---- */
  --bg:                #FAF7F2;        /* Creme-Basis */
  --surface:           #F1ECE3;
  --surface-deep:      #ECE5D6;
  --primary:           #3F5B47;        /* Park-Moss · Dunkelgrün */
  --primary-hover:     #314838;
  --primary-soft:      #DDE3DB;
  --accent:            #B85842;        /* Hansa-Brick · Rost */
  --accent-soft:       rgba(184, 88, 66, 0.08);
  --border:            #E1DBCE;
  --text:              #1F2A26;        /* ~13:1 auf --bg */
  --text-secondary:    #6B7568;        /* 4.65:1 auf --bg · AA-Floor */
  --text-tertiary:     #6B7568;        /* IDENT mit secondary, Audit-Lift (war #8E948A = 3:1 FAIL) */

  /* ---- NEUE Tokens für Text auf dunklen Surfaces ---- */
  /* Audit-Empfehlung S3: ersetzen aller rgba(...,0.5–0.62) auf grünem Hintergrund */
  --on-dark-quiet:     rgba(250, 247, 242, 0.78);  /* ~4.7:1 auf --primary · sekundärer Text, eyebrow, meta */
  --on-dark-text:      rgba(250, 247, 242, 0.85);  /* ~5.6:1 · normaler Text auf dunkel */
  --on-dark-emphasis:  rgba(250, 247, 242, 0.92);  /* ~6.8:1 · betonter Text, CTA H2 em */

  /* ---- Typo ---- */
  --serif: "Source Serif 4", "Iowan Old Style", Georgia, serif;
  --sans:  "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;

  /* ---- Form ---- */
  --radius-sm: 6px;
  --radius:    12px;
  --radius-lg: 16px;

  /* ---- Layout ---- */
  --measure: 64ch;
  --gutter: clamp(20px, 4vw, 56px);
  --section-gap: clamp(64px, 9vw, 128px);

  /* ---- Effekte ---- */
  --shadow-soft: 0 1px 0 var(--border);
  --transition: 220ms cubic-bezier(.2,.6,.2,1);

  /* ---- Easing (Emil-Curves) ---- */
  --ease-out-quart: cubic-bezier(0.25, 1, 0.5, 1);
  --ease-press:     cubic-bezier(0.34, 1.4, 0.64, 1);

  /* ---- Sticky-Mobile-CTA ---- */
  --sticky-h: 64px;
}

/* ============================================================
   AUDIT-NOTIZEN · 14.05.2026
   ============================================================

   GEFIXT (Sprint 1.3 + 2):
   • S1 · role="img" + aria-label auf <header class="hero"> entfernt (5 Seiten)
   • S2 · --text-tertiary: #8E948A → #6B7568 (5 Seiten)
   • S3 · rgba(250,247,242, 0.5/0.55/0.6/0.62) → 0.78 (5 Seiten)
   •      rgba(250,247,242, 0.7) → 0.85 (knapp-Fail leicht erhöht)
   • Eyebrow-Marker · index.html § NN → · (Konsistenz mit anderen 4 Seiten)
   • Map-Buslinien-Fill in anfahrt.html (#8E948A → #6B7568, von 2.7:1 auf ~4.65:1)

   NOCH OFFEN (siehe 04_Build/QA-AUDIT-14-05.md):
   • HOCH · index.html Z. 1955 aria-hidden + tabindex Widerspruch
   • HOCH · index.html Form Focus-Management nach Submit
   • HOCH · preise-ablauf.html Mobile-Table data-label
   • HOCH · preise-ablauf.html Stornofrist als <dt>/<dd>
   • HOCH · anfahrt.html SVG-Map <desc> ausbauen (Wegbeschreibung für AT)
   • MITTEL · leistungen.html Linktext-Kontexte mit aria-describedby
   • MITTEL · leistungen.html mid-cta h3 → h2
   • MITTEL · osteopathie.html "<em>nicht</em>" → strong/Umtext
   • MITTEL · preise-ablauf.html Step-aria-labels
   • MITTEL · anfahrt.html ul-Wrap der Anreise-Modi

   JOSEPH-OFFENE FRAGE:
   • Hero-Bild = Stimmung (dekorativ) oder Information?
     Aktuelle Annahme: Stimmung (Variante C). Falls Joseph anders entscheidet,
     <figure class="hero__media"> mit visuell verstecktem <figcaption> wieder einbauen.

   ============================================================ */
