/*
* Prefixed by https://autoprefixer.github.io
* PostCSS: v8.4.14,
* Autoprefixer: v10.4.7
* Browsers: last 4 version
*/

/*
Theme Name: Ultima_Theme

* Prefixed by https://autoprefixer.github.io
* PostCSS: v8.4.14,
* Autoprefixer: v10.4.7
* Browsers: last 4 version
*/

/* Reset and base styles  */
* {
  padding: 0px;
  margin: 0px;
  border: none;
}

*,
*::before,
*::after {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

/* Links */

a,
a:link,
a:visited {
  text-decoration: none;
}

a:hover {
  text-decoration: none;
}

/* Common */

aside,
nav,
footer,
header,
section,
main {
  display: block;
}

h1,
h2,
h3,
h4,
h5,
h6,
p {
  font-size: inherit;
  font-weight: inherit;
}

ul,
ul li {
}

ul li::marker{
	color:var(--accent);
}

img {
  vertical-align: top;
}

img,
svg {
  max-width: 100%;
  height: auto;
}

address {
  font-style: normal;
}

/* Form */

input,
textarea,
button,
select {
  font-family: inherit;
  font-size: inherit;
  color: inherit;
  background-color: transparent;
}

input::-ms-clear {
  display: none;
}

button,
input[type="submit"] {
  display: inline-block;
  -webkit-box-shadow: none;
  box-shadow: none;
  background-color: transparent;
  background: none;
  cursor: pointer;
}

input:focus,
input:active,
button:focus,
button:active {
  outline: none;
}

button::-moz-focus-inner {
  padding: 0;
  border: 0;
}

label {
  cursor: pointer;
}

legend {
  display: block;
}

input[type="file"] {
  max-width: 100%;
}
/* Убирает стрелки в Chrome, Safari, Edge, Opera */
input[type="number"]::-webkit-outer-spin-button,
input[type="number"]::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

/* Убирает стрелки в Firefox */
input[type="number"] {
  -moz-appearance: textfield;
}

.offcanvas-header .btn-close {
  font-size: 20px;
  padding: 14px;
}

@media (max-width: 1200px) {
  .offcanvas.offcanvas-end {
    max-width: 272px;
  }
}

@media (min-width: 1300px) {
  .container,
  .container-lg,
  .container-md,
  .container-sm,
  .container-xl,
  .container-xxl {
    max-width: 1300px;
  }
}

p {
  margin-bottom: 1.6rem;
}

@media (max-width: 1200px) {
  p {
    margin-bottom: 1rem;
  }
}

/* Цвета */
:root {
  --black: #191824;
  --white: #ffffff;
  --bg-table: #fafbff;
  --white-60: rgba(255, 255, 255, 0.6);
  --accent: #00a0e3;
  --laccent: #d5f2fe;
  --bg: #f5f6fa;
  --bggradient1: #5cacc5;
  --bggradient2: #34869f;
  --gray: #9aa8ad;
  --lstroke: #d9d8eb;
  --red: #f11111;
}

/* шрифты */
:root {
  /* толщина шрифтов*/
  --bold: 700;
  --semibold: 600;
  --medium: 500;
  --regular: 400;

  /* размеры */
  --h1-size: 64px/1 "NunitoSans", sans-serif;
  --h2-size: 38px/1.26 "NunitoSans", sans-serif;
  --h3-size: 26px/1.15 "NunitoSans", sans-serif;
  --h3-size-large: 52px/0.5 "NunitoSans", sans-serif;
  --h4-size: 20px/1.2 "NunitoSans", sans-serif;

  --p1: 17px/1.41 "NunitoSans", sans-serif;
  --p2: 15px/1.33 "NunitoSans", sans-serif;
  --p3: 14px/1.29 "NunitoSans", sans-serif;
  --p4: 13px/1.23 "NunitoSans", sans-serif;

  --nav-item: 16px/1.5 "NunitoSans", sans-serif;
  --phone: 22px/1.36 "NunitoSans", sans-serif;
  --button: 18px/1.33 "NunitoSans", sans-serif;
}

@media (max-width: 1200px) {
  /* шрифты */
  :root {
    /* размеры */
    --h1-size: 28px/1 "NunitoSans", sans-serif;
    --h2-size: 24px/1.26 "NunitoSans", sans-serif;
    --h3-size: 22px/1.15 "NunitoSans", sans-serif;
    --h3-size-large: 32px/0.5 "NunitoSans", sans-serif;
    --h4-size: 18px/1.2 "NunitoSans", sans-serif;

    --p1: 15px/1.41 "NunitoSans", sans-serif;
    --p2: 13px/1.33 "NunitoSans", sans-serif;
    --p3: 12px/1.29 "NunitoSans", sans-serif;
    --p4: 11px/1.23 "NunitoSans", sans-serif;

    --nav-item: 15px/1.5 "NunitoSans", sans-serif;
    --phone: 17px/1.36 "NunitoSans", sans-serif;
    --button: 16px/1.33 "NunitoSans", sans-serif;
    --input: 16px/1.33 "NunitoSans", sans-serif;
  }
}

body {
  color: var(--black);
  background-color: var(--bg);
  font-family: "NunitoSans", sans-serif;
}

/* Закругление шраниц */
.br-40 {
  border-radius: 40px;
}

.br-24 {
  border-radius: 24px;
}

.br-16 {
  border-radius: 16px;
}

/* Отступы внутри контейнера */
.p-cnt {
  padding: 56px 48px;
}
.p-cnt2 {
  padding: 40px 56px;
}

.p-cnt3 {
  padding: 56px 64px;
}

.p-cnt-small {
  padding: 24px;
}

.p-cnt-medium {
  padding: 32px;
}

.p-cnt-first-block {
  padding: 86px 62px;
}

@media (max-width: 1200px) {
  .br-40 {
    border-radius: 20px;
  }
  .br-24 {
    border-radius: 16px;
  }

  /* Отступы внутри контейнера */
  .p-cnt,
  .p-cnt2,
  .p-cnt3 {
    padding: 20px;
  }

  .p-cnt-small {
    padding: 20px;
  }

  .p-cnt-medium {
    padding: 20px;
  }

  .p-cnt-first-block {
    padding: 30px 20px;
  }
}

/* цветa */
.border-gray {
  border: 1px solid var(--lstroke);
}

.my-bg-white {
  background-color: var(--white);
}

.my-bg-accent {
  background-color: var(--accent);
}

.my-bg-gradient {
  background: -webkit-gradient(
    linear,
    left top,
    left bottom,
    from(var(--bggradient1)),
    to(var(--bggradient2))
  );
  background: -o-linear-gradient(var(--bggradient1), var(--bggradient2));
  background: linear-gradient(var(--bggradient1), var(--bggradient2));
}

.my-text-black {
  color: var(--black);
}

.my-text-white {
  color: var(--white);
}

.my-text-white-60 {
  color: var(--white-60);
}

.my-text-accent {
  color: var(--accent);
}
.my-text-gray {
  color: #5a6b72;
}

/* классы для шрифтов */
.h1 {
  font: var(--h1-size);
  font-weight: var(--bold);
}

.h2 {
  font: var(--h2-size);
  font-weight: var(--bold);
}

.h3 {
  font: var(--h3-size);
  font-weight: var(--semibold);
}

.h3-large {
  font: var(--h3-size-large);
  font-weight: var(--bold);
}

.h4 {
  font: var(--h4-size);
  font-weight: var(--bold);
}

.p0 {
  font: var(--h4-size);
  font-weight: var(--medium);
  line-height: 1.4;
}

.p1 {
  font: var(--p1);
  font-weight: var(--medium);
}

.p2 {
  font: var(--p2);
  font-weight: var(--semibold);
  line-height: 1.4;
}

.p3 {
  font: var(--p3);
  font-weight: var(--regular);
  line-height: 1.4;
}

.p4 {
  font: var(--p4);
  font-weight: var(--semibold);
}

@media (max-width: 1200px) {
  .table .p1 {
    font: var(--p2);
  }
}

.my-regular {
  font-weight: var(--regular);
}

.my-medium {
  font-weight: var(--medium);
}

.my-semibold {
  font-weight: var(--semibold);
}

.my-bold {
  font-weight: var(--bold);
}

.my-line-height {
  line-height: 1.18;
}

.icon-prem {
  width: 48px;
  height: 48px;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
}

/* Лайтбокс */
.lightbox-overlay {
  position: fixed;
  z-index: 9999;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.9);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.lightbox-trigger {
  cursor: pointer;
}

.lightbox-content {
  position: relative;
  max-width: 90%;
  max-height: 90%;
  width: 100%;
}

.lightbox-content .swiper {
  width: 100%;
  height: 100%;
}

.lightbox-content .swiper-slide {
  text-align: center;
}

.lightbox-image {
  height: 80vh;
  -o-object-fit: contain;
  object-fit: contain;
}

.lightbox-close {
  position: absolute;
  top: 0px;
  right: 0px;
  font-size: 28px;
  color: var(--white);
  cursor: pointer;
  z-index: 10000;
  -webkit-filter: invert(100%);
  filter: invert(100%);
}

.lightbox-overlay .swiper-button-next {
  right: 10px;
  left: auto;
}
.lightbox-overlay .swiper-button-prev {
  left: 10px;
  right: auto;
}

/* Стили форм */
.wpcf7-form p {
  margin-bottom: 0px;
}

textarea.wpcf7-textarea {
  outline: none;
}

.wpcf7-form input.wpcf7-text,
.wpcf7-form textarea.wpcf7-textarea,
.wpcf7-form input.wpcf7-date,
.wpcf7-form select.wpcf7-select {
  background-color: rgba(255, 255, 255, 0.4);
  font: var(--p2);
  border: 1px solid var(--lstroke);
  border-radius: 8px;
  padding: 17px 13px;
  color: var(--white);
  width: 100%;
  margin-bottom: 24px;
  -webkit-transition: all 0.15s ease-in-out;
  -o-transition: all 0.15s ease-in-out;
  transition: all 0.15s ease-in-out;
}

.wpcf7-form textarea.wpcf7-textarea::placeholder,
.wpcf7-form input.wpcf7-text::placeholder {
  color: var(--white);
}

@media (max-width: 1200px) {
  .wpcf7-form input.wpcf7-text,
  .wpcf7-form textarea.wpcf7-textarea,
  .wpcf7-form input.wpcf7-date,
  .wpcf7-form select.wpcf7-select {
    font: var(--input);
  }
}

.wpcf7-form a {
  text-decoration: underline;
  -webkit-transition: all 0.15s ease-in-out;
  -o-transition: all 0.15s ease-in-out;
  transition: all 0.15s ease-in-out;
  color: var(--white);
}

.wpcf7-form a:hover {
  color: var(--laccent);
}

.wpcf7-form input.wpcf7-text:focus,
.wpcf7-form textarea.wpcf7-textarea:focus,
.wpcf7-form input.wpcf7-date:focus,
.wpcf7-form select.wpcf7-select:focus {
  border: 1px solid var(--white);
  background-color: rgba(255, 255, 255, 0.2);
}

.wpcf7-form select.wpcf7-select > option {
  color: var(--black);
}

.wpcf7-form textarea.wpcf7-textarea {
  height: 136px;
}

.wpcf7-spinner {
  display: none;
}

.white-form .wpcf7-form input.wpcf7-text,
.white-form .wpcf7-form textarea.wpcf7-textarea,
.white-form .wpcf7-form input.wpcf7-date,
.white-form .wpcf7-form select.wpcf7-select {
  color: var(--black);
}

.white-form a {
  color: var(--black);
}

.white-form a:hover {
  color: var(--accent);
}

.white-form .wpcf7-form textarea.wpcf7-textarea::placeholder,
.white-form .wpcf7-form input.wpcf7-text::placeholder {
  color: var(--black);
}

.white-form .wpcf7-form input.wpcf7-text:focus,
.white-form .wpcf7-form textarea.wpcf7-textarea:focus,
.white-form .wpcf7-form input.wpcf7-date:focus,
.white-form .wpcf7-form select.wpcf7-select:focus {
  border-color: var(--accent);
}

.white-form .my-text-white {
  color: var(--black);
}

.white-form input[type="submit"].my-btn {
  background-color: var(--accent);
  color: var(--white);
}

.white-form input[type="submit"].my-btn:hover {
  background-color: var(--white);
  color: var(--accent);
  border: 1px solid var(--accent);
}

/* Кнопки */

.my-btn {
  font: var(--button);
  font-weight: var(--bold);
  border-radius: 100px;
}

.btn-black {
  font: var(--button);
  font-weight: var(--bold);
  border-radius: 100px;
  border: 1px solid var(--lstroke);
  color: var(--black);
}

.btn-black:hover {
  color: var(--white);
  background-color: var(--accent);
  border-color: var(--accent);
}

input[type="submit"].my-btn-white {
  background-color: var(--white);
  color: var(--black);
  padding: 16px;
  max-width: 320px;
  width: 100%;
  border: 1px solid var(--white);
  -webkit-transition: all 0.15s ease-in-out;
  -o-transition: all 0.15s ease-in-out;
  transition: all 0.15s ease-in-out;
}

input[type="submit"].my-btn-white:hover {
  background-color: var(--white);
  color: var(--accent);
  border: 1px solid var(--white);
}

@media (min-width: 1200px) {
  .offcanvas {
    display: contents;
    visibility: visible;
  }
  .offcanvas-header {
    display: none;
  }
  .offcanvas-body {
    display: contents;
  }
}

/* Кнопки слайдера */
.swiper-buttons {
  gap: 24px;
}

@media (max-width: 1200px) {
  .swiper-buttons {
    gap: 10px;
  }
}

.swiper-button-prev,
.swiper-button-next {
  border: 1px solid var(--lstroke);
  border-radius: 100px;
  background-color: var(--white);
  width: 48px;
  height: 48px;
  -webkit-transition: all 0.15s ease-in-out;
  -o-transition: all 0.15s ease-in-out;
  transition: all 0.15s ease-in-out;
}

.swiper-button-prev:hover,
.swiper-button-next:hover {
  border-color: var(--accent);
  background-color: var(--accent);
}

.swiper-button-prev::after,
.swiper-button-next::after {
  color: #5a6b72;
  font-size: 18px;
  -webkit-transition: all 0.15s ease-in-out;
  -o-transition: all 0.15s ease-in-out;
  transition: all 0.15s ease-in-out;
}

.swiper-button-prev:hover::after,
.swiper-button-next:hover::after {
  color: var(--white);
}

.swiper-button-prev::after {
  padding-right: 2px;
}
.swiper-button-next::after {
  padding-left: 2px;
}

/* хлебные крошки */
.breadcrumbs {
  font: var(--p3);
  font-size: 16px;
  line-height: 1.5;
  font-weight: var(--bold);
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 10px;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
.breadcrumbs a span {
  color: var(--accent);
  -webkit-transition: all 0.15s ease-in-out;
  -o-transition: all 0.15s ease-in-out;
  transition: all 0.15s ease-in-out;
}

.breadcrumbs a:hover span {
  color: var(--black);
}

.breadcrumbs span {
  color: #5a6b72;
}

/* шапка */
.logo-header {
  -ms-flex-negative: 0;
  flex-shrink: 0;
  width: 42px;
  -o-object-fit: contain;
  object-fit: contain;
}

.social-link-header {
  border: 1px solid var(--gray);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  width: 40px;
  height: 40px;
  border-radius: 100px;
  -webkit-transition: all 0.15s ease-in-out;
  -o-transition: all 0.15s ease-in-out;
  transition: all 0.15s ease-in-out;
  color: #5a6b72;
}

.social-link-header:hover {
  border: 1px solid var(--accent);
  background-color: var(--white);
  color: var(--accent);
}

.btn {
  border-radius: 100px;
  font: var(--button);
  font-weight: var(--bold);
  -webkit-transition: all 0.15s ease-in-out;
  -o-transition: all 0.15s ease-in-out;
  transition: all 0.15s ease-in-out;
}

.btn-header-white {
  border: 1px solid var(--lstroke);
  background-color: var(--white);
  padding: 6px 24px;
  height: 48px;
}

.btn-header-white:hover {
  border: 1px solid var(--accent);
  color: var(--accent);
  background-color: var(--white);
}

.btn-header-accent {
  background-color: var(--accent);
  color: var(--white);
  padding: 6px 18px;
  height: 48px;
  -webkit-transition: all 0.15s ease-in-out;
  -o-transition: all 0.15s ease-in-out;
  transition: all 0.15s ease-in-out;
}

@media (max-width: 1200px) {
  .btn-header-accent {
    padding: 3px;
    height: 40px;
  }
}

.btn-header-accent:hover {
  color: var(--accent);
  border: 1px solid var(--accent);
  background-color: var(--white);
}

.phone-link {
  font: var(--phone);
  font-weight: var(--bold);
  -webkit-transition: all 0.15s ease-in-out;
  -o-transition: all 0.15s ease-in-out;
  transition: all 0.15s ease-in-out;
}

.my-text-accent.phone-link:hover {
  color: var(--black);
}

.my-text-black.phone-link:hover {
  color: var(--accent);
}

.phone-white {
  -webkit-transition: all 0.15s ease-in-out;
  -o-transition: all 0.15s ease-in-out;
  transition: all 0.15s ease-in-out;
}

.phone-white:hover {
  color: var(--laccent);
}

.nav-bottom {
  -webkit-box-shadow: 0px -16px 24px rgba(17, 25, 59, 0.12);
  box-shadow: 0px -16px 24px rgba(17, 25, 59, 0.12);
}
.nav-bottom-cnt {
  gap: 40px;
}

@media (max-width: 1200px) {
  .nav-bottom-cnt {
    gap: 10px;
  }
}

.nav-link {
  font: var(--nav-item);
  font-weight: var(--bold);
  color: var(--black);
  -webkit-transition: all 0.15s ease-in-out;
  -o-transition: all 0.15s ease-in-out;
  transition: all 0.15s ease-in-out;
}

.navbar-nav .nav-link:hover,
.navbar-nav .nav-link.show {
  color: var(--accent);
}

.dropdown-menu {
  border: 1px solid var(--lstroke);
  border-radius: 24px;
}

.navbar-expand-xl .navbar-nav .dropdown-menu .nav-link {
  padding: 6px 20px;
}

/* Первый блок */
.bg-first-block {
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
}

@media (max-width: 1200px) {
  .bg-first-block {
    background-image: none !important;
  }
}

.btn-wa {
  border: 1px solid var(--white);
  color: var(--white);
  padding: 6px 24px;
  height: 48px;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 12px;
  -webkit-transition: all 0.15s ease-in-out;
  -o-transition: all 0.15s ease-in-out;
  transition: all 0.15s ease-in-out;
}

.btn-wa:hover {
  background-color: var(--white);
  border: 1px solid var(--accent);
  color: var(--accent);
}

.btn-white {
  background-color: var(--white);
  padding: 6px 24px;
  height: 48px;
  -webkit-transition: all 0.15s ease-in-out;
  -o-transition: all 0.15s ease-in-out;
  transition: all 0.15s ease-in-out;
}

.btn-white:hover {
  border: 1px solid var(--white);
  color: var(--white);
}

.text-content-services > p:last-child {
  margin-bottom: 0px;
}

.text-content-services h2 {
  color: var(--black);
  font: var(--h2-size);
  font-weight: var(--bold);
}

.text-content-services h3 {
  color: var(--black);
  font: var(--h4-size);
  font-weight: var(--semibold);
}

.text-content-services ul,
.text-content-services ul li {
  list-style: inherit;
}

/* Схема работы */
.scheme-count {
  width: 32px;
  height: 32px;
  border-radius: 100px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  color: var(--accent);
  font: var(--h4-size);
  font-weight: var(--bold);
  background-color: var(--laccent);
}
.scheme-title {
  min-height: 48px;
}

@media (max-width: 1200px) {
  .scheme-title {
    min-height: auto;
  }
}

/* Противопоказания к детоксикации */
.contraindications-img {
  width: 320px;
  height: 320px;
  border-radius: 300px;
  background-size: cover;
}

.contraindications-items {
  font: var(--h4-size);
  font-weight: var(--semibold);
}

.contraindications-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 16px;
}

@media (max-width: 1200px) {
  .contraindications-item {
    gap: 10px;
  }
}

.contraindications-item::before {
  content: "";
  width: 18px;
  height: 2px;
  background-color: var(--red);
  -ms-flex-negative: 0;
  flex-shrink: 0;
}

/* Наши гарантии */

.icon_guarantees {
  width: 72px;
  height: 72px;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
}

.guarantees-items {
  font: var(--h4-size);
  font-weight: var(--semibold);
}
.guarantees-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 16px;
  margin-bottom: 18px;
}

