/* ==========================================================
   FeWo-Belegungskalender – Design-Basis (neues Design)
   Gemeinsame Grundlage für öffentliche Seiten und Kundenbereich:
   Schriften (lokal, OFL-lizenziert, siehe /fonts/OFL-*.txt),
   Farb- und Maßvariablen, Fokus-Darstellung.
   Farben nur hier ändern.
   ========================================================== */

@font-face {
  font-family: 'IBM Plex Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('../fonts/ibm-plex-sans-latin-400.woff2') format('woff2');
}
@font-face {
  font-family: 'IBM Plex Sans';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('../fonts/ibm-plex-sans-latin-500.woff2') format('woff2');
}
@font-face {
  font-family: 'IBM Plex Sans';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('../fonts/ibm-plex-sans-latin-600.woff2') format('woff2');
}
@font-face {
  font-family: 'Fraunces';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url('../fonts/fraunces-latin-variable.woff2') format('woff2');
}

:root {
  /* Marke */
  --teal: #1E6E8C;
  --teal-deep: #124D61;
  --teal-soft: #E3F0F4;
  --sand: #C99A3B;
  --sand-soft: #F3E3B8;

  /* Flächen und Text */
  --ink: #0F2430;
  --ink-soft: #16323F;
  --text: #263238;
  --text-soft: #5B6B70;
  --bg-mist: #EEF6F6;
  --surface: #FFFFFF;
  --border: #DCE5E7;
  --border-strong: #C3D1D4;

  /* Kalenderstatus (Standardpalette des neuen Designs) */
  --cal-frei: #E2EBEC;
  --cal-reserviert: #AFD6DE;
  --cal-belegt: #1E6E8C;
  --cal-heute: #F3E3B8;
  --cal-feiertag: #C99A3B;

  /* Rückmeldungen */
  --ok: #2F7D5B;
  --ok-soft: #E1F2EA;
  --warn: #B26B00;
  --warn-soft: #FBEFD6;
  --danger: #B3372F;
  --danger-soft: #F8E2E0;

  --radius: 8px;
  --radius-sm: 6px;
  --shadow: 0 1px 2px rgba(15, 36, 48, .06), 0 2px 8px rgba(15, 36, 48, .04);

  --font-head: 'Fraunces', Georgia, 'Times New Roman', serif;
  --font-body: 'IBM Plex Sans', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
}

a:focus-visible, button:focus-visible, input:focus-visible,
select:focus-visible, textarea:focus-visible, summary:focus-visible {
  outline: 2px solid var(--teal);
  outline-offset: 3px;
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
