/* Modern SVG icon system */
.icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.icon svg {
  width: 100%;
  height: 100%;
  stroke: currentColor;
  fill: none;
  stroke-width: 1.75;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.icon--sm { width: 20px; height: 20px; }
.icon--md { width: 24px; height: 24px; }
.icon--lg { width: 28px; height: 28px; }
.icon--xl { width: 32px; height: 32px; }

.logo__icon .icon svg {
  stroke: white;
}

.logo__icon {
  font-size: 0;
}

.feature__icon .icon,
.step__icon .icon,
.service-block__icon .icon {
  stroke: white;
}

.service-strip__icon .icon {
  stroke: var(--color-primary);
}

.service-hero__card-icon .icon,
.hero-slide .stat-card__num .icon {
  stroke: var(--color-primary);
}

.service-hero__badge .icon {
  stroke: #ffb380;
  margin-right: 6px;
}

.hero-slide .stat-card__num {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 2rem;
}

.hero-slide .stat-card__num .icon {
  color: var(--color-primary);
}

.header__phone .icon {
  display: none;
}

.footer__phone .icon {
  stroke: var(--color-primary);
  margin-right: 6px;
}

.hero-slide__badge .icon {
  stroke: #ffb380;
  margin-right: 6px;
  vertical-align: -4px;
}

.service-hero__badge,
.hero-slide__badge {
  display: inline-flex;
  align-items: center;
}

.step__icon {
  font-size: 0;
  width: 48px;
  height: 48px;
  margin: 16px auto 12px;
  color: var(--color-primary);
}

.feature__icon {
  font-size: 0;
}

.service-block__icon {
  font-size: 0;
}

.service-strip__icon {
  font-size: 0;
  width: 40px;
  height: 40px;
  margin: 0 auto 10px;
}

.service-hero__card-icon {
  font-size: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 32px;
  margin-bottom: 6px;
  color: var(--color-primary);
}

.service-hero__card-icon .icon {
  width: 28px;
  height: 28px;
}
