/* Icon System - Lucide Icons */

/* Base icon styles */
.icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.icon svg {
  width: 24px;
  height: 24px;
  stroke: currentColor;
  fill: none;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

/* Card icon container - for cards on homepage and other pages */
.card__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 3rem;
  height: 3rem;
  margin-bottom: 1rem;
  color: var(--primary);
  background: var(--surface);
  border-radius: 0.75rem;
  border: 1px solid var(--border);
  flex-shrink: 0;
}

.card__icon .icon {
  width: 100%;
  height: 100%;
}

.card__icon svg {
  width: 24px;
  height: 24px;
  stroke: currentColor;
}

/* Icon sizing variants */
.card__icon--sm {
  width: 2.5rem;
  height: 2.5rem;
}

.card__icon--lg {
  width: 3.5rem;
  height: 3.5rem;
}

.card__icon--lg svg {
  width: 28px;
  height: 28px;
}

/* Service card icon */
.service-card .card__icon {
  margin-bottom: 1.5rem;
}

/* Timeline item icon */
.timeline__item .card__icon {
  margin-bottom: 1rem;
}

/* List with icons - for pricing packages and feature lists */
.list-with-icons {
  list-style: none;
  padding: 0;
}

.list-with-icons li {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  margin-bottom: 0.75rem;
}

.list-with-icons li .icon {
  color: var(--primary);
  margin-top: 0.125rem;
  flex-shrink: 0;
}

.list-with-icons li .icon svg {
  width: 20px;
  height: 20px;
}
