/* Технологии Общепита — единая система иконок (stroke, engineering) */

.to-icon {
  display: inline-block;
  width: 1.25em;
  height: 1.25em;
  flex-shrink: 0;
  vertical-align: -0.2em;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.75;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.to-icon use,
.to-icon path,
.to-icon circle,
.to-icon rect,
.to-icon line,
.to-icon polyline,
.to-icon ellipse {
  vector-effect: non-scaling-stroke;
}

/* Контейнеры */
.to-icon-wrap {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  border-radius: 12px;
  background: var(--eng-blue-dim, rgba(74, 158, 255, 0.12));
  color: var(--eng-blue, #4a9eff);
}

.to-icon-wrap .to-icon {
  width: 22px;
  height: 22px;
  vertical-align: 0;
}

.to-icon-wrap--sm {
  width: 32px;
  height: 32px;
  border-radius: 8px;
}
.to-icon-wrap--sm .to-icon { width: 16px; height: 16px; }

.to-icon-wrap--md {
  width: 44px;
  height: 44px;
}
.to-icon-wrap--md .to-icon { width: 22px; height: 22px; }

.to-icon-wrap--lg {
  width: 56px;
  height: 56px;
  border-radius: 14px;
}
.to-icon-wrap--lg .to-icon { width: 28px; height: 28px; }

.to-icon-wrap--xl {
  width: 72px;
  height: 72px;
  border-radius: 18px;
}
.to-icon-wrap--xl .to-icon { width: 36px; height: 36px; }

.to-icon-wrap--accent {
  background: rgba(255, 107, 44, 0.12);
  color: var(--accent, #ff6b2c);
}

.to-icon-wrap--success {
  background: rgba(48, 209, 88, 0.15);
  color: var(--call, #30d158);
}

.to-icon-wrap--muted {
  background: rgba(255, 255, 255, 0.06);
  color: var(--text-secondary, #a1a1a6);
}

/* Topbar */
.topbar__icon {
  display: inline-flex;
  vertical-align: middle;
  margin-right: 6px;
}
.topbar__icon .to-icon {
  width: 14px;
  height: 14px;
  color: var(--eng-blue, #4a9eff);
}

/* Карточки главной */
.fears__icon,
.hub-card__icon,
.audience__icon,
.mistake-card__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0;
  line-height: 0;
}

.fears__icon .to-icon-wrap,
.hub-card__icon .to-icon-wrap,
.audience__icon .to-icon-wrap {
  width: 48px;
  height: 48px;
}

.fears__icon .to-icon,
.hub-card__icon .to-icon,
.audience__icon .to-icon {
  width: 24px;
  height: 24px;
}

.fears__icon .to-icon-wrap { background: rgba(255, 107, 44, 0.1); color: var(--accent); }
.audience__icon .to-icon-wrap { background: rgba(255, 107, 44, 0.1); color: var(--accent); }

/* PDF / лид-магнит */
.pdf-lead__cover {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0;
}
.pdf-lead__cover .to-icon-wrap {
  width: 80px;
  height: 80px;
  border-radius: 20px;
  background: rgba(255, 107, 44, 0.12);
  color: var(--accent);
}
.pdf-lead__cover .to-icon { width: 40px; height: 40px; }

/* Формы */
.upload-form__file-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 0;
}
.upload-form__file-icon .to-icon {
  width: 20px;
  height: 20px;
  color: var(--eng-blue);
}

/* Квиз / успех */
.quiz__check,
.funnel-quiz__check {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0;
}
.quiz__check .to-icon-wrap,
.funnel-quiz__check .to-icon-wrap {
  width: 64px;
  height: 64px;
  border-radius: 50%;
}

/* Кнопки */
.btn__concept-icon .to-icon {
  width: 18px;
  height: 18px;
}

.btn--call::before,
[data-icon-inline="phone"] {
  display: none;
}

/* Funnel light pages */
.funnel-page .to-icon-wrap {
  background: rgba(74, 158, 255, 0.1);
}
.funnel-page .to-icon-wrap--accent {
  background: rgba(255, 107, 44, 0.1);
}

.funnel-expert__avatar {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0;
  background: var(--funnel-dark, #2a2a32);
  color: #fff;
}
.funnel-expert__avatar .to-icon { width: 36px; height: 36px; }

/* Hero rating */
.hero-cinema__proof .to-icon--star {
  width: 14px;
  height: 14px;
  color: #ffb450;
  vertical-align: -2px;
  margin-right: 2px;
}

/* Hero bullets */
.hero-cinema__bullets .hero-cinema__tick {
  display: inline-flex;
  vertical-align: middle;
  margin-right: 6px;
  color: var(--call, #30d158);
}
.hero-cinema__bullets .hero-cinema__tick .to-icon {
  width: 14px;
  height: 14px;
}

/* Телефон в кнопках */
.btn--call,
.float--call {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.btn--call [data-icon],
.float--call [data-icon] {
  display: inline-flex;
}
.float--call {
  justify-content: center;
  font-size: 0;
}
.float--call .to-icon-wrap {
  margin: 0;
}

.mistake-card__icon .to-icon-wrap {
  width: 40px;
  height: 40px;
  background: rgba(255, 107, 44, 0.1);
  color: var(--accent);
}
.mistake-card__icon .to-icon {
  width: 20px;
  height: 20px;
}

.funnel-quiz__hint-icon {
  display: inline-flex;
  vertical-align: -2px;
  margin-right: 4px;
  color: var(--funnel-accent, #ff6b2c);
}
.funnel-quiz__hint-icon .to-icon {
  width: 14px;
  height: 14px;
}

/* Deliverables / certs */
.deliverable-item__icon,
.about-cert__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 0;
  flex-shrink: 0;
}
.deliverable-item__icon .to-icon-wrap,
.about-cert__icon .to-icon-wrap {
  width: 40px;
  height: 40px;
  background: var(--eng-blue-dim);
  color: var(--eng-blue);
}
.deliverable-item__icon .to-icon,
.about-cert__icon .to-icon {
  width: 20px;
  height: 20px;
}

/* Academy meta */
.academy-meta__icon {
  display: inline-flex;
  vertical-align: -2px;
  margin-right: 4px;
  color: var(--eng-blue, #4a9eff);
}
.academy-meta__icon .to-icon {
  width: 14px;
  height: 14px;
}

/* Reviews */
.review__stars {
  display: inline-flex;
  gap: 3px;
  font-size: 0;
  color: #ffb450;
}
.review__stars .to-icon {
  width: 16px;
  height: 16px;
  fill: currentColor;
  stroke: none;
}
.review__stars .to-icon path {
  fill: currentColor;
  stroke: none;
}
