/*
 * Icônes filaires inline — classes utilitaires générées depuis assets/icons/svg/.
 *
 * Usage : <span class="ico-map-pin">Bordeaux</span> — le pictogramme se dessine
 * en ::before, à 1em, dans la COULEUR DU TEXTE (masque CSS sur currentColor).
 * Si ce fichier manque, le texte reste intact (aucun SVG géant, aucun vide).
 * Régénéré par scripts/gen-icons.py : modifier les SVG sources, pas les data-URI.
 */

[class^="ico-"]::before,
[class*=" ico-"]::before {
  content: "";
  display: inline-block;
  width: 1em;
  height: 1em;
  margin-right: 0.4em;
  vertical-align: -0.125em;
  background-color: currentColor;
  -webkit-mask: var(--ico) center / contain no-repeat;
  mask: var(--ico) center / contain no-repeat;
}

.ico-arrow-back { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='square' stroke-linejoin='miter' aria-hidden='true' focusable='false'%3E%3Cpath d='M9 5 L3 11 L9 17'/%3E %3Cpath d='M3 11 H14 A6 6 0 0 1 20 17 V19'/%3E%3C/svg%3E"); }
.ico-arrow-right { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='square' stroke-linejoin='miter' aria-hidden='true' focusable='false'%3E%3Cline x1='3' y1='12' x2='19' y2='12'/%3E %3Cpolyline points='13,6 19,12 13,18'/%3E%3C/svg%3E"); }
.ico-arrows-horizontal { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='square' stroke-linejoin='miter' aria-hidden='true' focusable='false'%3E%3Cline x1='3' y1='12' x2='21' y2='12'/%3E %3Cpolyline points='8,7 3,12 8,17'/%3E %3Cpolyline points='16,7 21,12 16,17'/%3E%3C/svg%3E"); }
.ico-balance { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='square' stroke-linejoin='miter' aria-hidden='true' focusable='false'%3E%3Cline x1='12' y1='3' x2='12' y2='21'/%3E %3Cline x1='8' y1='21' x2='16' y2='21'/%3E %3Cline x1='4' y1='6' x2='20' y2='6'/%3E %3Cpath d='M4 6 L1 12 M4 6 L7 12'/%3E %3Cpath d='M1 12 A3 3 0 0 0 7 12'/%3E %3Cpath d='M20 6 L17 12 M20 6 L23 12'/%3E %3Cpath d='M17 12 A3 3 0 0 0 23 12'/%3E%3C/svg%3E"); }
.ico-bar-chart { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='square' stroke-linejoin='miter' aria-hidden='true' focusable='false'%3E%3Crect x='4' y='14' width='4' height='7'/%3E %3Crect x='10' y='9' width='4' height='12'/%3E %3Crect x='16' y='4' width='4' height='17'/%3E%3C/svg%3E"); }
.ico-beach { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='square' stroke-linejoin='miter' aria-hidden='true' focusable='false'%3E%3Cpath d='M3 11 A9 9 0 0 1 21 11 Z'/%3E %3Cline x1='12' y1='2' x2='12' y2='11'/%3E %3Cline x1='12' y1='11' x2='12' y2='21'/%3E %3Cline x1='3' y1='21' x2='21' y2='21'/%3E%3C/svg%3E"); }
.ico-bike { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='square' stroke-linejoin='miter' aria-hidden='true' focusable='false'%3E%3Ccircle cx='6' cy='18' r='3.5'/%3E %3Ccircle cx='18' cy='18' r='3.5'/%3E %3Cpolyline points='6,18 11,8 18,18'/%3E %3Cline x1='11' y1='8' x2='15' y2='8'/%3E%3C/svg%3E"); }
.ico-bolt { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='square' stroke-linejoin='miter' aria-hidden='true' focusable='false'%3E%3Cpolygon points='13,2 5,14 11,14 9,22 19,10 13,10'/%3E%3C/svg%3E"); }
.ico-briefcase { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='square' stroke-linejoin='miter' aria-hidden='true' focusable='false'%3E%3Crect x='2' y='8' width='20' height='12'/%3E %3Cpath d='M8 8V6a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2'/%3E %3Cline x1='2' y1='13' x2='22' y2='13'/%3E%3C/svg%3E"); }
.ico-bug { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='square' stroke-linejoin='miter' aria-hidden='true' focusable='false'%3E%3Cellipse cx='12' cy='14' rx='5' ry='6'/%3E %3Ccircle cx='12' cy='6' r='2'/%3E %3Cline x1='7' y1='11' x2='3' y2='9'/%3E %3Cline x1='17' y1='11' x2='21' y2='9'/%3E %3Cline x1='6' y1='15' x2='2' y2='15'/%3E %3Cline x1='18' y1='15' x2='22' y2='15'/%3E %3Cline x1='7' y1='19' x2='4' y2='22'/%3E %3Cline x1='17' y1='19' x2='20' y2='22'/%3E %3Cline x1='10' y1='4' x2='8' y2='1'/%3E %3Cline x1='14' y1='4' x2='16' y2='1'/%3E%3C/svg%3E"); }
.ico-calendar { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='square' stroke-linejoin='miter' aria-hidden='true' focusable='false'%3E%3Crect x='3' y='5' width='18' height='16'/%3E %3Cline x1='3' y1='10' x2='21' y2='10'/%3E %3Cline x1='7' y1='2' x2='7' y2='6'/%3E %3Cline x1='17' y1='2' x2='17' y2='6'/%3E %3Ccircle cx='8' cy='15' r='1' fill='currentColor' stroke='none'/%3E%3C/svg%3E"); }
.ico-camera { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='square' stroke-linejoin='miter' aria-hidden='true' focusable='false'%3E%3Crect x='2' y='7' width='20' height='14'/%3E %3Cpath d='M8 7 L10 3 H14 L16 7'/%3E %3Ccircle cx='12' cy='14' r='4'/%3E %3Cline x1='18' y1='10' x2='19' y2='10'/%3E%3C/svg%3E"); }
.ico-cart { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='square' stroke-linejoin='miter' aria-hidden='true' focusable='false'%3E%3Cpolyline points='2,3 5,3 8,15 19,15 21,7 6,7'/%3E %3Ccircle cx='9' cy='20' r='1.5' fill='currentColor' stroke='none'/%3E %3Ccircle cx='17' cy='20' r='1.5' fill='currentColor' stroke='none'/%3E%3C/svg%3E"); }
.ico-cat-face { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='square' stroke-linejoin='miter' aria-hidden='true' focusable='false'%3E%3Cpolygon points='5,9 8,3 11,9'/%3E %3Cpolygon points='13,9 16,3 19,9'/%3E %3Ccircle cx='12' cy='13' r='7'/%3E %3Ccircle cx='9' cy='12' r='0.8' fill='currentColor' stroke='none'/%3E %3Ccircle cx='15' cy='12' r='0.8' fill='currentColor' stroke='none'/%3E %3Cline x1='2' y1='14' x2='7' y2='14'/%3E %3Cline x1='2' y1='17' x2='7' y2='16'/%3E %3Cline x1='17' y1='14' x2='22' y2='14'/%3E %3Cline x1='17' y1='16' x2='22' y2='17'/%3E%3C/svg%3E"); }
.ico-check { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='square' stroke-linejoin='miter' aria-hidden='true' focusable='false'%3E%3Cpolyline points='4,13 9,18 20,6'/%3E%3C/svg%3E"); }
.ico-city { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='square' stroke-linejoin='miter' aria-hidden='true' focusable='false'%3E%3Crect x='3' y='9' width='8' height='12'/%3E %3Crect x='13' y='3' width='8' height='18'/%3E %3Cline x1='6' y1='13' x2='8' y2='13'/%3E %3Cline x1='6' y1='17' x2='8' y2='17'/%3E %3Cline x1='16' y1='7' x2='18' y2='7'/%3E %3Cline x1='16' y1='11' x2='18' y2='11'/%3E %3Cline x1='16' y1='15' x2='18' y2='15'/%3E%3C/svg%3E"); }
.ico-clock { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='square' stroke-linejoin='miter' aria-hidden='true' focusable='false'%3E%3Ccircle cx='12' cy='12' r='10'/%3E %3Cline x1='12' y1='12' x2='12' y2='6'/%3E %3Cline x1='12' y1='12' x2='16' y2='14'/%3E%3C/svg%3E"); }
.ico-construction { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='square' stroke-linejoin='miter' aria-hidden='true' focusable='false'%3E%3Cline x1='3' y1='21' x2='9' y2='21'/%3E %3Cline x1='6' y1='21' x2='6' y2='3'/%3E %3Cline x1='6' y1='3' x2='21' y2='3'/%3E %3Cline x1='6' y1='3' x2='2' y2='5.5'/%3E %3Cline x1='6' y1='9' x2='13' y2='3'/%3E %3Cline x1='18' y1='3' x2='18' y2='9'/%3E %3Crect x='16.5' y='9' width='3' height='2.5' fill='currentColor' stroke='none'/%3E%3C/svg%3E"); }
.ico-credit-card { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='square' stroke-linejoin='miter' aria-hidden='true' focusable='false'%3E%3Crect x='2' y='5' width='20' height='14'/%3E %3Crect x='2' y='9' width='20' height='2' fill='currentColor' stroke='none'/%3E %3Cline x1='5' y1='16' x2='9' y2='16'/%3E%3C/svg%3E"); }
.ico-cross { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='square' stroke-linejoin='miter' aria-hidden='true' focusable='false'%3E%3Cline x1='5' y1='5' x2='19' y2='19'/%3E %3Cline x1='19' y1='5' x2='5' y2='19'/%3E%3C/svg%3E"); }
.ico-cutlery { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='square' stroke-linejoin='miter' aria-hidden='true' focusable='false'%3E%3Cpath d='M3 2 V7 H9 V2'/%3E %3Cline x1='6' y1='7' x2='6' y2='22'/%3E %3Cline x1='17' y1='2' x2='17' y2='22'/%3E %3Cpath d='M17 2 H20 V8 L17 11'/%3E%3C/svg%3E"); }
.ico-cycle { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='square' stroke-linejoin='miter' aria-hidden='true' focusable='false'%3E%3Cpath d='M4 12a8 8 0 0 1 14-5.3L20 5'/%3E %3Cpolyline points='16,4 20,5 19,9'/%3E %3Cpath d='M20 12a8 8 0 0 1-14 5.3L4 19'/%3E %3Cpolyline points='8,20 4,19 5,15'/%3E%3C/svg%3E"); }
.ico-document { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='square' stroke-linejoin='miter' aria-hidden='true' focusable='false'%3E%3Cpolygon points='6,2 14,2 18,6 18,22 6,22'/%3E %3Cpolyline points='14,2 14,6 18,6'/%3E %3Cline x1='8' y1='11' x2='16' y2='11'/%3E %3Cline x1='8' y1='15' x2='16' y2='15'/%3E%3C/svg%3E"); }
.ico-emergency { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='square' stroke-linejoin='miter' aria-hidden='true' focusable='false'%3E%3Ccircle cx='12' cy='12' r='10'/%3E %3Cline x1='12' y1='8' x2='12' y2='16'/%3E %3Cline x1='8' y1='12' x2='16' y2='12'/%3E%3C/svg%3E"); }
.ico-envelope { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='square' stroke-linejoin='miter' aria-hidden='true' focusable='false'%3E%3Crect x='2' y='4' width='20' height='16'/%3E %3Cpolyline points='2,6 12,14 22,6'/%3E%3C/svg%3E"); }
.ico-euro { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='square' stroke-linejoin='miter' aria-hidden='true' focusable='false'%3E%3Ccircle cx='12' cy='12' r='10'/%3E %3Cpath d='M14 8 A5 5 0 1 0 14 16'/%3E %3Cline x1='7.5' y1='10' x2='13.5' y2='10'/%3E %3Cline x1='7.5' y1='14' x2='13.5' y2='14'/%3E%3C/svg%3E"); }
.ico-globe { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='square' stroke-linejoin='miter' aria-hidden='true' focusable='false'%3E%3Ccircle cx='12' cy='12' r='10'/%3E %3Cellipse cx='12' cy='12' rx='4' ry='10'/%3E %3Cline x1='2' y1='12' x2='22' y2='12'/%3E%3C/svg%3E"); }
.ico-graduation-cap { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='square' stroke-linejoin='miter' aria-hidden='true' focusable='false'%3E%3Cpolygon points='12,4 22,9 12,14 2,9'/%3E %3Cpolyline points='6,10.5 6,16 12,19 18,16 18,10.5'/%3E %3Cline x1='22' y1='9' x2='22' y2='15'/%3E %3Ccircle cx='22' cy='16' r='1' fill='currentColor' stroke='none'/%3E%3C/svg%3E"); }
.ico-grapes { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='square' stroke-linejoin='miter' aria-hidden='true' focusable='false'%3E%3Cline x1='12' y1='7' x2='12' y2='2'/%3E %3Cpath d='M12 4 L16 2'/%3E %3Ccircle cx='7.5' cy='10' r='2.5'/%3E %3Ccircle cx='12' cy='9.5' r='2.5'/%3E %3Ccircle cx='16.5' cy='10' r='2.5'/%3E %3Ccircle cx='9.5' cy='14.5' r='2.5'/%3E %3Ccircle cx='14.5' cy='14.5' r='2.5'/%3E %3Ccircle cx='12' cy='19' r='2.5'/%3E%3C/svg%3E"); }
.ico-hammer { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='square' stroke-linejoin='miter' aria-hidden='true' focusable='false'%3E%3Crect x='5' y='3' width='14' height='5'/%3E %3Crect x='10' y='8' width='4' height='13'/%3E%3C/svg%3E"); }
.ico-handshake { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='square' stroke-linejoin='miter' aria-hidden='true' focusable='false'%3E%3Cpath d='M1 9 H4 M1 15 H4'/%3E %3Cline x1='5' y1='8' x2='5' y2='16'/%3E %3Cline x1='19' y1='8' x2='19' y2='16'/%3E %3Cpath d='M20 9 H23 M20 15 H23'/%3E %3Cpath d='M7 11 L9 8 H15 L17 11 V13 L14 16 H10 L7 13 Z'/%3E %3Cpath d='M11 8 V11 M14 8 V11'/%3E%3C/svg%3E"); }
.ico-heart { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='square' stroke-linejoin='miter' aria-hidden='true' focusable='false'%3E%3Cpolygon points='12,21 3,12 3,7 7,3 12,8 17,3 21,7 21,12'/%3E%3C/svg%3E"); }
.ico-home { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='square' stroke-linejoin='miter' aria-hidden='true' focusable='false'%3E%3Cpolyline points='3,11 12,3 21,11'/%3E %3Cpolyline points='5,10 5,21 19,21 19,10'/%3E %3Crect x='10' y='14' width='4' height='7'/%3E%3C/svg%3E"); }
.ico-hospital { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='square' stroke-linejoin='miter' aria-hidden='true' focusable='false'%3E%3Cpolyline points='4,8 12,3 20,8'/%3E %3Crect x='4' y='8' width='16' height='13'/%3E %3Cline x1='12' y1='12' x2='12' y2='16'/%3E %3Cline x1='10' y1='14' x2='14' y2='14'/%3E%3C/svg%3E"); }
.ico-lang-en { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='square' stroke-linejoin='miter' aria-hidden='true' focusable='false'%3E%3Crect x='2' y='6' width='20' height='12'/%3E %3Cpath d='M9 9 H6 V15 H9 M6 12 H8.5'/%3E %3Cpath d='M13 15 V9 L17 15 V9'/%3E%3C/svg%3E"); }
.ico-leaf { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='square' stroke-linejoin='miter' aria-hidden='true' focusable='false'%3E%3Cpath d='M12 3C6 3 3 9 3 15C3 19 7 21 12 21C17 21 21 19 21 15C21 9 18 3 12 3Z'/%3E %3Cline x1='12' y1='3' x2='12' y2='21'/%3E%3C/svg%3E"); }
.ico-link { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='square' stroke-linejoin='miter' aria-hidden='true' focusable='false'%3E%3Cpath d='M9 8 H6 A4 4 0 0 0 6 16 H9'/%3E %3Cpath d='M15 8 H18 A4 4 0 0 1 18 16 H15'/%3E %3Cline x1='8' y1='12' x2='16' y2='12'/%3E%3C/svg%3E"); }
.ico-lock { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='square' stroke-linejoin='miter' aria-hidden='true' focusable='false'%3E%3Crect x='5' y='11' width='14' height='10'/%3E %3Cpath d='M8 11V7a4 4 0 0 1 8 0v4'/%3E %3Ccircle cx='12' cy='15' r='1.3' fill='currentColor' stroke='none'/%3E %3Cline x1='12' y1='16' x2='12' y2='18'/%3E%3C/svg%3E"); }
.ico-map-pin { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='square' stroke-linejoin='miter' aria-hidden='true' focusable='false'%3E%3Ccircle cx='12' cy='9' r='6'/%3E %3Cpath d='M8 13 L12 21 L16 13'/%3E %3Ccircle cx='12' cy='9' r='2' fill='currentColor' stroke='none'/%3E%3C/svg%3E"); }
.ico-money-bag { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='square' stroke-linejoin='miter' aria-hidden='true' focusable='false'%3E%3Crect x='10' y='3' width='4' height='3'/%3E %3Cpath d='M7 6 L4 13 L4 18 L8 21 L16 21 L20 18 L20 13 L17 6 Z'/%3E%3C/svg%3E"); }
.ico-monitor { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='square' stroke-linejoin='miter' aria-hidden='true' focusable='false'%3E%3Crect x='2' y='4' width='20' height='13'/%3E %3Cline x1='8' y1='21' x2='16' y2='21'/%3E %3Cline x1='12' y1='17' x2='12' y2='21'/%3E%3C/svg%3E"); }
.ico-note { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='square' stroke-linejoin='miter' aria-hidden='true' focusable='false'%3E%3Crect x='4' y='3' width='13' height='18'/%3E %3Cline x1='7' y1='8' x2='14' y2='8'/%3E %3Cline x1='7' y1='12' x2='14' y2='12'/%3E %3Cline x1='7' y1='16' x2='11' y2='16'/%3E%3C/svg%3E"); }
.ico-package { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='square' stroke-linejoin='miter' aria-hidden='true' focusable='false'%3E%3Cpolygon points='12,2 21,7 21,17 12,22 3,17 3,7'/%3E %3Cpolyline points='3,7 12,12 21,7'/%3E %3Cline x1='12' y1='12' x2='12' y2='22'/%3E%3C/svg%3E"); }
.ico-palette { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='square' stroke-linejoin='miter' aria-hidden='true' focusable='false'%3E%3Cpath d='M12 22 A10 10 0 1 1 22 12 C22 14.5 19.5 15 17.5 14 C15.5 13 13.5 14 13.5 16 C13.5 18 14.5 19 14.5 20 C14.5 21.3 13.3 22 12 22 Z'/%3E %3Ccircle cx='7' cy='8' r='1.2' fill='currentColor' stroke='none'/%3E %3Ccircle cx='12' cy='6' r='1.2' fill='currentColor' stroke='none'/%3E %3Ccircle cx='17' cy='8' r='1.2' fill='currentColor' stroke='none'/%3E %3Ccircle cx='6' cy='13' r='1.2' fill='currentColor' stroke='none'/%3E%3C/svg%3E"); }
.ico-party { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='square' stroke-linejoin='miter' aria-hidden='true' focusable='false'%3E%3Cpolygon points='3,21 8,10 14,16'/%3E %3Cline x1='12' y1='9' x2='15' y2='6'/%3E %3Cline x1='17' y1='11' x2='20' y2='10'/%3E %3Ccircle cx='17' cy='4' r='1' fill='currentColor' stroke='none'/%3E %3Ccircle cx='21' cy='6' r='1' fill='currentColor' stroke='none'/%3E %3Ccircle cx='12' cy='3' r='1' fill='currentColor' stroke='none'/%3E%3C/svg%3E"); }
.ico-pen { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='square' stroke-linejoin='miter' aria-hidden='true' focusable='false'%3E%3Cpath d='M4 20 L6 14 L17 3 L21 7 L10 18 Z'/%3E%3C/svg%3E"); }
.ico-plane { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='square' stroke-linejoin='miter' aria-hidden='true' focusable='false'%3E%3Cpath d='M22 2 L15 22 L11 13 L2 9 Z'/%3E %3Cline x1='22' y1='2' x2='11' y2='13'/%3E%3C/svg%3E"); }
.ico-printer { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='square' stroke-linejoin='miter' aria-hidden='true' focusable='false'%3E%3Cpath d='M6 7 V2 H18 V7'/%3E %3Crect x='2' y='7' width='20' height='9'/%3E %3Crect x='6' y='13' width='12' height='8'/%3E %3Cline x1='9' y1='17' x2='15' y2='17'/%3E %3Ccircle cx='18.5' cy='10' r='1' fill='currentColor' stroke='none'/%3E%3C/svg%3E"); }
.ico-rocket { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='square' stroke-linejoin='miter' aria-hidden='true' focusable='false'%3E%3Cpath d='M12 2 L15 9 L15 15 L12 19 L9 15 L9 9 Z'/%3E %3Ccircle cx='12' cy='9' r='1.5'/%3E %3Cpath d='M9 14 L5 19 L9 17 Z'/%3E %3Cpath d='M15 14 L19 19 L15 17 Z'/%3E%3C/svg%3E"); }
.ico-search { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='square' stroke-linejoin='miter' aria-hidden='true' focusable='false'%3E%3Ccircle cx='10' cy='10' r='7'/%3E %3Cline x1='15' y1='15' x2='21' y2='21'/%3E%3C/svg%3E"); }
.ico-seedling { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='square' stroke-linejoin='miter' aria-hidden='true' focusable='false'%3E%3Cline x1='12' y1='21' x2='12' y2='10'/%3E %3Cpolygon points='12,10 6,7 9,4'/%3E %3Cpolygon points='12,10 18,7 15,4'/%3E%3C/svg%3E"); }
.ico-shield { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='square' stroke-linejoin='miter' aria-hidden='true' focusable='false'%3E%3Cpath d='M12 2 L20 5 V11 L12 22 L4 11 V5 Z'/%3E%3C/svg%3E"); }
.ico-shop { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='square' stroke-linejoin='miter' aria-hidden='true' focusable='false'%3E%3Cpolyline points='2,10 4,4 20,4 22,10'/%3E %3Cline x1='2' y1='10' x2='22' y2='10'/%3E %3Crect x='4' y='10' width='16' height='11'/%3E %3Crect x='10' y='15' width='4' height='6'/%3E%3C/svg%3E"); }
.ico-star { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='square' stroke-linejoin='miter' aria-hidden='true' focusable='false'%3E%3Cpolygon points='12,2 14.9,8.6 22,9.3 16.5,14 18.2,21 12,17.3 5.8,21 7.5,14 2,9.3 9.1,8.6'/%3E%3C/svg%3E"); }
.ico-stethoscope { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='square' stroke-linejoin='miter' aria-hidden='true' focusable='false'%3E%3Cpath d='M7 2 V8 A3 3 0 0 0 13 8 V2'/%3E %3Cline x1='10' y1='11' x2='10' y2='15'/%3E %3Ccircle cx='10' cy='18' r='3'/%3E%3C/svg%3E"); }
.ico-target { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='square' stroke-linejoin='miter' aria-hidden='true' focusable='false'%3E%3Ccircle cx='12' cy='12' r='9'/%3E %3Ccircle cx='12' cy='12' r='5'/%3E %3Ccircle cx='12' cy='12' r='1.3' fill='currentColor' stroke='none'/%3E%3C/svg%3E"); }
.ico-telephone { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='square' stroke-linejoin='miter' aria-hidden='true' focusable='false'%3E%3Crect x='7' y='2' width='10' height='20'/%3E %3Cline x1='9' y1='5' x2='15' y2='5'/%3E %3Ccircle cx='12' cy='19' r='0.9' fill='currentColor' stroke='none'/%3E%3C/svg%3E"); }
.ico-thumbs-up { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='square' stroke-linejoin='miter' aria-hidden='true' focusable='false'%3E%3Crect x='2' y='11' width='5' height='10'/%3E %3Cpath d='M7 12 L11 3 L13 5 V10 H21 V14 L18 21 H7'/%3E%3C/svg%3E"); }
.ico-tools { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='square' stroke-linejoin='miter' aria-hidden='true' focusable='false'%3E%3Cpath d='M8 2 V8 L10 10 V21 H14 V10 L16 8 V2'/%3E %3Cline x1='8' y1='4' x2='10' y2='4'/%3E %3Cline x1='14' y1='4' x2='16' y2='4'/%3E%3C/svg%3E"); }
.ico-trending-up { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='square' stroke-linejoin='miter' aria-hidden='true' focusable='false'%3E%3Cpolyline points='3,17 9,11 13,15 21,5'/%3E %3Cpolyline points='15,5 21,5 21,11'/%3E%3C/svg%3E"); }
.ico-trophy { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='square' stroke-linejoin='miter' aria-hidden='true' focusable='false'%3E%3Cpath d='M6 4h12v6a6 6 0 0 1-12 0V4Z'/%3E %3Ccircle cx='4' cy='7' r='2.2'/%3E %3Ccircle cx='20' cy='7' r='2.2'/%3E %3Cline x1='12' y1='16' x2='12' y2='19'/%3E %3Cline x1='8' y1='21' x2='16' y2='21'/%3E%3C/svg%3E"); }
.ico-video-camera { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='square' stroke-linejoin='miter' aria-hidden='true' focusable='false'%3E%3Crect x='2' y='6' width='14' height='12'/%3E %3Cpath d='M16 10 L22 7 V17 L16 14 Z'/%3E%3C/svg%3E"); }
.ico-warning { --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='square' stroke-linejoin='miter' aria-hidden='true' focusable='false'%3E%3Cpath d='M12 3 L22 20 H2 Z'/%3E %3Cline x1='12' y1='9' x2='12' y2='14'/%3E %3Ccircle cx='12' cy='16.8' r='1' fill='currentColor' stroke='none'/%3E%3C/svg%3E"); }
