:root {
  --color-primary: #007937;
  --color-primary-rgb: 0, 121, 55;
  --color-secondary: #000000;
  --color-accent: #082822;
  --color-info: #d1e012;
  --color-bg: #f6f6f6;
  --bs-primary: #007937;
  --bs-primary-rgb: 0, 121, 55;
  --bs-secondary: #000000;
  --bs-secondary-rgb: 0, 0, 0;
  --bs-info: #d1e012;
  --bs-heading-color: #000000;
  --bs-info-rgb: 209, 224, 18;
  --bs-body-color: #000000;
  --bs-body-color-rgb: 0, 0, 0;
  --bs-link-color: #007937;
  --bs-link-color-rgb: 0, 121, 55;
  --rounded-sm: 10px;
  --rounded-md: 14px;
  --rounded-xl: 25px;
  --transition: all 0.25s ease;
}

.service-page {
  --service-green: #007937;
  --service-dark: #002f29;
  --service-lime: #d1e012;
  color: var(--color-secondary);
}
.service-page .text-primary {
  color: var(--service-green) !important;
}
.service-page .text-info {
  color: var(--service-lime) !important;
}

.service-button {
  min-height: 56px;
  padding: 12px 20px;
  font-size: 16px;
  border: 0;
  border-radius: 50px;
  box-shadow: none;
  appearance: none;
  -webkit-appearance: none;
}
.service-button--accent {
  color: #101010;
  background: var(--service-lime);
}
.service-button--light {
  color: #111;
  background: rgba(255, 255, 255, 0.72);
  border: 1px solid #000;
}

.pricing__details {
  margin-top: 32px;
}
.pricing__accordion {
  --bs-accordion-inner-border-radius: var(--rounded-md);
}
.pricing__accordion-item {
  border: 0;
  background: transparent;
}
.pricing__accordion-item + .pricing__accordion-item {
  margin-top: 12px;
}
.pricing__accordion .pricing__accordion-button {
  gap: 20px;
  padding: 18px 20px;
  border-radius: var(--rounded-md);
  color: #111;
  background: #e7e7e7;
  box-shadow: none;
  font-size: clamp(16px, 1.5vw, 20px);
  line-height: 1.4;
}
.pricing__accordion-button::after {
  width: 20px;
  height: 20px;
  background: linear-gradient(currentColor, currentColor) center / 100% 1px no-repeat,
    linear-gradient(currentColor, currentColor) center / 1px 100% no-repeat;
}
.pricing__accordion-button:not(.collapsed)::after {
  background: linear-gradient(currentColor, currentColor) center / 100% 1px no-repeat;
  transform: none;
}
.pricing__accordion .pricing__accordion-button:focus-visible,
.pricing__table-scroll:focus-visible {
  outline: 2px solid var(--service-green);
  outline-offset: 3px;
}
.pricing__accordion-body {
  padding: 20px 0 0;
  font-size: 16px;
}
.pricing__table-scroll {
  margin-bottom: 16px;
}
.pricing__table {
  min-width: 600px;
  margin-bottom: 0;
  color: #111;
  font-size: 15px;
}
.pricing__table--criteria {
  min-width: 720px;
}
.pricing__table > :not(caption) > * > * {
  padding: 12px;
  vertical-align: top;
}
.pricing__table thead th {
  background: #f6f6f6;
}

/*
 * Шапка: цвета как у home (header--home), позиция как в src-verstka/sro —
 * middle в потоке, чтобы hero с top:-47px заходил только под нижнюю полосу.
 */
.service-page .header {
  margin-bottom: 0;
}
.service-page .header.header--home .header-middle {
  position: relative;
  top: auto;
  height: 65px;
}
.service-page .header.header--home .header-middle__shape {
  display: none;
}
@media (width >= 1100px) {
  .service-page .header.header--home {
    height: 152px;
  }
  .service-page .header.header--home .header-middle {
    height: 112px;
    background: transparent;
  }
  .service-page .header.header--home .header-middle__shape {
    display: block;
  }
}

.service-page {
  line-height: 1.3;
}
/*
 * Legacy main.css: section { padding: 97px 0 }.
 * Нельзя сбрасывать padding у всех section — перебивает .reasons / .care / …
 * Обнуляем только секции без собственных вертикальных отступов в blocks/*.
 */
.service-page .hero,
.service-page .reviews,
.service-page .features,
.service-page .case,
.service-page .quiz,
.service-page .warning,
.service-page .question,
.service-page .footer-map {
  padding-top: 0;
  padding-bottom: 0;
}
.service-page :is(h1, h2, h3, h4, h5, h6) {
  line-height: 1.18;
}
.service-page .reviews-title {
  color: var(--color-secondary) !important;
}
.service-page .footer {
  background-color: #082822;
  background-image: none;
}
