/*Theme Name: ДМС */
/* Google Fonts removed: project uses local TT Chocolate only. */
@font-face {
  font-family: 'TT Chocolate';
  src: url('/frontend/src/app/fonts/TT_Chocolates_Regular.woff') format('woff');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'TT Chocolate';
  src: url('/frontend/src/app/fonts/TT_Chocolates_Medium.woff') format('woff');
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'TT Chocolate';
  src: url('/frontend/src/app/fonts/TT_Chocolates_Bold.woff') format('woff');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
:root {
  --green-1: #01a24d;
  --green-2: #00bf5a;
  --green-3: #007437;
  --white: #fff;
  --black: #000;
  --grey-1: #f1f1f5;
  --grey-2: #bbb;
  --yellow: #ffd96a;
  --pink: #f9aae8;
  --red-1: #f33;
  --red-2: #cf0101;
  --color: #898989;
  --grassy: #0c432f;
  --bedge: #faf7f2;
  --footer-bg: #0c432f;
  --pastel-green: #E5F6ED;
  --font-family: 'TT Chocolate', sans-serif;
  --second-family: 'TT Chocolate', sans-serif;
}
/* [form-group, checkbox-wrap — перенесены в frontend/src/app/styles/home.css] */
html {
  font-size: 16px;
}
body {
  min-width: 320px;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  font-optical-sizing: none;
  font-style: normal;
  font-weight: 400;
  line-height: 1.2;
  background: #fff;
  font-family: var(--font-family);
  font-synthesis: none;
  font-variant-ligatures: none;
  font-feature-settings: "liga" 0, "clig" 0, "calt" 0;
  text-rendering: optimizeLegibility;
}

/* Sticky footer: при малом контенте футер прижат к низу окна. */
.header,
.footer {
  flex-shrink: 0;
}

.footer {
  margin-top: auto;
}

/* Не задавайте font-weight/font-family здесь: у * специфичность ниже классов,
   но правило применяется к каждому узлу и ломает наследование (например .agg-card__btn). */
*,
*::before,
*::after {
  font-family: var(--font-family);
  font-synthesis: none;
}

h1,
h2,
h3,
h4,
h5,
h6,
b,
strong {
  font-weight: 500;
}

/* Единый шрифт в шапке и футере на всех страницах */
.header,
.footer {
  font-family: 'TT Chocolate', var(--font-family);
}
.header button,
.header input,
.header select,
.header textarea,
.footer button,
.footer input,
.footer select,
.footer textarea {
  font-family: inherit;
}
input[type='submit'],
input[type='button'] {
  /* ios */
  -moz-appearance: none;
  -webkit-appearance: none;
}
input::-webkit-input-placeholder {
  opacity: 1;
  color: #bbb;
}
input::-moz-placeholder {
  opacity: 1;
  color: #bbb;
}
input:-moz-placeholder {
  opacity: 1;
  color: #bbb;
}
input::placeholder {
  opacity: 1;
  color: #bbb;
}
textarea::-webkit-input-placeholder {
  opacity: 1;
  color: #bbb;
}
textarea::-moz-placeholder {
  opacity: 1;
  color: #bbb;
}
textarea:-moz-placeholder {
  opacity: 1;
  color: #bbb;
}
textarea::placeholder {
  opacity: 1;
  color: #bbb;
}
input[type='tel'],
input[type='text'],
input[type='email'] {
  border-radius: 10px;
  background: #fff;
  border: 1px solid var(--color);
  width: 100%;
  height: 60px;
  box-sizing: border-box;
  display: block;
  font-family: var(--font-family);
  font-weight: 400;
  font-size: 16px;
  line-height: 1.22222;
  color: var(--grey-2);
  padding-left: 20px;
  padding-right: 14px;
  color: var(--black);
}
.block-top__locations input[type='tel'],
.block-top__locations input[type='text'],
.block-top__locations input[type='email'] {
  border-radius: 10px;
  background: var(--grey-1) !important;
  border: 1px solid var(--white) !important;
  width: 100%;
  height: 60px;
  box-sizing: border-box;
  display: block;
  font-family: var(--font-family);
  font-weight: 400;
  font-size: 16px;
  line-height: 1.22222;
  color: var(--grey-2);
  padding-left: 20px;
  padding-right: 14px;
  color: var(--black);
}
.block-top__locations input[type='tel'],
.block-top__locations input[type='text'],
.block-top__locations input[type='email'] {
  border-radius: 10px;
  background: var(--grey-1) !important;
  border: 1px solid var(--white) !important;
  width: 100%;
  height: 60px;
  box-sizing: border-box;
  display: block;
  font-family: var(--font-family);
  font-weight: 400;
  font-size: 16px;
  line-height: 1.22222;
  color: var(--grey-2);
  padding-left: 20px;
  padding-right: 14px;
  color: var(--black);
}
input[type='tel']:focus,
input[type='text']:focus,
input[type='email']:focus {
  color: var(--black);
}
.base-container {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
.after-clear:after {
  content: '';
  display: block;
  clear: both;
}
.d-flex,
.d-flex-wrap,
.row {
  display: flex;
}
.d-flex-wrap,
.row {
  flex-wrap: wrap;
}
.row {
  margin-left: -15px;
  margin-right: -15px;
}
.col {
  box-sizing: border-box;
  padding: 0 15px;
}
.d-j {
  justify-content: space-between;
}
.d-m {
  align-items: center;
}
.d-jm {
  justify-content: space-between;
  align-items: center;
}
.d-c {
  justify-content: center;
}
.grid {
  display: grid;
}
.header__logo {
  display: block;
  line-height: 0;
  margin-right: 12px;
  max-width: 124px;
}
.header__logo-txt {
  font-family: 'TT Chocolate', var(--font-family);
  font-weight: 400;
  font-size: 18px;
  line-height: 1.22222;
  color: #2d2d2d;
  display: block;
  max-width: 325px;
}
.header__right a {
  margin-left: 17px;
  position: relative;
  transition: 0.25s;
  flex-shrink: 0;
  font-size: 20px;
  font-weight: 500;
  font-family: 'TT Chocolate', var(--font-family);
}
.ico {
  border-radius: 50%;
  width: 50px;
  height: 50px;
  background: var(--white);
  display: flex;
  justify-content: center;
  align-items: center;
  margin-right: 10px;
}
.mail {
  font-family: 'TT Chocolate', var(--font-family);
  font-weight: 500;
  font-size: 20px;
  line-height: 1.22222;
  text-decoration: underline;
  text-decoration-skip-ink: none;
  color: var(--green-1);
  display: flex;
  align-items: center;
}
.mail:hover {
  text-decoration: none;
}
.tel {
  font-family: 'TT Chocolate', var(--font-family);
  font-weight: 500;
  font-size: 20px;
  line-height: 1.22222;
  color: #484848;
  display: flex;
  align-items: center;
}
.tel:hover {
  text-decoration: underline;
  text-decoration-skip-ink: none;
}
.btn {
  display: table;
  transition: 0.25s;
  background: var(--green-1);
  border-radius: 10px;
  padding: 13px 22px;
  box-sizing: border-box;
  font-family: var(--font-family);
  font-weight: 500;
  font-size: 18px;
  line-height: 1.22222;
  color: var(--white);
}
.btn:hover {
  background: var(--green-2);
}
.btn:active {
  background: var(--green-3);
}
.nav-wrp {
  box-sizing: border-box;
  padding: 0;
  background: transparent;
  border-radius: 0;
  margin-top: 0;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  flex: 1;
}
.menu-top > li {
  margin-right: 37px;
}
.menu-top > li:last-child {
  margin-right: 0;
}
.menu-top > li > a {
  display: block;
  font-family: 'TT Chocolate', var(--font-family);
  font-weight: 500;
  font-size: 18px;
  line-height: 1.22222;
  color: var(--black);
  transition: 0.25s;
}
.menu-top > li > a:hover {
  color: #01a34f;
}
.menu-top > li.current-menu-item > a,
.menu-top > li.current_page_item > a {
  color: #00A24D;
}
.menu-top > li.current-menu-item > a:hover,
.menu-top > li.current_page_item > a:hover {
  color: #00A24D;
}
.search-block {
  margin-left: 11px;
  max-width: 374px;
  width: 100%;
}
.search-block input[type='text'] {
  border: 1px solid var(--white);
  border-radius: 10px;
  padding: 0 30px;
  padding-left: 48px;
  width: 100%;
  height: 48px;
  box-sizing: border-box;
  display: block;
  font-family: var(--font-family);
  font-weight: 400;
  font-size: 18px;
  color: var(--grey-2);
  line-height: 1.3;
  background: #f1f1f5;
}
.search-block form {
  display: block;
  line-height: 0;
  position: relative;
}
.search-block input[type='submit'] {
  display: block;
  box-sizing: border-box;
  background: url('img/search.svg') no-repeat;
  width: 14px;
  height: 14px;
  border: none;
  cursor: pointer;
  position: absolute;
  top: 50%;
  transform: translate(0, -50%);
  left: 28px;
}

.search-block input[type='text']::-webkit-input-placeholder {
  opacity: 1;
  color: var(--grey-2);
}
.search-block input[type='text']::-moz-placeholder {
  opacity: 1;
  color: var(--grey-2);
}
.search-block input[type='text']:-moz-placeholder {
  opacity: 1;
  color: var(--grey-2);
}
.search-block input[type='text'][placeholder] {
  opacity: 1;
  color: var(--grey-2);
}
/* [block-top, h2-style, kviz — перенесены в frontend/src/app/styles/home.css] */
/* [control, pl-item, pl-wrap — перенесены в frontend/src/app/styles/home.css] */
/* [insurance, number, li-style — перенесены в frontend/src/app/styles/home.css] */
/* [about, about-list-in — перенесены в frontend/src/app/styles/home.css] */
/* [selection, group-btn, btn1, btn2 — перенесены в frontend/src/app/styles/home.css] */
.cases h2 {
  color: #fff;
  text-align: center;
  margin-bottom: 35px;
}
.cases__row {
  grid-template-columns: repeat(4, 1fr);
  gap: 15px;
  overflow: hidden;
  margin-bottom: 35px;
}
.cases__item {
  position: relative;
  box-sizing: border-box;
  padding: 30px;
  border-radius: 20px;
  min-height: 348px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: flex-start;
}
.cases__item1,
.cases__item5 {
  background: #01a24d;
}
.cases__item2,
.cases__item3,
.cases__item6,
.cases__item7 {
  background: #f1f1f5;
}
.cases__item4,
.cases__item8 {
  background: var(--yellow);
}
.cases__item span {
  display: block;
  font-weight: 500;
  font-size: 24px;
  color: var(--black);
  position: relative;
  max-width: 335px;
  z-index: 2;
}
.cases__item img {
  flex-shrink: 0;
}
.bg-cases {
  position: absolute;
  right: 0;
  top: 0;
  bottom: 0;
}
.cases__item3,
.cases__item5,
.cases__item6,
.cases__item8 {
  justify-content: flex-end;
}
.cases__item5 span {
  color: #fff;
}
.cases__item1 {
  border-radius: 20px 20px 0 20px;
}
.cases__item5 {
  border-radius: 20px 0 20px 20px;
  height: calc(100% + 10px);
  top: -10px;
}
.cases__item4 {
  border-radius: 20px 20px 20px 0;
}
.cases__item8 {
  border-radius: 0 20px 20px 20px;
  height: calc(100% + 10px);
  top: -10px;
}
.cases__item1:before {
  content: '';
  display: block;
  position: absolute;
  height: 15px;
  bottom: -15px;
  background: #01a24d;
  right: 0;
  left: 80px;
}
.cases__item4:before {
  content: '';
  display: block;
  position: absolute;
  height: 15px;
  bottom: -15px;
  background: var(--yellow);
  right: 80px;
  left: 0;
}
.btn3 {
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  max-width: 350px;
  width: 100%;
  font-family: var(--font-family);
  font-weight: 500;
  font-size: 18px;
  line-height: 1.22222;
  color: var(--white);
  height: 56px;
  border: 1px solid var(--white);
  border-radius: 10px;
  transition: 0.25s;
}
.btn3:hover {
  background: var(--white);
  color: var(--green-2);
}
.btn3:hover svg path {
  stroke: var(--green-2);
}
.btn3:active {
  background: #fff;
  color: var(--green-3);
}
.btn3:active svg path {
  stroke: var(--green-3);
}
.btn3 svg {
  margin-left: 10px;
}
.cases .btn3 {
  margin: 0 auto;
}
.news {
  padding-top: 100px;
  padding-bottom: 100px;
}
.news__left {
  width: 50%;
}
.news__right {
  width: 50%;
  box-sizing: border-box;
  padding-left: 30px;
}
time {
  display: block;
  font-family: var(--font-family);
  font-weight: 400;
  font-size: 16px;
  line-height: 1.25;
  color: #818181;
  margin-bottom: 30px;
}
.title-url {
  font-weight: 500;
  font-size: 48px;
  color: var(--black);
  display: block;
  padding-bottom: 30px;
}
.btn-style-new {
  font-family: var(--font-family);
  font-weight: 500;
  font-size: 18px;
  line-height: 1.22222;
  color: var(--white);
  box-sizing: border-box;
  border-radius: 10px;
  text-align: center;
  width: 240px;
  height: 56px;
  display: flex;
  align-items: center;
  transition: 0.25s;
  justify-content: center;
}
.btn4 {
  background: var(--green-1);
  margin-right: 14px;
}
.btn5 {
  border: 1px solid var(--green-1);
  color: var(--green-1);
}
.btn4:hover {
  background: var(--green-2);
}
.btn4:active {
  background: var(--green-3);
}
.btn5 svg {
  margin-left: 10px;
}
.btn5:hover {
  color: var(--green-2);
  background: #fff;
}
.btn5:active {
  color: var(--green-3);
  background: #fff;
}
.group-btn-new {
  padding-top: 15px;
}
.news__row {
  margin-bottom: 24px;
}
.news__list {
  grid-template-columns: repeat(4, 1fr);
  overflow: hidden;
  gap: 20px;
}
.img-new-wrp {
  display: block;
  line-height: 0;
  margin-bottom: 20px;
}
.img-new-wrp img {
  border-radius: 10px;
}
.news__item-more {
  font-family: var(--font-family);
  font-weight: 500;
  font-size: 24px;
  color: var(--black);
  display: block;
}
.news__item time {
  margin-bottom: 20px;
}
/* [faq, faq-list, faq-click, faq-wrap, span-d, span-k — перенесены в frontend/src/app/styles/home.css] */
.wrap {
    max-width: 1680px;
    width: 100%;
}
.footer {
  display: flex;
  justify-content: center;
  background: var(--footer-bg);
  color: #fff;
  box-sizing: border-box;
  position: relative;
  font-size: 16px;
  line-height: 1.4;
}
.header {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin: 20px 0 32px;
}

/* Единая логика внешних отступов как на странице platforma */
.header > .wrap,
.footer > .wrap {
  box-sizing: border-box;
  width: 100%;
  max-width: 1320px;
  margin-left: auto;
  margin-right: auto;
}

@media (max-width: 1440px) {
  .header > .wrap,
  .footer > .wrap {
    max-width: none;
    padding-left: 60px;
    padding-right: 60px;
  }
}

@media (max-width: 768px) {
  .header > .wrap,
  .footer > .wrap {
    padding-left: 16px;
    padding-right: 16px;
  }
}

.footer .wrap {
  grid-template-columns: 1fr;
  gap: 0;
  overflow: hidden;
  box-sizing: border-box;
}

/* Footer redesign */
.footer__box {
  box-sizing: border-box;
  width: 100%;
  padding: 72px 0 56px;
}

.footer__main {
  display: grid;
  grid-template-columns: minmax(240px, 320px) minmax(0, 1fr);
  gap: 48px 80px;
  align-items: start;
}

.footer__logo {
  display: block;
  line-height: 0;
  margin-bottom: 16px;
}

.footer__logo img {
  display: block;
  max-width: 124px;
  width: 100%;
  height: auto;
}

.footer__tagline {
  margin: 0;
  max-width: 257px;
  font-size: 16px;
  line-height: 1.375;
  color: #939393;
}

.footer__contacts {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-top: 24px;
}

.footer__contact {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  color: #fff;
  text-decoration: none;
  transition: opacity 0.2s ease;
}

.footer__contact:hover {
  color: #fff;
  text-decoration: none;
  opacity: 0.82;
}

.footer__contact--phone .footer__contact-text {
  font-weight: 500;
  font-size: 18px;
  line-height: 110.00000000000001%;
  letter-spacing: 1%;
}

.footer__contact--email .footer__contact-text,
.footer__contact--telegram .footer__contact-text {
  font-weight: 500;
  font-size: 18px;
  line-height: 110.00000000000001%;
  letter-spacing: 1%;
}

.footer__contact-icon {
  display: none;
  flex: 0 0 32px;
  line-height: 0;
}

.footer__contact-icon img {
  display: block;
  width: 32px;
  height: 32px;
}

.footer__contact--telegram {
  display: none;
}

.footer__col--nav {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 220px));
  gap: 48px 64px;
  justify-content: end;
}

