/* ============================================================
   Slavina Smile — Акция «Все на 4 / Все на 6»
   Стилистика взята из общего сайта (style-v11-2.css + update.css):
     основной текст  #202020
     второстепенный  #555
     кнопка/footer   #313033 (тёмный графит)
     фон-плашка      #f0f0f0
     темнее-плашка   #e6e6e6
     рамка           #e6e6e6 / #d0d0d0
     акцент-ссылка   #0072BC (синий, только в ссылках/иконках)
   Никаких градиентов, зелёных, красных, фиолетовых. Скругления — 4–8 px.
   Шрифт Roboto/Gilroy унаследован от страницы.
   Все правила scoped под `.akciya-aoo46`.
   ============================================================ */

.akciya-aoo46 {
  color: #202020;
  font-size: 16px;
  line-height: 1.6;
  font-family: 'Gilroy', 'Roboto', sans-serif;
}

/* Заголовок страницы (рендерится шаблоном вне .akciya-aoo46) — тоже Gilroy */
.aoo46-page-title,
.aoo46-page-title h1,
.aoo46-page-title .breadcrumb,
.aoo46-page-title .breadcrumb a { font-family: 'Gilroy', 'Roboto', sans-serif; }

.akciya-aoo46 *,
.akciya-aoo46 input,
.akciya-aoo46 textarea,
.akciya-aoo46 select,
.akciya-aoo46 button { font-family: inherit; box-sizing: border-box; }

/* Глобальное правило сайта (#page section { padding: 50px 0 }) бьёт по нашим <section>.
   Обнуляем — все внутренние отступы секций задаются собственными классами. */
.akciya-aoo46 section { padding: 0 !important; }

.akciya-aoo46 h2 {
  font-size: 26px;
  font-weight: 700;
  color: #202020;
  margin: 0 0 20px;
  line-height: 1.25;
}

.akciya-aoo46 h3 {
  font-size: 20px;
  font-weight: 600;
  color: #202020 !important;
  margin: 0 0 14px;
  line-height: 1.3;
}

.akciya-aoo46 h4 {
  font-size: 17px;
  font-weight: 600;
  color: #202020;
  margin: 0 0 8px;
  line-height: 1.3;
}

.akciya-aoo46 .aoo46-section { margin: 22px 0; }
.akciya-aoo46 .aoo46-section--tight { margin: 14px 0; }

.akciya-aoo46 .aoo46-section-title {
  margin-bottom: 22px;
}
.akciya-aoo46 .aoo46-section-title h2 { margin-bottom: 8px; }
.akciya-aoo46 .aoo46-section-title .aoo46-section-lead {
  color: #555;
  font-size: 16px;
  max-width: 760px;
  margin: 0;
}

/* ===== Кнопки в фирменном стиле сайта (как .btn-primary в update.css) ===== */
.akciya-aoo46 .aoo46-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 48px;
  padding: 12px 26px;
  border-radius: 4px;
  font-weight: 600;
  font-size: 15px;
  text-decoration: none !important;
  text-transform: uppercase;
  letter-spacing: .3px;
  border: 1px solid #313033;
  cursor: pointer;
  line-height: 1.2;
  text-align: center;
  transition: background-color .15s, color .15s, border-color .15s;
}
.akciya-aoo46 .aoo46-btn--primary {
  background: #313033;
  color: #fff;
}
.akciya-aoo46 .aoo46-btn--primary:hover {
  background: #fff;
  color: #202020;
  border-color: #202020;
}
.akciya-aoo46 .aoo46-btn--ghost {
  background: #fff;
  color: #202020;
}
.akciya-aoo46 .aoo46-btn--ghost:hover {
  background: #202020;
  color: #fff;
}
.akciya-aoo46 .aoo46-btn--inverse {
  background: #fff;
  color: #202020;
  border-color: #fff;
}
.akciya-aoo46 .aoo46-btn--inverse:hover {
  background: transparent;
  color: #fff;
  border-color: #fff;
}

/* ===== Бейдж акции — нейтральный графит ===== */
.akciya-aoo46 .aoo46-badge {
  display: inline-block;
  padding: 5px 14px;
  background: #313033;
  color: #fff;
  font-weight: 700;
  font-size: 13px;
  letter-spacing: .3px;
  text-transform: uppercase;
  border-radius: 4px;
  margin-bottom: 16px;
}

.akciya-aoo46 .aoo46-disclaimer {
  font-size: 14px;
  color: #777;
  margin: 14px 0 0;
  line-height: 1.45;
}
.akciya-aoo46 .aoo46-disclaimer--strong {
  font-size: 15px;
  color: #555;
  background: #f0f0f0;
  border-left: 3px solid #313033;
  padding: 12px 16px;
  margin-top: 18px;
}

/* ============================================================
   BLOCK 1 — HERO (без отдельного фона, заголовок наверху страницы)
   ============================================================ */
.akciya-aoo46 .aoo46-hero {
  background: transparent;
  padding: 0;
  margin: 0 0 40px;
}
.akciya-aoo46 .aoo46-hero-lead {
  font-size: 18px;
  color: #333;
  margin: 0 0 24px;
  line-height: 1.55;
}

