.icon {
  display: inline-block;
  flex-shrink: 0;
  vertical-align: -0.15em;
}

.icon--xs { width: 14px; height: 14px; }
.icon--sm { width: 16px; height: 16px; }
.icon--md { width: 20px; height: 20px; }
.icon--lg { width: 24px; height: 24px; }

.btn .icon {
  width: 1.15em;
  height: 1.15em;
}

.nav-link-icon {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.nav-link-icon .icon {
  width: 18px;
  height: 18px;
  opacity: 0.9;
}

.meta-item {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.meta-item .icon {
  width: 15px;
  height: 15px;
  opacity: 0.7;
}

.audience-pill,
.finder-option {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.audience-pill .icon,
.finder-option .icon {
  width: 18px;
  height: 18px;
  flex-shrink: 0;
}

.feature-card-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  margin-bottom: 14px;
  border-radius: var(--radius-sm);
  background: rgba(255, 65, 0, 0.1);
  color: var(--color-ember-orange);
}

.feature-card-icon .icon {
  width: 22px;
  height: 22px;
}

.tour-card-map-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.tour-card-map-link .icon {
  width: 20px;
  height: 20px;
}

.tour-card-link {
  display: inline-flex;
  align-items: center;
  gap: 4px;
}

.footer-links a {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.footer-links .icon {
  width: 16px;
  height: 16px;
  opacity: 0.65;
}

.back-to-top .icon {
  width: 20px;
  height: 20px;
}

.map-sidebar-toggle .icon {
  width: 18px;
  height: 18px;
}

.map-place-add {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.map-place-add .icon {
  width: 18px;
  height: 18px;
}

.map-waypoint-add {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.breadcrumbs {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}

.breadcrumb-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.map-hint-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