@media (max-width: 1200px) {
  .guarantees-item {
    gap: 10px;
  }
}

.guarantees-item:last-child {
  margin-bottom: 0px;
}
.guarantees-item::before {
  content: "+";
  font-size: 36px;
  line-height: 36px;
  color: var(--accent);
  margin-top: -6px;
}

/* Заявка на консультацию */
.my-btn-consultation {
  max-width: 320px;
  width: 100%;
}

/* Лечащие врачи */
.doctors-img {
  width: 100%;
  height: 360px;
  -o-object-fit: cover;
  object-fit: cover;
}

.doctors-info {
  min-height: 135px;
}

@media (max-width: 1200px) {
  .doctors-info {
    min-height: auto;
  }
}

/* Специфика лечения */

.text-specifics {
  -webkit-column-width: 46%;
  -moz-column-width: 46%;
  column-width: 46%;
  -webkit-column-count: 2;
  -moz-column-count: 2;
  column-count: 2;
  -webkit-column-gap: 8%;
  -moz-column-gap: 8%;
  column-gap: 8%;
  margin-bottom: -24px;
}

@media (max-width: 1200px) {
  .text-specifics {
    -webkit-column-count: 1;
    -moz-column-count: 1;
    column-count: 1;
  }
}

.text-specifics h3 {
  color: var(--black);
  font: var(--h4-size);
  font-weight: var(--semibold);
  margin-bottom: 24px;
}