/* 2 прайс-карточки — белый фон, тонкая рамка, ровно */
.akciya-aoo46 .aoo46-prices {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  margin-bottom: 28px;
}
.akciya-aoo46 .aoo46-price-card {
  background: #fff;
  border: 1px solid #e6e6e6;
  border-radius: 6px;
  padding: 24px;
  position: relative;
}
.akciya-aoo46 .aoo46-price-card-title {
  font-weight: 600;
  font-size: 17px;
  color: #202020;
  margin: 0 0 2px;
  text-transform: uppercase;
  letter-spacing: .5px;
}
.akciya-aoo46 .aoo46-price-card-subtitle {
  font-size: 13px;
  color: #777;
  font-weight: 500;
  margin: 0 0 4px;
}
.akciya-aoo46 .aoo46-price-card-note {
  font-size: 12.5px;
  color: #777;
  margin: 0 0 14px;
  padding: 8px 12px;
  background: #f0f0f0;
  border-radius: 4px;
  line-height: 1.4;
}
.akciya-aoo46 .aoo46-price-card-price {
  font-size: 32px;
  font-weight: 700;
  color: #202020;
  margin: 8px 0 4px;
  letter-spacing: -.5px;
}
.akciya-aoo46 .aoo46-price-card-vychet {
  font-size: 13px;
  color: #666;
  margin-bottom: 16px;
  line-height: 1.4;
}
.akciya-aoo46 .aoo46-price-card-vychet strong { color: #202020; font-weight: 600; }
.akciya-aoo46 .aoo46-price-card-list {
  list-style: none;
  padding: 0;
  margin: 0 0 18px;
  font-size: 14px;
  color: #333;
}
.akciya-aoo46 .aoo46-price-card-list li {
  position: relative;
  padding-left: 30px;
  margin-bottom: 8px;
  line-height: 1.5;
  min-height: 22px;
  display: flex;
  align-items: center;
}
.akciya-aoo46 .aoo46-price-card-list li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 50%;
  width: 22px;
  height: 22px;
  transform: translateY(-50%);
  background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 49' fill='none'><circle cx='24' cy='24.5' r='24' fill='%233FC858' fill-opacity='.13'/><path d='M15.264 24.663l6.066 6.066 11.404-12.456' stroke='%233FC858' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'/></svg>") center/contain no-repeat;
}

