/* ==========================================================================
   FT Icons — eigenes Symbolset von FriendsTime (Welle 5026)
   Sprite: /assets/icons/ft-icons.svg (<symbol id="fti-name">), Ausgabe per PHP ft_icon('name') (includes/ft_icon.php).
   Stil: 24x24-Raster, 2px Strich, runde Enden, Farbe = currentColor (folgt der Textfarbe -> hell/dunkel automatisch).
   Nur neue, praefixierte Klassen (.fti*). Ein bestimmtes Symbol ansprechen: .fti[data-fti="heart"]. Hinweis: die Variablen --fti-* gehoeren zu ft-interactions.css,
   deshalb heissen die Variablen hier --fticon-*.
   ========================================================================== */
.fti {
  display: inline-block;
  width: var(--fticon-size, 1.25em);
  height: var(--fticon-size, 1.25em);
  flex: 0 0 auto;
  vertical-align: -0.25em;
  fill: none;
  stroke: currentColor;
  stroke-width: var(--fticon-stroke, 2);
  stroke-linecap: round;
  stroke-linejoin: round;
  overflow: visible;
  pointer-events: none;
}
/* Groessen (relativ zur Schrift) */
.fti-xs { --fticon-size: .875em; }
.fti-sm { --fticon-size: 1em; }
.fti-md { --fticon-size: 1.25em; }
.fti-lg { --fticon-size: 1.5em; }
.fti-xl { --fticon-size: 2em; }
.fti-2x { --fticon-size: 2.5em; }
/* feste Groessen in px (z. B. Leisten, Knoepfe) */
.fti-16 { --fticon-size: 16px; }
.fti-20 { --fticon-size: 20px; }
.fti-24 { --fticon-size: 24px; }
.fti-32 { --fticon-size: 32px; }
.fti-48 { --fticon-size: 48px; }
/* Strichstaerke */
.fti-thin { --fticon-stroke: 1.5; }
.fti-bold { --fticon-stroke: 2.5; }
/* Farben (nur Text-Farbe, das Symbol folgt). Werte mit Kontrast >= 4.5:1 auf Hell bzw. Dunkel */
.fti-accent  { color: var(--ftui-accent-text, #007a99); }
.fti-ok      { color: var(--ftui-ok-text, #0b6b50); }
.fti-warn    { color: var(--ftui-warn-text, #8a4500); }
.fti-bad     { color: var(--ftui-bad-text, #b42318); }
.fti-muted   { color: var(--ftui-text-muted, #5a6168); }
.fti-love    { color: #e0245e; }
.fti-gold    { color: #b7791f; }
/* Abstand neben Text */
.fti-start { margin-inline-end: .4em; }
.fti-end   { margin-inline-start: .4em; }
/* Richtungs-Symbole in Rechts-nach-links-Sprachen spiegeln (setzt ft_icon() selbst) */
[dir="rtl"] .fti-rtl-flip { transform: scaleX(-1); }
/* Drehen (z. B. Laden mit 'settings') — respektiert „Bewegung reduzieren" */
.fti-spin { animation: fticon-spin 1.1s linear infinite; }
@keyframes fticon-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .fti-spin { animation: none; } }
/* Windows-Kontrastmodus: Strich und Fuellung sind currentColor und folgen damit automatisch der erzwungenen Textfarbe. */
