:root {
  --svc-accent: #2b7fff;
  --svc-accent-2: #3ecfb2;
  --svc-accent-3: #ffc857;
  --svc-accent-soft: rgba(43, 127, 255, 0.14);
  --svc-title: #0b2545;
  --svc-text: #2c4767;
  --svc-hero-a: rgba(43, 127, 255, 0.16);
  --svc-hero-b: rgba(62, 207, 178, 0.16);
  --svc-hero-c: #f7fbff;
  --svc-hero-d: #edf6ff;
  --svc-hero-e: #f4fbf6;
  --svc-band-a: #0b2545;
  --svc-band-b: #17477a;
  --svc-band-c: #155f74;
}

.cariesv3-hero {
  background:
    radial-gradient(circle at 95% 4%, var(--svc-hero-a) 0%, transparent 40%),
    radial-gradient(circle at 0% 94%, var(--svc-hero-b) 0%, transparent 40%),
    linear-gradient(145deg, var(--svc-hero-c) 0%, var(--svc-hero-d) 56%, var(--svc-hero-e) 100%);
}

.cariesv3-hero .cariesv3-kicker {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 9px 16px !important;
  margin-bottom: 16px !important;
  border-radius: 999px !important;
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.96) 0%, var(--svc-accent-soft) 100%) !important;
  color: var(--svc-title) !important;
  border: 1px solid rgba(11, 37, 69, 0.08) !important;
  box-shadow: 0 10px 24px rgba(11, 37, 69, 0.06) !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  letter-spacing: 0.09em !important;
}

.cariesv3-hero .cariesv3-title {
  margin: 0 0 18px !important;
  font-size: clamp(2.5rem, 5.1vw, 4.5rem) !important;
  line-height: 0.98 !important;
  letter-spacing: -0.05em !important;
  overflow-wrap: normal;
  word-break: normal;
  hyphens: none;
  -webkit-hyphens: none;
  text-wrap: pretty;
  color: transparent !important;
  background: linear-gradient(180deg, var(--svc-title) 0%, #173d70 48%, var(--svc-accent) 100%);
  -webkit-background-clip: text;
  background-clip: text;
  text-wrap: balance;
}
html[data-a11y-enabled="1"] .cariesv3-hero .cariesv3-title,
html[data-a11y-enabled="1"][data-a11y-spacing="wide"] .cariesv3-hero .cariesv3-title {
  line-height: 0.98 !important;
}
html[data-a11y-enabled="1"] .cariesv3-hero .cariesv3-title :is(.accent, .accent-sun, .accent-coral),
html[data-a11y-enabled="1"][data-a11y-spacing="wide"] .cariesv3-hero .cariesv3-title :is(.accent, .accent-sun, .accent-coral) {
  line-height: inherit !important;
  display: inline !important;
}

.cariesv3-hero .cariesv3-title .accent,
.cariesv3-hero .cariesv3-title .accent-sun,
.cariesv3-hero .cariesv3-title .accent-coral {
  color: transparent !important;
  background: linear-gradient(135deg, var(--svc-accent) 0%, var(--svc-accent-2) 54%, var(--svc-accent-3) 100%);
  -webkit-background-clip: text;
  background-clip: text;
}

.cariesv3-hero .cariesv3-sub {
  max-width: 760px;
  margin: 0 0 20px !important;
  font-size: 18px !important;
  line-height: 1.72 !important;
  color: var(--svc-text) !important;
}

.cariesv3-hero .cariesv3-points {
  gap: 12px !important;
  margin: 0 0 28px !important;
}

.cariesv3-hero .cariesv3-points li {
  position: relative;
  padding: 14px 16px 14px 18px !important;
  border-radius: 16px !important;
  background: rgba(255, 255, 255, 0.9) !important;
  border: 1px solid rgba(11, 37, 69, 0.08) !important;
  box-shadow: 0 12px 26px rgba(11, 37, 69, 0.07) !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
}

.cariesv3-hero .cariesv3-points li::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 4px;
  border-radius: 16px 0 0 16px;
  background: linear-gradient(180deg, var(--svc-accent) 0%, var(--svc-accent-2) 100%);
}

.cariesv3-hero .cariesv3-actions {
  align-items: center;
  gap: 14px !important;
}

.cariesv3-hero .cariesv3-hero__facts {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 18px;
}

