/* Единые премиальные SVG-иконки */

.site-icon {
  display: block;
  width: 1.35em;
  height: 1.35em;
  flex-shrink: 0;
  color: currentColor;
}

.site-icon--sm { width: 1rem; height: 1rem; }
.site-icon--md { width: 1.35rem; height: 1.35rem; }
.site-icon--lg { width: 1.75rem; height: 1.75rem; }
.site-icon--xl { width: 2.35rem; height: 2.35rem; }
.site-icon--hero { width: 3.25rem; height: 3.25rem; }

.card__icon {
  color: var(--candy-red);
}

.card__icon .site-icon {
  width: 2.15rem;
  height: 2.15rem;
}

.cards-grid--advantages .card__icon .site-icon {
  width: 2rem;
  height: 2rem;
  transform-origin: center center;
}

@keyframes adv-icon-pulse {
  0%, 100% { transform: scale(1); }
  50% { transform: scale(1.08); }
}

@keyframes adv-icon-pop {
  0%, 100% { transform: scale(1); }
  35% { transform: scale(1.1); }
  55% { transform: scale(0.96); }
}

@keyframes adv-icon-launch {
  0%, 100% { transform: translateY(0) rotate(-4deg); }
  50% { transform: translateY(-5px) rotate(4deg); }
}

@keyframes adv-icon-twinkle {
  0%, 100% { transform: scale(1) rotate(0deg); }
  40% { transform: scale(1.1) rotate(10deg); }
  70% { transform: scale(0.96) rotate(-8deg); }
}

@keyframes adv-icon-turn {
  0%, 100% { transform: rotate(0deg) translateX(0); }
  40% { transform: rotate(-12deg) translateX(-1px); }
  70% { transform: rotate(8deg) translateX(1px); }
}

@keyframes adv-icon-sway {
  0%, 100% { transform: rotate(0deg); }
  30% { transform: rotate(8deg); }
  60% { transform: rotate(-7deg); }
}

@media (prefers-reduced-motion: reduce) {
  .cards-grid--advantages .card__icon-img,
  .cards-grid--advantages .card__icon .site-icon {
    animation: none !important;
  }
}

.franchise-detail__stat-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--candy-red);
  line-height: 0;
}

.franchise-detail__stat-icon .site-icon {
  width: 1.55rem;
  height: 1.55rem;
  margin-inline: auto;
}

.franchise-detail__stat-value--icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--candy-red);
  line-height: 0;
}

.franchise-detail__stat-value--icon .site-icon {
  width: 1.85rem;
  height: 1.85rem;
  margin-inline: auto;
}

.application-form__success-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: inherit;
}

.application-form__success-icon .site-icon {
  width: 2rem;
  height: 2rem;
}

.compare-check {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #22a06b;
  vertical-align: middle;
}

.compare-check .site-icon {
  width: 1.25rem;
  height: 1.25rem;
  margin-inline: auto;
}

/* Маркеры списков франшизы — SVG вместо эмодзи */
.franchise-detail__list li {
  padding-left: 1.75rem;
}

.franchise-detail__list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.15rem;
  width: 1rem;
  height: 1rem;
  background-color: var(--candy-red);
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9.2 9.2c1.7-1.7 4.9-1.7 6.6 0s1.7 4.9 0 6.6-4.9 1.7-6.6 0-1.7-4.9 0-6.6z'/%3E%3Cpath d='M8.2 8.2 6.4 6.4M15.8 15.8l1.8 1.8M15.8 8.2l1.8-1.8M8.2 15.8l-1.8 1.8'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9.2 9.2c1.7-1.7 4.9-1.7 6.6 0s1.7 4.9 0 6.6-4.9 1.7-6.6 0-1.7-4.9 0-6.6z'/%3E%3Cpath d='M8.2 8.2 6.4 6.4M15.8 15.8l1.8 1.8M15.8 8.2l1.8-1.8M8.2 15.8l-1.8 1.8'/%3E%3C/svg%3E") center / contain no-repeat;
}

.franchise-detail__list--compact li::before {
  content: "";
  background-color: var(--candy-pink);
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3.8v3.4M12 16.8v3.4M3.8 12h3.4M16.8 12h3.4'/%3E%3Cpath d='m7.1 7.1 2.3 2.3M14.6 14.6l2.3 2.3M16.9 7.1l-2.3 2.3M9.4 14.6l-2.3 2.3'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3.8v3.4M12 16.8v3.4M3.8 12h3.4M16.8 12h3.4'/%3E%3Cpath d='m7.1 7.1 2.3 2.3M14.6 14.6l2.3 2.3M16.9 7.1l-2.3 2.3M9.4 14.6l-2.3 2.3'/%3E%3C/svg%3E") center / contain no-repeat;
  font-size: inherit;
  color: inherit;
}