.footer__nav-title {
  margin: 0 0 20px;
  font-size: 18px;
  font-weight: 500;
  line-height: 1.1;
  color: #fff;
}

.footer-menu {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.footer-menu-columns__col {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.footer-menu a {
  display: block;
  font-size: 16px;
  font-weight: 500;
  line-height: 115.99999999999999%;
  color: #FFFFFFB2;
  transition: color 0.2s ease, opacity 0.2s ease;
}

.footer-menu a:hover {
  color: #fff;
  text-decoration: none;
  opacity: 0.9;
}

.footer-menu .current-menu-item > a,
.footer-menu .current_page_item > a {
  color: #00A24D;
  opacity: 1;
}

.footer-menu .current-menu-item > a:hover,
.footer-menu .current_page_item > a:hover {
  color: #00A24D;
  opacity: 1;
}

.footer__legal {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr) minmax(0, 1fr);
  gap: 32px 48px;
  align-items: end;
  margin-top: 72px;
}

.footer__legal p {
  margin: 0;
  font-weight: 400;
  font-size: 18px;
  line-height: 110.00000000000001%;
  letter-spacing: 0%;
  color: #FFFFFFB2;
}
.footer__legal-registry{
  max-width: 220px;
}

.footer__legal-registry p + p {
  margin-top: 12px;
}
.footer__legal-registry > p:first-child{
  color: #939393;
}
.footer__legal-partner {
  display: flex;
  flex-direction: column;
  gap: 18px;
}

.footer__partner-text {
  max-width: 280px;
}

.footer__akid-logo {
  line-height: 0;
}

.footer__akid-img {
  display: block;
  width: auto;
  max-width: 180px;
  height: auto;
  max-height: 60px;
}

.footer__legal-company {
  text-align: left;
  justify-self: end;
  max-width: 220px;
}

@media (min-width: 1201px) and (max-width: 1599px) {
  .footer__main {
    gap: 40px 56px;
  }

  .footer__col--nav {
    gap: 40px 48px;
  }
}

@media (max-width: 1024px) {
  .footer__box {
    padding: 56px 0 48px;
  }

  .footer__main {
    grid-template-columns: 1fr;
    gap: 40px;
  }

  .footer__col--nav {
    justify-content: start;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 32px 40px;
  }

  .footer__legal {
    grid-template-columns: 1fr;
    gap: 28px;
    margin-top: 48px;
    align-items: start;
  }

  .footer__legal-partner {
    align-items: flex-start;
    text-align: left;
  }

  .footer__legal-company {
    text-align: left;
  }
}

@media (max-width: 768px) {
  .footer__box {
    padding: 40px 0 48px;
  }

  .footer__logo img {
    max-width: 140px;
  }

  .footer__contact--phone .footer__contact-text,
  .footer__contact--email .footer__contact-text,
  .footer__contact--telegram .footer__contact-text {
    font-size: 16px;
  }

  .footer__nav-title {
    font-size: 16px;
  }

  .footer-menu a {
    font-size: 14px;
  }

  .footer__legal-registry {
    max-width: 300px;
  }

  .footer__contacts {
    gap: 16px;
  }

  .footer__contact--phone {
    order: 2;
  }

  .footer__contact--email {
    order: 1;
  }

  .footer__contact--telegram {
    display: inline-flex;
    order: 3;
  }

  .footer__contact-icon {
    display: inline-flex;
  }

  .footer__col--nav {
    grid-template-columns: 1fr;
    gap: 32px;
  }

  .footer__legal {
    display: flex;
    flex-direction: column;
    gap: 32px;
    margin-top: 40px;
  }

  .footer__legal-partner {
    order: 1;
  }

  .footer__legal-registry {
    order: 2;
  }

  .footer__legal-company {
    order: 3;
    max-width: 170px;
  }
}

@media (max-width: 480px) {
  .footer__box {
    padding: 32px 0 40px;
  }

  .footer__main {
    gap: 32px;
  }

  .footer__nav-title {
    margin-bottom: 16px;
  }
}

/* Legacy footer helpers (старые страницы) */
.foot-bottom {
  max-width: 567px;
  margin: 0 auto;
}
.tel-foot {
  display: flex;
  align-items: center;
  font-weight: 400;
  font-size: 20px;
  line-height: 1.22222;
  color: #fff;
}
.tel-foot svg,
.email-foot svg {
  margin-right: 10px;
}
.email-foot {
  font-weight: 400;
  font-size: 20px;
  line-height: 1.22222;
  color: rgba(255, 255, 255, 0.9);
  display: flex;
  align-items: center;
  margin-left: 85px;
}
.modal-tn {
  position: fixed;
  z-index: 999;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  padding: 20px 10px;
  transition: visibility 0.8s ease 0s;
  transition: 0.3s ease 0s;
  visibility: hidden;
  pointer-events: none;
  background: rgba(0, 0, 0, 0);
  box-sizing: border-box;
}
.modal-tn__wrap {
  display: flex;
  flex-direction: column;
  min-height: 100%;
  width: 100%;
  justify-content: center;
  align-items: center;
}
.modal-tn__wrp {
  max-width: 1252px;
  box-sizing: border-box;
  visibility: hidden;
  -webkit-transform: scale(0.5);
  transform: scale(0.5);
  transition: 0.3s ease 0s;
  border-radius: 20px;
  width: 100%;
  opacity: 0;
  position: relative;
  padding: 30px;
  background: #fff;
  min-height: auto;
}
.modal-bg {
  background: #fff url('img/bg-popap.webp') left bottom no-repeat;
  padding-top: 60px;
  padding-bottom: 93px;
}
.popup-show-body {
  overflow: hidden;
  touch-action: none;
  -ms-scroll-chaining: none;
  overscroll-behavior: none;
}
.popup_show.modal-tn {
  visibility: visible;
  z-index: 150;
  overflow: auto;
  pointer-events: auto;
  background: rgba(0, 0, 0, 0.7);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}
.popup_show .modal-tn__wrp {
  -webkit-transform: scale(1);
  transform: scale(1);
  opacity: 1;
  visibility: visible;
}
.modal-tn__close {
  color: #2f1e1e !important;
  position: absolute;
  right: 20px;
  top: 30px;
  text-decoration: none;
  text-align: center;
  opacity: 1;
  font-style: normal;
  font-size: 47px;
  font-weight: 500;
  font-family: Arial, Baskerville, monospace;
  cursor: pointer;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  padding: 0 !important;
  -webkit-appearance: none;
  display: block;
  outline: none;
  z-index: 99;
  touch-action: manipulation;
}
.modal-top {
  max-width: 895px;
  margin: 0 auto 20px;
}
.modal-top h3 {
  text-align: center;
  font-weight: 500;
  font-size: 36px;
  text-align: center;
  color: var(--black);
  margin-bottom: 20px;
}
.modal-top span {
  display: block;
  margin: 0 auto;
  max-width: 619px;
  font-family: var(--font-family);
  font-weight: 400;
  font-size: 18px;
  text-align: center;
  color: var(--black);
}
.form-wrap {
  margin: 0 auto;
  max-width: 830px;
  align-items: flex-end;
}
.input-wrp {
  width: 31.7%;
}
.label {
  font-weight: 400;
  font-size: 18px;
  color: var(--black);
  display: block;
  margin-bottom: 9px;
  padding-left: 35px;
  position: relative;
}
.label:before {
  content: '';
  display: block;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translate(0, -50%);
}
.label1:before {
  background: url('img/label1.svg') no-repeat;
  width: 23px;
  height: 18px;
}
.label2:before {
  background: url('img/label2.svg') no-repeat;
  width: 25px;
  height: 24px;
}
.btn-submit {
  height: 60px;
  transition: 0.25s;
  box-sizing: border-box;
  width: 100%;
  background: var(--green-1);
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: none;
  cursor: pointer;
  font-family: var(--font-family);
  font-weight: 500;
  font-size: 18px;
  line-height: 1.22222;
  color: var(--white);
}
.btn-submit:hover {
  background: var(--green-2);
}
.btn-submit:active {
  background: var(--green-3);
}
.btn-submit svg {
  margin-left: 10px;
}
.checkbox-wrp {
  position: absolute;
}
.checkbox-wrp input {
  -moz-appearance: none;
  -webkit-appearance: none;
  -o-appearance: none;
  outline: none;
  content: none;
  margin: 0;
  position: relative;
}
.checkbox-wrp input:before {
  content: '';
  display: block;
  border-radius: 50%;
  width: 24px;
  height: 24px;
  box-sizing: border-box;
  margin: 0;
  background: url('img/check2.svg') no-repeat;
  overflow: hidden;
  position: absolute;
  left: 0;
  top: 5px;
}
.checkbox-wrp input[type='checkbox']:checked:before {
  background: url('img/check.svg') no-repeat;
}
.checkbox-wrp-txt {
  padding-left: 30px;
  font-weight: 400;
  font-size: 14px;
  line-height: 1.42857;
  color: var(--grey-2);
  max-width: 230px;
}
.kviz-wrap .tokenize > .tokens-container {
  padding: 0;
}
.kviz-wrp .input-wrp {
  width: 49%;
  position: relative;
}
.label-k1:before {
  background: url('img/label3.svg') no-repeat !important;
  width: 20px !important;
  height: 20px !important;
}
.label-k3:before {
  background: url('img/label5.svg') no-repeat !important;
  width: 20px !important;
  height: 20px !important;
}
.kviz-wrp .label {
  padding-left: 25px;
  font-weight: 400;
  font-size: 18px;
  line-height: 1.25;
  color: var(--black);
  margin-bottom: 5px;
}
.kviz-wrp .input-wrp {
  margin-bottom: 10px;
}
.tokenize {
  border: none;
  border-radius: 10px;
  box-sizing: border-box;
  padding: 0;
  position: relative;
  background: var(--grey-1);
  /* background: var(--grey-1) url('img/gl.svg') calc(100% - 15px) center no-repeat; */
}
.tokenize-gl {
  display: block;
  position: absolute;
  z-index: 5;
  right: 15px;
  top: 50%;
  width: 17px;
  height: 16px;
  background: url('img/gl.svg') no-repeat;
  transform: translate(0, -50%);
  cursor: pointer;
}
.tokenize ul {
  padding-left: 20px !important;
  padding-right: 14px !important;
  box-sizing: border-box;
}
.tokenize ul li {
  margin: 0 !important;
  border: none !important;
}
.tokenize ul input {
  min-height: 60px;
  box-sizing: border-box;
  border: none !important;
  font-family: var(--font-family);
  font-weight: 400;
  font-size: 18px;
  line-height: 1.22222;
  color: var(--black);
}
.kviz-wrap .tokenize > .tokens-container > .token {
  background: #b8e1cb;
  border-radius: 5px;
  padding: 5px 10px;
  padding-right: 32px;
  margin-right: 5px !important;
}
.kviz-wrap .tokenize > .tokens-container > .token > .dismiss:after {
  height: 12px;
  content: '';
  background: url('img/close.svg') no-repeat;
  width: 12px;
  height: 12px;
  display: block;
  position: relative;
  top: 4px;
}
.kviz-wrap .tokenize > .tokens-container > .token > .dismiss {
  right: 8px;
}
/* Фиксированная высота блока «Регион обслуживания», верстка не съезжает */
.kviz-wrap .input-wrp5 .tokenize {
  box-sizing: border-box;
  min-height: 60px;
  height: 60px;
  overflow: hidden;
  padding: 0;
  display: flex;
  align-items: center;
}
.kviz-wrap .input-wrp5 .tokenize > .tokens-container {
  box-sizing: border-box;
  min-height: 60px;
  height: 60px;
  overflow: hidden;
  align-content: center;
  align-items: center;
  flex-wrap: wrap;
  padding-left: 20px;
  padding-right: 40px;
}
.kviz-wrap .tokenize > .tokens-container > .token-more {
  background: #b8e1cb;
  border-radius: 5px;
  padding: 5px 10px;
  margin: 0;
  cursor: default;
  flex-shrink: 0;
}
.kviz-wrap .tokenize.focus > .tokens-container {
  box-shadow: none;
  background: none;
}
.kviz-wrap .token span {
  font-weight: 500;
  font-size: 16px;
  color: var(--black);
}
.tokenize-dropdown li a {
  font-family: var(--font-family) !important;
  font-weight: 400 !important;
  font-size: 18px !important;
  line-height: 1.22222 !important;
  color: var(--black) !important;
}
.tokenize-dropdown > .dropdown-menu li > a .tokenize-highlight {
  font-weight: 400 !important;
}
.tokenize-dropdown ul {
  padding: 8px !important;
  border-radius: 5px;
  box-shadow: 1px 1px 7px 0 rgba(0, 0, 0, 0.2);
  background: #fff;
  box-sizing: border-box;
}
.tokenize-dropdown li {
  margin-bottom: 10px !important;
}
.tokenize-dropdown li:last-child {
  margin-bottom: 0 !important;
}
.kviz-wrp {
  align-items: flex-end;
}
.wrapper_ul_select {
  height: 60px;
  cursor: pointer;
  width: 100%;
  box-sizing: border-box;
  font-family: var(--font-family);
  font-weight: 400;
  font-size: 18px;
  line-height: 1.22222;
  color: var(--black);
  background: var(--grey-1) url(img/gl.svg) calc(100% - 15px) center no-repeat;
  border-radius: 10px;
  padding-left: 30px;
  padding-right: 33px;
  display: flex;
  align-items: center;
}
.select_li {
  background: #fff;
  position: absolute;
  z-index: 3;
  box-shadow: 1px 1px 7px 0 rgba(0, 0, 0, 0.2);
  padding: 8px 0;
  border-radius: 5px;
}
.select_li li:hover {
  background: #0099cc;
  color: #fff;
}
.main-select {
  display: none;
}
.select_li li {
  font-weight: 400;
  font-size: 16px;
  line-height: 1.22222;
  color: var(--black);
  padding: 8px;
}
.select_li li.active-li {
  background: #01a34f !important;
}

/* .kviz-wrap .input-wrp input[type="text"]::-webkit-input-placeholder {
    opacity: 1;
    color: #000;
}
.kviz-wrap .input-wrp input[type="text"]::-moz-placeholder {
    opacity: 1;
    color: #000;
}
.kviz-wrap .input-wrp input[type="text"]:-moz-placeholder {
    opacity: 1;
    color: #000;
}
.kviz-wrap .input-wrp input[type="text"][placeholder] {
    opacity: 1;
    color: #000;
} */

/* .style-bl input[type="text"]::-webkit-input-placeholder {
    opacity: 1;
    color: var(--grey-2);
}
.style-bl input[type="text"]::-moz-placeholder {
    opacity: 1;
    color: var(--grey-2);
}
.style-bl input[type="text"]:-moz-placeholder {
    opacity: 1;
    color: var(--grey-2);
}
.style-bl input[type="text"][placeholder] {
    opacity: 1;
    color: var(--grey-2);
} */

/* [prdl-dlvs, block-rezult__*, #block-rezult-content — в home.css] */
.block-rezult__grid {
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  overflow: visible;
}
.block-rezult__item {
  display: flex;
  flex-direction: column;
  background: var(--white);
  border-radius: 20px;
  padding: 30px;
  padding-bottom: 20px;
  box-sizing: border-box;
  position: relative;
}
.block-rezult__item--with-ribbon {
  overflow: visible;
}

/* Переключатели уровней ДМС (Минимальный / Базовый / Максимальный) */
.dms-level-toggles {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}
.dms-level-toggles--below {
  margin-top: 10px;
  margin-bottom: 4px;
}
.dms-level-btn {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 2px;
  padding: 10px 12px !important;
  flex: 1 1 100px;
  min-width: 0;
  font-size: 13px;
  border: 1px solid #ECECF0 !important;
  background-color: #F9F9F9 !important;
  color: #484848 !important;
  border-radius: 8px !important;
  cursor: pointer;
  transition: background 0.2s, border-color 0.2s, color 0.2s;
}
.dms-level-btn:hover {
  background: #f0f0f3;
}
.dms-level-btn.is-active {
  background-color: #E5F6ED !important;
  border-color: #00A24D !important;
  color: #1A1A1A !important;
}
.dms-level-btn.is-active .dms-level-name,
.dms-level-btn.is-active .dms-level-price {
  color: inherit;
}
.dms-level-btn .dms-level-price {
  font-size: 13px;
  font-weight: 500;
  color: #484848;
}
.dms-level-btn.is-active .dms-level-price {
  color: #00A24D;
}
.level-text--hidden {
  display: none;
}

.dms-card-title {
  font-weight: 500;
  margin-bottom: 4px;
}

.dms-card-insurer {
  font-size: 14px;
  color: #555;
  display: flex;
  align-items: center;
  gap: 4px;
}

.dms-card-insurer .label-hover {
  display: none;
}

.modal__levels {
  margin-top: 16px;
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin-bottom: 32px;
}

.modal__header .rezult-top__price {
  display: none;
}

.modal-level-btn {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 2px;
  padding: 8px 12px !important;
  flex: 1 1 100px;
  min-width: 0;
  font-size: 13px;
  border: 1px solid #ECECF0 !important;
  background-color: #F9F9F9 !important;
  color: #484848 !important;
  border-radius: 8px !important;
  cursor: pointer;
  transition: background 0.2s, border-color 0.2s, color 0.2s;
}

.modal-level-btn:hover {
  background: #f0f0f3 !important;
}

.modal-level-btn.is-active {
  background-color: #E5F6ED !important;
  border-color: #00A24D !important;
  color: #1A1A1A !important;
}

.modal-level-btn .modal-level-price {
  font-size: 12px;
  font-weight: 500;
  color: #484848;
}

.modal-level-btn.is-active .modal-level-price {
  color: #00A24D;
}

.min-price-ribbon {
  position: absolute;
  top: 0;
  right: 0;
  background: #F9AAE8;
  color: #484848;
  font-size: 12px;
  font-weight: 500;
  padding: 6px 12px;
  border-radius: 0 20px 0 12px;
  line-height: 1.2;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
}
.block-rezult__item .btn-style-new {
  margin-top: auto;
}

.block-rezult__item .dms-card-actions {
  margin-top: auto;
  display: flex;
  flex-wrap: nowrap;
  gap: 12px;
  align-items: center;
}

.block-rezult__item .dms-card-actions .btn-style-new {
  margin-top: 0;
  width: auto;
  flex: 1;
  min-width: 0;
}

/* Кнопка «Скачать КП» — без границ, с иконкой */
.block-rezult__item .btn-download-kp {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border: none  !important;
  background: transparent;
}
.block-rezult__item .btn-download-kp:hover {
  background: transparent !important;
  color: #1bc46d !important;
}
.block-rezult__item .btn-download-kp__icon {
  width: 20px;
  height: 20px;
  flex-shrink: 0;
  color: currentColor;
}
.block-rezult__item .btn-download-kp img.btn-download-kp__icon {
  width: 20px;
  height: 20px;
  object-fit: contain;
}

/* Адаптация шапки карточек результатов: если не хватает места, цена просто переносится на следующую строку */
@media screen and (max-width: 1520px) {
  .block-rezult__item .rezult-top {
    flex-wrap: wrap;
    align-items: flex-start;
    row-gap: 8px;
  }

  .block-rezult__item .rezult-top h5 {
    max-width: 70%;
  }

  .block-rezult__item .rezult-top__price {
    max-width: 40%;
  }
}
.rating {
  padding: 10px 15px;
  border: 1px solid var(--green-1);
  border-radius: 50px;
  margin-bottom: 15px;
  display: table;
}
.tarif-name {
  font-weight: 400;
  font-size: 16px;
  color: var(--green-1);
  margin-left: 10px;
}
.rating-wrp i {
  display: block;
  line-height: 0;
  margin-right: 5px;
  width: 24px;
  height: 24px;
  background: url('img/zv1.svg') no-repeat;
}
.rating-wrp i.active {
  background: url('img/zv2.svg') no-repeat;
}
.rating-wrp i:last-child {
  margin-right: 0;
}
.rezult-top {
  margin-bottom: 14px;
}
.price-r {
  display: block;
  font-family: var(--font-family);
  font-weight: 500;
  font-size: 20px;
  line-height: 1.2;
  color: var(--black);
  text-align: right;
}
.desc-r {
  display: block;
  font-family: var(--font-family);
  font-weight: 400;
  font-size: 12px;
  line-height: 1.66667;
  color: var(--secondary-blck);
  text-align: right;
}
.rezult-top h5 {
  font-family: var(--font-family);
  font-weight: 500;
  font-size: 24px;
  color: var(--black);
  max-width: 100%;
  width: 100%;
  word-break: normal;
  overflow-wrap: normal;
  hyphens: auto;
}
.rezult-top__price {
  max-width: 40%;
}
.rezult-data {
  margin-bottom: 15px;
}
.rezult-data li {
  position: relative;
  font-weight: 400;
  font-size: 16px;
  line-height: 1.25;
  color: var(--black);
  padding-left: 34px;
  padding-right: 25px;
  margin-bottom: 15px;
}
.rezult-data li:last-child {
  margin-bottom: 0;
}
.rezult-data li:before {
  content: '';
  display: block;
  position: absolute;
  left: 0;
  top: 50%;
  background: url('img/arrow-item-list.svg') no-repeat;
  background-size: 24px 24px;
  transform: translate(0, -50%);
  width: 24px;
  height: 24px;
}
.rezult-data li.no-r:before {
  background: url('img/li-r2.svg') no-repeat;
}
.li-val {
  position: absolute;
  right: 0;
  top: 50%;
  transform: translate(0, -50%);
}
.li-val__hover {
  display: none;
  background: url('img/i.svg') no-repeat;
  width: 24px;
  height: 24px;
}
.li-val__wrp span {
  display: block;
  white-space: nowrap;
  font-family: var(--font-family);
  font-weight: 400;
  font-size: 16px;
  line-height: 1.25;
  color: var(--black);
}
.li-val:hover .li-val__hover + .li-val__wrp {
  display: block;
}
.li-val:hover {
  z-index: 2;
}
.block-rezult__item .btn-style-new {
  height: 48px;
  width: 100%;
  margin-right: 0;
  border: 1px solid var(--green-1);
  border-radius: 10px;
  background: #fff;
  font-family: var(--font-family);
  font-weight: 500;
  font-size: 18px;
  line-height: 1.22222;
  color: var(--green-1);
}
.block-rezult__item .btn-style-new:hover {
  color: #fff;
  background: var(--green-2);
}

/* Строка "С франшизой" в карточке - без галочки как у других пунктов */
.franchise-row {
  margin-top: 20px;
  margin-bottom: 15px;
}
.franchise-row__item {
  position: relative;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  font-weight: 400;
  font-size: 16px;
  line-height: 1.25;
  color: var(--black);
  padding-left: 34px;
  padding-right: 80px;
  list-style: none;
}
.franchise-row__item:before {
  display: none !important;
}
.franchise-row__label {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  cursor: pointer;
  margin-left: -34px;
}
/* Нативный чекбокс скрыт — под инструмент «Выбор элемента» в Метрике виден только .js-ym-franchise-click */
.franchise-row__cb.franchise-row__cb-native {
  position: absolute;
  width: 20px;
  height: 20px;
  margin: 0;
  opacity: 0;
  pointer-events: none;
}
.franchise-row__cb {
  width: 20px;
  height: 20px;
}
.franchise-row__cb:checked {
  accent-color: var(--green-1, #00A24D);
}
.franchise-row__cb:disabled {
  cursor: not-allowed;
  flex-shrink: 0;
}
/* Визуал чекбокса для Метрики (кликабельная зона — label + этот span) */
.franchise-row__cb-fake {
  display: inline-block;
  width: 20px;
  height: 20px;
  flex-shrink: 0;
  border: 2px solid #ccc;
  border-radius: 2px;
  background: #fff;
  box-sizing: border-box;
}
.franchise-row__cb:checked ~ .franchise-row__cb-fake {
  background: var(--green-1, #00A24D);
  border-color: var(--green-1, #00A24D);
}
.franchise-row__cb:checked ~ .franchise-row__cb-fake::after {
  content: '';
  display: block;
  width: 6px;
  height: 10px;
  margin: 2px 0 0 5px;
  border: solid #fff;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}
.franchise-row__cb:disabled ~ .franchise-row__cb-fake {
  opacity: 0.6;
  cursor: not-allowed;
}
.franchise-row__text {
  font-family: var(--font-family);
}
.franchise-row__info {
  display: inline-flex;
  align-items: center;
}
.franchise-row__info .label-hover-hover {
  cursor: help;
}
.franchise-row__diff {
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
}
.franchise-row__diff span {
  font-family: var(--font-family);
  font-weight: 400;
  font-size: 16px;
  line-height: 1.25;
  color: var(--black);
}

.block-rezult__item-last {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.block-rezult__item-last h2 {
  margin-bottom: 10px;
  font-weight: 500;
  font-size: 36px;
  line-height: 1.22222;
  color: var(--black);
}
.block-rezult__desc {
  display: block;
  margin-bottom: 10px;
  font-weight: 400;
  font-size: 18px;
  line-height: 1.22222;
  color: var(--black);
}
.block-rezult__item-last .btn2 {
  width: 100%;
  max-width: 100%;
  padding: 14px 3px;
}
.block-v2 {
  display: none;
}
.block-top__wrp-final {
  background: #01a34f url('img/bg-frame.webp') right top no-repeat;
  padding: 40px 60px;
  min-height: 894px;
}
.block-top__wrp-final .block-v1 {
  display: none;
}
.block-top__wrp-final .block-v2 {
  display: block;
}
.block-v2 h2 {
  font-weight: 500;
  font-size: 48px;
  line-height: 1.20833;
  color: var(--white);
  margin-bottom: 20px;
}
.block-v2 span {
  font-weight: 400;
  font-size: 18px;
  line-height: 1.22222;
  color: #b8ecd1;
  display: block;
  margin-bottom: 36px;
}
.input-wrp1 input {
  background: #fff;
  border: 1px solid var(--color);
  box-sizing: border-box;
}
.modal-window2 .modal-bg input {
  background: #fff;
  border: 1px solid var(--color);
  box-sizing: border-box;
}
.modal-window2 .modal-bg .btn-submit {
  margin-top: 16px;
}
.label-kt1:before {
  background: url('img/kt1.svg') no-repeat;
  width: 20px;
  height: 22px;
}
.label-kt2:before {
  background: url('img/kt2.svg') no-repeat;
  width: 20px;
  height: 20px;
}
.label-kt3:before {
  background: url('img/kt4.svg') no-repeat;
  width: 20px;
  height: 20px;
}
.label-kt4:before {
  background: url('img/kt3.svg') no-repeat;
  width: 20px;
  height: 20px;
}
.block-top__wrp-final .label-k3:before {
  background: url('img/label55.svg') no-repeat;
  width: 20px;
  height: 20px;
}
.block-top__wrp-final .kviz-wrp .input-wrp {
  margin-bottom: 12px;
}
.btn-submit2 {
  display: none;
}
.block-top__wrp-final .btn-submit2,
.modal-window2 .btn-submit2 {
  display: flex;
}
.block-top__wrp-final .btn-submit1 {
  display: none;
}
.input-wrp1,
.input-wrp3,
.input-wrp6,
.input-wrp7,
.input-wrp8 {
  display: none;
}
/* В модалке «Оформить» показываем только нужные поля (компания, ФИО, почта, телефон) */
.modal-window2 .input-wrp1,
.modal-window2 .input-wrp6,
.modal-window2 .input-wrp7,
.modal-window2 .input-wrp8 {
  display: block;
}
.block-top__wrp-final .input-wrp {
  display: block;
}
.kviz-wrp .wpcf7 form .wpcf7-response-output {
  margin: 0;
}
.prepend-title h2 span:before {
  display: none;
}
.prepend-title h2 {
  color: #000;
  max-width: 800px;
  line-height: 1;
  margin-right: 32px;
  margin-bottom: 10px;
}
.prepend-title p {
  display: none;
}
.prepend-title .sub-zag {
  color: #01a34f;
}
.modal-window2 .modal-bg {
  background: #fff !important;
  padding-bottom: 30px;
  padding-top: 35px;
}

/* Модалка «Оформление заявки на медицинское страхование» — заголовок и двухколоночная форма */
.dms-application-form__header {
  margin-bottom: 24px;
  padding-right: 50px;
}
.dms-application-form__title {
  font-family: var(--font-family);
  font-size: 52px;
  font-weight: 500;
  line-height: 1.25;
  color: #1a1a1a;
  margin: 0 0 10px 0;
}
.dms-application-form__subtitle {
  font-size: 18px;
  line-height: 1.4;
  font-weight: 400;
  color: #484848;
  margin: 0;
}
.modal-window2 .dms-application-form__submit-wrap {
  width: 100%;
  display: flex;
  align-items: flex-end;
}
.modal-window2 .dms-application-form__submit-wrap .wpcf7-form {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
.modal-window2 .dms-application-form__submit-wrap .hidden-group {
  display: none;
}
.modal-window2 .dms-application-form__submit-wrap .btn-submit2 {
  margin-top: 0;
}

.tokenize .placeholder {
  color: var(--grey-2) !important;
}
.errorMsg,
.region-error {
  display: block;
  position: absolute;
  font-size: 12px;
  color: red;
  /* margin-top: -2px; */
  z-index: 2;
  bottom: 4px;
  left: 20px;
  background: transparent;
}
.error {
  border: 1px solid var(--red-1) !important;
  background: rgba(249, 170, 232, 0.2) !important;
}
.kviz-wrp .wpcf7 form.sent .wpcf7-response-output {
  font-size: 15px;
}
.modal-window-form form {
  position: relative;
}
.modal-window-form .wpcf7-response-output {
  display: none !important; /* Скрываем стандартное сообщение CF7, используем модалку успеха */
}
.modal-window-form .wpcf7-not-valid-tip {
  font-size: 13px;
  position: absolute;
}
.modal-window-form .wpcf7-form-control-wrap {
  position: relative;
  display: block;
}
.modal-window-form .wpcf7-form-control-wrap span {
  display: block;
}
.update-rez {
  display: none;
}
.block-top__wrp-final .update-rez,
.modal-window2 .update-rez {
  display: none !important;
}

.tokenize > .tokens-container > .token-search > input {
  min-height: 29px;
}
.tokenize {
  min-height: 60px;
  padding-top: 10px;
  padding-bottom: 10px;
}
.tokens-container {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  align-content: center;
  width: calc(100% - 17px);
  box-sizing: border-box;
}
.kviz-wrap .tokenize > .tokens-container > .token {
  margin-right: 0 !important;
}
.placeholder {
  line-height: 33px;
}
.tokenize {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  width: 100%;
}
.tokenize-dropdown.dropdown ul {
  margin-top: 6px;
}
.about-img {
  display: none;
  max-width: 365px;
}
.about-img1 {
  display: block;
}
.flex-logotypes {
  align-items: center;
}
.flex-logotypes img {
  flex-shrink: 0;
  margin-right: 9px;
  width: 48px;
}
.program-composition {
  display: block;
  font-family: var(--font-family);
  font-weight: 500;
  font-size: 18px;
  line-height: 1.22222;
  color: var(--black);
  margin-bottom: 20px;
}
.modal-open {
  align-items: center;
  justify-content: center;
  height: 484px;
  max-height: 90vh;
  box-sizing: border-box;
  padding: 40px;
  background: url('img/call_back_fon.webp') no-repeat;
  background-size: cover;
  max-width: 1320px;
  width: 100%;
  position: relative;
  display: none;
}
.modal-open h2 {
  font-family: var(--font-family);
  font-weight: 500;
  font-size: 36px;
  text-align: center;
  color: var(--black);
  margin-bottom: 20px;
}
.modal-open span {
  display: block;
  font-family: var(--font-family);
  font-weight: 400;
  font-size: 18px;
  text-align: center;
  color: var(--black);
}
.modal-open .modal-tn__close, .close-btn-new {
  background: url('img/container-close.svg') no-repeat !important;
  background-color: transparent !important;
  width: 16px;
  height: 16px;
  top: 28px;
  right: 55px;
}
.url-avtorize {
  display: block;
  line-height: 0;
}
.url-basket {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  line-height: 0;
  color: #1a1a1a;
  text-decoration: none;
  position: relative;
}
.url-basket[data-kp-count]::after {
  content: attr(data-kp-count);
  position: absolute;
  top: -6px;
  right: -6px;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: #00a24d;
  color: #fff;
  font-size: 12px;
  font-weight: 600;
  line-height: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.url-basket__icon {
  width: 28px;
  height: 28px;
  display: inline-block;
  background-color: #1a1a1a;
  -webkit-mask: url('/wp-content/themes/dmc/img/menu-icons-busket.svg') no-repeat center / contain;
  mask: url('/wp-content/themes/dmc/img/menu-icons-busket.svg') no-repeat center / contain;
}
.block-large {
  background: #fff url('img/fon-large.svg') no-repeat;
  background-size: cover;
  box-sizing: border-box;
  padding: 64px 30px;
  margin-bottom: 30px;
  display: none;
}
.block-large h2 {
  font-family: var(--font-family);
  font-weight: 500;
  font-size: 48px;
  line-height: 1.20833;
  text-align: center;
  color: var(--black);
  margin-bottom: 20px;
}
.block-large > .block-large__intro > span {
  display: block;
  font-family: var(--font-family);
  font-weight: 400;
  font-size: 18px;
  line-height: 1.22222;
  text-align: center;
  color: var(--black);
  margin-bottom: 30px;
}
.block-large__forma {
  padding: 36px 48px;
  box-sizing: border-box;
  margin: 0 auto;
  width: 100%;
  max-width: 928px;
  background: #fff;
  border-radius: 10px;
  position: relative;
}
.block-large__forma .wpcf7-response-output {
  display: none !important; /* Скрываем стандартное сообщение CF7, используем экран успеха */
}
.block-large__forma form {
  position: relative;
}
/* Сообщения об ошибке валидации не сдвигают кнопку — выводятся поверх потока */
.block-large__forma .wpcf7-form-control-wrap {
  position: relative;
  display: block;
}
.block-large__forma .wpcf7-not-valid-tip {
  position: absolute;
  left: 0;
  top: 100%;
  margin-top: 4px;
}
.block-large__forma .form-wrap {
  align-items: flex-start;
}
.r-last-wrp {
  padding-bottom: 115px;
}
/* Скрываем контент предложений, когда показан block-large (count>299) */
.block-rezult .block-large[style='display: block;'] ~ #block-rezult-content {
  display: none !important;
}
h5.cl-width {
  word-break: normal;
}
h3.h3-sfd {
  font-family: var(--font-family);
  font-weight: 500;
  font-size: 36px;
  line-height: 1.22222;
  color: var(--black);
  margin-bottom: 24px;
}
.ghd-grid {
  margin-bottom: 50px;
}
.ghd-grid:last-child {
  margin-bottom: 0;
}
.block-rezult.bg-nb {
  background: none;
}

/* responsive */
.mob-span,
.control-img-mob,
.foot-bottom-mob,
.mob-menu,
.tel-mob {
  display: none !important;
}


.label-k2 {
  display: flex;
  align-items: center;
  position: relative;
}
.label-hover {
  position: relative;
  margin-left: 8px;
}
.label-hover-hover {
  display: block;
  line-height: 0;
}
.label-hover-wrap {
  position: absolute;
  z-index: 3;
  width: 195px;
  box-sizing: border-box;
  padding: 12px 8px;
  background: var(--pastel-green);
  border-radius: 16px;
  bottom: 37px;
  margin-left: -30px;
  display: none;
}
.label-hover-wrap:before {
  content: '';
  display: block;
  position: absolute;
  left: 0;
  bottom: -13px;
  height: 14px;
  width: 100%;
  right: 0;
  background: url('img/arrow-bottom.svg') no-repeat;
}
.label-hover-wrap b {
  display: block;
  font-family: var(--font-family);
  font-weight: 500;
  font-size: 14px;
  line-height: 1.42857;
  text-align: center;
  color: var(--black);
}
.label-hover-wrap li {
  font-family: var(--font-family);
  font-weight: 400;
  font-size: 12px;
  line-height: 1.66667;
  color: var(--black);
  position: relative;
}
.label-hover-wrap li:before {
  content: '';
  display: block;
  display: inline-block;
  background: #333;
  width: 3px;
  height: 3px;
  border-radius: 50%;
  margin-right: 5px;
  position: relative;
  bottom: 3px;
}
.label-hover-hover:hover + .label-hover-wrap {
  display: block;
}
#insurance{
	width: 100%;
}
.label-k2:before {
  background: url('img/label44.svg') no-repeat;
  width: 20px;
  height: 20px;
}
#select-service-form{
  padding: 16px 20px;
}
.service-item{
  padding: 16px 0;
}
.level-text{
  display: flex;
  font-family: 'TT Chocolate', sans-serif;
  font-weight: 400;
  font-size: 14px;
  line-height: 1.35;
  letter-spacing: 0;
}
.program-composition-row {
  display: flex;
  justify-content: space-between;
  margin-bottom: 8px;
}

.program-composition {
  font-weight: 500;
  color: #1a1a1a;
}

.program-more {
  display: inline-flex;
  font-family: 'TT Chocolate', sans-serif;
  font-weight: 500;
  gap: 4px;
  font-size: 16px;
  color: #00A24D !important; /* зелёный как у Сбера */
  padding: 0 !important;
  background-color: transparent !important;
  border-radius: 0 !important;
  text-decoration: none;
  cursor: pointer;
  transition: 0.25s;
}
.program-more svg{
  transform: translateY(2px);
}
.program-more:hover {
  color: #19b665;
}

.program-more__icon {
  transition: transform 0.2s ease;
}

.program-more:hover .program-more__icon {
  transform: translateX(3px);
}

.modal {
  position: fixed;
  inset: 0;
  z-index: 1000;
  display: none;
}

.modal.is-open {
  display: block;
}

.modal__overlay {
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,.4);
}

.modal__content {
  height: 100%;
  position: relative;
  display: flex;
  flex-direction: column;
  max-width: 900px;
  max-height: calc(100vh - 80px);
  margin: 40px auto;
  background: #fff;
  border-radius: 16px;
  padding: 40px 80px;
  z-index: 2;
  overflow: hidden;
}

.modal__close {
    position: absolute;
    top: 16px;
    right: 30px;
    font-size: 30px;
    background: none;
    border: none;
    cursor: pointer;
    color: inherit !important;
    border-radius: 0 !important;
    background-color: transparent !important;
}

.modal__tabs {
  display: flex;
  gap: 8px;
  margin: 16px 0;
}

.modal__tab {
  padding: 0 !important;
  color: inherit !important;
  padding-bottom: 8px;
  cursor: pointer;
  border: none;
  margin-right: 32px;
  padding-bottom: 8px !important;
  background-color: transparent !important;
  border-radius: 0 !important;
}

.modal__tab.is-active {
  color: #0E8449 !important;
  border-bottom: 1px solid #21a038 !important;
}

.modal__panel {
  display: none;
}

.modal__panel.is-active {
  display: block;
}

.modal__header {
  display: flex;
  gap: 16px;
  align-items: center;
  flex-shrink: 0;
}
.modal__tabs {
  flex-shrink: 0;
}
.modal__footer{
  display: flex;
  justify-content: center;
  flex-shrink: 0;
  margin-top: 48px;
}
.modal__footer a{
  width: 400px;
}
.modal__services {
  padding-right: 5px;
}
/* Кастомный скролл для Webkit браузеров (Chrome, Edge, Safari) */
.modal__services::-webkit-scrollbar {
  width: 8px;              /* ширина скролла */
}

.modal__services::-webkit-scrollbar-track {
  background: transparent; /* прозрачный фон полосы */
}

.modal__services::-webkit-scrollbar-thumb {
  background-color: #999999; /* серый цвет скролла */
  border-radius: 10px;        /* скругление скролла */
}

/* Для Firefox (с 64+) */
.modal__services {
  scrollbar-width: thin;       /* тонкий скролл */
  scrollbar-color: #999999 transparent; /* цвет полосы и трека */
}
.modal-service {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 0;
  border-bottom: 1px solid #eee;
}

.modal-service__name {
  font-family: 'TT Chocolate', sans-serif;
  font-weight: 500;
  font-size: 24px;
}

.modal-service__price {
  font-family: 'TT Chocolate', sans-serif;
  font-weight: 500;
  color: #484848;
  font-size: 16px;
}

.modal__services ul {
  list-style: none; /* убираем стандартные bullets */
  padding-left: 0;  /* убираем стандартный отступ ul */
  margin-left: 10px;
  margin-bottom: 24px;
}
.modal__services ul:last-child {
  margin-bottom: 0;
}

.modal__services ul li {
  position: relative;
  color: #484848; /* серый цвет текста */
  padding-left: 36px; /* место для галочки 24px + отступ */
  margin-bottom: 5px; /* отступ между элементами */
  font-size: 18px;
}

.modal__services ul li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 24px;
  height: 24px;
  background: url('img/arrow-item-list.svg') no-repeat;
  background-size: 24px 24px;
}
.modal__panel {
  display: none;
}

.modal__panel.is-active {
  display: block;
}
.modal__body{
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  padding-right: 5px;
  scrollbar-width: thin;
  scrollbar-color: #999999 transparent;
}

.modal__body::-webkit-scrollbar {
  width: 8px;
}
.modal__body::-webkit-scrollbar-track {
  background: transparent;
}
.modal__body::-webkit-scrollbar-thumb {
  background-color: #999999;
  border-radius: 10px;
}
.modal_title{
  font-family: 'TT Chocolate', sans-serif;
  font-weight: 500;
  color: #1A1A1A;
  font-size: 40px;

}
.modal_title2{
  font-family: 'TT Chocolate', sans-serif;
  font-weight: 400;
  color: #1A1A1A;
  font-size: 18px;
}
.modal__clinics{
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 20px;
    width: 100%;
    max-width: 100%;
}
.modal__clinics .wpcf7 {
    width: 100%;
}
.modal__clinics .wpcf7 form {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 20px;
    width: 100%;
}
.modal__clinics .clinics-list-form-wrap,
.modal__clinics .action_form_modal {
    width: 100%;
    display: flex;
    flex-direction: row;
    align-items: flex-end;
    gap: 20px;
}
.modal__clinics .clinics-list-form-wrap .input-wrp {
    width: 100%;
}
.modal__clinics .wpcf7-form-control-wrap {
    display: block;
    width: 100%;
    position: relative;
}
.modal__clinics .wpcf7-form-control-wrap:has(input[type="email"]) {
    position: relative;
}
.modal__clinics .wpcf7-not-valid-tip {
    color: var(--red-1);
    font-size: 13px;
    position: absolute;
    left: 0;
    top: 100%;
    margin-top: 4px;
    z-index: 1;
}
.modal__clinics .clinics-submit-wrap {
    width: 100%;
    align-self: flex-end;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
}
.modal__clinics .clinics-submit-wrap input[type="submit"] {
  width: 100% !important;
}
.modal__clinics .clinics-list-loader {
    display: none;
    width: 32px;
    height: 32px;
}
.modal__clinics .clinics-list-form-wrap.is-loading .clinics-list-loader {
    display: block !important;
}
.modal__clinics .clinics-list-submit:disabled {
    opacity: 0.7;
    cursor: not-allowed;
}
.modal__clinics .clinics-list-form-wrap .wpcf7-form-control-wrap:has(input[type="submit"]),
.modal__clinics .clinics-list-form-wrap .wpcf7-form-control-wrap:has(button[type="submit"]) {
    margin-top: 0;
}
.modal__clinics .wpcf7 input[type="submit"],
.modal__clinics .wpcf7 button[type="submit"],
.modal__clinics .wpcf7 .clinics-list-submit {
    margin-top: 0;
    padding: 0 !important;
    border-radius: 10px !important;
    width: 240px;
    background: transparent;
    color: var(--green-1);
    border: 1px solid var(--green-1);
    transition: 0.25s;
    cursor: pointer;
}
.modal__clinics .wpcf7 input[type="submit"]:hover,
.modal__clinics .wpcf7 button[type="submit"]:hover,
.modal__clinics .wpcf7 .clinics-list-submit:hover {
    background-color: var(--green-1);
    color: #ffffff;
}
.modal__clinics .wpcf7-response-output {
    margin: 0;
    padding: 12px 16px;
    border: 1px solid #00A24D;
    border-radius: 4px;
    width: 98%;
    box-sizing: border-box;
}
.action_form_modal{
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 24px;
}
.modal-button{
  width: 100%;
  align-self: flex-end;
  color: #00A24D;
  border: 1px solid #00A24D;
  background-color: transparent;
}
.modal-button:hover{
  color: #ffffff;
  background-color: #00A24D;
}
@media screen and (max-width: 1705px) {
  .pl-wrap2 {
    z-index: 1;
  }
}
.menu-top {
  flex: 1;
  gap: 10px;
  justify-content: center;
}
@media screen and (max-width: 1640px) {
  .menu-top > li {
    margin-right: 15px;
  }
  .control-img {
    max-width: 45vw !important;
  }
  .pl-wrap2 {
    gap: 20px;
  }
  .pl-item__title {
    font-size: 20px;
  }
  .about-img {
    zoom: 0.8;
  }
}
@media screen and (max-width: 1430px) {
  .menu-top > li {
    margin-right: 10px;
  }
  .about-img {
    zoom: 0.7;
    left: 37%;
  }
}
@media screen and (max-width: 1365px) {
  .search-block {
    max-width: 260px;
  }
  .tel,
  .mail {
    font-size: 16px;
  }
  .pl-item__title {
    font-size: 18px;
  }
  .txt-int {
    right: 12vw;
    font-size: 41px;
  }
  .about-img {
    zoom: 0.6;
  }
  .about-list__desc {
    max-width: 575px;
  }
  .about-list-name {
    font-size: 35px;
  }
  .news__item-more {
    font-size: 21px;
  }
  .block-rezult {
    padding: 40px 30px;
  }
}
@media screen and (max-width: 1100px) {
  .nav-wrp {
    display: none;
  }
  .header__right .btn {
    display: none;
  }
  .pl-item__title {
    font-size: 15px;
  }
  .block-top,
  .about {
    padding-bottom: 40px;
  }
  .insurance,
  .selection,
  .news,
  .faq .wrap {
    padding-bottom: 40px;
  }
  .about-img {
    display: none;
    opacity: 0;
  }
  .about-list-name {
    font-size: 31px;
  }
  .about-list__item {
    padding: 30px 0;
  }
  .cases__item span {
    font-size: 20px;
  }
  .news__item-more {
    font-size: 18px;
  }
  .footer {
    padding-top: 30px;
    padding-bottom: 30px;
  }
  .footer__left,
  .footer__right {
    padding: 30px 20px;
  }
  .foot-top__item2 {
    padding-left: 40px;
  }
  .footer-menu {
    gap: 35px;
    row-gap: 15px;
  }
  .foot-title {
    font-size: 31px;
  }
  .email-foot {
    margin-left: 35px;
  }
  .mob-menu {
    display: block !important;
  }
  .click-menu {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    line-height: 0;
    width: 48px;
    height: 48px;
    background: var(--green-1);
    border-radius: 10px;
  }
  .click-menu span {
    display: block;
    width: 16px;
    height: 2px;
    margin-bottom: 2px;
    border-radius: 4px;
    background: #fff;
  }
  .click-menu span:last-child {
    margin-bottom: 0;
  }
  .menu-top-mob {
    margin-bottom: 20px;
  }
  .mob-menu-wrap {
    position: absolute;
    z-index: 9;
    border-radius: 5px;
    padding: 15px;
    background: #fff;
    right: 15px;
    min-width: 300px;
    box-sizing: border-box;
    display: none;
  }
  .menu-top-mob > li > a {
    padding-bottom: 10px;
    margin-bottom: 10px;
    display: block;
    border-bottom: 1px solid #ccc;
    display: block;
    font-weight: 400;
    font-size: 18px;
    line-height: 1.22222;
    color: var(--black);
    transition: 0.25s;
  }
  .menu-top-mob > li.current-menu-item > a,
  .menu-top-mob > li.current_page_item > a {
    color: #00A24D;
  }
  .menu-top-mob > li:last-child > a {
    margin-bottom: 0;
  }
  .search-block {
    margin-left: 0;
    margin-bottom: 11px;
  }
  .mob-menu .ico {
    background: #f5f5f5;
  }
  .mob-menu .mail {
    display: none;
  }
  .header__right {
    margin-right: 25px;
  }
  .block-rezult__top {
    display: block;
    margin-bottom: 30px;
  }
  .block-rezult__top div {
    margin-left: 0;
    max-width: 100%;
    text-align: center;
  }
  .block-rezult__top h3 {
    margin-bottom: 15px;
  }
  .block-rezult__item {
    padding: 16px;
  }
  .block-rezult__item .btn-style-new {
    margin-right: 0;
    width: 100%;
    max-width: 100%;
    height: 48px;
  }
  .block-rezult__top div span:before {
    display: none;
  }
  .rating-wrp i {
    margin-right: 0;
  }
  .rezult-top {
    display: block;
  }
  .rezult-top h5 {
    max-width: 100%;
    margin-bottom: 10px;
  }
  .rezult-top__price {
    max-width: 100%;
    width: 100%;
  }
  .block-rezult__grid {
    gap: 10px;
  }
  .price-r,
  .desc-r {
    text-align: left;
  }
  .url-avtorize {
    margin-bottom: 12px;
  }
}
@media screen and (max-width: 1023px) {
  .block-top__wrap {
    min-height: auto;
  }
  .control__left h3 {
    margin: 0 auto 30px !important;
  }
  .control-img {
    position: static !important;
  }
  .control .wrap {
    display: block;
  }
  .control__right {
    max-width: 100%;
  }
  .pl-wrap1 {
    justify-content: center;
    padding-bottom: 45px;
  }
  .pl-item2 {
    top: 20px !important;
  }
  .control {
    padding-bottom: 0;
  }
  .control-img {
    max-width: 600px !important;
    margin: 0 auto !important;
    display: table !important;
  }
  .txt-int {
    position: absolute;
  }
  .pl-wrap2 {
    margin-bottom: 0;
  }
  .cases__item {
    padding: 20px;
  }
  .cases__item span {
    font-size: 18px;
  }
  .cases__item span br,
  .news__item-more br {
    display: none;
  }
  .cases__row {
    gap: 10px;
  }
  .foot-bottom {
    display: block;
  }
  .email-foot {
    margin-left: 0;
    margin-top: 14px;
  }
  .header__right {
    display: none;
  }
  .tel-mob {
    display: block !important;
    flex-shrink: 0;
    margin-left: auto;
    box-sizing: border-box;
    width: 48px;
    height: 48px;
    margin-right: 8px;
    border: 1px solid var(--green-1);
    border-radius: 10px;
    background: url('img/tel-mob.svg') center center no-repeat;
  }
  .mob-menu .mail {
    display: flex;
  }
  .block-top__wrp h2 span:before {
    display: none;
  }
  .modal-bg {
    background: #fff;
  }
  .block-rezult__grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .block-large__forma .checkbox-wrp-txt {
    font-size: 12px;
  }
}
@media screen and (max-width: 920px) {
  .news__list {
    grid-template-columns: repeat(2, 1fr);
  }
  .title-url {
    font-size: 26px;
  }
  .img-new-wrp img {
    width: 100%;
    max-width: none;
  }
  .control-img {
    max-width: 450px !important;
    width: 100% !important;
  }
  .txt-int {
    font-size: 35px;
  }
  .about-list__desc {
    width: 60%;
    margin-left: 0;
    padding-left: 11px;
    box-sizing: border-box;
  }
  .about-list-name {
    width: 40%;
    font-size: 27px;
  }
  .cases__item {
    min-height: 275px;
  }
  .foot-top__item1 {
    width: 100%;
    max-width: 100%;
  }
  .foot-top__item2 {
    width: 100%;
    max-width: 100%;
    padding-left: 0;
  }
  .modal-top h3 br {
    display: none;
  }
  .label {
    font-size: 16px;
  }
  .block-large h2 {
    font-size: 36px;
  }
  .block-large .form-wrap {
    display: block;
  }
  .block-large .checkbox-wrp {
    position: static;
  }
  .block-large__forma {
    padding: 59px 30px;
  }
  .block-large__forma .input-wrp {
    width: 100%;
    margin-bottom: 16px;
  }
  .block-large__forma .input-wrp:last-child {
    margin-bottom: 0;
  }
  .block-large__forma .wpcf7-response-output {
    bottom: 0;
  }
  .block-large h2 br,
  .block-large > span br {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  .news__row {
    flex-wrap: wrap;
  }
  .news__left,
  .news__right {
    width: 100%;
    padding: 0;
  }
  .news__left {
    margin-bottom: 25px;
  }
  .news__left img {
    display: table;
    margin: 0 auto;
    max-width: 100%;
  }
  .faq .wrap {
    min-height: auto;
    position: relative;
    padding-bottom: 185px;
  }
  .cases__row {
    grid-template-columns: repeat(1, 1fr);
    margin: 0 auto 24px;
    max-width: 340px;
  }
  .cases__item {
    min-height: 240px !important;
    height: 240px !important;
    top: 0 !important;
    bottom: 0 !important;
    border-radius: 20px !important;
    overflow: hidden;
  }
  .mob-span {
    display: block;
  }
  .cases__item1 span.mob-span {
    color: #fff;
  }
  .cases__item1 span br {
    display: block;
  }
  .cases__item4:before,
  .cases__item1:before {
    display: none;
  }
  .cases__item5 {
    display: none;
  }
  .cases__item1 {
    order: 1;
  }
  .cases__item2 {
    order: 2;
  }
  .cases__item3 {
    order: 3;
  }
  .cases__item4 {
    order: 8;
  }
  .cases__item5 {
    order: 6;
  }
  .cases__item6 {
    order: 7;
  }
  .cases__item7 {
    order: 4;
  }
  .cases__item8 {
    order: 9;
  }
  .cases__item4,
  .cases__item8 {
    min-height: auto !important;
    height: auto !important;
  }
  .cases__item8 {
    margin-top: -10px;
    position: relative;
    border-radius: 0 20px 20px 20px !important;
  }
  .cases__item4 {
    border-radius: 20px 20px 20px 0 !important;
    padding-bottom: 45px;
  }
  .cases__item4:before {
    content: '';
    display: block;
    position: absolute;
    right: 0;
    left: auto;
    bottom: 0;
    width: 100px;
    height: 3px;
    background: #007437;
  }
  .cases__item span br {
    display: block;
  }
  .about-list-name {
    font-size: 21px;
  }
  .about-list__desc p {
    font-size: 16px;
  }
  .block-top__wrap {
    padding: 30px;
  }
  .li-style li:before {
    width: 30px !important;
    height: 30px !important;
    background-size: 100% 100% !important;
    transform: translate(0, 0) !important;
    top: 0 !important;
  }
  .li-style li {
    padding-left: 40px !important;
  }
  .li-style li br {
    display: none !important;
  }
  .control {
    padding-top: 40px !important;
  }
  .txt-int {
    right: 15px !important;
  }
  .modal-top h3 {
    font-size: 28px !important;
  }
  .form-wrap {
    display: block !important;
  }
  .input-wrp {
    width: 100% !important;
    margin-bottom: 10px !important;
  }
  #form-clinics-list-wrap{
    flex-wrap: wrap !important;
  }
  .modal__clinics .btn4,
  .modal__clinics input[type="submit"],
  .modal__clinics .clinics-list-submit {
    margin-right: 0;
  }
  .modal__clinics .input-wrp {
    margin-bottom: 0;
  }
  .input-wrp:last-child {
    margin-bottom: 0;
  }
  .block-process__wrp h3,
  .block-rezult__top h3 {
    font-size: 28px;
  }
  .block-process {
    background: #01a24d;
  }
  .block-rezult__top div {
    font-size: 16px;
  }
  .block-rezult {
    padding: 35px 10px;
    margin-left: -15px;
    margin-right: -15px;
  }
}
@media screen and (max-width: 599px) {
  .control__left h3 {
    font-size: 28px !important;
    text-align: center !important;
  }
  .control__left h3 span:before {
    display: none !important;
  }
  .pl-wrap2 {
    gap: 5px;
  }
  .pl-item img {
    zoom: 0.7 !important;
  }
  .pl-item {
    width: 33.333% !important;
  }
  .st-btn {
    margin-bottom: 20px;
  }
  .list-number {
    font-size: 40px;
  }
  .selection__top h3 br,
  .block-top__wrp h2 span:before {
    display: none;
  }
  .txt-int {
    font-size: 31px;
  }
  .kviz-wrp .input-wrp {
    width: 100%;
  }
  .footer .wrap {
    grid-template-columns: 1fr;
    gap: 10px;
  }
  .footer__left {
    padding: 40px 32px 37px;
  }
  .foot-top__item1 {
    width: auto;
    margin-bottom: 20px;
  }
  .foot-top {
    justify-content: center;
  }
  .foot-bottom {
    padding-left: 15px;
  }
  .foot-top span {
    text-align: center;
  }
  .header__logo {
    margin-right: 15px;
  }
  .header__logo-txt {
    display: none;
  }
  .block-rezult__grid {
    grid-template-columns: repeat(1, 1fr);
    margin: 0 auto;
    max-width: 450px;
    margin-top: 10px;
  }
  .block-large h2 {
    font-size: 30px;
  }
}
@media screen and (max-height: 600px) {
  .modal__content {
    margin: 16px auto;
    max-height: calc(100vh - 32px);
  }
}
@media (max-width: 600px) {
  .modal__content{
    padding: 24px 10px !important;
  }
}
@media screen and (max-width: 480px) {
  .modal__content{
    padding: 40px;
  }
  .modal__clinics .btn4,
  .modal__clinics input[type="submit"],
  .modal__clinics .clinics-list-submit {
    margin-right: 0;
  }
  .block-top__wrap {
    background: #01a34f url('img/bg-top-mob.webp') right bottom no-repeat;
    padding-left: 10px;
    padding-right: 10px;
    padding-top: 40px;
    min-height: 1073px;
  }

  .sub-zag {
    margin-bottom: 25px;
    font-size: 16px;
  }
  h3.kviz-title {
    max-width: 159px;
    margin-bottom: 20px;
  }
  input[type='tel'],
  input[type='text'],
  input[type='email'],
  .wrapper_ul_select,
  .tokenize ul input {
    font-size: 16px;
  }
  .kviz-wrap .btn-submit {
    height: 70px;
  }
  .kviz-wrp .label {
    margin-bottom: 10px;
  }
  .block-top {
    padding-bottom: 0;
  }
  .control {
    padding-top: 20px;
    overflow: hidden;
  }
  .control__left h3 {
    font-size: 24px !important;
    margin-bottom: 33px !important;
  }
  .pl-wrap1 {
    display: block;
  }
  .pl-wrap2 {
    flex-wrap: wrap;
    z-index: 3;
    padding-bottom: 0;
  }
  .pl-item {
    max-width: 261px !important;
    width: 100% !important;
  }
  .pl-item__title {
    font-size: 18px;
  }
  .pl-item2 {
    float: right !important;
    top: 7px !important;
  }
  .pl-wrap:after {
    content: '';
    display: block;
    clear: both;
  }
  .pl-item {
    padding-bottom: 20px !important;
  }
  .pl-item4 {
    order: -1;
    transform: translate(0, 0);
    margin-top: -41px;
  }
  .pl-item3 {
    margin-left: auto;
    margin-top: -20px;
  }
  .pl-item5 {
    margin-top: -20px;
    transform: rotate(-6deg);
  }
  .control-img-mob {
    margin-left: -10px !important;
    margin-right: -10px !important;
  }
  .control-img-desc {
    display: none !important;
  }
  .control-img-mob {
    display: block !important;
  }
  .txt-int {
    z-index: 5;
    font-size: 24px;
    text-align: right;
    right: 10px;
    bottom: 240px;
  }
  .txt-int span {
    position: static;
  }
  .control {
    background: #fff url('img/vl3.svg') left bottom no-repeat;
  }
  .insurance,
  .selection,
  .news,
  .faq .wrap {
    padding-bottom: 30px;
  }
  .number {
    font-size: 36px;
  }
  .number:before {
    width: 89px;
    height: 42px;
    background-size: 100% 100%;
    top: -4px;
  }
  .about-list__item {
    flex-wrap: wrap;
    position: relative;
    min-height: 146px;
    padding: 10px 0;
  }
  .about-list-in__item {
    padding: 40px 20px;
    min-height: 340px;
  }
  .about-list-name {
    padding-top: 38px;
    margin-bottom: 10px;
    width: 203px;
    max-width: 60%;
    line-height: 1.22222;
    color: var(--green-1);
    font-size: 18px;
  }
  .about-list__desc {
    padding-left: 0;
    width: 100%;
    max-width: calc(100% - 120px);
  }
  .list-number {
    left: 0;
    top: 11px;
    position: absolute;
    margin: 0;
    font-size: 24px;
  }
  .about-list__item img {
    display: block !important;
    opacity: 1 !important;
    position: absolute;
    right: 0;
    left: auto;
    top: 50%;
    max-width: 117px;
    transform: translate(0, -50%);
    zoom: 1;
    max-width: 117px;
  }
  .about {
    padding-bottom: 10px;
  }
  .selection {
    background-position: center -109px;
    border-radius: 20px;
  }
  .ico-cases {
    zoom: 0.8;
  }
  .news h2 {
    margin-bottom: 30px;
  }
  time {
    font-size: 14px;
    margin-bottom: 15px;
  }
  .news__left {
    margin-bottom: 15px;
  }
  .title-url {
    font-size: 18px;
    padding-bottom: 15px;
  }
  .news__right p {
    font-size: 14px;
  }
  .group-btn-new {
    padding-top: 7px;
    display: block;
  }
  .group-btn-new a {
    width: 100%;
    margin: 0;
  }
  .group-btn-new a:first-child {
    margin-bottom: 10px;
  }
  .news__list {
    grid-template-columns: repeat(1, 1fr);
    gap: 25px;
  }
  .news__item time {
    margin-bottom: 15px;
  }
  .news {
    padding-bottom: 50px;
  }
  .faq {
    background-color: #1a1a1a;
    background-image:
      url('img/green-mobile.png'), url('img/yellow-mobile.png'),
      url('img/d-green-mobile.png');
    background-position:
      left top,
      right bottom,
      left bottom;
    background-repeat: no-repeat;
  }
  .md:h-autofaq__left h2 {
    max-width: 200px;
  }
  .faq .wrap {
    padding-bottom: 193px;
  }
  .faq .btn3 {
    background: #fff;
    color: var(--green-1);
  }
  .faq .btn3 svg path {
    stroke: var(--green-1);
  }
  .footer {
    padding-bottom: 10px;
    padding-top: 53px;
  }
  .footer__left p {
    font-size: 16px;
  }
  .foot-bottom-desc {
    display: none;
  }
  .foot-bottom-mob {
    display: block;
    margin-left: 0;
  }
  .foot-top {
    margin-bottom: 0;
  }
  .header__logo {
    max-width: 140px;
  }
  .mob-menu-wrap {
    right: 0;
  }
  .checkbox-wrp {
    margin: 0 auto;
    display: table;
    position: static;
  }
  .modal-bg {
    padding: 58px 10px;
  }
  .modal-top h3 {
    font-size: 24px;
    margin-bottom: 20px;
  }
  .modal-top span {
    font-size: 16px;
    margin-bottom: 10px;
  }
  .modal-tn {
    padding-left: 0;
    padding-right: 0;
  }
  .modal-tn__close {
    right: 15px;
  }
  .modal-bg {
    background: url('img/bg-popap-mob.webp') no-repeat;
    background-size: 100% 100%;
  }
  .popup-show-body {
    padding-right: 0 !important;
  }
  /* Модалка «Оформление заявки»: влезает в экран на iPhone, контент скроллится */
  #modal-window2.modal-tn .modal-tn__wrap {
    min-height: 100vh;
    min-height: 100dvh;
    justify-content: flex-start;
    align-items: stretch;
    padding-top: 16px;
    padding-bottom: calc(16px + env(safe-area-inset-bottom, 0));
    box-sizing: border-box;
  }
  #modal-window2.modal-tn .modal-tn__wrp {
    max-height: calc(100vh - 32px);
    max-height: calc(100dvh - 32px);
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    padding: 24px 16px 24px !important;
    padding-bottom: calc(24px + env(safe-area-inset-bottom, 0)) !important;
    margin: 0 10px;
    box-sizing: border-box;
  }
  #modal-window2.modal-tn .modal-tn__wrp.modal-bg {
    padding-top: 50px !important;
  }
  .dms-application-form__header {
    padding-right: 40px;
  }
  .dms-application-form__title {
    font-size: 20px;
  }
  .dms-application-form__subtitle {
    font-size: 14px;
  }

  .block-process__wrp h3,
  .block-rezult__top h3 {
    font-size: 16px;
  }
  .block-process__wrp span {
    font-size: 14px;
  }
  .block-process {
    min-height: 231px;
    background: url('img/process-mob-bg.webp') no-repeat;
    background-size: cover;
  }
  .block-rezult {
    margin-left: -10px;
    margin-right: -10px;
  }
  .block-rezult__top h3 {
    font-size: 24px;
  }
  .rezult-top h5 {
    font-size: 22px;
  }
  .rating {
    padding: 10px;
  }
  .block-rezult {
    background: url('img/rezult-mob.webp') center bottom no-repeat;
    background-size: 100% 100%;
  }
  .block-top__wrp-final .block-top__wrp-final h2 {
    max-width: 339px;
  }
  .block-top__wrp-final .block-v2 span {
    max-width: 355px;
  }
  .block-top__wrp-final .block-v2 span br {
    display: none;
  }
  .block-top__wrp-final {
    background: #01a34f url('img/bg-frame-mob.webp') right bottom no-repeat;
    min-height: 1626px;
  }
  .block-top__wrp-final .kviz-wrap .btn-submit {
    height: 60px;
  }
  .faq .btn3 {
    width: 100%;
    max-width: 100%;
  }
  .rezult-top {
    display: flex;
  }
  .rezult-top h5 {
    font-size: 20px;
    width: 100%;
    text-transform: none;
  }
  .rezult-top__price {
    width: 40%;
  }
  .price-r,
  .desc-r {
    text-align: right;
  }
  .price-r {
    font-size: 16px;
  }
  .block-rezult__item-last h2 {
    font-family: var(--font-family);
    font-weight: 500;
    font-size: 24px;
    line-height: 1.25;
    text-align: center;
    color: var(--black);
  }
  .block-rezult__desc {
    text-align: center;
    padding-bottom: 100px;
  }
  .program-composition {
    margin-bottom: 13px;
    font-size: 16px;
    line-height: 1.375;
  }
  .modal-open .modal-tn__close {
    background: url('img/close-btn-mob.svg') no-repeat;
    width: 50px;
    height: 52px;
    top: 30px;
    right: 15px;
  }
  .modal-open {
    background: url('img/call_back_fon-mob.webp') no-repeat;
    background-size: cover;
    max-width: calc(100% - 20px);
  }
  .block-large h2 {
    font-size: 24px;
    line-height: 1.25;
    font-weight: 500;
  }
  .block-large > .block-large__intro > span {
    font-size: 16px;
    line-height: 1.25;
  }
  .block-large {
    background: #fff;
  }
  .block-large__forma {
    padding: 0;
    padding-top: 15px;
  }
  .block-large .checkbox-wrp {
    display: block;
  }
  .block-large .checkbox-wrp-txt {
    max-width: none;
    font-family: var(--font-family);
    font-weight: 400;
    font-size: 14px;
    line-height: 1.42857;
    color: var(--secondary-blck);
  }
  .block-large {
    padding: 55px 10px;
    margin-left: -10px;
    margin-right: -10px;
  }
}
@media screen and (max-width: 345px) {
  .tarif-name {
    font-size: 14px;
    margin-left: 5px;
  }
  .rezult-top h5 {
    font-size: 16px;
  }
}

/* cf7-spinner-rotate и cf7-custom-loader перенесены в React: consultation-callback-modal/styles.css */

/* Главная: пункты меню в шапке по центру полосы навигации, иконка ЛК справа */
.header .nav-wrp {
  position: static;
  padding: 0;
}
.header .nav-wrp .url-avtorize {
  position: static;
  transform: none;
  margin: 0;
  flex-shrink: 0;
}
.header .nav-wrp .url-basket {
  position: relative;
  margin: 0 12px 0 0;
  flex-shrink: 0;
}
@media screen and (max-width: 1200px) {
  .header .nav-wrp {
    padding-right: 0;
  }
  .header .nav-wrp .url-avtorize {
    right: auto;
  }
}