.cariesv3-hero .cariesv3-hero__fact {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 14px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.9);
  border: 1px solid rgba(11, 37, 69, 0.08);
  box-shadow: 0 10px 22px rgba(11, 37, 69, 0.06);
  color: var(--svc-title);
  font-size: 13px;
  font-weight: 700;
  line-height: 1.3;
}

.cariesv3-hero .cariesv3-hero__fact::before {
  content: "";
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--svc-accent) 0%, var(--svc-accent-2) 100%);
  box-shadow: 0 0 0 4px rgba(43, 127, 255, 0.08);
}

.cariesv3-hero .btn.btn-primary {
  min-height: 54px;
  padding: 0 28px;
  box-shadow: 0 18px 36px rgba(43, 127, 255, 0.26);
}

.cariesv3-hero .btn.btn-secondary {
  min-height: 54px;
  padding: 0 24px;
}

.cariesv3-hero .cariesv3-hero__card {
  position: relative;
  overflow: hidden;
  padding: 26px !important;
  border-radius: 26px !important;
  background:
    radial-gradient(circle at 100% 0%, rgba(255, 209, 102, 0.18) 0%, transparent 32%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.97) 0%, rgba(248, 252, 255, 0.98) 100%) !important;
  border: 1px solid rgba(11, 37, 69, 0.08) !important;
  box-shadow: 0 24px 48px rgba(11, 37, 69, 0.12) !important;
}

.cariesv3-hero .cariesv3-hero__card::after {
  content: "";
  position: absolute;
  inset: auto 22px 0 22px;
  height: 1px;
  background: linear-gradient(90deg, rgba(43, 127, 255, 0) 0%, rgba(43, 127, 255, 0.22) 50%, rgba(43, 127, 255, 0) 100%);
}

.cariesv3-hero .cariesv3-hero__card h3 {
  margin: 0 0 14px !important;
  font-size: 28px !important;
  line-height: 1.08 !important;
  letter-spacing: -0.03em !important;
  color: var(--svc-title) !important;
}

.cariesv3-hero .cariesv3-hero__card ul {
  gap: 12px !important;
}

.cariesv3-hero .cariesv3-hero__card li {
  align-items: flex-start;
  gap: 10px !important;
  color: var(--svc-text) !important;
}

.cariesv3-hero .cariesv3-hero__card li::before {
  content: "•";
  color: var(--svc-accent);
  font-size: 18px;
  line-height: 1;
}

.cariesv3-hero .cariesv3-hero__price {
  margin-top: 18px !important;
  padding-top: 18px !important;
  justify-content: space-between;
  gap: 14px;
}

.cariesv3-hero .cariesv3-hero__price span {
  color: var(--svc-text);
  font-size: 15px;
}

.cariesv3-hero .cariesv3-hero__price strong {
  font-size: clamp(2rem, 4vw, 3rem) !important;
  color: var(--svc-title) !important;
}

.cariesv3-kicker,
.section-label {
  position: relative;
  overflow: hidden;
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.92) 0%, var(--svc-accent-soft) 100%);
  color: var(--svc-title);
  border: 1px solid rgba(11, 37, 69, 0.08);
}

.cariesv3-title,
.section-title {
  position: relative;
  color: var(--svc-title);
  letter-spacing: -0.02em;
}

.cariesv3-section .section-label,
.section.calc .section-label,
.section.prices-sed .section-label,
.section.faq-svc .section-label {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 8px 16px;
  margin-bottom: 14px;
  border-radius: 999px;
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.96) 0%, var(--svc-accent-soft) 100%);
  color: var(--svc-title);
  border: 1px solid rgba(11, 37, 69, 0.08);
  box-shadow: 0 8px 18px rgba(11, 37, 69, 0.05);
}

.cariesv3-section .section-title,
.section.calc .section-title,
.section.prices-sed .section-title,
.section.faq-svc .section-title {
  color: var(--svc-title);
}

.cariesv3-head .cariesv3-title::after,
.section-head .section-title::after {
  content: "";
  display: block;
  width: 116px;
  height: 10px;
  margin: 16px auto 0;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--svc-accent) 0%, var(--svc-accent-2) 55%, var(--svc-accent-3) 100%);
  opacity: 0.95;
  box-shadow: 0 10px 22px rgba(11, 37, 69, 0.08);
}

.cariesv3-title .accent,
.section-title .accent,
.cariesv3-title .accent-sun,
.section-title .accent-sun,
.cariesv3-service-band__title .accent-sun,
.cariesv3-cta h2 .accent-sun,
.cariesv3-section .section-title .accent,
.section.calc .section-title .accent,
.section.prices-sed .section-title .accent,
.section.faq-svc .section-title .accent {
  color: var(--svc-accent);
}