.text-specifics .wp-video,
.text-specifics iframe,
.text-specifics img {
  border-radius: 24px;
  margin-bottom: 40px;
}

.text-specifics video,
.text-specifics .mejs-container,
.text-specifics .mejs-controls {
  border-radius: 24px;
}

.text-specifics p {
  margin-bottom: 48px;
  display: inline-block;
}

.text-specifics ul {
  padding-left: 0;
  color: var(--black);
  margin-bottom: 48px;
}

.text-specifics li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 12px;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  margin-bottom: 16px;
}

.text-specifics li::before {
  content: "•";
  color: var(--accent);
  font-size: 12px;
}

/* Цены на Детоксикацию */
.table > tbody {
  border-top: 1px solid var(--lstroke);
}
.table-striped > tbody > tr:nth-of-type(2n) > * {
  background-color: var(--bg-table);
}

.table > :not(caption) > * > * {
  -webkit-box-shadow: none;
  box-shadow: none;
  border-color: var(--lstroke);
}

.table > :not(caption) > * > th {
  color: #5a6b72;
}

/* Методы лечения */

.text-content h3 {
  color: var(--black);
  font: var(--h4-size);
  font-weight: var(--semibold);
  margin-bottom: 24px;
  margin-top: 48px;
}

.text-content .wp-video,
.text-content iframe,
.text-content img {
  border-radius: 24px;
  margin-bottom: 40px;
}