/* 4 метрики — плоские карточки на сером фоне */
.akciya-aoo46 .aoo46-metrics {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
  margin: 0 0 24px;
}
.akciya-aoo46 .aoo46-metric {
  background: #f0f0f0;
  border-radius: 6px;
  padding: 18px 16px;
  text-align: center;
}
.akciya-aoo46 .aoo46-metric-num {
  font-size: 22px;
  font-weight: 700;
  color: #202020;
  line-height: 1.1;
  margin-bottom: 4px;
}
.akciya-aoo46 .aoo46-metric-num small { font-size: 15px; font-weight: 600; }
.akciya-aoo46 .aoo46-metric-text { font-size: 13px; color: #555; line-height: 1.35; }

.akciya-aoo46 .aoo46-hero-cta {
  display: flex;
  gap: 16px;
  align-items: center;
  flex-wrap: wrap;
}
.akciya-aoo46 .aoo46-hero-cta .aoo46-hero-phone {
  font-weight: 600;
  font-size: 18px;
  color: #202020;
  text-decoration: none;
}
.akciya-aoo46 .aoo46-hero-cta .aoo46-hero-phone:hover { color: #0072BC; }

/* ============================================================
   BLOCK 2 — Что входит / отдельно
   ============================================================ */
.akciya-aoo46 .aoo46-included {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}
.akciya-aoo46 .aoo46-included-col {
  background: #fff;
  border: 1px solid #e6e6e6;
  border-radius: 6px;
  padding: 24px;
}
.akciya-aoo46 .aoo46-included-col h3 { margin-bottom: 8px; }
.akciya-aoo46 .aoo46-included-col-price { color: #202020; font-weight: 700; font-size: 22px; margin-bottom: 14px; }
/* ===== Списки с фирменными иконками (по образцу .list-check/attention/warn) =====
   Свои SVG-иконки 28×28 (вместо 48×48 на других страницах сайта)
   с теми же фирменными цветами: green #3FC858, blue #3F6AC8, red #F97181. */
.akciya-aoo46 .aoo46-checklist {
  list-style: none;
  padding: 0;
  margin: 0;
}
.akciya-aoo46 .aoo46-checklist li {
  position: relative;
  padding-left: 40px;
  margin-bottom: 12px;
  font-size: 15px;
  color: #333;
  line-height: 1.55;
  min-height: 28px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.akciya-aoo46 .aoo46-checklist li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 50%;
  width: 28px;
  height: 28px;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  transform: translateY(-50%);
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 49' fill='none'><circle cx='24' cy='24.5' r='24' fill='%233FC858' fill-opacity='.13'/><path d='M15.264 24.663l6.066 6.066 11.404-12.456' stroke='%233FC858' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'/></svg>");
}
.akciya-aoo46 .aoo46-checklist--check li::before {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 49' fill='none'><circle cx='24' cy='24.5' r='24' fill='%233FC858' fill-opacity='.13'/><path d='M15.264 24.663l6.066 6.066 11.404-12.456' stroke='%233FC858' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'/></svg>");
}
.akciya-aoo46 .aoo46-checklist--attention li::before {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none'><circle cx='24' cy='24' r='24' fill='%233F6AC8' fill-opacity='.15'/><path d='M24 28.34V13.84' stroke='%233F6AC8' stroke-width='2.5' stroke-linecap='round'/><circle cx='24' cy='32.99' r='1.17' fill='%233F6AC8' stroke='%233F6AC8'/></svg>");
}
.akciya-aoo46 .aoo46-checklist--warn li::before {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none'><circle cx='24' cy='24' r='24' fill='%23F97181' fill-opacity='.15'/><path d='M24 24l-7-7m7 7l7 7m-7-7l-7 7m7-7l7-7' stroke='%23F97181' stroke-width='2.5' stroke-linecap='round'/></svg>");
}

/* Дополнительный модификатор: заголовок-плюс-текст внутри li (как в .list_title/.list_content на сайте) */
.akciya-aoo46 .aoo46-checklist .aoo46-checklist-title {
  font-weight: 600;
  font-size: 15px;
  color: #202020;
  margin-bottom: 2px;
  line-height: 1.3;
}
.akciya-aoo46 .aoo46-checklist .aoo46-checklist-text {
  font-size: 14px;
  color: #555;
  line-height: 1.5;
}
.akciya-aoo46 .aoo46-extracosts {
  margin-top: 20px;
  background: #f0f0f0;
  border-radius: 6px;
  padding: 22px 26px;
}
.akciya-aoo46 .aoo46-extracosts h4 { margin: 0 0 14px; font-size: 17px; }
/* ul внутри управляется классом .aoo46-checklist (см. выше).
   Никаких локальных переопределений li/li::before — иначе ломается иконка. */

/* ============================================================
   BLOCK 3 — Кому подходит / Отдельная консультация
   ============================================================ */
.akciya-aoo46 .aoo46-suitable {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}
.akciya-aoo46 .aoo46-suitable-col {
  background: #fff;
  border: 1px solid #e6e6e6;
  border-radius: 6px;
  padding: 24px;
}
.akciya-aoo46 .aoo46-suitable-col--yes { border-left: 3px solid #3FC858; }
.akciya-aoo46 .aoo46-suitable-col--no  { border-left: 3px solid #F97181; }
.akciya-aoo46 .aoo46-suitable-col h3 { margin-bottom: 14px; }
.akciya-aoo46 .aoo46-suitable-col ul { list-style: none; padding: 0; margin: 0; font-size: 15px; color: #333; }
.akciya-aoo46 .aoo46-suitable-col ul li {
  position: relative;
  padding: 4px 0 4px 40px;
  margin-bottom: 6px;
  line-height: 1.55;
  min-height: 28px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.akciya-aoo46 .aoo46-suitable-col ul li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 50%;
  width: 28px;
  height: 28px;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  transform: translateY(-50%);
}
.akciya-aoo46 .aoo46-suitable-col--yes ul li::before {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 49' fill='none'><circle cx='24' cy='24.5' r='24' fill='%233FC858' fill-opacity='.13'/><path d='M15.264 24.663l6.066 6.066 11.404-12.456' stroke='%233FC858' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'/></svg>");
}
.akciya-aoo46 .aoo46-suitable-col--no ul li::before {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none'><circle cx='24' cy='24' r='24' fill='%23F97181' fill-opacity='.15'/><path d='M24 24l-7-7m7 7l7 7m-7-7l-7 7m7-7l7-7' stroke='%23F97181' stroke-width='2.5' stroke-linecap='round'/></svg>");
}

.akciya-aoo46 .aoo46-doctor-quote {
  display: flex;
  gap: 18px;
  align-items: center;
  background: #f0f0f0;
  border-left: 3px solid #313033;
  padding: 22px 24px;
  border-radius: 0 6px 6px 0;
  margin-top: 22px;
}
.akciya-aoo46 .aoo46-doctor-quote-photo {
  flex: 0 0 76px;
  width: 76px;
  height: 76px;
  border-radius: 50%;
  background: #fff;
  border: 2px solid #fff;
  overflow: hidden;
}
.akciya-aoo46 .aoo46-doctor-quote-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.akciya-aoo46 .aoo46-doctor-quote-text { flex: 1; }
.akciya-aoo46 .aoo46-doctor-quote-text blockquote {
  font-size: 16px;
  font-style: italic;
  color: #333;
  margin: 0 0 8px;
  border: 0;
  padding: 0;
  background: none;
  line-height: 1.5;
}
.akciya-aoo46 .aoo46-doctor-quote-text cite {
  font-style: normal;
  font-size: 14px;
  color: #666;
}

/* ============================================================
   BLOCK 4 — Сравнительная таблица
   ============================================================ */
.akciya-aoo46 .aoo46-compare-wrap {
  background: #fff;
  border: 1px solid #e6e6e6;
  border-radius: 6px;
  overflow: hidden;
}
.akciya-aoo46 .aoo46-compare {
  width: 100%;
  border-collapse: collapse;
  font-size: 15px;
}
.akciya-aoo46 .aoo46-compare th,
.akciya-aoo46 .aoo46-compare td {
  padding: 12px 16px;
  text-align: left;
  vertical-align: top;
  border-bottom: 1px solid #eee;
}
.akciya-aoo46 .aoo46-compare thead th {
  background: #313033;
  color: #fff;
  font-weight: 600;
  font-size: 15px;
  border: 0;
  text-transform: uppercase;
  letter-spacing: .4px;
}
.akciya-aoo46 .aoo46-compare tbody tr:nth-child(even) { background: #fafafa; }
.akciya-aoo46 .aoo46-compare tbody th { font-weight: 500; color: #555; width: 38%; }
.akciya-aoo46 .aoo46-compare strong { color: #202020; }
.akciya-aoo46 .aoo46-compare-note {
  background: #f0f0f0;
  padding: 12px 18px;
  font-size: 14px;
  color: #555;
}

/* ============================================================
   BLOCK 5 — Таймлайн «7 дней»
   ============================================================ */
.akciya-aoo46 .aoo46-timeline {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
}
.akciya-aoo46 .aoo46-timeline-step {
  background: #fff;
  border: 1px solid #e6e6e6;
  border-radius: 6px;
  padding: 22px 20px;
  position: relative;
}
/* Подсветка ключевого шага — деликатная: белый фон, чёрная рамка 2 px,
   тонкий бейдж «ОСНОВНОЙ ЭТАП» сверху. Без сплошной чёрной заливки. */
.akciya-aoo46 .aoo46-timeline-step--highlight {
  border: 2px solid #313033;
  padding: 21px 19px;
}
.akciya-aoo46 .aoo46-timeline-step--highlight::before {
  content: 'Главный шаг';
  position: absolute;
  top: -10px;
  left: 16px;
  background: #313033;
  color: #fff;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .5px;
  padding: 3px 10px;
  border-radius: 4px;
}
.akciya-aoo46 .aoo46-timeline-num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: #f0f0f0;
  color: #202020;
  font-weight: 700;
  font-size: 16px;
  margin-bottom: 14px;
}
.akciya-aoo46 .aoo46-timeline-step--highlight .aoo46-timeline-num {
  background: #313033;
  color: #fff;
}
.akciya-aoo46 .aoo46-timeline-when {
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
  color: #888;
  letter-spacing: .5px;
  margin-bottom: 4px;
}
.akciya-aoo46 .aoo46-timeline-step--highlight .aoo46-timeline-when { color: #313033; }
.akciya-aoo46 .aoo46-timeline-step h4 { margin: 0 0 8px; font-size: 16px; }
.akciya-aoo46 .aoo46-timeline-step p { font-size: 14px; margin: 0; color: #555; line-height: 1.5; }

/* ============================================================
   BLOCK 6 — Импланты OSSTEM
   ============================================================ */
.akciya-aoo46 .aoo46-osstem {
  background: #f0f0f0;
  border-radius: 6px;
  padding: 36px 32px;
}
.akciya-aoo46 .aoo46-osstem-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
}
.akciya-aoo46 .aoo46-osstem-fact {
  background: #fff;
  border: 1px solid #e6e6e6;
  border-radius: 6px;
  padding: 22px 20px;
}
.akciya-aoo46 .aoo46-osstem-fact-num {
  font-size: 24px;
  font-weight: 700;
  color: #202020;
  line-height: 1;
  margin-bottom: 10px;
}
.akciya-aoo46 .aoo46-osstem-fact h4 { margin: 0 0 6px; font-size: 16px; }
.akciya-aoo46 .aoo46-osstem-fact p { font-size: 14px; color: #555; margin: 0; line-height: 1.5; }

/* ============================================================
   BLOCK 7 — Тройная гарантия
   ============================================================ */
.akciya-aoo46 .aoo46-guarantee {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}
.akciya-aoo46 .aoo46-guarantee-card {
  background: #fff;
  border: 1px solid #e6e6e6;
  border-radius: 6px;
  padding: 26px 22px;
  text-align: center;
  transition: border-color .15s;
}
.akciya-aoo46 .aoo46-guarantee-card:hover { border-color: #202020; }
.akciya-aoo46 .aoo46-guarantee-card .aoo46-guarantee-num {
  font-size: 30px;
  font-weight: 700;
  color: #202020;
  line-height: 1;
  margin-bottom: 6px;
}
.akciya-aoo46 .aoo46-guarantee-card .aoo46-guarantee-num small {
  font-size: 13px;
  font-weight: 600;
  display: block;
  color: #777;
  margin-top: 4px;
  text-transform: uppercase;
  letter-spacing: .4px;
}
.akciya-aoo46 .aoo46-guarantee-card h4 { font-size: 16px; margin: 14px 0 6px; }
.akciya-aoo46 .aoo46-guarantee-card p { font-size: 14px; color: #555; margin: 0; line-height: 1.5; }

/* ============================================================
   BLOCK 8 — Врачи
   ============================================================ */
.akciya-aoo46 .aoo46-doctors {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
}
.akciya-aoo46 .aoo46-doctor-card {
  background: #fff;
  border: 1px solid #e6e6e6;
  border-radius: 6px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}
.akciya-aoo46 .aoo46-doctor-photo {
  aspect-ratio: 3/4;
  width: 100%;
  background: #f0f0f0;
  overflow: hidden;
}
.akciya-aoo46 .aoo46-doctor-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.akciya-aoo46 .aoo46-doctor-info {
  padding: 22px 20px;
  display: flex;
  flex-direction: column;
  flex: 1;
}
.akciya-aoo46 .aoo46-doctor-info h4 { margin: 0 0 4px; font-size: 17px; }
.akciya-aoo46 .aoo46-doctor-info .aoo46-doctor-spec { color: #555; font-size: 14px; font-weight: 600; margin-bottom: 4px; }
.akciya-aoo46 .aoo46-doctor-info .aoo46-doctor-exp { color: #777; font-size: 13px; margin-bottom: 14px; }
.akciya-aoo46 .aoo46-doctor-info blockquote {
  font-style: italic;
  font-size: 14px;
  color: #444;
  margin: 0 0 16px;
  border: 0;
  padding: 14px 0 0;
  border-top: 1px solid #eee;
  background: none;
  line-height: 1.5;
  flex: 1;
}
.akciya-aoo46 .aoo46-doctor-info .aoo46-btn { width: 100%; }

/* ============================================================
   BLOCK 9 — Кейсы: история по этапам (До → Временный → Постоянный),
   2 фото на этап (лицо + зубы). 1 кейс в ряд на десктопе.
   ============================================================ */
.akciya-aoo46 .aoo46-cases {
  display: grid;
  grid-template-columns: 1fr;
  gap: 22px;
}
.akciya-aoo46 .aoo46-case {
  background: #fff;
  border: 1px solid #e6e6e6;
  border-radius: 8px;
  overflow: hidden;
}
.akciya-aoo46 .aoo46-case-body { padding: 22px 24px 14px; }
.akciya-aoo46 .aoo46-case-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-bottom: 10px;
}
.akciya-aoo46 .aoo46-case-meta-tag {
  background: #f0f0f0;
  color: #333;
  font-size: 12px;
  font-weight: 500;
  padding: 4px 10px;
  border-radius: 4px;
}
.akciya-aoo46 .aoo46-case h4 { font-size: 18px; margin: 0 0 8px; }
.akciya-aoo46 .aoo46-case p { font-size: 14.5px; color: #555; margin: 0 0 4px; line-height: 1.55; }

/* Этапы — друг под другом (горизонтально внутри каждого этапа 2 фото).
   Так фото получаются крупные (лицо ~320 px), хорошо видно эстетику. */
.akciya-aoo46 .aoo46-case-stages {
  display: grid;
  grid-template-columns: 1fr;
  gap: 18px;
  padding: 0 24px 24px;
}
.akciya-aoo46 .aoo46-case-stage { display: flex; flex-direction: column; }
.akciya-aoo46 .aoo46-case-stage-label {
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .4px;
  padding: 5px 12px;
  border-radius: 4px;
  display: inline-block;
  margin-bottom: 10px;
  align-self: flex-start;
  line-height: 1.3;
}
.akciya-aoo46 .aoo46-stage--before    { background: #e6e6e6; color: #555; }
.akciya-aoo46 .aoo46-stage--temporary { background: #d6e4f5; color: #1e3a5f; }
.akciya-aoo46 .aoo46-stage--permanent { background: rgba(63,200,88,.2); color: #1f5c33; }
.akciya-aoo46 .aoo46-case-stage-photos {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
}
.akciya-aoo46 .aoo46-case-photo {
  aspect-ratio: 4/3;
  background: #f0f0f0;
  border-radius: 6px;
  overflow: hidden;
}
.akciya-aoo46 .aoo46-case-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.akciya-aoo46 .aoo46-cases-note { margin-top: 14px; font-size: 13px; color: #888; font-style: italic; }

/* ============================================================
   BLOCK 11 — Отзывы + рейтинги агрегаторов
   ============================================================ */
.akciya-aoo46 .aoo46-ratings {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
  margin-bottom: 24px;
}
.akciya-aoo46 .aoo46-rating-card {
  background: #fff;
  border: 1px solid #e6e6e6;
  border-radius: 6px;
  padding: 18px 22px;
  display: flex;
  align-items: center;
  gap: 14px;
  justify-content: space-between;
  text-decoration: none !important;
  color: #202020;
  transition: border-color .15s;
}
.akciya-aoo46 .aoo46-rating-card:hover { border-color: #202020; }
/* Внутри <a> используем <span class="aoo46-rating-side"> вместо <div>,
   потому что MODX-фильтр на проде режет блочные элементы внутри <a>. */
.akciya-aoo46 .aoo46-rating-side {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.akciya-aoo46 .aoo46-rating-side:last-child { align-items: flex-end; text-align: right; }
.akciya-aoo46 .aoo46-rating-source { display: block; font-size: 14px; color: #555; font-weight: 600; }
.akciya-aoo46 .aoo46-rating-stars  { display: block; color: #f5a623; font-size: 15px; }
.akciya-aoo46 .aoo46-rating-num    { display: block; font-size: 28px; font-weight: 700; color: #202020; line-height: 1; }
.akciya-aoo46 .aoo46-rating-count  { display: block; font-size: 13px; color: #888; }

.akciya-aoo46 .aoo46-reviews {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px;
}
.akciya-aoo46 .aoo46-review {
  background: #fff;
  border: 1px solid #e6e6e6;
  border-radius: 6px;
  padding: 22px;
}
.akciya-aoo46 .aoo46-review-head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 10px; }
.akciya-aoo46 .aoo46-review-name { font-weight: 600; color: #202020; }
.akciya-aoo46 .aoo46-review-stars { color: #f5a623; font-size: 14px; }
.akciya-aoo46 .aoo46-review-text { font-size: 14px; color: #333; margin: 0 0 8px; line-height: 1.55; }
.akciya-aoo46 .aoo46-review-source { font-size: 13px; color: #888; }

/* ============================================================
   BLOCK 12 — Оплата + калькулятор
   ============================================================ */
.akciya-aoo46 .aoo46-payment {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  margin-bottom: 28px;
}
.akciya-aoo46 .aoo46-payment-card {
  background: #fff;
  border: 1px solid #e6e6e6;
  border-radius: 6px;
  padding: 24px 22px;
  position: relative;
}
/* Подсвеченная карточка («Рассрочка 0%») — белая, с зелёной полосой и зелёной плашкой числа.
   Без сплошной чёрной заливки — она ломала контраст. */
.akciya-aoo46 .aoo46-payment-card--highlight {
  border-left: 3px solid #3FC858;
}
.akciya-aoo46 .aoo46-payment-card--highlight .aoo46-payment-card-num { color: #2da046; }
.akciya-aoo46 .aoo46-payment-card h4 { margin: 0 0 8px; font-size: 17px; color: #202020; }
.akciya-aoo46 .aoo46-payment-card p { font-size: 14px; color: #555; margin: 0; line-height: 1.55; }
.akciya-aoo46 .aoo46-payment-card .aoo46-payment-card-num { font-size: 20px; font-weight: 700; color: #202020; margin: 6px 0 4px; }

.akciya-aoo46 .aoo46-calculator {
  background: #f0f0f0;
  border-radius: 6px;
  padding: 26px 28px;
}
.akciya-aoo46 .aoo46-calculator h3 { margin-bottom: 16px; }
.akciya-aoo46 .aoo46-calculator-form {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1.2fr;
  gap: 14px;
  align-items: end;
}
.akciya-aoo46 .aoo46-calculator-form label { display: block; font-size: 13px; color: #555; margin-bottom: 6px; font-weight: 600; }
.akciya-aoo46 .aoo46-calculator-form select,
.akciya-aoo46 .aoo46-calculator-form input[type="number"] {
  width: 100%;
  min-height: 46px;
  border: 1px solid #d0d0d0;
  border-radius: 4px;
  padding: 10px 14px;
  font-size: 15px;
  background: #fff;
  font-family: inherit;
}
.akciya-aoo46 .aoo46-calculator-result {
  background: #313033;
  color: #fff;
  border-radius: 4px;
  padding: 14px 18px;
  text-align: center;
}
.akciya-aoo46 .aoo46-calculator-result-label { font-size: 13px; opacity: .8; }
.akciya-aoo46 .aoo46-calculator-result-num { font-size: 22px; font-weight: 700; line-height: 1.2; }

/* ============================================================
   BLOCK 13 — Клиника
   ============================================================ */
.akciya-aoo46 .aoo46-clinic-gallery {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr;
  grid-template-rows: 1fr 1fr;
  gap: 10px;
  margin-bottom: 26px;
}
.akciya-aoo46 .aoo46-clinic-photo {
  aspect-ratio: 4/3;
  background: #f0f0f0;
  border-radius: 6px;
  overflow: hidden;
}
.akciya-aoo46 .aoo46-clinic-photo--big {
  grid-row: 1 / 3;
  aspect-ratio: auto;
}
.akciya-aoo46 .aoo46-clinic-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.akciya-aoo46 .aoo46-clinic-features {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
}
.akciya-aoo46 .aoo46-clinic-feature {
  background: #fff;
  border: 1px solid #e6e6e6;
  border-radius: 6px;
  padding: 22px 18px;
}
.akciya-aoo46 .aoo46-clinic-feature h4 { margin: 0 0 6px; font-size: 15px; }
.akciya-aoo46 .aoo46-clinic-feature p { font-size: 13px; color: #555; margin: 0; line-height: 1.5; }

/* ============================================================
   BLOCK 14 — Адрес + карта
   ============================================================ */
.akciya-aoo46 .aoo46-address {
  display: grid;
  grid-template-columns: 1.4fr 1fr;
  gap: 0;
  background: #fff;
  border: 1px solid #e6e6e6;
  border-radius: 6px;
  overflow: hidden;
}
.akciya-aoo46 .aoo46-address-map {
  position: relative;
  overflow: hidden;
  min-height: 360px;
}
.akciya-aoo46 .aoo46-address-map iframe {
  width: 100%;
  height: 100%;
  min-height: 360px;
  border: 0;
  display: block;
  position: relative;
  z-index: 1;
}
/* Подписи-кредиты Yandex Maps — должны быть, но компактно */
.akciya-aoo46 .aoo46-map-credit {
  color: #eee;
  font-size: 12px;
  position: absolute;
  top: 0;
  left: 4px;
  z-index: 2;
  text-decoration: none;
}
.akciya-aoo46 .aoo46-map-credit--2 { top: 14px; }
.akciya-aoo46 .aoo46-address-info { padding: 28px 26px; }
.akciya-aoo46 .aoo46-address-info h3 { margin: 0 0 16px; }
.akciya-aoo46 .aoo46-address-info dl { margin: 0 0 18px; }
.akciya-aoo46 .aoo46-address-info dt { font-size: 13px; color: #888; text-transform: uppercase; letter-spacing: .4px; margin-bottom: 2px; }
.akciya-aoo46 .aoo46-address-info dd { margin: 0 0 12px; font-size: 15px; color: #333; }
.akciya-aoo46 .aoo46-address-info dd a { color: #202020; font-weight: 600; text-decoration: none; }
.akciya-aoo46 .aoo46-address-info dd a:hover { color: #0072BC; }

/* ============================================================
   BLOCK 15 — FAQ (структура и стили как .questions_list на Zoom 4)
   ============================================================ */
.akciya-aoo46 .aoo46-faq.questions_list {
  background: #f0f0f0;
  border-radius: 8px;
  padding: 12px 28px;
}
.akciya-aoo46 .aoo46-faq .item {
  border-bottom: 1px solid rgba(0, 0, 0, .15);
}
.akciya-aoo46 .aoo46-faq .item:last-child { border-bottom: 0; }
.akciya-aoo46 .aoo46-faq .item_question {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 18px 0;
  cursor: pointer;
  user-select: none;
}
.akciya-aoo46 .aoo46-faq .item_question_title {
  flex: 1 1 auto;
  margin-right: 20px;
  font-size: 18px;
  font-weight: 600;
  color: #202020;
  line-height: 1.4;
}
.akciya-aoo46 .aoo46-faq .item_question_toggle {
  flex: 0 0 40px;
  width: 40px;
  height: 40px;
  /* SVG-chevron в data URI — на случай если фильтр контента MODX вырежет
     inline-SVG из HTML (так бывало). CSS попадает с диска и не фильтруется. */
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='48' height='48' viewBox='0 0 48 48' fill='none'><rect width='48' height='48' rx='24' fill='white'/><path fill-rule='evenodd' clip-rule='evenodd' d='M15.2197 19.9697C14.9268 20.2626 14.9268 20.7374 15.2197 21.0303L23.4697 29.2803C23.7626 29.5732 24.2374 29.5732 24.5303 29.2803L32.7803 21.0303C33.0732 20.7374 33.0732 20.2626 32.7803 19.9697C32.4874 19.6768 32.0126 19.6768 31.7197 19.9697L24 27.6893L16.2803 19.9697C15.9874 19.6768 15.5126 19.6768 15.2197 19.9697Z' fill='%23202020'/></svg>");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  transition: transform .35s ease;
}
/* Если SVG всё-таки пропустили — скрываем inline svg, оставляем background */
.akciya-aoo46 .aoo46-faq .item_question_toggle svg {
  display: none;
}
.akciya-aoo46 .aoo46-faq .item.open .item_question_toggle {
  transform: rotate(180deg);
}
.akciya-aoo46 .aoo46-faq .item_answer {
  display: none;
  margin-top: -6px;
  padding: 0 56px 22px 0;
  font-size: 15px;
  color: #444;
  line-height: 1.6;
}
.akciya-aoo46 .aoo46-faq .item_answer p { margin: 0 0 10px; }
.akciya-aoo46 .aoo46-faq .item_answer p:last-child { margin-bottom: 0; }

@media (max-width: 767px) {
  .akciya-aoo46 .aoo46-faq.questions_list { padding: 4px 18px; }
  .akciya-aoo46 .aoo46-faq .item_question_title { font-size: 16px; }
  .akciya-aoo46 .aoo46-faq .item_question_toggle { flex: 0 0 36px; width: 36px; }
  .akciya-aoo46 .aoo46-faq .item_question_toggle svg { width: 36px; height: 36px; }
  .akciya-aoo46 .aoo46-faq .item_answer { padding-right: 0; }
}

/* ============================================================
   BLOCK 16 — Финальный CTA — тёмный графит, по стилю Zoom 4
   .default_form_block-dark
   ============================================================ */
.akciya-aoo46 .aoo46-final-cta {
  background: #3d3d3f;
  color: #fff;
  border-radius: 8px;
  padding: 34px 36px !important; /* перебиваем #page section { padding: 50px 0 } */
  margin: 28px 0 16px;
}
.akciya-aoo46 .aoo46-final-cta h2 {
  color: #fff;
  font-size: 24px;
  margin: 0 0 8px !important; /* перебиваем глобальный h2 { margin-top: 20px } */
  font-weight: 700;
  padding-top: 0;
  line-height: 1.25;
}
.akciya-aoo46 .aoo46-final-cta .aoo46-final-side h3 {
  margin-top: 0 !important; /* у h3 тоже глобальный margin-top — обнуляем */
}
.akciya-aoo46 .aoo46-final-main {
  /* H2 на одной линии с верхним краем side-плашки */
  padding-top: 0;
}
.akciya-aoo46 .aoo46-final-cta-lead {
  font-size: 15px;
  color: rgba(255,255,255,.78);
  margin: 0 0 22px;
  line-height: 1.55;
}

/* Автор-блок (врач) — как в Zoom 4 */
.akciya-aoo46 .aoo46-final-author {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 22px;
}
.akciya-aoo46 .aoo46-final-author-photo {
  flex: 0 0 56px;
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: #fff;
  border: 2px solid #fff;
  overflow: hidden;
}
.akciya-aoo46 .aoo46-final-author-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.akciya-aoo46 .aoo46-final-author-name {
  font-size: 16px;
  font-weight: 600;
  color: #fff;
  line-height: 1.2;
  margin-bottom: 2px;
}
.akciya-aoo46 .aoo46-final-author-pos {
  font-size: 13px;
  color: rgba(255,255,255,.7);
  line-height: 1.3;
}

/* Стили формы внутри финального CTA (форма приходит из чанка tpl.contactForm:
   .ajax_form > .form-group > .form-label + .form-control + .agree_v1 + .btn-primary) */
.akciya-aoo46 .aoo46-final-cta .ajax_form { margin: 0; }
.akciya-aoo46 .aoo46-final-cta .form-group {
  margin-bottom: 14px;
}
.akciya-aoo46 .aoo46-final-cta .form-label {
  font-size: 13px;
  color: rgba(255,255,255,.85);
  margin-bottom: 6px;
  font-weight: 500;
}
.akciya-aoo46 .aoo46-final-cta .form-control {
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.18);
  color: #fff;
  border-radius: 6px;
  min-height: 48px;
  padding: 10px 14px;
  font-size: 15px;
  width: 100%;
  display: block;
  box-shadow: none;
  font-family: inherit;
}
.akciya-aoo46 .aoo46-final-cta .form-control:focus {
  background: rgba(255,255,255,.1);
  border-color: #fff;
  outline: none;
  color: #fff;
}
.akciya-aoo46 .aoo46-final-cta .form-control::placeholder { color: rgba(255,255,255,.45); }
.akciya-aoo46 .aoo46-final-cta textarea.form-control { min-height: 92px; resize: vertical; }

/* Скрываем поле «Дата приёма» — на финальном CTA не нужно (по брифу) */
.akciya-aoo46 .aoo46-final-cta .form-group:has(input#inputDate) { display: none; }

/* Капча — белая плашка для контраста. Yandex SDK кладёт внутри .smart-captcha
   служебные <div>/<input> + iframe; вместе они даюзт ~118 px высоты при
   реальной высоте капчи 102 px → лишние 16 px снизу. Прячем служебные узлы
   и фиксируем высоту по реальному iframe. */
.akciya-aoo46 .aoo46-final-cta .recaptcha_block {
  background: #fff;
  border-radius: 6px;
  padding: 0;
  margin: 4px 0 0;
  line-height: 0;
}
.akciya-aoo46 .aoo46-final-cta .smart-captcha {
  margin: 0 !important;
  padding: 0 !important;
  height: 102px !important;
  min-height: 0 !important;
  line-height: 0;
  display: block;
  position: relative;
}
.akciya-aoo46 .aoo46-final-cta .smart-captcha > div:not(.smart-captcha__iframe),
.akciya-aoo46 .aoo46-final-cta .smart-captcha > input { display: none !important; }
.akciya-aoo46 .aoo46-final-cta .smart-captcha iframe {
  display: block;
  width: 100% !important;
  height: 102px !important;
}

/* form-button — у глобального .form-button обычно margin-top, режем */
.akciya-aoo46 .aoo46-final-cta .form-group.form-button,
.akciya-aoo46 .aoo46-final-cta .form-button {
  margin: 18px 0 0 !important;
}

/* Кнопка — белая, по стилю Zoom 4 btn_bg-white */
.akciya-aoo46 .aoo46-final-cta .btn,
.akciya-aoo46 .aoo46-final-cta .btn-primary {
  background: #fff !important;
  color: #202020 !important;
  border: 1px solid #fff !important;
  border-radius: 50px !important;
  min-height: 52px;
  padding: 13px 30px !important;
  font-weight: 700;
  font-size: 15px;
  text-transform: uppercase;
  letter-spacing: .4px;
  width: 100%;
  margin: 0 0 12px;
  transition: background .15s, color .15s;
}
.akciya-aoo46 .aoo46-final-cta .btn:hover,
.akciya-aoo46 .aoo46-final-cta .btn-primary:hover {
  background: transparent !important;
  color: #fff !important;
}

/* Согласие — светлый текст, белая галочка-чекбокс */
.akciya-aoo46 .aoo46-final-cta .agree_v1 {
  display: flex;
  align-items: flex-start;
  margin: 0 !important;
}
.akciya-aoo46 .aoo46-final-cta .agree_label {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin: 0;
  cursor: pointer;
}
.akciya-aoo46 .aoo46-final-cta .agree_input { flex: 0 0 auto; padding-top: 2px; }
.akciya-aoo46 .aoo46-final-cta .input_checkbox { accent-color: #fff; }
.akciya-aoo46 .aoo46-final-cta .agree_text {
  font-size: 12px;
  color: rgba(255,255,255,.7);
  line-height: 1.5;
}
.akciya-aoo46 .aoo46-final-cta .agree_text a {
  color: #fff;
  text-decoration: underline;
}
.akciya-aoo46 .aoo46-final-cta .agree_text a:hover { color: #fff; opacity: .8; }

/* Сообщения отправки */
.akciya-aoo46 .aoo46-final-cta .alert {
  border-radius: 6px;
  padding: 12px 16px;
  font-size: 14px;
  margin-top: 10px;
}
.akciya-aoo46 .aoo46-final-cta .alert-success { background: rgba(63, 200, 88, .15); color: #d8f3c4; border: 1px solid rgba(63,200,88,.4); }
.akciya-aoo46 .aoo46-final-cta .alert-danger { background: rgba(249, 113, 129, .15); color: #f9c6cd; border: 1px solid rgba(249,113,129,.4); }

/* Двухколоночная сетка для финального блока: слева текст+форма, справа контакты */
.akciya-aoo46 .aoo46-final-grid {
  display: grid;
  grid-template-columns: 1.4fr 1fr;
  gap: 32px;
  align-items: start;
}
.akciya-aoo46 .aoo46-final-side {
  background: rgba(255,255,255,.08);
  border-radius: 6px;
  padding: 22px 24px;
}
.akciya-aoo46 .aoo46-final-side h3 {
  color: #fff !important;
  font-size: 16px;
  margin-bottom: 12px;
  text-transform: uppercase;
  letter-spacing: .5px;
}
.akciya-aoo46 .aoo46-final-side dl { margin: 0; }
.akciya-aoo46 .aoo46-final-side dt {
  font-size: 12px;
  color: rgba(255,255,255,.55);
  text-transform: uppercase;
  letter-spacing: .3px;
  margin-bottom: 2px;
}
.akciya-aoo46 .aoo46-final-side dd {
  margin: 0 0 12px;
  font-size: 15px;
  color: #fff;
}
.akciya-aoo46 .aoo46-final-side a {
  color: #fff;
  text-decoration: none;
  font-weight: 600;
  border-bottom: 1px solid rgba(255,255,255,.3);
  padding-bottom: 1px;
}
.akciya-aoo46 .aoo46-final-side a:hover { border-color: #fff; }

.akciya-aoo46 .aoo46-footer-disclaimer {
  font-size: 14px;
  color: #555;
  background: #f0f0f0;
  padding: 12px 16px;
  border-radius: 4px;
  margin: 18px 0 6px;
}
.akciya-aoo46 .aoo46-licence {
  font-size: 13px;
  color: #888;
  margin-top: 6px;
}

/* ============================================================
   На mobile поверх sticky-bar (h:67px, bottom:0) могут наезжать:
   1) #cookieMessage — глобальный cookie-баннер сайта, h ~205px, bottom:0
   2) Jivo-чат (jdiv) — pill/окно чата, bottom:0
   Поднимаем их над sticky-bar чтобы не пересекались.
   ============================================================ */
@media (max-width: 767px) {
  /* Cookie-плашка над sticky-bar (67px высоты + 3px зазора) */
  #cookieMessage { bottom: 70px !important; }

  /* Jivo: pill и окно чата поднимаем над sticky-bar */
  jdiv#jvLabelWrap,
  jdiv#jcont,
  jdiv[class*="jivoMobileButton"],
  .__jivoMobileButton,
  jdiv[class*="globalClass"][class*="bottom"] {
    bottom: 70px !important;
  }
}

/* ============================================================
   STICKY MOBILE BAR
   ============================================================ */
.akciya-aoo46 .aoo46-sticky-bar {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1040;
  background: #fff;
  border-top: 1px solid #e6e6e6;
  box-shadow: 0 -4px 16px rgba(0,0,0,.08);
  padding: 10px 12px;
  display: none;
  gap: 8px;
}
.akciya-aoo46 .aoo46-sticky-bar a {
  flex: 1;
  min-height: 46px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 4px;
  font-weight: 600;
  font-size: 15px;
  text-decoration: none;
  gap: 6px;
  border: 1px solid #313033;
}
.akciya-aoo46 .aoo46-sticky-bar a.aoo46-sticky-call {
  background: #fff;
  color: #202020;
}
.akciya-aoo46 .aoo46-sticky-bar a.aoo46-sticky-reg {
  background: #313033;
  color: #fff;
}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width: 991px) {
  .akciya-aoo46 .aoo46-osstem-grid,
  .akciya-aoo46 .aoo46-timeline,
  .akciya-aoo46 .aoo46-guarantee,
  .akciya-aoo46 .aoo46-doctors,
  .akciya-aoo46 .aoo46-ratings,
  .akciya-aoo46 .aoo46-payment { grid-template-columns: repeat(2, 1fr); }
  .akciya-aoo46 .aoo46-clinic-features { grid-template-columns: repeat(2, 1fr); }
  .akciya-aoo46 .aoo46-clinic-gallery { grid-template-columns: 1fr 1fr; grid-template-rows: auto; }
  .akciya-aoo46 .aoo46-clinic-photo--big { grid-row: auto; aspect-ratio: 4/3; }
  .akciya-aoo46 .aoo46-calculator-form { grid-template-columns: 1fr 1fr; }
  .akciya-aoo46 .aoo46-address { grid-template-columns: 1fr; }
  .akciya-aoo46 .aoo46-address-map iframe { min-height: 280px; }

}

@media (max-width: 767px) {
  .akciya-aoo46 { font-size: 16px; }
  .akciya-aoo46 h2 { font-size: 22px; }
  .akciya-aoo46 h3 { font-size: 18px; }
  .akciya-aoo46 .aoo46-section { margin: 36px 0; }

  .akciya-aoo46 .aoo46-hero-lead { font-size: 16px; }

  .akciya-aoo46 .aoo46-prices,
  .akciya-aoo46 .aoo46-included,
  .akciya-aoo46 .aoo46-suitable,
  .akciya-aoo46 .aoo46-cases,
  .akciya-aoo46 .aoo46-reviews { grid-template-columns: 1fr; }

  .akciya-aoo46 .aoo46-case-stage-photos { grid-template-columns: 1fr 1fr; }

  .akciya-aoo46 .aoo46-metrics { grid-template-columns: 1fr 1fr; }

  .akciya-aoo46 .aoo46-doctors,
  .akciya-aoo46 .aoo46-osstem-grid,
  .akciya-aoo46 .aoo46-timeline,
  .akciya-aoo46 .aoo46-guarantee,
  .akciya-aoo46 .aoo46-ratings,
  .akciya-aoo46 .aoo46-payment,
  .akciya-aoo46 .aoo46-clinic-features,
  .akciya-aoo46 .aoo46-clinic-gallery { grid-template-columns: 1fr; }

  .akciya-aoo46 .aoo46-calculator { padding: 22px 18px; }
  .akciya-aoo46 .aoo46-calculator-form { grid-template-columns: 1fr; }

  .akciya-aoo46 .aoo46-doctor-quote { flex-direction: column; text-align: center; }
  .akciya-aoo46 .aoo46-doctor-quote-photo { margin: 0 auto; }

  .akciya-aoo46 .aoo46-compare { font-size: 14px; }
  .akciya-aoo46 .aoo46-compare th,
  .akciya-aoo46 .aoo46-compare td { padding: 10px 12px; }

  .akciya-aoo46 .aoo46-final-cta { padding: 24px 18px !important; }
  .akciya-aoo46 .aoo46-final-cta h2 { font-size: 20px; }
  .akciya-aoo46 .aoo46-final-grid { grid-template-columns: 1fr; gap: 18px; }

  .akciya-aoo46 .aoo46-sticky-bar { display: flex; }
  /* Поднять контент над sticky-bar */
  .akciya-aoo46.aoo46-has-sticky { padding-bottom: 70px; }
}
