/**
 * Seto Digital Theme - SVG Icon Utilities
 * Standardized sizes, alignments, and container wrappers for pure SVGs.
 */

.setodigital-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  vertical-align: middle;
  flex-shrink: 0;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
  transition: stroke var(--transition-fast, 150ms ease), transform var(--transition-fast, 150ms ease);
}

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

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

.icon-md {
  width: 20px;
  height: 20px;
}

.icon-lg {
  width: 24px;
  height: 24px;
}

.icon-xl {
  width: 32px;
  height: 32px;
}

.icon-2xl {
  width: 48px;
  height: 48px;
}

/* Color Modifiers */
.icon-accent {
  color: var(--accent-primary, #FF5500);
}

.icon-whatsapp {
  color: var(--whatsapp-green, #25D366);
}

.icon-muted {
  color: var(--text-muted, #71717A);
}

.icon-secondary {
  color: var(--text-secondary, #A1A1AA);
}

.icon-white {
  color: #FFFFFF;
}

/* Icon Box Wrappers (Bento Grid Headers & Feature Badges) */
.icon-box {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  border-radius: var(--radius-sm, 4px);
  background-color: var(--bg-surface-elevated, #161616);
  border: 1px solid var(--border-default, #262626);
  color: var(--text-primary, #FFFFFF);
  flex-shrink: 0;
}

.icon-box-sm {
  width: 36px;
  height: 36px;
}

.icon-box-lg {
  width: 56px;
  height: 56px;
}

.icon-box-accent {
  background-color: var(--accent-subtle, rgba(255, 85, 0, 0.12));
  border-color: rgba(255, 85, 0, 0.3);
  color: var(--accent-primary, #FF5500);
}

.icon-box-whatsapp {
  background-color: var(--whatsapp-subtle, rgba(37, 211, 102, 0.12));
  border-color: rgba(37, 211, 102, 0.3);
  color: var(--whatsapp-green, #25D366);
}
