/* ═══════════════════════════════════════════════════════════════════════
   NOX ICONS
   Custom SVG icon system — replaces emojis with NOX-branded symbols.
   Works via CSS mask-image + currentColor, so icons inherit text color
   and work across every theme.

   USAGE:
     <span class="nox-icon nox-i-house"></span>
     <span class="nox-icon nox-icon-lg nox-i-barbell"></span>
     <button><span class="nox-icon nox-i-plus"></span> New Item</button>

   SIZING:
     .nox-icon        → 1em (inline with text)
     .nox-icon-xs     → 12px
     .nox-icon-sm     → 14px
     .nox-icon-md     → 18px   (default for standalone)
     .nox-icon-lg     → 24px
     .nox-icon-xl     → 32px
     .nox-icon-2xl    → 48px
     .nox-icon-3xl    → 72px

   COLORING:
     Icons inherit currentColor automatically. To recolor:
       <span class="nox-icon nox-i-house" style="color:#E11D48;"></span>
   ═══════════════════════════════════════════════════════════════════════ */

/* ───────────── BASE ───────────── */

.nox-icon {
  display: inline-block;
  width: 1em;
  height: 1em;
  background-color: currentColor;
  -webkit-mask-image: var(--nox-icon);
  mask-image: var(--nox-icon);
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: contain;
  mask-size: contain;
  vertical-align: -0.125em;
  flex-shrink: 0;
  line-height: 1;
  user-select: none;
}

/* Sizes */
.nox-icon-xs  { width: 12px; height: 12px; }
.nox-icon-sm  { width: 14px; height: 14px; }
.nox-icon-md  { width: 18px; height: 18px; }
.nox-icon-lg  { width: 24px; height: 24px; }
.nox-icon-xl  { width: 32px; height: 32px; }
.nox-icon-2xl { width: 48px; height: 48px; }
.nox-icon-3xl { width: 72px; height: 72px; }

/* Convenience color utilities (optional — currentColor works by default) */
.nox-icon.is-accent { background-color: var(--nox-accent); }
.nox-icon.is-green  { background-color: var(--nox-green); }
.nox-icon.is-red    { background-color: var(--nox-red); }
.nox-icon.is-yellow { background-color: var(--nox-yellow); }
.nox-icon.is-blue   { background-color: var(--nox-blue); }
.nox-icon.is-muted  { background-color: var(--nox-ink-4); }

/* Circle badge wrapper for icons */
.nox-icon-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: var(--nox-accent-s);
  border: 1px solid var(--nox-accent-g);
  color: var(--nox-accent);
  flex-shrink: 0;
}
.nox-icon-badge.is-square { border-radius: 6px; }
.nox-icon-badge.is-lg { width: 44px; height: 44px; }
.nox-icon-badge.is-xl { width: 56px; height: 56px; }
.nox-icon-badge.is-green { background: rgba(58,138,92,0.12); border-color: rgba(58,138,92,0.25); color: var(--nox-green); }
.nox-icon-badge.is-red   { background: rgba(181,69,58,0.12); border-color: rgba(181,69,58,0.25); color: var(--nox-red); }
.nox-icon-badge.is-yellow{ background: rgba(181,154,58,0.12); border-color: rgba(181,154,58,0.25); color: var(--nox-yellow); }
.nox-icon-badge.is-blue  { background: rgba(59,130,166,0.12); border-color: rgba(59,130,166,0.25); color: var(--nox-blue); }
.nox-icon-badge.is-ink   { background: var(--nox-bg-3); border-color: var(--nox-line); color: var(--nox-ink-2); }

/* ═══════════════════════════════════════════════════════════════════════
   INDUSTRY ICONS — one or more per NOX industry vertical
   ═══════════════════════════════════════════════════════════════════════ */