.cariesv3-title .accent-coral,
.section-title .accent-coral,
.cariesv3-section .section-title .accent-coral,
.section.calc .section-title .accent-coral,
.section.prices-sed .section-title .accent-coral,
.section.faq-svc .section-title .accent-coral {
  color: var(--svc-accent-2);
}

.cariesv3-sub,
.section-sub,
.cariesv3-service-band__text {
  color: var(--svc-text);
}

.cariesv3-section .section-sub,
.section.calc .section-sub,
.section.prices-sed .section-sub,
.section.faq-svc .section-sub {
  color: var(--svc-text);
}

.btn,
.calc-summary-btn,
.price-btn,
.cariesv3-cta__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 50px;
  padding: 0 24px;
  border-radius: 999px;
  border: 0;
  cursor: pointer;
  text-decoration: none;
  font-weight: 800;
  font-size: 15px;
  line-height: 1;
  transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease, color 0.2s ease;
}

.btn:hover,
.calc-summary-btn:hover,
.price-btn:hover,
.cariesv3-cta__btn:hover {
  transform: translateY(-2px);
}

.btn.btn-primary,
.calc-summary-btn:not(.calc-summary-btn--secondary),
.price-btn,
.cariesv3-cta__btn {
  color: #fff;
  background: linear-gradient(135deg, var(--svc-accent) 0%, var(--svc-accent-2) 100%);
  box-shadow: 0 16px 34px rgba(43, 127, 255, 0.28);
}

.btn.btn-primary:hover,
.calc-summary-btn:not(.calc-summary-btn--secondary):hover,
.price-btn:hover,
.cariesv3-cta__btn:hover {
  box-shadow: 0 20px 40px rgba(43, 127, 255, 0.34);
}

.btn.btn-secondary,
.calc-summary-btn--secondary {
  color: var(--svc-title);
  background: rgba(255, 255, 255, 0.96);
  border: 1.5px solid rgba(11, 37, 69, 0.12);
  box-shadow: 0 10px 26px rgba(11, 37, 69, 0.08);
}

.btn.btn-secondary:hover,
.calc-summary-btn--secondary:hover {
  border-color: rgba(43, 127, 255, 0.4);
}

/* Калькулятор: вторичная кнопка на тёмной колонке — hover с контрастным светлым текстом (см. denta-calc-shared .calc-summary …). */
.section.calc .calc-summary .calc-summary-btn--secondary:hover {
  color: #fff;
  background: rgba(255, 255, 255, 0.18);
  border-color: rgba(255, 255, 255, 0.85);
}

.cariesv3-hero__card h3 .accent-sun {
  color: var(--svc-accent);
}

.cariesv3-step__num {
  background: linear-gradient(135deg, var(--svc-accent) 0%, var(--svc-accent-2) 100%);
}

.cariesv3-compare__head--good {
  background: linear-gradient(140deg, var(--svc-band-a) 0%, var(--svc-band-b) 100%);
}

/* Секция «плохо / хорошо»: тематические иконки слева (перебивает одноклассовые инлайн-правила) */
.cariesv3-section .cariesv3-compare__body .cariesv3-compare__item {
  display: grid;
  grid-template-columns: auto 1fr;
  column-gap: 12px;
  align-items: start;
  padding: 12px 14px 12px 12px;
  min-width: 0;
}

.cariesv3-section .cariesv3-compare__body .cariesv3-compare__item::before {
  content: "";
  grid-column: 1;
  grid-row: 1;
  width: 26px;
  height: 26px;
  margin-top: 1px;
  flex-shrink: 0;
  background-color: currentColor;
  opacity: 0.88;
  -webkit-mask-image: var(--c3cmp-ico);
  mask-image: var(--c3cmp-ico);
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
}

/* «Плохая» колонка: ухудшение → боль/стресс → потеря времени */
.cariesv3-section .cariesv3-compare__col:first-child .cariesv3-compare__item:nth-child(1) {
  --c3cmp-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M12 3L1 21h22L12 3zm0 3.8L18.2 19H5.8L12 6.8zM11 10h2v4h-2v-4zm0 5h2v2h-2v-2z'/%3E%3C/svg%3E");
}

.cariesv3-section .cariesv3-compare__col:first-child .cariesv3-compare__item:nth-child(2) {
  --c3cmp-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M13 2L3 14h6l-1 8 10-12h-6l1-8z'/%3E%3C/svg%3E");
}