.text-content .alignleft {
  float: left;
  margin: 0.5em 6em 0.5em 0;
}

.text-content .alignright {
  float: right;
  margin: 0.5em 0 0.5em 6em;
}

.text-content p {
  font: var(--p1);
  font-weight: var(--medium);
  color: #5a6b72;
  margin-bottom: 24px;
}

.text-content ol {
  padding-left: 20px;
  color: var(--black);
  margin-bottom: 48px;
  list-style-type: decimal;
}

.text-content ul {
  padding-left: 0;
  color: var(--black);
  margin-bottom: 48px;
}

.text-content li {
  margin-bottom: 24px;
  font: var(--p1);
  font-weight: var(--semibold);
}

.text-content ul li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 12px;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.text-content ul li::before {
  content: "•";
  color: var(--accent);
  font-size: 12px;
}

.text-content blockquote {
  border: 1px solid var(--lstroke);
  border-radius: 24px;
  padding: 24px;
  width: 33%;
  display: inline-flex;
  flex-direction: column;
}

.text-content blockquote p {
  color: #5a6b72;
  font: var(--p1);
  font-weight: var(--medium);
  margin-bottom: 0;
}

.text-content blockquote h3,
.text-content blockquote h4 {
  font: var(--h4-size);
  font-weight: var(--bold);
}

.methods-img {
  width: 100%;
  max-width: 540px;
}

.list-methods ol,
.list-methods ul {
  padding-left: 1.5rem;
}

.list-methods li {
  margin-bottom: 24px;
}

.author-img {
  width: 96px;
  height: 96px;
  -o-object-fit: cover;
  object-fit: cover;
}

@media (max-width: 1200px) {
  .author-img {
    width: 74px;
    height: 74px;
  }
  .author-block .h3 {
    font: var(--h4-size);
  }
  .author-block .h4 {
    font: var(--p3);
  }
  .author-block .p1 {
    font: var(--p4);
  }
}

/* Отзывы */
.rev-count {
  padding: 2px 12px;
}

.rev-img-logo {
  height: 26px;
  max-width: 160px;
  width: 100%;
  object-fit: contain;
  object-position: left;
}

/* Лицензия */
.licenzia-block .h3 {
  line-height: 1.5;
}

.licenzia-img {
  width: 100%;
  max-width: 280px;
  height: 400px;
}

@media (max-width: 1200px) {
  .licenzia-img {
    width: 100%;
    max-width: inherit;
    height: inherit;
  }
}

/* Карта */
.map-widget > iframe {
  border-radius: 40px;
}
@media (max-width: 1200px) {
  .map-widget > iframe {
    border-radius: 20px;
  }
}

/* Условия при прохождении лечения */
.living-conditions-img {
  width: 100%;
  height: 360px;
  -o-object-fit: cover;
  object-fit: cover;
}

