/* ObdachApp Prototyp — shared design tokens
   Type: FSW Obdach uses proprietary "FSW Sans" / "FSW Sans Condensed Bold".
   Barlow + Barlow Condensed are the closest freely-licensed substitutes. */

:root {
  /* FSW Obdach Wien house colours, sampled from obdach.wien */
  --fsw-blue:    #134094;
  --fsw-teal:    #006D91;
  --fsw-orange:  #E8692B;
  --fsw-orange-d:#B05121;
  --fsw-green:   #156539;
  --fsw-red:     #E30613;
  --fsw-ink:     #404040;
  --fsw-ink-2:   #3B3B45;
  --fsw-line:    #ECEEEF;
  --fsw-grey:    #F2F2F2;

  /* ObdachApp brand, sampled from Tania's Figma prototype */
  --app:         #2D5E7F;
  --app-d:       #1F4459;
  --app-l:       #4E7B96;
  --app-xl:      #E8EEF2;

  --paper:       #FBFAF8;
  --white:       #FFFFFF;

  --ok:          #156539;
  --warn:        #E8692B;
  --alert:       #C4161C;

  --r-s: 6px;
  --r-m: 12px;
  --r-l: 20px;
  --r-pill: 999px;

  --shadow-s: 0 1px 2px rgba(23,38,48,.06), 0 2px 6px rgba(23,38,48,.05);
  --shadow-m: 0 4px 12px rgba(23,38,48,.09), 0 12px 32px rgba(23,38,48,.07);
  --shadow-l: 0 18px 50px rgba(23,38,48,.16), 0 4px 12px rgba(23,38,48,.08);

  --sans: 'Barlow', 'FSW Sans Regular', Helvetica, Arial, sans-serif;
  --cond: 'Barlow Condensed', 'FSW Sans Condensed Bold', 'Barlow', Helvetica, Arial, sans-serif;
  --mono: 'IBM Plex Mono', ui-monospace, 'SFMono-Regular', Menlo, monospace;
}

* { box-sizing: border-box; }

html { -webkit-text-size-adjust: 100%; }

body {
  margin: 0;
  font-family: var(--sans);
  color: var(--fsw-ink);
  background: var(--paper);
  font-size: 16px;
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

img, svg { max-width: 100%; }

a { color: var(--fsw-blue); }

/* Accessibility: WZG/WCAG requires a visible focus indicator */
:focus-visible {
  outline: 3px solid var(--fsw-orange);
  outline-offset: 2px;
  border-radius: 3px;
}

.sr-only {
  position: absolute; width: 1px; height: 1px;
  padding: 0; margin: -1px; overflow: hidden;
  clip: rect(0 0 0 0); white-space: nowrap; border: 0;
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: .001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .001ms !important;
    scroll-behavior: auto !important;
  }
}