.cariesv3-section .cariesv3-compare__col:first-child .cariesv3-compare__item:nth-child(3) {
  --c3cmp-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M12 2C6.5 2 2 6.5 2 12s4.5 10 10 10 10-4.5 10-10S17.5 2 12 2zm.5 5H11v6l5.25 3.15L17 15l-4.5-2.67V7z'/%3E%3C/svg%3E");
}

/* «Хорошая» колонка: сдержать → адаптация → план */
.cariesv3-section .cariesv3-compare__col:last-child .cariesv3-compare__item:nth-child(1) {
  --c3cmp-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M12 1L3 5v6c0 5.55 3.84 10.74 9 12 5.16-1.26 9-6.45 9-12V5l-9-4z'/%3E%3C/svg%3E");
}

.cariesv3-section .cariesv3-compare__col:last-child .cariesv3-compare__item:nth-child(2) {
  --c3cmp-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M12 21.35l-1.45-1.32C5.4 15.36 2 12.28 2 8.5 2 5.42 4.42 3 7.5 3c1.74 0 3.41.81 4.5 2.09C13.09 3.81 14.76 3 16.5 3 19.58 3 22 5.42 22 8.5c0 3.78-3.4 6.86-8.55 11.54L12 21.35z'/%3E%3C/svg%3E");
}

.cariesv3-section .cariesv3-compare__col:last-child .cariesv3-compare__item:nth-child(3) {
  --c3cmp-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M16 4h-1V2a2 2 0 0 0-2-2H7a2 2 0 0 0-2 2v2H4a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2zM8 2h4v2H8V2zm12 20H4V6h16v16zM7 10h10v2H7v-2zm0 4h7v2H7v-2z'/%3E%3C/svg%3E");
}

html[data-theme="dark"] .cariesv3-section .cariesv3-compare__body .cariesv3-compare__item::before {
  opacity: 0.95;
}

.cariesv3-section .cariesv3-compare__col .cariesv3-compare__item:nth-child(n + 4) {
  display: block;
}

.cariesv3-section .cariesv3-compare__col .cariesv3-compare__item:nth-child(n + 4)::before {
  display: none;
}

.cariesv3-cta-band,
.cariesv3-service-band {
  background:
    radial-gradient(ellipse 55% 70% at 16% 18%, rgba(62, 207, 178, 0.22) 0%, transparent 70%),
    radial-gradient(ellipse 46% 60% at 88% 84%, rgba(255, 200, 87, 0.18) 0%, transparent 72%),
    linear-gradient(145deg, var(--svc-band-a) 0%, var(--svc-band-b) 54%, var(--svc-band-c) 100%);
}

.cariesv3-service-band__title,
.cariesv3-cta h2 {
  color: #ffffff;
}

.cariesv3-service-band__text,
.cariesv3-cta p {
  color: rgba(255, 255, 255, 0.88);
}

.cariesv3-service-band__badge::before {
  color: var(--svc-accent-3);
}

.cariesv3-service-band__cta {
  display: flex;
  flex-direction: column;
  gap: 10px;
  align-items: stretch;
  min-width: min(260px, 100%);
}
.cariesv3-service-band__cta .btn-secondary {
  background: rgba(255, 255, 255, 0.1);
  color: #fff;
  border: 1.5px solid rgba(255, 255, 255, 0.38);
  box-shadow: none;
}
.cariesv3-service-band__cta .btn-secondary:hover {
  background: rgba(255, 255, 255, 0.18);
  border-color: rgba(255, 255, 255, 0.55);
}

@media (max-width: 760px) {
  .btn,
  .calc-summary-btn,
  .price-btn,
  .cariesv3-cta__btn {
    width: 100%;
  }

  .cariesv3-actions {
    flex-direction: column;
  }

  .cariesv3-head .cariesv3-title::after,
  .section-head .section-title::after {
    width: 88px;
    margin-top: 12px;
  }

  .cariesv3-hero .cariesv3-title {
    font-size: clamp(2.1rem, 11vw, 3.3rem) !important;
  }

  .cariesv3-hero .cariesv3-points {
    grid-template-columns: 1fr !important;
  }

  .cariesv3-hero .cariesv3-hero__facts {
    display: grid;
    grid-template-columns: 1fr;
  }

  .cariesv3-hero .cariesv3-hero__card h3 {
    font-size: 24px !important;
  }
}