/* Что из этого получится? */
.what-will-come .grid-5 {
  gap: 50px;
}
@media (max-width: 1200px) {
  .what-will-come .h4 {
    font: var(--p1);
    font-weight: var(--bold);
  }
}

.img-what-will-come {
  width: 48px;
  height: 48px;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
}

/* faq */

.accordion-item .accordion-header .accordion-button {
  background-color: inherit;
  border: none;
  outline: none;
  -webkit-box-shadow: none;
  box-shadow: none;
  border-radius: 24px;
}

.accordion-item:first-of-type {
  border-top-left-radius: 24px;
  border-top-right-radius: 24px;
}

.accordion-item:last-of-type {
  border-bottom-right-radius: 24px;
  border-bottom-left-radius: 24px;
}

.accordion-button::after {
  background-image: url("data:image/svg+xml,%3Csvg width='12' height='12' viewBox='0 0 12 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5.96191 0C6.51412 9.78937e-06 6.9618 0.447815 6.96191 1V4.96094H10.9229C11.4751 4.96094 11.9228 5.40867 11.9229 5.96094C11.9229 6.51322 11.4751 6.96094 10.9229 6.96094H6.96191V10.9229C6.96191 11.4751 6.51419 11.9228 5.96191 11.9229C5.40963 11.9229 4.96191 11.4751 4.96191 10.9229V6.96094H1C0.44787 6.96076 0 6.51311 0 5.96094C2.06046e-05 5.40878 0.447882 4.96112 1 4.96094H4.96191V1C4.96202 0.447809 5.4097 0 5.96191 0Z' fill='%239AA8AD'/%3E%3C/svg%3E");
  width: 36px;
  height: 36px;
  border-radius: 100px;
  background-color: var(--bg);
  background-position: center;
  background-size: 12px;
  -webkit-transition: all 0.15s ease-in-out;
  -o-transition: all 0.15s ease-in-out;
  transition: all 0.15s ease-in-out;
}

.accordion-button:hover::after {
  background-color: var(--accent);
  background-image: url("data:image/svg+xml,%3Csvg width='12' height='12' viewBox='0 0 12 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5.96191 0C6.51412 9.78937e-06 6.9618 0.447815 6.96191 1V4.96094H10.9229C11.4751 4.96094 11.9228 5.40867 11.9229 5.96094C11.9229 6.51322 11.4751 6.96094 10.9229 6.96094H6.96191V10.9229C6.96191 11.4751 6.51419 11.9228 5.96191 11.9229C5.40963 11.9229 4.96191 11.4751 4.96191 10.9229V6.96094H1C0.44787 6.96076 0 6.51311 0 5.96094C2.06046e-05 5.40878 0.447882 4.96112 1 4.96094H4.96191V1C4.96202 0.447809 5.4097 0 5.96191 0Z' fill='white'/%3E%3C/svg%3E");
}

.accordion-button:not(.collapsed) {
  color: var(--black);
}
.accordion-button:not(.collapsed)::after {
  background-color: var(--accent);
  background-image: url("data:image/svg+xml,%3Csvg width='12' height='2' viewBox='0 0 12 2' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M10.9229 0C11.4751 0 11.9228 0.447733 11.9229 1C11.9229 1.55228 11.4751 2 10.9229 2H1C0.44787 1.99982 0 1.55217 0 1C2.06046e-05 0.447845 0.447882 0.000181625 1 0H10.9229Z' fill='white'/%3E%3C/svg%3E");
}

/* Футер */
.footer-border {
  border-top: 1px solid var(--lstroke);
}

.rating-company {
  width: 150px;
  max-width: 100%;
  height: 50px;
  overflow: visible;
}

.rating-company > iframe {
  display: block;
  width: 150px;
  max-width: 100%;
  height: 50px;
  border: 0;
  transform: none;
}

.footer-title {
  font: var(--nav-item);
  font-weight: var(--bold);
  color: var(--black);
}

.site-footer .nav-link {
  font: var(--p2);
  font-weight: var(--semibold);
}

.nav-footer .nav-link {
  margin-bottom: 10px;
}

.grid-5,
.grid-5-services {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 16px 1fr 16px 1fr 16px 1fr 16px 1fr;
  grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
  gap: 16px;
}

.grid-4-services {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 16px 1fr 16px 1fr 16px 1fr;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  gap: 32px;
}

/* Keep the long alcohol-treatment group balanced beside the other services. */
@media (min-width: 1201px) {
  .grid-4-services > :first-child {
    grid-column: span 2;
    columns: 2;
    column-gap: 32px;
  }
  .grid-4-services > :first-child > .h3 {
    column-span: all;
  }
  .grid-4-services > :first-child > a:not(.h3) {
    break-inside: avoid-column;
  }
}

.region-item::before {
  content: "•";
  padding: 8px;
}

.site-header {
  position: static;
  z-index: 1000;
  background-color: var(--bg);
  transition: top 0.3s;
}

@media (max-width: 1200px) {
  .site-header {
    border-bottom: 1px solid var(--lstroke);
    position: sticky;
  }
  .logo-header {
    width: 36px;
  }
  .navbar-toggler {
    border: 1px solid var(--gray);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    width: 40px;
    height: 40px;
    border-radius: 100px;
    -webkit-transition: all 0.15s ease-in-out;
    -o-transition: all 0.15s ease-in-out;
    transition: all 0.15s ease-in-out;
    color: #5a6b72;
  }

  .navbar-toggler:hover {
    border: 1px solid var(--accent);
    background-color: var(--white);
    color: var(--accent);
  }
  .btn {
    width: 100%;
  }

  .contraindications-img {
    width: 297px;
    height: 297px;
  }

  .video > iframe {
    width: 297px;
    height: 168px;
  }
  .grid-5 {
    -ms-grid-columns: 1fr 1fr;
    grid-template-columns: 1fr 1fr;
  }
  .grid-5-services,
  .grid-4-services {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
  }
}

/* Страница услуги */

.price {
  background-color: var(--black);
  border-radius: 100px;
  padding: 10px 16px;
}

.price-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: start;
  gap: 16px;
  margin-bottom: 20px;
}

@media (max-width: 1200px) {
  .price-item {
    gap: 10px;
  }
}

.price-item:last-child {
  margin-bottom: 0px;
}
.price-item::before {
  content: "+";
  font-size: 36px;
  line-height: 36px;
  color: var(--accent);
  margin-top: -6px;
}

/* Страница услуг */
.services-slider .btn {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding: 6px 75px;
  height: 56px;
}

@media (max-width: 1200px) {
  .services-slider .btn {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    padding: 6px 20px;
    height: 48px;
  }
}

.tezis{
	list-style:none;
}


.tezis li::before {
  content: "•";
  font-size: var(--p1);
  padding-right: 10px;
  padding-left: 8px;
}

