/**
 * GigSniper Vector Icon System Styles (Phase 11B)
 * Unified scale: xs (14px), sm (16px), md (18px), lg (20px), xl (24px)
 */

.gs-icon {
  display: inline-block;
  vertical-align: -0.15em;
  fill: currentColor;
  flex-shrink: 0;
  line-height: 1;
  transition: transform 0.15s ease, fill 0.15s ease, color 0.15s ease;
}

/* Sizing Tokens */
.gs-icon-xs {
  width: 14px;
  height: 14px;
}

.gs-icon-sm {
  width: 16px;
  height: 16px;
}

.gs-icon-md {
  width: 18px;
  height: 18px;
}

.gs-icon-lg {
  width: 20px;
  height: 20px;
}

.gs-icon-xl {
  width: 24px;
  height: 24px;
}

/* Spin animation for loading spinners */
.gs-icon-spin {
  animation: gs-icon-spin-keyframes 1s infinite linear;
}

@keyframes gs-icon-spin-keyframes {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}

/* RTL Directional Mirroring */
html[dir="rtl"] .gs-flip-rtl {
  transform: scaleX(-1);
}

/* Brand Colors helper */
.gs-brand-whatsapp { color: #25D366; fill: #25D366; }
.gs-brand-linkedin { color: #0A66C2; fill: #0A66C2; }
.gs-brand-twitter, .gs-brand-x { color: #000000; fill: #000000; }
[data-theme="dark"] .gs-brand-twitter, [data-theme="dark"] .gs-brand-x { color: #ffffff; fill: #ffffff; }
.gs-brand-github { color: #24292F; fill: #24292F; }
[data-theme="dark"] .gs-brand-github { color: #ffffff; fill: #ffffff; }
