/* Site-wide Font Awesome icon scale and semantic accents. */
:root {
  --icon-sm: 15px;
  --icon-md: 19px;
  --icon-section: 28px;
  --icon-feature: 40px;
  --icon-cyan: #087b9b;
  --icon-blue: var(--color-secondary);
  --icon-navy: var(--color-primary);
  --icon-purple: #6742aa;
  --icon-coral: #b94b3d;
  --icon-mint: var(--color-success);
  --icon-gold: var(--color-gold-deep);
}

.icon, .ui-icon { display: inline-block; flex: none; width: 1.25em; font-size: var(--icon-size, var(--icon-md)); line-height: 1; text-align: center; vertical-align: -.08em; }
.icon--sm { --icon-size: var(--icon-sm); font-size: var(--icon-sm); }
.icon--md { --icon-size: var(--icon-md); font-size: var(--icon-md); }
.icon--section { --icon-size: var(--icon-section); font-size: var(--icon-section); }
.icon--feature { --icon-size: var(--icon-feature); font-size: var(--icon-feature); }
.icon--cyan { color: var(--icon-cyan); }
.icon--blue { color: var(--icon-blue); }
.icon--navy { color: var(--icon-navy); }
.icon--purple { color: var(--icon-purple); }
.icon--coral { color: var(--icon-coral); }
.icon--mint { color: var(--icon-mint); }
.icon--gold { color: var(--icon-gold); }
.site-search__icon .icon, .mobile-nav-toggle .icon, .mobile-nav__header .icon-button .icon { font-size: 20px; }
.site-nav__products-icon, .site-nav__chevron { display: inline-flex; align-items: center; justify-content: center; }
.site-nav__cart { display: inline-flex; align-items: center; gap: 6px; }
.site-nav__cart .cart-count { margin-left: 2px; }
.site-footer__social a { display: inline-flex; align-items: center; gap: 7px; }
.process-step__icon i { font-size: 25px; }
.portfolio-category-card > span i { font-size: 22px; }
.cart-item__actions .btn, .cart-totals .btn, .product-configurator__actions .btn, .order-mobile-bar .btn { gap: 8px; }
.icon-button:focus-visible, .site-nav__cart:focus-visible { outline: 2px solid var(--color-focus); outline-offset: 2px; }