/* ───────── GYM / FITNESS ───────── */
.nox-i-barbell { --nox-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><rect x='1.5' y='7' width='2.5' height='10' rx='0.6'/><rect x='4.5' y='9' width='1.8' height='6' rx='0.5'/><line x1='6.5' y1='12' x2='17.5' y2='12'/><rect x='17.7' y='9' width='1.8' height='6' rx='0.5'/><rect x='20' y='7' width='2.5' height='10' rx='0.6'/></svg>"); }

.nox-i-dumbbell { --nox-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><path d='m3.5 15.5 5 5'/><path d='m6 18 2.5 2.5M20.5 8.5l-5-5M18 6l-2.5-2.5'/><path d='M6 13l5-5 5 5-5 5z'/></svg>"); }

.nox-i-heart-pulse { --nox-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><path d='M20.84 4.61a5.5 5.5 0 0 0-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 0 0-7.78 7.78l1.06 1.06L12 21.23l7.78-7.78 1.06-1.06a5.5 5.5 0 0 0 0-7.78z'/><path d='M3 13h2l2-4 3 8 3-6 2 2h4'/></svg>"); }

.nox-i-running { --nox-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><circle cx='16' cy='4.5' r='1.7'/><path d='m13 21 1.9-6.8 3.1 2.6v5'/><path d='m6 14 2.3-2.4 5.4-1.9 3.1 1.6 2.7 2.7'/><path d='m6 19 3-2.5L12 20l-3 1'/></svg>"); }

.nox-i-boxing-glove { --nox-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><path d='M7 3h6a5 5 0 0 1 5 5v4a4 4 0 0 1-4 4H7a2 2 0 0 1-2-2v-2l1.5-2L5 8V5a2 2 0 0 1 2-2z'/><path d='M7 16v3a2 2 0 0 0 2 2h6a2 2 0 0 0 2-2v-3'/><path d='M13 8v4'/></svg>"); }

.nox-i-stopwatch { --nox-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><circle cx='12' cy='14' r='7'/><path d='M12 10v4l2.5 2.5M10 2h4M12 5V7'/></svg>"); }

/* ───────── MEDICAL ───────── */
.nox-i-medical-cross { --nox-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><rect x='3' y='3' width='18' height='18' rx='3'/><path d='M12 8v8M8 12h8'/></svg>"); }

.nox-i-stethoscope { --nox-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><path d='M4 3v7a5 5 0 0 0 10 0V3'/><path d='M4 3h2M12 3h2'/><path d='M9 15v3a4 4 0 0 0 8 0v-1.5'/><circle cx='17' cy='14' r='2'/></svg>"); }

.nox-i-tooth { --nox-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><path d='M12 4c-3 0-5 1.5-7 2-1 .5-1 2 0 3s0 4 1 6c1 3 2 6 3 6s1-3 2-5 1-2 1-2 0 0 1 2 1 5 2 5 2-3 3-6c1-2 0-5 1-6s1-2.5 0-3c-2-.5-4-2-7-2z'/></svg>"); }

.nox-i-pill { --nox-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><rect x='2' y='8' width='20' height='8' rx='4' transform='rotate(-30 12 12)'/><path d='m8.5 7.5 7 9'/></svg>"); }

.nox-i-heart-cardiac { --nox-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><path d='M20.84 4.61a5.5 5.5 0 0 0-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 0 0-7.78 7.78l1.06 1.06L12 21.23l7.78-7.78 1.06-1.06a5.5 5.5 0 0 0 0-7.78z'/></svg>"); }

.nox-i-syringe { --nox-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><path d='m18 2 4 4M15 5l4 4'/><path d='m14 6-7 7v4h4l7-7z'/><path d='m8 16-4 4M9 14l2 2'/></svg>"); }

/* ───────── REAL ESTATE ───────── */
.nox-i-house { --nox-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><path d='M3 10.5 12 3l9 7.5V20a1 1 0 0 1-1 1h-5v-7h-6v7H4a1 1 0 0 1-1-1z'/></svg>"); }

.nox-i-building { --nox-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><path d='M4 21V6l8-3 8 3v15'/><path d='M8 9h2M8 13h2M8 17h2M14 9h2M14 13h2M14 17h2'/><path d='M10 21v-3h4v3'/></svg>"); }

.nox-i-key { --nox-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><circle cx='7' cy='15' r='4'/><path d='m10 12 11-11'/><path d='m15 5 3 3M17 3l3 3'/></svg>"); }

.nox-i-pin { --nox-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><path d='M12 2a7 7 0 0 1 7 7c0 4.5-4 9-7 12-3-3-7-7.5-7-12a7 7 0 0 1 7-7z'/><circle cx='12' cy='9' r='2.5'/></svg>"); }

/* ───────── RESTAURANT ───────── */
.nox-i-fork-knife { --nox-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><path d='M7 3v6m0 0v12M4 3v6a3 3 0 0 0 6 0V3'/><path d='M18 3v18M15 8c0-4 6-4 6 0v4c0 2-3 2-3 2'/></svg>"); }

.nox-i-chef-hat { --nox-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><path d='M6 14v6h12v-6'/><path d='M6 14a4 4 0 0 1-4-4 4 4 0 0 1 5-3.9 4 4 0 0 1 7-1.1 4 4 0 0 1 5 4 4 4 0 0 1-1 7.5'/><path d='M6 14h12'/></svg>"); }

.nox-i-wine-glass { --nox-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><path d='M8 3h8l-.5 7a3.5 3.5 0 1 1-7 0z'/><path d='M12 13.5V20M9 20h6'/></svg>"); }

.nox-i-coffee { --nox-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><path d='M3 8h14v6a5 5 0 0 1-5 5H8a5 5 0 0 1-5-5z'/><path d='M17 8h2a3 3 0 0 1 0 6h-2'/><path d='M7 1v3M11 1v3M15 1v3'/></svg>"); }

/* ───────── SPA / WELLNESS ───────── */
.nox-i-lotus { --nox-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><path d='M12 4C10 8 8 10 12 14c4-4 2-6 0-10z'/><path d='M6 9c-1 3 0 6 6 5C10 13 8 11 6 9z'/><path d='M18 9c1 3 0 6-6 5 2-1 4-3 6-5z'/><path d='M2 14c4 4 7 5 10 5s6-1 10-5c-5 0-6 2-10 2s-5-2-10-2z'/></svg>"); }

.nox-i-water-drop { --nox-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><path d='M12 2.5s-7 7.5-7 12.5a7 7 0 0 0 14 0c0-5-7-12.5-7-12.5z'/></svg>"); }

.nox-i-leaf { --nox-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><path d='M19 4c0 9-7 16-15 16 0-8 6-16 15-16z'/><path d='M5 20C8 14 12 10 18 7'/></svg>"); }

.nox-i-scissors { --nox-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><circle cx='6' cy='6' r='3'/><circle cx='6' cy='18' r='3'/><line x1='20' y1='4' x2='8.12' y2='15.88'/><line x1='14.47' y1='14.48' x2='20' y2='20'/><line x1='8.12' y1='8.12' x2='12' y2='12'/></svg>"); }

/* ───────── LAW / PROFESSIONAL ───────── */
.nox-i-scales { --nox-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><path d='M12 3v18M6 21h12'/><path d='M4 7h16M8 5l4-2 4 2'/><path d='M7 7 3 15c0 2 2 3 4 3s4-1 4-3z'/><path d='m17 7-4 8c0 2 2 3 4 3s4-1 4-3z'/></svg>"); }

.nox-i-gavel { --nox-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><path d='m14 13-8 8'/><path d='M14 13h6M17 10h6M12 5l7 7M8.5 8.5l7 7M15.5 1.5l7 7'/></svg>"); }

.nox-i-shield { --nox-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><path d='M12 2 4 5v7c0 4 3 8 8 10 5-2 8-6 8-10V5z'/></svg>"); }

.nox-i-book { --nox-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><path d='M4 19.5A2.5 2.5 0 0 1 6.5 17H20'/><path d='M6.5 2H20v20H6.5A2.5 2.5 0 0 1 4 19.5v-15A2.5 2.5 0 0 1 6.5 2z'/></svg>"); }

/* ───────── LANDSCAPING ───────── */
.nox-i-tree { --nox-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><path d='m12 3-4 5h3l-4 5h3l-4 5h10l-4-5h3l-4-5h3z'/><path d='M12 18v4'/></svg>"); }

.nox-i-flower { --nox-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><circle cx='12' cy='9' r='2.5'/><path d='M12 6.5c0-2.5-2-4-2-4s-2 2-2 4 1.5 2.5 2 2.5 2 0 2-2.5z'/><path d='M12 11.5c0 2.5 2 4 2 4s2-2 2-4-1.5-2.5-2-2.5-2 0-2 2.5z'/><path d='M9.5 9c-2.5 0-4 2-4 2s2 2 4 2 2.5-1.5 2.5-2-1-2-2.5-2z'/><path d='M14.5 9c2.5 0 4-2 4-2s-2-2-4-2-2.5 1.5-2.5 2 1 2 2.5 2z'/><path d='M12 12v10'/></svg>"); }

.nox-i-shovel { --nox-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><path d='M21 3 8 16'/><path d='M4 21c-1-1-2-3-1-4l4-4c2-2 4 0 5 1l1 1c1 1 3 3 1 5l-4 4c-1 1-3 0-4-1z'/><path d='M18 3h3v3'/></svg>"); }

.nox-i-grass { --nox-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><path d='M4 20c0-4 2-7 2-10M8 20c0-5 2-10 2-12M12 20c0-6 2-12 2-14M16 20c0-5 2-10 2-12M20 20c0-4 2-7 2-10'/><path d='M2 20h20'/></svg>"); }

/* ───────── AUTO ───────── */
.nox-i-car { --nox-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><path d='M5 17h14l2-6-3-5H6L3 11z'/><circle cx='7' cy='17' r='2'/><circle cx='17' cy='17' r='2'/><path d='M3 11h18'/></svg>"); }

.nox-i-wrench { --nox-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><path d='M15 3 9 9l-6 6c-1 1-1 3 0 4s3 1 4 0l6-6 6-6a4 4 0 0 0-4-4z'/><path d='M15 3a4 4 0 0 1 4 4'/></svg>"); }

.nox-i-gear { --nox-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><circle cx='12' cy='12' r='3'/><path d='M12 2v3M12 19v3M4.22 4.22l2.12 2.12M17.66 17.66l2.12 2.12M2 12h3M19 12h3M4.22 19.78l2.12-2.12M17.66 6.34l2.12-2.12'/></svg>"); }

.nox-i-tire { --nox-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><circle cx='12' cy='12' r='9'/><circle cx='12' cy='12' r='3'/><path d='M12 3v3M12 18v3M3 12h3M18 12h3M5.6 5.6l2.2 2.2M16.2 16.2l2.2 2.2M5.6 18.4l2.2-2.2M16.2 7.8l2.2-2.2'/></svg>"); }

/* ───────── HVAC ───────── */
.nox-i-fan { --nox-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><circle cx='12' cy='12' r='2'/><path d='M12 10V4C6 4 4 10 10 12M14 12h6c0 6-6 8-8 2M12 14v6c-6 0-8-6-2-8M10 12H4c0-6 6-8 8-2'/></svg>"); }

.nox-i-thermostat { --nox-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><path d='M14 4a3 3 0 0 0-6 0v10a5 5 0 1 0 6 0z'/><circle cx='11' cy='16' r='2.5'/><path d='M11 11v3'/></svg>"); }

.nox-i-snowflake { --nox-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><path d='M12 2v20M4.22 6.22l15.56 9M19.78 6.22l-15.56 9'/><path d='m9 5 3 3 3-3M9 19l3-3 3 3M5 9l3-3M19 15l-3 3M5 15l3 3M19 9l-3-3'/></svg>"); }

.nox-i-flame { --nox-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><path d='M8.5 14.5A2.5 2.5 0 0 0 11 17c2.5 0 4-3 4-3s-1-6-2-7-3-1-3-1 1 3-1 3S7 7 7 7s3 4.5 1.5 7.5z'/><path d='M12 22c5 0 8-3 8-7 0-3-2-7-6-10 .5 5-2 4-2 4 0-4-3-8-9-8 3 3 5 5 5 9 0 3-4 2-4 5 0 4 3 7 8 7z'/></svg>"); }

/* ───────── PHOTOGRAPHY ───────── */
.nox-i-camera { --nox-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><path d='M3 8a2 2 0 0 1 2-2h2l2-2h6l2 2h2a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z'/><circle cx='12' cy='13' r='4'/></svg>"); }

.nox-i-aperture { --nox-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><circle cx='12' cy='12' r='9'/><path d='m14.31 8 5.74 9.94M9.69 8h11.48M7.38 12l5.74-9.94M9.69 16 3.95 6.06M14.31 16H2.83M16.62 12l-5.74 9.94'/></svg>"); }

/* ───────── CONSULTING ───────── */
.nox-i-briefcase { --nox-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><rect x='2' y='7' width='20' height='14' rx='2'/><path d='M8 7V5a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2'/><path d='M2 13h20'/></svg>"); }

.nox-i-lightbulb { --nox-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><path d='M9 18h6M10 22h4'/><path d='M12 2a7 7 0 0 0-4 12.7c1 .8 1.5 1.9 1.5 3.3h5c0-1.4.5-2.5 1.5-3.3A7 7 0 0 0 12 2z'/></svg>"); }

/* ───────── VENUE / EVENTS ───────── */
.nox-i-archway { --nox-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><path d='M3 21V9a9 9 0 0 1 18 0v12'/><path d='M3 21h18'/><path d='M7 21V13a5 5 0 0 1 10 0v8'/></svg>"); }

.nox-i-rings { --nox-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><circle cx='8' cy='15' r='6'/><circle cx='16' cy='15' r='6'/><path d='m6 6 2 3 2-3M14 6l2 3 2-3'/></svg>"); }

/* ═══════════════════════════════════════════════════════════════════════
   UI / UTILITY ICONS
   ═══════════════════════════════════════════════════════════════════════ */

/* ───────── ACTIONS ───────── */
.nox-i-check { --nox-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><path d='M5 12l5 5L20 7'/></svg>"); }

.nox-i-x { --nox-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><path d='M6 6l12 12M18 6 6 18'/></svg>"); }

.nox-i-plus { --nox-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><path d='M12 5v14M5 12h14'/></svg>"); }

.nox-i-minus { --nox-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><path d='M5 12h14'/></svg>"); }

.nox-i-edit { --nox-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><path d='M12 20h9'/><path d='M16.5 3.5a2.12 2.12 0 0 1 3 3L7 19l-4 1 1-4z'/></svg>"); }

.nox-i-trash { --nox-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><path d='M3 6h18'/><path d='M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6'/><path d='M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2'/><path d='M10 11v6M14 11v6'/></svg>"); }

.nox-i-save { --nox-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><path d='M19 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h11l5 5v11a2 2 0 0 1-2 2z'/><path d='M17 21v-8H7v8M7 3v5h8'/></svg>"); }

.nox-i-download { --nox-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><path d='M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4'/><path d='M7 10l5 5 5-5M12 15V3'/></svg>"); }

.nox-i-upload { --nox-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><path d='M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4'/><path d='M17 8l-5-5-5 5M12 3v12'/></svg>"); }

.nox-i-copy { --nox-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><rect x='9' y='9' width='13' height='13' rx='2'/><path d='M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1'/></svg>"); }

.nox-i-share { --nox-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><circle cx='18' cy='5' r='3'/><circle cx='6' cy='12' r='3'/><circle cx='18' cy='19' r='3'/><path d='m8.6 13.5 6.8 4M15.4 6.5l-6.8 4'/></svg>"); }

.nox-i-send { --nox-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><path d='m22 2-11 11'/><path d='M22 2 15 22l-4-9-9-4z'/></svg>"); }

.nox-i-search { --nox-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><circle cx='11' cy='11' r='7'/><path d='m21 21-4.35-4.35'/></svg>"); }

.nox-i-filter { --nox-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><path d='M22 3H2l8 9.5V19l4 2v-8.5z'/></svg>"); }

.nox-i-sort { --nox-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><path d='M3 6h18M6 12h12M10 18h4'/></svg>"); }

.nox-i-refresh { --nox-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><path d='M21 2v6h-6M3 12a9 9 0 0 1 15-6.7L21 8'/><path d='M3 22v-6h6M21 12a9 9 0 0 1-15 6.7L3 16'/></svg>"); }

/* ───────── NAVIGATION ───────── */
.nox-i-arrow-up    { --nox-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><path d='M12 19V5M5 12l7-7 7 7'/></svg>"); }
.nox-i-arrow-down  { --nox-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><path d='M12 5v14M19 12l-7 7-7-7'/></svg>"); }
.nox-i-arrow-left  { --nox-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><path d='M19 12H5M12 19l-7-7 7-7'/></svg>"); }
.nox-i-arrow-right { --nox-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><path d='M5 12h14M12 5l7 7-7 7'/></svg>"); }

.nox-i-chevron-up    { --nox-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><path d='m6 15 6-6 6 6'/></svg>"); }
.nox-i-chevron-down  { --nox-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><path d='m6 9 6 6 6-6'/></svg>"); }
.nox-i-chevron-left  { --nox-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><path d='m15 18-6-6 6-6'/></svg>"); }
.nox-i-chevron-right { --nox-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><path d='m9 18 6-6-6-6'/></svg>"); }

.nox-i-external { --nox-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><path d='M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6'/><path d='m15 3 6 0 0 6M10 14 21 3'/></svg>"); }

.nox-i-menu { --nox-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><path d='M3 12h18M3 6h18M3 18h18'/></svg>"); }

.nox-i-more-h { --nox-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black' stroke='none'><circle cx='5' cy='12' r='1.8'/><circle cx='12' cy='12' r='1.8'/><circle cx='19' cy='12' r='1.8'/></svg>"); }

.nox-i-more-v { --nox-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black' stroke='none'><circle cx='12' cy='5' r='1.8'/><circle cx='12' cy='12' r='1.8'/><circle cx='12' cy='19' r='1.8'/></svg>"); }

.nox-i-grid { --nox-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><rect x='3' y='3' width='7' height='7' rx='1'/><rect x='14' y='3' width='7' height='7' rx='1'/><rect x='3' y='14' width='7' height='7' rx='1'/><rect x='14' y='14' width='7' height='7' rx='1'/></svg>"); }

.nox-i-list { --nox-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><path d='M8 6h13M8 12h13M8 18h13M3 6h.01M3 12h.01M3 18h.01'/></svg>"); }

.nox-i-home { --nox-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><path d='m3 10 9-7 9 7v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z'/><path d='M9 22V12h6v10'/></svg>"); }

.nox-i-dashboard { --nox-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><rect x='3' y='3' width='7' height='9' rx='1'/><rect x='14' y='3' width='7' height='5' rx='1'/><rect x='14' y='12' width='7' height='9' rx='1'/><rect x='3' y='16' width='7' height='5' rx='1'/></svg>"); }

.nox-i-settings { --nox-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><circle cx='12' cy='12' r='3'/><path d='M19.4 15a1.65 1.65 0 0 0 .33 1.82l.06.06a2 2 0 1 1-2.83 2.83l-.06-.06a1.65 1.65 0 0 0-1.82-.33 1.65 1.65 0 0 0-1 1.51V21a2 2 0 0 1-4 0v-.09A1.65 1.65 0 0 0 9 19.4a1.65 1.65 0 0 0-1.82.33l-.06.06a2 2 0 1 1-2.83-2.83l.06-.06a1.65 1.65 0 0 0 .33-1.82 1.65 1.65 0 0 0-1.51-1H3a2 2 0 0 1 0-4h.09A1.65 1.65 0 0 0 4.6 9a1.65 1.65 0 0 0-.33-1.82l-.06-.06a2 2 0 1 1 2.83-2.83l.06.06a1.65 1.65 0 0 0 1.82.33H9a1.65 1.65 0 0 0 1-1.51V3a2 2 0 0 1 4 0v.09a1.65 1.65 0 0 0 1 1.51 1.65 1.65 0 0 0 1.82-.33l.06-.06a2 2 0 1 1 2.83 2.83l-.06.06a1.65 1.65 0 0 0-.33 1.82V9a1.65 1.65 0 0 0 1.51 1H21a2 2 0 0 1 0 4h-.09a1.65 1.65 0 0 0-1.51 1z'/></svg>"); }

/* ───────── STATUS / FEEDBACK ───────── */
.nox-i-info { --nox-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><circle cx='12' cy='12' r='10'/><path d='M12 16v-4M12 8h.01'/></svg>"); }

.nox-i-warning { --nox-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><path d='M10.29 3.86 1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z'/><path d='M12 9v4M12 17h.01'/></svg>"); }

.nox-i-error { --nox-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><circle cx='12' cy='12' r='10'/><path d='m15 9-6 6M9 9l6 6'/></svg>"); }

.nox-i-check-circle { --nox-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><path d='M22 11.08V12a10 10 0 1 1-5.93-9.14'/><path d='m22 4-10 10-3-3'/></svg>"); }

.nox-i-help { --nox-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><circle cx='12' cy='12' r='10'/><path d='M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3M12 17h.01'/></svg>"); }

/* ───────── OBJECTS / DATA ───────── */
.nox-i-user { --nox-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><path d='M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2'/><circle cx='12' cy='7' r='4'/></svg>"); }

.nox-i-users { --nox-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><path d='M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2'/><circle cx='9' cy='7' r='4'/><path d='M23 21v-2a4 4 0 0 0-3-3.87M16 3.13a4 4 0 0 1 0 7.75'/></svg>"); }

.nox-i-lock { --nox-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><rect x='3' y='11' width='18' height='11' rx='2'/><path d='M7 11V7a5 5 0 0 1 10 0v4'/></svg>"); }

.nox-i-unlock { --nox-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><rect x='3' y='11' width='18' height='11' rx='2'/><path d='M7 11V7a5 5 0 0 1 9.9-1'/></svg>"); }

.nox-i-bell { --nox-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><path d='M18 8A6 6 0 0 0 6 8c0 7-3 9-3 9h18s-3-2-3-9'/><path d='M13.73 21a2 2 0 0 1-3.46 0'/></svg>"); }

.nox-i-mail { --nox-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><rect x='2' y='4' width='20' height='16' rx='2'/><path d='m22 7-10 7L2 7'/></svg>"); }

.nox-i-phone { --nox-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><path d='M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z'/></svg>"); }

.nox-i-message { --nox-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><path d='M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z'/></svg>"); }

.nox-i-calendar { --nox-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><rect x='3' y='4' width='18' height='18' rx='2'/><path d='M16 2v4M8 2v4M3 10h18'/></svg>"); }

.nox-i-clock { --nox-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><circle cx='12' cy='12' r='10'/><path d='M12 6v6l4 2'/></svg>"); }

.nox-i-star { --nox-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><path d='m12 2 3 7 7 .8-5 5 1.5 7-6.5-4-6.5 4L7 14.8 2 9.8 9 9z'/></svg>"); }

.nox-i-star-fill { --nox-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black' stroke='black' stroke-width='1' stroke-linejoin='round'><path d='m12 2 3 7 7 .8-5 5 1.5 7-6.5-4-6.5 4L7 14.8 2 9.8 9 9z'/></svg>"); }

.nox-i-heart { --nox-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><path d='M20.84 4.61a5.5 5.5 0 0 0-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 0 0-7.78 7.78l1.06 1.06L12 21.23l7.78-7.78 1.06-1.06a5.5 5.5 0 0 0 0-7.78z'/></svg>"); }

.nox-i-bookmark { --nox-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><path d='M19 21l-7-5-7 5V5a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2z'/></svg>"); }

.nox-i-flag { --nox-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><path d='M4 15s1-1 4-1 5 2 8 2 4-1 4-1V3s-1 1-4 1-5-2-8-2-4 1-4 1z'/><path d='M4 22v-7'/></svg>"); }

.nox-i-eye { --nox-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><path d='M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z'/><circle cx='12' cy='12' r='3'/></svg>"); }

.nox-i-eye-off { --nox-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><path d='M17.94 17.94A10.07 10.07 0 0 1 12 20c-7 0-11-8-11-8a18.45 18.45 0 0 1 5.06-5.94M9.9 4.24A9.12 9.12 0 0 1 12 4c7 0 11 8 11 8a18.5 18.5 0 0 1-2.16 3.19m-6.72-1.07a3 3 0 1 1-4.24-4.24'/><line x1='1' y1='1' x2='23' y2='23'/></svg>"); }

/* ───────── BUSINESS / CHARTS ───────── */
.nox-i-chart-bar { --nox-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><rect x='4' y='10' width='4' height='11'/><rect x='10' y='4' width='4' height='17'/><rect x='16' y='14' width='4' height='7'/></svg>"); }

.nox-i-chart-line { --nox-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><path d='M3 3v18h18'/><path d='M7 14l4-4 4 4 5-5'/></svg>"); }

.nox-i-trending-up { --nox-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><path d='M23 6 13.5 15.5l-5-5L1 18'/><path d='M17 6h6v6'/></svg>"); }

.nox-i-trending-down { --nox-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><path d='M23 18 13.5 8.5l-5 5L1 6'/><path d='M17 18h6v-6'/></svg>"); }

.nox-i-dollar { --nox-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><path d='M12 1v22M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6'/></svg>"); }

.nox-i-credit-card { --nox-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><rect x='1' y='4' width='22' height='16' rx='2'/><line x1='1' y1='10' x2='23' y2='10'/></svg>"); }

.nox-i-cart { --nox-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><circle cx='9' cy='21' r='1'/><circle cx='20' cy='21' r='1'/><path d='M1 1h4l2.68 13.39a2 2 0 0 0 2 1.61h9.72a2 2 0 0 0 2-1.61L23 6H6'/></svg>"); }

.nox-i-target { --nox-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><circle cx='12' cy='12' r='10'/><circle cx='12' cy='12' r='6'/><circle cx='12' cy='12' r='2'/></svg>"); }

.nox-i-award { --nox-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><circle cx='12' cy='8' r='7'/><path d='m8.21 13.89-1.21 7.11 5-3 5 3-1.21-7.11'/></svg>"); }

/* ───────── FILES / MEDIA ───────── */
.nox-i-file { --nox-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><path d='M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z'/><path d='M14 2v6h6M16 13H8M16 17H8M10 9H8'/></svg>"); }

.nox-i-folder { --nox-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><path d='M22 19a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h5l2 3h9a2 2 0 0 1 2 2z'/></svg>"); }

.nox-i-image { --nox-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><rect x='3' y='3' width='18' height='18' rx='2'/><circle cx='8.5' cy='8.5' r='1.5'/><path d='m21 15-5-5L5 21'/></svg>"); }

.nox-i-video { --nox-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><path d='M23 7l-7 5 7 5z'/><rect x='1' y='5' width='15' height='14' rx='2'/></svg>"); }

.nox-i-play { --nox-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black' stroke='black' stroke-width='1' stroke-linejoin='round'><path d='m6 3 14 9-14 9z'/></svg>"); }

.nox-i-pause { --nox-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black' stroke='none'><rect x='6' y='4' width='4' height='16' rx='1'/><rect x='14' y='4' width='4' height='16' rx='1'/></svg>"); }

/* ───────── SOCIAL / BRAND (NOX takes on platforms) ───────── */
.nox-i-link { --nox-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><path d='M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07L11.76 5.17'/><path d='M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.72-1.71'/></svg>"); }

.nox-i-globe { --nox-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><circle cx='12' cy='12' r='10'/><path d='M2 12h20M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10z'/></svg>"); }

.nox-i-zap { --nox-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><path d='M13 2 3 14h9l-1 8 10-12h-9z'/></svg>"); }

/* ───────── NOX BRAND SYMBOLS (exclusive) ───────── */
.nox-i-nox { --nox-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><path d='M3 3 3 21 21 3 21 21'/></svg>"); }

.nox-i-diamond { --nox-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><path d='M12 2 2 12l10 10 10-10z'/></svg>"); }

.nox-i-hex { --nox-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><path d='M12 2 3 7v10l9 5 9-5V7z'/></svg>"); }

.nox-i-circle-dot { --nox-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><circle cx='12' cy='12' r='9'/><circle cx='12' cy='12' r='3' fill='black'/></svg>"); }

.nox-i-square-dot { --nox-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><rect x='3' y='3' width='18' height='18' rx='2'/><rect x='9' y='9' width='6' height='6' fill='black' rx='1'/></svg>"); }

.nox-i-asterisk { --nox-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><path d='M12 2v20M4.93 4.93l14.14 14.14M4.93 19.07 19.07 4.93M2 12h20'/></svg>"); }

.nox-i-quote { --nox-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black' stroke='none'><path d='M5 5h4v4H7c0 1.5.5 2.5 2 3l-.5 2c-2-.5-3.5-2-3.5-5zM14 5h4v4h-2c0 1.5.5 2.5 2 3l-.5 2c-2-.5-3.5-2-3.5-5z'/></svg>"); }

.nox-i-sparkle { --nox-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><path d='m12 3 2 6 6 2-6 2-2 6-2-6-6-2 6-2z'/><path d='M19 2v4M22 4h-4M5 18v4M7 20H3'/></svg>"); }

.nox-i-flag-checkered { --nox-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><path d='M4 22v-7M4 15s1-1 4-1 5 2 8 2 4-1 4-1V3s-1 1-4 1-5-2-8-2-4 1-4 1z'/><path d='M4 3h4v4H4zM12 3h4v4h-4zM8 7h4v4H8zM4 11h4v4H4zM12 11h4v4h-4zM16 7h4v4h-4z' fill='black' stroke='none'/></svg>"); }

.nox-i-activity { --nox-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><path d='M22 12h-4l-3 9L9 3l-3 9H2'/></svg>"); }

.nox-i-layers { --nox-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><path d='m12 2 10 6-10 6L2 8z'/><path d='m2 17 10 6 10-6M2 12l10 6 10-6'/></svg>"); }

.nox-i-book-open { --nox-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><path d='M2 3h6a4 4 0 0 1 4 4v14a3 3 0 0 0-3-3H2z'/><path d='M22 3h-6a4 4 0 0 0-4 4v14a3 3 0 0 1 3-3h7z'/></svg>"); }

/* ───────── CONSTRUCTION / TRADES ───────── */
.nox-i-hammer { --nox-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><path d='M3 4h11l4 2-4 2-2-1H3z'/><path d='M14 4l1-2M18 6l2-1M14 8l1 2'/><path d='M9 8v13'/></svg>"); }

.nox-i-saw { --nox-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><path d='M5 7h13l3 3-2 2-3-2H5z'/><path d='M5 12l1-1 1 1 1-1 1 1 1-1 1 1 1-1 1 1 1-1 1 1 1-1 1 1'/><path d='M5 7v5H3a1 1 0 0 0 0 4h2v3'/></svg>"); }

.nox-i-drill { --nox-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><path d='M3 7h11v6H3z'/><path d='M14 9h2v2h-2zM16 10h3M19 10l3-1M19 10l3 1'/><path d='M5 13v5h4v-5'/></svg>"); }

.nox-i-screwdriver { --nox-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><path d='M3 21l5-5 2 2-5 5z'/><path d='M10 18l4-4-2-2-4 4z'/><path d='M14 14l5-5-3-3-5 5z'/><path d='M16 6l3 3'/></svg>"); }

.nox-i-level { --nox-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><rect x='2' y='9' width='20' height='6' rx='1'/><rect x='10' y='10' width='4' height='4' rx='0.5'/><circle cx='12' cy='12' r='1' fill='black' stroke='none'/><path d='M6 9v6M18 9v6'/></svg>"); }

.nox-i-hard-hat { --nox-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><path d='M3 17h18v2H3z'/><path d='M5 17v-3a7 7 0 0 1 14 0v3'/><path d='M10 8V6a2 2 0 0 1 4 0v2'/><path d='M12 10v7'/></svg>"); }

.nox-i-paint-brush { --nox-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><path d='M13 2l9 9-3 3-2-2-3 3-3-3 3-3-2-2z'/><path d='M11 12l-7 7c-1 1-1 2 0 3s2 1 3 0l7-7'/></svg>"); }

.nox-i-paint-roller { --nox-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><rect x='2' y='4' width='15' height='5' rx='1'/><path d='M17 6h2a2 2 0 0 1 2 2v2a2 2 0 0 1-2 2h-7v3'/><rect x='9' y='15' width='6' height='6' rx='1'/></svg>"); }

.nox-i-ladder { --nox-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><path d='M7 3v18M17 3v18'/><path d='M7 7h10M7 12h10M7 17h10'/></svg>"); }

.nox-i-trowel { --nox-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><path d='M3 21l5-5'/><path d='M8 16l3 3'/><path d='M11 14l9-9-2 9-7 1z'/></svg>"); }

.nox-i-ruler { --nox-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><path d='M3 9h18v6H3z'/><path d='M6 9v3M9 9v4M12 9v3M15 9v4M18 9v3'/></svg>"); }

.nox-i-toolbox { --nox-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><rect x='3' y='8' width='18' height='13' rx='2'/><path d='M8 8V5a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v3'/><path d='M3 13h18'/><rect x='11' y='12' width='2' height='2' rx='0.5'/></svg>"); }

.nox-i-deck { --nox-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><path d='M2 12h20'/><path d='M2 17h20'/><path d='M5 12v9M19 12v9'/><path d='M3 12L6 6h12l3 6'/><path d='M9 6v6M15 6v6'/></svg>"); }

.nox-i-house-frame { --nox-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><path d='M3 21V10l9-7 9 7v11z'/><path d='M3 13h18M12 3v18M7 13v8M17 13v8'/></svg>"); }

.nox-i-blueprint { --nox-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><rect x='3' y='3' width='18' height='18' rx='1'/><path d='M3 9h18M9 3v18'/><path d='M13 6h5v3h-5z'/><path d='M13 13h5M13 16h3'/></svg>"); }

/* ═══════════════════════════════════════════════════════════════════════
   ICON COMPOSITIONS — common patterns
   ═══════════════════════════════════════════════════════════════════════ */

/* Icon + text row */
.nox-icon-row {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

/* Big standalone icon with background */
.nox-icon-feature {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 56px;
  height: 56px;
  border-radius: 12px;
  background: var(--nox-accent-s);
  border: 1px solid var(--nox-accent-g);
  color: var(--nox-accent);
  flex-shrink: 0;
}
.nox-icon-feature .nox-icon { width: 28px; height: 28px; }
.nox-icon-feature.is-lg { width: 72px; height: 72px; border-radius: 16px; }
.nox-icon-feature.is-lg .nox-icon { width: 36px; height: 36px; }

/* Avatar-style circular icon */
.nox-icon-avatar {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: var(--nox-bg-3);
  color: var(--nox-ink);
  flex-shrink: 0;
}
.nox-icon-avatar .nox-icon { width: 20px; height: 20px; }

/* ═══════════════════════════════════════════════════════════════════════
   END nox-icons.css
   ═══════════════════════════════════════════════════════════════════════ */