.modal-dialog {
  max-width: 950px;
}

@media (max-width: 1200px) {
  .modal-dialog {
    max-width: calc(100% - 20px);
  }
}

/* Другие услуги */
.other-services-img {
  width: 100%;
  height: 360px;
  -o-object-fit: cover;
  object-fit: cover;
}

.content-img {
  width: 100%;
  object-fit: cover;
}

.video-block {
  width: 100%;
  max-width: 1024px;
  margin: auto;
  background-color: var(--lstroke);
}

.services-card {
  cursor: pointer;
}
.services-card a {
  -webkit-transition: all 0.15s ease-in-out;
  -o-transition: all 0.15s ease-in-out;
  transition: all 0.15s ease-in-out;
}
.services-card:hover a {
  color: var(--accent);
}

@media (max-width: 1200px) {
  .table-responsive .table {
    min-width: 400px;
  }

  .table-responsive .table th {
    max-width: 150px;
  }
}

.wpcf7-form-control.wpcf7-date::-webkit-calendar-picker-indicator {
  display: block;
  -webkit-appearance: auto;
  appearance: auto;
  opacity: 1;
  position: relative;
  z-index: 3;
  background-image: url('data:image/svg+xml;utf8,<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M12.5 3.33341V2.50008C12.5 2.04008 12.8733 1.66675 13.3333 1.66675C13.7933 1.66675 14.1667 2.04008 14.1667 2.50008V3.33341C16.0075 3.33341 17.5 4.82591 17.5 6.66675V15.0001C17.5 16.8409 16.0075 18.3334 14.1667 18.3334C11.7833 18.3334 8.21583 18.3334 5.83333 18.3334C3.9925 18.3334 2.5 16.8409 2.5 15.0001V6.66675C2.5 4.82591 3.9925 3.33341 5.83333 3.33341V2.50008C5.83333 2.04008 6.20667 1.66675 6.66667 1.66675C7.12667 1.66675 7.5 2.04008 7.5 2.50008V3.33341H12.5ZM15.8333 10.0001H4.16667V15.0001C4.16667 15.9201 4.9125 16.6667 5.83333 16.6667H14.1667C15.0867 16.6667 15.8333 15.9201 15.8333 15.0001V10.0001ZM14.1667 5.00008V5.83342C14.1667 6.29342 13.7933 6.66675 13.3333 6.66675C12.8733 6.66675 12.5 6.29342 12.5 5.83342V5.00008H7.5V5.83342C7.5 6.29342 7.12667 6.66675 6.66667 6.66675C6.20667 6.66675 5.83333 6.29342 5.83333 5.83342V5.00008C4.9125 5.00008 4.16667 5.74591 4.16667 6.66675V8.33342H15.8333V6.66675C15.8333 5.74591 15.0867 5.00008 14.1667 5.00008Z" fill="white"/></svg>');
  background-size: 18px;
  background-repeat: no-repeat;
  cursor: pointer;
}

.wpcf7-form-control.wpcf7-select {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="%23fff" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg>');
  background-repeat: no-repeat;
  background-position: right 15px center;
  background-size: 18px;
}
.wpcf7-form-control.wpcf7-select.timeselect {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  background-image: url('data:image/svg+xml;utf8,<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M10 3C6.13401 3 3 6.13401 3 10C3 13.866 6.13401 17 10 17C13.866 17 17 13.866 17 10C17 6.13401 13.866 3 10 3ZM1 10C1 5.02944 5.02944 1 10 1C14.9706 1 19 5.02944 19 10C19 14.9706 14.9706 19 10 19C5.02944 19 1 14.9706 1 10ZM10 5C10.5523 5 11 5.44772 11 6V9.4338L13.0145 10.6425C13.4881 10.9267 13.6416 11.5409 13.3575 12.0145C13.0733 12.4881 12.4591 12.6416 11.9855 12.3575L9.4855 10.8575C9.1843 10.6768 9 10.3513 9 10V6C9 5.44772 9.4477 5 10 5Z" fill="white"/></svg>');
  background-repeat: no-repeat;
  background-position: right 15px center;
  background-size: 18px;
}

.white-form .wpcf7-form-control.wpcf7-date::-webkit-calendar-picker-indicator {
  display: block;
  -webkit-appearance: auto;
  appearance: auto;
  opacity: 1;
  position: relative;
  z-index: 3;
  background-image: url('data:image/svg+xml;utf8,<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M12.5 3.33341V2.50008C12.5 2.04008 12.8733 1.66675 13.3333 1.66675C13.7933 1.66675 14.1667 2.04008 14.1667 2.50008V3.33341C16.0075 3.33341 17.5 4.82591 17.5 6.66675V15.0001C17.5 16.8409 16.0075 18.3334 14.1667 18.3334C11.7833 18.3334 8.21583 18.3334 5.83333 18.3334C3.9925 18.3334 2.5 16.8409 2.5 15.0001V6.66675C2.5 4.82591 3.9925 3.33341 5.83333 3.33341V2.50008C5.83333 2.04008 6.20667 1.66675 6.66667 1.66675C7.12667 1.66675 7.5 2.04008 7.5 2.50008V3.33341H12.5ZM15.8333 10.0001H4.16667V15.0001C4.16667 15.9201 4.9125 16.6667 5.83333 16.6667H14.1667C15.0867 16.6667 15.8333 15.9201 15.8333 15.0001V10.0001ZM14.1667 5.00008V5.83342C14.1667 6.29342 13.7933 6.66675 13.3333 6.66675C12.8733 6.66675 12.5 6.29342 12.5 5.83342V5.00008H7.5V5.83342C7.5 6.29342 7.12667 6.66675 6.66667 6.66675C6.20667 6.66675 5.83333 6.29342 5.83333 5.83342V5.00008C4.9125 5.00008 4.16667 5.74591 4.16667 6.66675V8.33342H15.8333V6.66675C15.8333 5.74591 15.0867 5.00008 14.1667 5.00008Z" fill="%2300A0E3"/></svg>');
  background-size: 18px;
  background-repeat: no-repeat;
  cursor: pointer;
}

