/* ============================================================
   ANDI24 ICONS — CORE
   ============================================================
   Basis-Icons für alle Branchen und Websites
   Immer laden: <link rel="stylesheet" href="andi24-icons-core.css">
   Zusätzlich: <link rel="stylesheet" href="andi24-icons-[branche].css">

   Fonts: andi24-icons-light.woff2 (weight 300)
          andi24-icons-regular.woff2 (weight 400)
          andi24-icons-solid.woff2 (weight 900)
          andi24-icons-duotone.woff2 (duotone)
          andi24-icons-brands.woff2 (brands)
   Version: 2.0 — © andi24.de
   ============================================================ */

/* ── FONT-FACE ─────────────────────────────────────────── */
@font-face {
  font-family: 'andi24-icons';
  src: url('https://andi24.de/assets/fonts/andi24-icons-light.woff2') format('woff2');
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'andi24-icons';
  src: url('https://andi24.de/assets/fonts/andi24-icons-regular.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'andi24-icons';
  src: url('https://andi24.de/assets/fonts/andi24-icons-solid.woff2') format('woff2');
  font-weight: 900;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'andi24-icons-duotone';
  src: url('https://andi24.de/assets/fonts/andi24-icons-duotone.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'andi24-brands';
  src: url('https://andi24.de/assets/fonts/andi24-icons-brands.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

/* ── BASE CLASSES ───────────────────────────────────────── */
[class^="ai-"], [class*=" ai-"] {
  font-family: 'andi24-icons';
  speak: never;
  font-style: normal;
  font-weight: 400;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* Schnitte: .ai-light / .ai-solid auf Element oder Elternteil */
.ai-light,  [class*="ai-light"]  { font-weight: 300; }
.ai-regular                      { font-weight: 400; }
.ai-solid,  [class*="ai-solid"]  { font-weight: 900; }

/* Duotone */
[class^="ai-dt-"], [class*=" ai-dt-"] {
  font-family: 'andi24-icons-duotone';
  speak: never;
  font-style: normal;
  font-weight: 400;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* Brand Icons */
.ai-facebook-f:before,
.ai-facebook:before,
.ai-instagram:before,
.ai-linkedin-in:before,
.ai-linkedin:before,
.ai-twitter:before,
.ai-x-twitter:before,
.ai-google:before,
.ai-youtube:before,
.ai-tiktok:before,
.ai-whatsapp:before,
.ai-pinterest:before,
.ai-xing:before,
.ai-html5:before,
.ai-js:before,
.ai-php:before,
.ai-shopify:before,
.ai-wordpress:before,
.ai-paypal:before,
.ai-stripe:before {
  font-family: 'andi24-brands';
}

/* ── GRÖSSEN ─────────────────────────────────────────────── */
.ai-xs  { font-size: 0.75em; }
.ai-sm  { font-size: 0.875em; }
.ai-lg  { font-size: 1.25em; line-height: 0.05em; vertical-align: -0.075em; }
.ai-xl  { font-size: 1.5em;  line-height: 0.04em; vertical-align: -0.125em; }
.ai-2x  { font-size: 2em; }
.ai-3x  { font-size: 3em; }
.ai-4x  { font-size: 4em; }
.ai-5x  { font-size: 5em; }
.ai-fw  { text-align: center; width: 1.25em; display: inline-block; }

/* ── ANIMATIONEN ─────────────────────────────────────────── */
.ai-spin { animation: ai-spin 2s infinite linear; }
@keyframes ai-spin {
  0%   { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}
.ai-pulse { animation: ai-pulse 1s ease-in-out infinite; }
@keyframes ai-pulse {
  0%, 100% { opacity: 1; }
  50%       { opacity: 0.4; }
}
.ai-bounce { animation: ai-bounce 1s ease infinite; }
@keyframes ai-bounce {
  0%, 100% { transform: translateY(0); }
  50%       { transform: translateY(-4px); }
}

/* ============================================================
   NAVIGATION & UI
   ============================================================ */
.ai-bars:before              { content: "\f0c9"; } /* Hamburger Menu */
.ai-xmark:before             { content: "\f00d"; } /* X / Close */
.ai-times:before             { content: "\f00d"; } /* Alias */
.ai-times-circle:before      { content: "\f057"; } /* Alias */
.ai-circle-xmark:before      { content: "\f057"; } /* Circle X */
.ai-chevron-up:before        { content: "\f077"; }
.ai-chevron-down:before      { content: "\f078"; }
.ai-chevron-left:before      { content: "\f053"; }
.ai-chevron-right:before     { content: "\f054"; }
.ai-arrow-up:before          { content: "\f062"; }
.ai-arrow-down:before        { content: "\f063"; }
.ai-arrow-left:before        { content: "\f060"; }
.ai-arrow-right:before       { content: "\f061"; }
.ai-arrow-up-right-from-square:before { content: "\f08e"; }
.ai-external-link:before     { content: "\f08e"; } /* Alias */
.ai-external-link-alt:before { content: "\f08e"; } /* Alias */
.ai-arrows-rotate:before     { content: "\f021"; }
.ai-arrows-up-down:before    { content: "\f07d"; }
.ai-arrow-right-from-bracket:before { content: "\f2f5"; } /* Logout */
.ai-right-to-bracket:before  { content: "\f2f6"; } /* Login */
.ai-sign-out-alt:before      { content: "\f2f5"; } /* Alias Logout */
.ai-expand:before            { content: "\f065"; }
.ai-minimize:before          { content: "\f066"; }
.ai-ellipsis:before          { content: "\f141"; }
.ai-ellipsis-vertical:before { content: "\f142"; }
.ai-grip-lines:before        { content: "\f7a4"; }
.ai-grip:before              { content: "\f58d"; }

/* ============================================================
   SUCHE & FILTER
   ============================================================ */
.ai-magnifying-glass:before       { content: "\f002"; } /* Lupe */
.ai-search:before                 { content: "\f002"; } /* Alias */
.ai-magnifying-glass-plus:before  { content: "\f00e"; }
.ai-magnifying-glass-minus:before { content: "\f010"; }
.ai-magnifying-glass-chart:before { content: "\e522"; }
.ai-filter:before                 { content: "\f0b0"; }
.ai-sort:before                   { content: "\f0dc"; }
.ai-sort-up:before                { content: "\f0de"; }
.ai-sort-down:before              { content: "\f0dd"; }
.ai-list:before                   { content: "\f03a"; }
.ai-list-check:before             { content: "\e1d8"; }
.ai-grid:before                   { content: "\f00a"; }
.ai-table-layout:before           { content: "\e290"; }

/* ============================================================
   USER & ACCOUNT
   ============================================================ */
.ai-user:before              { content: "\f007"; }
.ai-user-tie:before          { content: "\f508"; }
.ai-user-check:before        { content: "\f4fc"; }
.ai-user-plus:before         { content: "\f234"; }
.ai-user-slash:before        { content: "\f506"; }
.ai-user-shield:before       { content: "\f505"; }
.ai-users:before             { content: "\f0c0"; }
.ai-people-group:before      { content: "\e533"; }
.ai-person-chalkboard:before { content: "\e53d"; }
.ai-address-card:before      { content: "\f2bb"; }
.ai-id-card:before           { content: "\f2c2"; }
.ai-lock:before              { content: "\f023"; }
.ai-unlock:before            { content: "\f09c"; }
.ai-key:before               { content: "\f084"; }
.ai-shield:before            { content: "\f132"; }
.ai-shield-halved:before     { content: "\f3ed"; }
.ai-shield-check:before      { content: "\f2f7"; }
.ai-shield-alt:before        { content: "\f3ed"; } /* Alias */
.ai-eye:before               { content: "\f06e"; }
.ai-eye-slash:before         { content: "\f070"; }
.ai-power-off:before         { content: "\f011"; }

/* ============================================================
   KOMMUNIKATION
   ============================================================ */
.ai-envelope:before           { content: "\f0e0"; }
.ai-at:before                 { content: "\f1fa"; }
.ai-envelope-open-text:before { content: "\f658"; }
.ai-phone:before              { content: "\f095"; }
.ai-phone-volume:before       { content: "\f2a0"; }
.ai-mobile-screen:before      { content: "\f3cf"; }
.ai-comment:before            { content: "\f075"; }
.ai-comments:before           { content: "\f086"; }
.ai-messages:before           { content: "\f27a"; }
.ai-comments-dollar:before    { content: "\f653"; }
.ai-reply:before              { content: "\f3e5"; }
.ai-paper-plane:before        { content: "\f1d8"; }
.ai-bullhorn:before           { content: "\f0a1"; }
.ai-headset:before            { content: "\f590"; }
.ai-bell:before               { content: "\f0f3"; }
.ai-bell-slash:before         { content: "\f1f6"; }

/* ============================================================
   STANDORT & KARTE
   ============================================================ */
.ai-map-marker-alt:before  { content: "\f3c5"; } /* Alias */
.ai-location-dot:before    { content: "\f3c5"; }
.ai-map-location-dot:before{ content: "\f5a0"; }
.ai-map:before             { content: "\f279"; }
.ai-compass:before         { content: "\f14e"; }
.ai-globe:before           { content: "\f0ac"; }
.ai-route:before           { content: "\f4d7"; }
.ai-road:before            { content: "\f018"; }
.ai-car:before             { content: "\f1b9"; }
.ai-bus:before             { content: "\f207"; }
.ai-train:before           { content: "\f238"; }
.ai-bicycle:before         { content: "\f206"; }
.ai-person-walking:before  { content: "\f554"; }

/* ============================================================
   DATUM & ZEIT
   ============================================================ */
.ai-calendar:before            { content: "\f133"; }
.ai-calendar-alt:before        { content: "\f073"; }
.ai-calendar-check:before      { content: "\f274"; }
.ai-calendar-days:before       { content: "\f073"; }
.ai-calendar-plus:before       { content: "\f271"; }
.ai-calendar-minus:before      { content: "\f272"; }
.ai-clock:before               { content: "\f017"; }
.ai-clock-rotate-left:before   { content: "\f1da"; }
.ai-hourglass:before           { content: "\f254"; }
.ai-hourglass-half:before      { content: "\f252"; }
.ai-stopwatch:before           { content: "\f2f2"; }

/* ============================================================
   DATEIEN & DOKUMENTE
   ============================================================ */
.ai-file-alt:before          { content: "\f15c"; } /* Alias */
.ai-file-lines:before        { content: "\f15c"; }
.ai-file-check:before        { content: "\f316"; }
.ai-file-pdf:before          { content: "\f1c1"; }
.ai-file-code:before         { content: "\f1c9"; }
.ai-file-invoice:before      { content: "\f570"; }
.ai-file-prescription:before { content: "\f572"; }
.ai-file-contract:before     { content: "\f56c"; }
.ai-file-signature:before    { content: "\f573"; }
.ai-folder:before            { content: "\f07b"; }
.ai-folder-open:before       { content: "\f07c"; }
.ai-floppy-disk:before       { content: "\f0c7"; }
.ai-save:before              { content: "\f0c7"; } /* Alias */
.ai-download:before          { content: "\f019"; }
.ai-upload:before            { content: "\f093"; }
.ai-cloud-arrow-up:before    { content: "\f0ee"; }
.ai-print:before             { content: "\f02f"; }
.ai-copy:before              { content: "\f0c5"; }
.ai-clipboard-list:before    { content: "\f46d"; }
.ai-paste:before             { content: "\f0ea"; }
.ai-book:before              { content: "\f02d"; }
.ai-book-open:before         { content: "\f518"; }
.ai-newspaper:before         { content: "\f1ea"; }

/* ============================================================
   STATUS & FEEDBACK
   ============================================================ */
.ai-check:before                 { content: "\f00c"; }
.ai-check-circle:before          { content: "\f058"; } /* Alias */
.ai-circle-check:before          { content: "\f058"; }
.ai-circle-exclamation:before    { content: "\f06a"; }
.ai-exclamation-circle:before    { content: "\f06a"; } /* Alias */
.ai-exclamation-triangle:before  { content: "\f071"; } /* Alias */
.ai-triangle-exclamation:before  { content: "\f071"; }
.ai-ban:before                   { content: "\f05e"; }
.ai-info:before                  { content: "\f129"; }
.ai-info-circle:before           { content: "\f05a"; }
.ai-question:before              { content: "\f128"; }
.ai-question-circle:before       { content: "\f059"; }
.ai-badge-check:before           { content: "\f336"; }
.ai-thumbs-up:before             { content: "\f164"; }
.ai-thumbs-down:before           { content: "\f165"; }
.ai-star:before                  { content: "\f005"; }
.ai-star-half:before             { content: "\f089"; }
.ai-heart:before                 { content: "\f004"; }
.ai-flag:before                  { content: "\f024"; }
.ai-fire:before                  { content: "\f06d"; }

/* ============================================================
   EINSTELLUNGEN & SYSTEM
   ============================================================ */
.ai-gears:before              { content: "\f085"; }
.ai-gear:before               { content: "\f013"; }
.ai-wrench:before             { content: "\f0ad"; }
.ai-tools:before              { content: "\f7d9"; } /* Alias */
.ai-screwdriver-wrench:before { content: "\f7d9"; }
.ai-toolbox:before            { content: "\f552"; }
.ai-wand-magic-sparkles:before{ content: "\e2ca"; }
.ai-sparkles:before           { content: "\e2d2"; }
.ai-robot:before              { content: "\f544"; }
.ai-database:before           { content: "\f1c0"; }
.ai-server:before             { content: "\f233"; }
.ai-cloud:before              { content: "\f0c2"; }
.ai-network-wired:before      { content: "\f6ff"; }
.ai-wifi:before               { content: "\f1eb"; }
.ai-qrcode:before             { content: "\f029"; }
.ai-barcode:before            { content: "\f02a"; }

/* ============================================================
   BUSINESS & FINANZEN
   ============================================================ */
.ai-briefcase:before          { content: "\f0b1"; }
.ai-handshake:before          { content: "\f2b5"; }
.ai-hand-holding-dollar:before{ content: "\f4c0"; }
.ai-euro-sign:before          { content: "\f153"; }
.ai-money-bill:before         { content: "\f0d6"; }
.ai-money-bill-wave:before    { content: "\f53a"; }
.ai-credit-card:before        { content: "\f09d"; }
.ai-piggy-bank:before         { content: "\f4d3"; }
.ai-receipt:before            { content: "\f543"; }
.ai-chart-line:before         { content: "\f201"; }
.ai-chart-bar:before          { content: "\f080"; }
.ai-chart-pie:before          { content: "\f200"; }
.ai-chart-network:before      { content: "\f78a"; }
.ai-gauge:before              { content: "\f624"; }
.ai-gauge-high:before         { content: "\f625"; }
.ai-rocket:before             { content: "\f135"; }
.ai-bullseye:before           { content: "\f140"; }
.ai-bullseye-arrow:before     { content: "\f648"; }
.ai-trophy:before             { content: "\f091"; }
.ai-medal:before              { content: "\f5a2"; }
.ai-award:before              { content: "\f559"; }
.ai-tag:before                { content: "\f02b"; }
.ai-tags:before               { content: "\f02c"; }
.ai-cart-shopping:before      { content: "\f07a"; }
.ai-shopping-cart:before      { content: "\f07a"; } /* Alias */
.ai-box:before                { content: "\f466"; }
.ai-box-open:before           { content: "\f49e"; }
.ai-sign-hanging:before       { content: "\f4d9"; }

/* ============================================================
   INHALT & GESTALTUNG
   ============================================================ */
.ai-image:before              { content: "\f03e"; }
.ai-images:before             { content: "\f302"; }
.ai-camera:before             { content: "\f030"; }
.ai-photo-film:before         { content: "\f87c"; }
.ai-play:before               { content: "\f04b"; }
.ai-pen:before                { content: "\f304"; }
.ai-pen-nib:before            { content: "\f5ad"; }
.ai-pen-to-square:before      { content: "\f044"; }
.ai-pen-paintbrush:before     { content: "\f618"; }
.ai-paintbrush:before         { content: "\f1fc"; }
.ai-paint-roller:before       { content: "\f5aa"; }
.ai-palette:before            { content: "\f53f"; }
.ai-swatchbook:before         { content: "\f5c3"; }
.ai-font:before               { content: "\f031"; }
.ai-text-height:before        { content: "\f034"; }
.ai-align-left:before         { content: "\f036"; }
.ai-align-justify:before      { content: "\f039"; }
.ai-layer-group:before        { content: "\f5fd"; }
.ai-object-group:before       { content: "\f247"; }
.ai-scissors:before           { content: "\f0c4"; }
.ai-crop:before               { content: "\f125"; }
.ai-expand-alt:before         { content: "\f424"; }

/* ============================================================
   SOZIALE NETZWERKE & BRANDS
   ============================================================ */
.ai-facebook-f:before  { content: "\f39e"; }
.ai-facebook:before    { content: "\f09a"; }
.ai-instagram:before   { content: "\f16d"; }
.ai-linkedin-in:before { content: "\f0e1"; }
.ai-linkedin:before    { content: "\f08c"; }
.ai-twitter:before     { content: "\f099"; }
.ai-x-twitter:before   { content: "\e61b"; }
.ai-youtube:before     { content: "\f167"; }
.ai-tiktok:before      { content: "\e07b"; }
.ai-whatsapp:before    { content: "\f232"; }
.ai-pinterest:before   { content: "\f231"; }
.ai-xing:before        { content: "\f168"; }
.ai-google:before      { content: "\f1a0"; }
.ai-wordpress:before   { content: "\f19a"; }
.ai-shopify:before     { content: "\f957"; }
.ai-paypal:before      { content: "\f1ed"; }
.ai-stripe:before      { content: "\f429"; }
.ai-html5:before       { content: "\f13b"; }
.ai-js:before          { content: "\f3b9"; }
.ai-php:before         { content: "\e42d"; }

/* ============================================================
   SONSTIGES CORE
   ============================================================ */
.ai-house:before              { content: "\f015"; }
.ai-building-columns:before   { content: "\f19c"; }
.ai-browser:before            { content: "\f37e"; }
.ai-cookie-bite:before        { content: "\f564"; }
.ai-lightbulb:before          { content: "\f0eb"; }
.ai-lightbulb-on:before       { content: "\f672"; }
.ai-graduation-cap:before     { content: "\f19d"; }
.ai-book-open:before          { content: "\f518"; }
.ai-quote-left:before         { content: "\f10d"; }
.ai-quote-right:before        { content: "\f10e"; }
.ai-share-nodes:before        { content: "\f1e0"; }
.ai-link:before               { content: "\f0c7"; }
.ai-droplet:before            { content: "\f043"; }
.ai-sun:before                { content: "\f185"; }
.ai-moon:before               { content: "\f186"; }
.ai-leaf:before               { content: "\f06c"; }
.ai-seedling:before           { content: "\f4d8"; }
.ai-tree:before               { content: "\f1bb"; }
.ai-wind:before               { content: "\f72e"; }
.ai-water:before              { content: "\f773"; }
.ai-scale-balanced:before     { content: "\f24e"; }
.ai-gavel:before              { content: "\f0e3"; }
.ai-landmark:before           { content: "\f66f"; }
.ai-stamp:before              { content: "\f5bf"; }
.ai-passport:before           { content: "\f5ab"; }
.ai-hand:before               { content: "\f256"; }
.ai-hands-holding:before      { content: "\f4c2"; }
.ai-hand-holding-heart:before { content: "\f4be"; }
.ai-face-smile:before         { content: "\f118"; }
.ai-face-sad-tear:before      { content: "\f5b4"; }
.ai-om:before                 { content: "\f679"; }
.ai-truck:before              { content: "\f0d1"; }
.ai-van-shuttle:before        { content: "\f5b6"; }
.ai-spinner:before            { content: "\f110"; }
.ai-circle-notch:before       { content: "\f1ce"; }
.ai-arrows-rotate:before      { content: "\f021"; }
.ai-sync:before               { content: "\f021"; } /* Alias */