/* ===== Dark theme: cariesv3 (перебивает светлые фоны из inline <style> на посадках) ===== */
html[data-theme="dark"] .cariesv3-section--milk {
  background: linear-gradient(180deg, #1c1a16 0%, var(--cream) 100%) !important;
}
html[data-theme="dark"] .cariesv3-section--sky {
  background: linear-gradient(180deg, #121b28 0%, var(--cream) 100%) !important;
}
html[data-theme="dark"] .cariesv3-section--mint {
  background: linear-gradient(180deg, #101f1c 0%, var(--cream) 100%) !important;
}
html[data-theme="dark"] .cariesv3-section--peach {
  background: linear-gradient(180deg, #1f1a14 0%, var(--cream) 100%) !important;
}
html[data-theme="dark"] .cariesv3-section--violet {
  background: linear-gradient(180deg, #1a1724 0%, var(--cream) 100%) !important;
}
html[data-theme="dark"] .cariesv3-section--rose {
  background: linear-gradient(180deg, #1f161c 0%, var(--cream) 100%) !important;
}

html[data-theme="dark"] .cariesv3-kicker {
  background: var(--mint-mist) !important;
  color: var(--mint) !important;
}
html[data-theme="dark"] .cariesv3-section--peach .cariesv3-kicker,
html[data-theme="dark"] .cariesv3-section--rose .cariesv3-kicker {
  background: var(--coral-soft) !important;
  color: var(--coral) !important;
}
html[data-theme="dark"] .cariesv3-section--milk .cariesv3-kicker,
html[data-theme="dark"] .cariesv3-section--violet .cariesv3-kicker {
  background: var(--cream-deep) !important;
  color: #e8c87a !important;
}
html[data-theme="dark"] .cariesv3-section--mint .cariesv3-kicker,
html[data-theme="dark"] .cariesv3-section--sky .cariesv3-kicker {
  background: var(--mint-soft) !important;
  color: var(--mint) !important;
}

html[data-theme="dark"] .cariesv3-title {
  color: var(--ink) !important;
}
html[data-theme="dark"] .cariesv3-sub {
  color: var(--ink-soft) !important;
}

html[data-theme="dark"] .cariesv3-card {
  background: var(--white) !important;
  border-color: rgba(232, 240, 255, 0.12) !important;
  box-shadow: var(--shadow-sm) !important;
}
html[data-theme="dark"] .cariesv3-card h3 {
  color: var(--ink) !important;
}
html[data-theme="dark"] .cariesv3-card p {
  color: var(--ink-soft) !important;
}
html[data-theme="dark"] .cariesv3-card .accent {
  color: var(--mint) !important;
}
html[data-theme="dark"] .cariesv3-card .accent-sun {
  color: #f5d37a !important;
}
html[data-theme="dark"] .cariesv3-card .accent-coral {
  color: var(--coral) !important;
}

html[data-theme="dark"] .cariesv3-compare__col {
  background: var(--white) !important;
  border-color: rgba(232, 240, 255, 0.12) !important;
}
html[data-theme="dark"] .cariesv3-compare__item--bad {
  background: rgba(240, 92, 77, 0.2) !important;
  color: #ffd4cf !important;
}
html[data-theme="dark"] .cariesv3-compare__item--good {
  background: rgba(43, 127, 255, 0.16) !important;
  color: #c5e0ff !important;
}

html[data-theme="dark"] .cariesv3-step {
  background: var(--white) !important;
  border-color: rgba(232, 240, 255, 0.12) !important;
}
html[data-theme="dark"] .cariesv3-step h3 {
  color: var(--ink) !important;
}
html[data-theme="dark"] .cariesv3-step p {
  color: var(--ink-soft) !important;
}
html[data-theme="dark"] .cariesv3-step .accent {
  color: var(--mint) !important;
}
html[data-theme="dark"] .cariesv3-step .accent-sun {
  color: #f5d37a !important;
}
html[data-theme="dark"] .cariesv3-step .accent-coral {
  color: var(--coral) !important;
}
html[data-theme="dark"] .cariesv3-step__num {
  box-shadow: 0 4px 14px rgba(43, 127, 255, 0.35);
}

html[data-theme="dark"] .cariesv3-hero {
  background:
    radial-gradient(circle at 95% 4%, rgba(43, 127, 255, 0.12) 0%, transparent 42%),
    radial-gradient(circle at 0% 94%, rgba(62, 207, 178, 0.1) 0%, transparent 42%),
    linear-gradient(145deg, #141e2e 0%, #0f1724 56%, #12231f 100%) !important;
}
html[data-theme="dark"] .cariesv3-points li {
  background: var(--white) !important;
  border-color: rgba(232, 240, 255, 0.1) !important;
  color: var(--ink-soft) !important;
  box-shadow: var(--shadow-sm) !important;
}
html[data-theme="dark"] .cariesv3-hero__card {
  background: var(--white) !important;
  border-color: rgba(232, 240, 255, 0.12) !important;
  box-shadow: var(--shadow-md) !important;
}
html[data-theme="dark"] .cariesv3-hero__card h3,
html[data-theme="dark"] .cariesv3-hero__price strong {
  color: var(--ink) !important;
}
html[data-theme="dark"] .cariesv3-hero__card li {
  color: var(--ink-soft) !important;
}
html[data-theme="dark"] .cariesv3-hero__sticker {
  background: rgba(22, 34, 52, 0.92) !important;
  border-color: rgba(232, 240, 255, 0.1) !important;
}
html[data-theme="dark"] .cariesv3-hero__spark,
html[data-theme="dark"] .cariesv3-hero__spark::before,
html[data-theme="dark"] .cariesv3-hero__spark::after {
  background: rgba(232, 240, 255, 0.35) !important;
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.35) !important;
}

html[data-theme="dark"] .cariesv3-price {
  background: var(--white) !important;
  border-color: rgba(232, 240, 255, 0.12) !important;
}
html[data-theme="dark"] .cariesv3-price__name,
html[data-theme="dark"] .cariesv3-price__value {
  color: var(--ink) !important;
}
html[data-theme="dark"] .cariesv3-price__meta {
  color: var(--ink-soft) !important;
}

html[data-theme="dark"] .cariesv3-review {
  background: var(--white) !important;
  border-color: rgba(232, 240, 255, 0.12) !important;
  box-shadow: var(--shadow-sm) !important;
}
html[data-theme="dark"] .cariesv3-review p {
  color: var(--ink-soft) !important;
}
html[data-theme="dark"] .cariesv3-review__meta {
  color: var(--gray) !important;
}

html[data-theme="dark"] .cariesv3-faq details {
  background: var(--white) !important;
  border-color: rgba(232, 240, 255, 0.12) !important;
}
html[data-theme="dark"] .cariesv3-faq summary {
  color: var(--ink) !important;
}
html[data-theme="dark"] .cariesv3-faq p {
  color: var(--ink-soft) !important;
}

/* Блок FAQ .faq-svc (инлайн: linear-gradient #fffdf7 → #fff8ee) */
html[data-theme="dark"] .faq-svc,
html[data-theme="dark"] .section.faq-svc {
  background: linear-gradient(180deg, #1c1a16 0%, var(--cream) 100%) !important;
}
html[data-theme="dark"] .faq-item {
  background: var(--white) !important;
  border: 1px solid rgba(232, 240, 255, 0.1) !important;
}
html[data-theme="dark"] .faq-q {
  color: var(--ink) !important;
}
html[data-theme="dark"] .faq-a {
  color: var(--ink-soft) !important;
}
html[data-theme="dark"] .faq-q-icon {
  background: var(--sunny-soft) !important;
  color: #f5d37a !important;
}
html[data-theme="dark"] .faq-item.open .faq-q-icon {
  background: linear-gradient(180deg, #e8b84a 0%, #c9a03a 100%) !important;
  color: #0f1724 !important;
}

/* Секция «сигналы»: метки «ранний / серьёзный» (класс на <section>, первые 3 / следующие карточки) */
.cariesv3-section--signals .cariesv3-grid3 .cariesv3-card {
  position: relative;
  padding-top: 40px;
}
.cariesv3-section--signals .cariesv3-grid3 .cariesv3-card::before {
  content: "Ранний признак";
  position: absolute;
  top: 14px;
  left: 20px;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  padding: 4px 10px;
  border-radius: 999px;
  background: #e8f4ff;
  color: #17477a;
  border: 1px solid rgba(27, 110, 194, 0.18);
}
.cariesv3-section--signals .cariesv3-grid3 .cariesv3-card:nth-child(n + 4)::before {
  content: "Серьёзный сигнал";
  background: #fff1f1;
  color: #7e2f2f;
  border-color: rgba(209, 77, 77, 0.22);
}

.section.faq-svc .faq-a p {
  margin: 0 0 0.75em;
}
.section.faq-svc .faq-a p:last-child {
  margin-bottom: 0;
}