.white-form .wpcf7-form-control.wpcf7-select {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="%2300A0E3" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg>');
  background-repeat: no-repeat;
  background-position: right 15px center;
  background-size: 18px;
}
.white-form .wpcf7-form-control.wpcf7-select.timeselect {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  background-image: url('data:image/svg+xml;utf8,<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M10 3C6.13401 3 3 6.13401 3 10C3 13.866 6.13401 17 10 17C13.866 17 17 13.866 17 10C17 6.13401 13.866 3 10 3ZM1 10C1 5.02944 5.02944 1 10 1C14.9706 1 19 5.02944 19 10C19 14.9706 14.9706 19 10 19C5.02944 19 1 14.9706 1 10ZM10 5C10.5523 5 11 5.44772 11 6V9.4338L13.0145 10.6425C13.4881 10.9267 13.6416 11.5409 13.3575 12.0145C13.0733 12.4881 12.4591 12.6416 11.9855 12.3575L9.4855 10.8575C9.1843 10.6768 9 10.3513 9 10V6C9 5.44772 9.4477 5 10 5Z" fill="%2300A0E3"/></svg>');
  background-repeat: no-repeat;
  background-position: right 15px center;
  background-size: 18px;
}

@media (min-width: 1200px) {
  .navbar-expand-xl .navbar-nav .dropdown-menu {
    position: absolute;
    width: 230px;
  }
  .mb-xl-5 {
    margin-bottom: 2rem !important;
  }
}

.text-content-services h2, #specifics h2, #methods h2 {
    font: var(--h2-size);
    font-weight: var(--bold);
    margin-bottom: 20px;
}
.text-content-services h3, #specifics h3, #methods h3 {
    font: var(--h3-size);
    font-weight: var(--bold);
    margin-bottom: 20px;
}
.text-content-services h4, #specifics h4, #methods h4 {
    font: var(--h4-size);
    font-weight: var(--bold);
    margin-bottom: 20px;
}

/* Contact Form 7: visible progress without moving the submit button. */
.wpcf7-form .mcnl-submit-wrap {
  display: inline-block;
  position: relative;
  width: 320px;
  max-width: 100%;
  vertical-align: middle;
}
.wpcf7-form .mcnl-submit-wrap .wpcf7-submit {
  display: block;
}
.wpcf7-form.mcnl-submitting .wpcf7-submit {
  cursor: progress;
  opacity: .75;
}
.wpcf7-form.mcnl-submitting .mcnl-submit-wrap .wpcf7-spinner {
  display: block;
  visibility: visible;
  position: absolute;
  top: 50%;
  right: 16px;
  margin: 0;
  transform: translateY(-50%);
  pointer-events: none;
}

/* Page not found */
.mcnl-error-page {
  padding: clamp(24px, 2vw, 40px) 0 clamp(88px, 10vw, 144px);
}
.mcnl-error-hero {
  max-width: 800px;
  margin: 0 auto;
  padding: 0 clamp(4px, 2vw, 24px);
  text-align: center;
}
.mcnl-error-heading {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  margin-bottom: 20px;
}
.mcnl-error-number {
  color: #73c9ed;
  font-family: NunitoSans, sans-serif;
  font-size: clamp(88px, 10vw, 128px);
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  letter-spacing: -.09em;
  line-height: .9;
}
.mcnl-error-heading h1 {
  max-width: 600px;
  color: var(--black);
  font-size: clamp(36px, 4vw, 60px);
  font-weight: 700;
  letter-spacing: -.035em;
  line-height: 1.08;
  text-wrap: balance;
}
.mcnl-error-description {
  max-width: 610px;
  margin: 0 auto;
  color: #5a6b72;
  font-size: 18px;
  line-height: 1.5;
}
.mcnl-error-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
  justify-content: center;
  margin-top: 32px;
}
.mcnl-error-actions a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 50px;
  padding: 11px 24px;
  border: 1px solid transparent;
  border-radius: 100px;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.25;
  text-align: center;
  transition: background-color .2s ease, border-color .2s ease, color .2s ease, transform .2s ease;
}
.mcnl-error-actions a:active { transform: translateY(1px); }
.mcnl-error-primary { background: #007eaf; color: var(--white); }
.mcnl-error-primary:hover,
.mcnl-error-primary:focus-visible { background: #006991; color: var(--white); }
.mcnl-error-actions .mcnl-error-secondary { border-color: #007eaf; color: #006991; }
.mcnl-error-secondary:hover,
.mcnl-error-secondary:focus-visible { background: var(--laccent); color: #006991; }
.mcnl-error-actions a:focus-visible,
.mcnl-error-help a:focus-visible { outline: 3px solid #007eaf; outline-offset: 3px; }
.mcnl-error-help {
  max-width: 610px;
  margin: 44px auto 0;
  padding-top: 20px;
  border-top: 1px solid var(--lstroke);
  color: #5a6b72;
  font-size: 16px;
  line-height: 1.5;
}
.mcnl-error-help a { color: #006991; font-weight: 700; white-space: nowrap; }
.mcnl-error-help a:hover { color: var(--black); }
@media (max-width: 575.98px) {
  .mcnl-error-page { padding: 40px 0 76px; }
  .mcnl-error-heading { gap: 16px; margin-bottom: 20px; }
  .mcnl-error-number { font-size: clamp(58px, 18vw, 80px); }
  .mcnl-error-heading h1 { font-size: clamp(26px, 7vw, 32px); }
  .mcnl-error-description { font-size: 16px; }
  .mcnl-error-actions { margin-top: 24px; }
  .mcnl-error-actions a { min-height: 48px; padding: 10px 18px; }
  .mcnl-error-help { margin-top: 32px; font-size: 15px; }
}

/* Click-to-call in the compact header and at the top of the open menu. */
.mcnl-mobile-phone {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-width: 44px;
  min-height: 44px;
  margin-right: 8px;
  padding: 0 12px;
  border: 1px solid var(--lstroke);
  border-radius: 999px;
  color: #006991;
  font-weight: 700;
  white-space: nowrap;
}
.mcnl-mobile-phone svg { flex: none; }
.mcnl-mobile-phone:hover,
.mcnl-mobile-phone:focus-visible {
  border-color: #007eaf;
  background: var(--white);
  color: #006991;
}
.mcnl-mobile-phone-text { display: none; }
.mcnl-offcanvas-phone {
  display: flex;
  align-items: center;
  min-height: 48px;
  margin-bottom: 16px;
  padding: 10px 16px;
  border-radius: 16px;
  background: var(--laccent);
  color: #006991;
  font-size: 17px;
  font-weight: 700;
}
.mcnl-offcanvas-phone:hover,
.mcnl-offcanvas-phone:focus-visible { color: #005a80; }
@media (min-width: 576px) and (max-width: 1199.98px) {
  .mcnl-mobile-phone-text { display: inline; }
}
@media (max-width: 575.98px) {
  .mcnl-mobile-phone { width: 44px; padding: 0; }
}

/* Readable consent and Contact Form 7 validation across all forms. */
.mcnl-consent { color: #191824; }
.wpcf7-form .mcnl-consent a { color: #191824; }
.my-bg-accent .mcnl-consent, .my-bg-accent .wpcf7-form .mcnl-consent a { color: #fff; }
.white-form .mcnl-consent, .modal-body .mcnl-consent { color: #191824; }
.white-form .wpcf7-form .mcnl-consent a, .modal-body .wpcf7-form .mcnl-consent a { color: #006991; }
.wpcf7-form .mcnl-consent .wpcf7-list-item { margin: 0; }
.wpcf7-form .mcnl-consent label {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  min-height: 44px;
  cursor: pointer;
  line-height: 1.4;
}
.wpcf7-form .mcnl-consent input[type=checkbox] {
  flex: none;
  width: 22px;
  height: 22px;
  margin: 1px 0 0;
  accent-color: #006991;
  cursor: pointer;
}
.wpcf7-form .wpcf7-form-control-wrap { position: relative; display: inline-block; width: 100%; }
.wpcf7-form .wpcf7-not-valid-tip {
  position: absolute;
  z-index: 10;
  left: 0;
  top: calc(100% - 21px);
  width: max-content;
  max-width: min(320px, 90vw);
  padding: 2px 6px;
  border: 1px solid #b3261e;
  border-radius: 6px;
  background: #fff;
  color: #b3261e;
  font-size: 13px;
  line-height: 1.15;
  box-shadow: 0 3px 10px rgba(25, 24, 36, .12);
  pointer-events: none;
}
.wpcf7-form .mcnl-consent .wpcf7-not-valid-tip { top: calc(100% - 1px); }
.wpcf7-form .wpcf7-not-valid-tip { visibility: hidden; }
.wpcf7-form .wpcf7-form-control-wrap:hover .wpcf7-not-valid-tip,
.wpcf7-form .wpcf7-form-control-wrap:focus-within .wpcf7-not-valid-tip { visibility: visible; }
/* Client-side errors stay visible after blur and take up their own space. */
.wpcf7-form .mcnl-client-tip {
  position: static;
  visibility: visible;
  margin-top: 6px;
}

.wpcf7-form .wpcf7-not-valid { border-color: #b3261e !important; }
.wpcf7-form .mcnl-consent .wpcf7-acceptance.wpcf7-not-valid input[type=checkbox] { outline: 2px solid #b3261e; outline-offset: 2px; }
.wpcf7-form .wpcf7-response-output,
.wpcf7-form.init .wpcf7-response-output {
  display: block !important;
  visibility: hidden;
  box-sizing: border-box;
  min-height: 64px;
  margin: 16px 0 0;
  padding: 14px 18px;
  border: 2px solid #b3261e !important;
  border-radius: 12px;
  background: #fff;
  color: #b3261e;
  font-size: 16px;
  font-weight: 600;
  line-height: 1.4;
}
.wpcf7-form.invalid .wpcf7-response-output,
.wpcf7-form.failed .wpcf7-response-output,
.wpcf7-form.spam .wpcf7-response-output,
.wpcf7-form.unaccepted .wpcf7-response-output,
.wpcf7-form.sent .wpcf7-response-output { visibility: visible; }
.wpcf7-form.sent .wpcf7-response-output { border-color: #1d7047 !important; color: #1d7047; }
@media (max-width: 575.98px) {
  .wpcf7 form.wpcf7-form .wpcf7-response-output { min-height: 112px; }
}
@media (max-width: 360px) {
  .wpcf7 form.wpcf7-form .wpcf7-response-output { min-height: 152px; }
}

/* Dark text on the blue panels keeps the requested contrast. */
.my-bg-accent.my-text-gray, .my-bg-accent .h3, h3.accordion-header { color: #191824; }

/* Keep the long alcohol-treatment group balanced beside the other services. */
@media (min-width: 1201px) {
  .grid-4-services > :first-child {
    grid-column: span 2;
    columns: 2;
    column-gap: 32px;
  }
  .grid-4-services > :first-child > .h3 {
    column-span: all;
  }
  .grid-4-services > :first-child > a:not(.h3) {
    break-inside: avoid-column;
  }
}



/* Blog category navigation on the index and article pages. */
.mcnl-blog-layout { display: grid; grid-template-columns: 270px minmax(0, 1fr); gap: 32px; align-items: start; }
.mcnl-blog-layout > * { min-width: 0; }
.mcnl-blog-layout .text-content iframe { max-width: 100%; aspect-ratio: 16 / 9; height: auto !important; }
.mcnl-blog-sidebar { margin: 24px 0; padding: 24px; border: 1px solid var(--lstroke); border-radius: 24px; background: var(--white); }
.mcnl-blog-sidebar-title { margin: 0 0 20px; }
.mcnl-blog-category-nav { display: flex; flex-direction: column; gap: 8px; }
.mcnl-blog-category-nav a { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px; border-radius: 12px; color: #5a6b72; font-size: 15px; line-height: 1.4; }
.mcnl-blog-category-nav a:hover, .mcnl-blog-category-nav a:focus-visible, .mcnl-blog-category-nav a.is-active { background: var(--laccent); color: #006991; }
.mcnl-blog-category-nav a:focus-visible { outline: 2px solid #006991; outline-offset: 2px; }
.mcnl-blog-category-count { flex: none; color: #5a6b72; }
.mcnl-blog-layout .wp-block-latest-posts { margin: 24px 0; padding: 0; list-style: none; }
.mcnl-blog-layout .wp-block-latest-posts li { margin: 0 0 20px; padding: 0 0 20px; border-bottom: 1px solid var(--lstroke); }
.mcnl-blog-layout .wp-block-latest-posts a { font: var(--h4-size); font-weight: var(--semibold); color: #006991; }
.mcnl-blog-layout .wp-block-latest-posts time { display: block; margin-top: 8px; color: #5a6b72; font-size: 14px; }
.mcnl-blog-layout ul.page-numbers { display: flex; flex-wrap: wrap; gap: 8px; margin: 24px 0; padding: 0; list-style: none; }
.mcnl-blog-layout ul.page-numbers li { margin: 0; padding: 0; }
.mcnl-blog-layout ul.page-numbers li::before { display: none; }
.mcnl-blog-layout ul.page-numbers a, .mcnl-blog-layout ul.page-numbers span { display: inline-flex; align-items: center; justify-content: center; min-width: 40px; min-height: 40px; padding: 8px 12px; border: 1px solid var(--lstroke); border-radius: 12px; font-size: 16px; line-height: 1.4; }
.mcnl-blog-layout ul.page-numbers .current { color: #fff; background: #006991; border-color: #006991; }
.mcnl-blog-layout ul.page-numbers a:focus-visible { outline: 2px solid #006991; outline-offset: 2px; }
@media (max-width: 767.98px) { .mcnl-blog-layout { grid-template-columns: minmax(0, 1fr); gap: 0; } .mcnl-blog-sidebar { margin: 12px 0; padding: 20px; } }
