/* stylelint-disable declaration-property-value-no-unknown */
/* stylelint-disable declaration-block-no-duplicate-properties */
/* stylelint-disable rule-empty-line-before */
/* stylelint-disable comment-empty-line-before */
/* stylelint-disable no-duplicate-selectors */
/* ===== HERO (raster masked + full) ===== */

@font-face {
    font-family: 'Poppins New';
    font-weight: 400;
    font-style: normal;
    font-display: swap;
    src: url("../../fonts/PoppinsReg.woff2") format("woff2");
}

/* ===== HERO общие ===== */
.hero {
  --hero-height: 45vw;
  --start-scale: 1.28;
  position: relative;

  display: flex;
  justify-content: flex-start;
  align-items: center;

  height: var(--hero-height);

  overflow-x: clip;
}

.hero__content {
  position: relative;
  z-index: 3;

  width: 100%;
  max-width: 40%;
  padding: clamp(12px, 2vw, 48px);

  border-radius: 16px;
  background: #F0EBE6;
  margin-left: 127px;
  margin-top: 198px;
}

.hero__brand {
  width: clamp(20px, 40vw, 485px);
  height: auto;
  margin-bottom: clamp(36px, 7.7vw, 70px);
}

.hero__title {
  margin-bottom: 32px;
    font-weight: 600;
}

.hero__media {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 50%;
  z-index: 1;

  overflow: hidden;
  pointer-events: none;
}
.hero__bg {
  position: absolute;
  inset: 0;
  z-index: 0;

  overflow: hidden;
    pointer-events: none;
}

.hero__img {
  position: absolute;
  inset: 0;

  width: 100%;
  height: 100%;

  transform: scale(var(--start-scale));
  transform-origin: 50% 50%;
  will-change: transform;

  transition: transform 1.9s ease-in-out;
  object-fit: cover;
  object-position: 50% 50%;
}

.hero-adaptive {
  display: none;
}

.hero__img-adaptive {
  display: none;
}

.hero__mask {
  position: absolute;
  inset: 0;
  z-index: 1;

  pointer-events: none;
}

.hero__mask::before {
  position: absolute;
  top: 0;
  right: 50%;
  bottom: 0;
  left: 0;

  background: #F0EBE6;

  content: "";
}

.hero__mask::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 50%;

  /* outline: 1px solid red; */
  background: #F0EBE6;

  content: "";
  mask: linear-gradient(#fff 0 0), var(--hero-mask);

  mask-composite: exclude;
  -webkit-mask-image: linear-gradient(#fff 0 0), var(--hero-mask);
  mask-position: left center, left center;
  mask-repeat: no-repeat, no-repeat;
  mask-size: 101%, auto, cover;
}
.hero__title {
    font-size: 43px;
}

.hero__bubbles {
  position: absolute;
  inset: 0;
  z-index: 4;

  pointer-events: none;
    overflow: hidden;
}

.hero__bubble {
  position: absolute;

  width: var(--d, 14vw);
  height: var(--d, 14vw);

  border-radius: 50%;
  /* блик + «плёнка» */
  background: radial-gradient(
      circle at 30% 25%,
      rgb(255 255 255 / 37%),
      rgb(255 255 255 / 0%) 42%
    ),
    rgb(255 255 255 / 18%);
  box-shadow: inset 0 0 36px rgb(255 255 255 / 22%),
    inset 0 0 110px rgb(255 255 255 / 12%), 0 10px 24px rgb(0 0 0 / 10%),
    0 2px 6px rgb(0 0 0 / 6%);
}

.hero__bubble::after {
  position: absolute;
  inset: 0;
  z-index: 1;

  border-radius: 50%;

  filter: url("#bubble-refract") saturate(1.06) contrast(1.02) brightness(1.03);

  content: "";
}

.hero__bubble--lg {
  --d: 15vw;
    top: -103px;
    right: 166px;
    width: 196px;
    height: 205px;
    backdrop-filter: url(#liquid-distort) blur(1px);
    isolation: isolate;
}
.hero__bubble--sm {
  --d: 30vw;
  right: -115px;
  bottom: -302px;
    backdrop-filter: url(#liquid-distort) blur(1px);
    width: 480px;
    height: 502px;
}
.test {
  isolation: isolate;
}

.hero__bubble[data-anim="reveal"] {
  opacity: 0;
  transform: translate(300px, 0);

  transition: transform 4000ms
      var(--reveal-ease, cubic-bezier(0.2, 0.7, 0.3, 1)),
    opacity var(--reveal-dur, 700ms) ease;
}
.hero__bubble.is-inview {
  opacity: 1;
  transform: translate(0, 0);
}
.hero__subtitle.subtitle27 {
    color: #626354;
}

@media (width <= 1300px) {
  .hero__content {
    font-size: clamp(28px, 3.3vw, 36px);
    margin-left: 5vw;
  }

  .hero__brand {
    margin-bottom: clamp(36px, 7.7vw, 40px);
  }

  .hero__subtitle {
    margin: 0;
    padding: 0;

    /* font-size: var(--fs-sub20); */
  }
  .hero__title {
    font-size: var(--fs-h3);
    margin-bottom: 15px;
  }
}

@media (width <= 1000px) {
  .hero {
    --hero-height: 60vw;
    --start-scale: 1.28;
    position: relative;

    display: flex;
    justify-content: flex-start;
    align-items: center;

    height: var(--hero-height);

    background: var(--clr-bg-2, #f0ebe6);

    overflow-x: clip;
  }

  .hero__content {
    position: relative;
    z-index: 3;

    width: 100%;
    max-width: 46%;
    padding: clamp(12px, 2vw, 48px);

    border-radius: 16px;
    background: var(--clr-bg-2, #f0ebe6);
    margin-left: 3%;
    margin-top: 12vw;
  }

  .hero__brand {
    width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .hero__img {
    transform: none;

    transition: none;
  }
}

/* СЕКЦИЯ МЕНЮ */
/* ===== Бар с меню под hero ===== */
.section-menu {
  position: sticky;
  top: 0;
  z-index: 5;

  background: var(--clr-cream);
}

.section-menu.is-stuck {
  box-shadow: 0 6px 24px rgb(0 0 0 / 8%);
}

.menu-bar {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: clamp(18px, 4vw, 56px);

  min-height: 56px;
}

.lg-card__arr {
    display: none;
}
.site-nav {
  display: flex;
  justify-content: center;
  align-items: center;

  width: 100%;
}
/* Десктопное горизонтальное меню */
.menu {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: clamp(5px, 1vw, 10px);

  margin: 0;
  list-style: none;
}
.menu > li {
  position: relative;
}
.menu a {
  display: inline-flex;
  align-items: center;

  padding: 16px clamp(10px, 2vw, 20px);

  font-family: var(--ff-base, Manrope, sans-serif);
  line-height: 1.2;
  text-decoration: none;
  color: var(--clr-dark-800);

  transition: color 0.2s ease, background-color 0.2s ease,
    border-color 0.2s ease;
}
.menu a:hover {
  background-color: #fbf6ef;

  color: var(--clr-dark-900);
}
.menu .is-cta > a {
  padding: 8px 16px;

  border: 1px solid var(--clr-dark-800);
  border-radius: 999px;
}
.menu .is-cta > a:hover {
  background: var(--clr-hover);
}

/* Выпадашки (десктоп) */
.menu .menu-item-has-children > a::after {
  display: inline-block;

  width: 0.6em;
  height: 0.6em;

  transform: rotate(45deg) translateY(-10%);

  content: "";
  border-bottom: 1px solid currentcolor;
  border-right: 1px solid currentcolor;
  margin-left: 0.45em;
}
.menu .sub-menu {
  position: absolute;
  top: 100%;
  left: 50%;
  z-index: 30;

  visibility: hidden;

  min-width: 220px;
  margin: 0;
  padding: 8px;

  /* border: 1px solid var(--clr-line); */
  border-radius: 0 0 12px 12px;
  background: var(--clr-hover);
  /* box-shadow: var(--shadow-soft, 0 8px 24px rgb(0 0 0 / 8%)); */

  opacity: 0;
  transform: translate(-50%, 8px);

  transition: 0.18s ease;

  pointer-events: none;
  list-style: none;
}
.menu .sub-menu a {
  display: block;

  padding: 10px 12px;

  border-radius: 8px;

  white-space: nowrap;
}
.menu .sub-menu a:hover {
  background: var(--clr-hover);

  font-weight: 600;

  color: var(--clr-dark-900);
}
.menu > li:hover > .sub-menu,
.menu > li:focus-within > .sub-menu {
  visibility: visible;

  opacity: 1;
  transform: translate(-24%, 0);

  pointer-events: auto;
}

/* ===== Бургер ===== */
.burger {
  display: none;

  width: 50px;
  height: 50px;

  border: none;
  border-radius: 999px;
  background: E8DDD2;
  box-shadow: none;
}
.burger__bars {
  position: relative;
  top: 0;

  display: block;

  width: 20px;
  height: 2px;
  margin: 0 auto;

  background: var(--clr-dark-800);
}
.burger__bars::before,
.burger__bars::after {
  position: absolute;
  left: 0;

  width: 20px;
  height: 2px;

  background: inherit;

  content: "";
}
.burger__bars::before {
  top: -6px;
}
.burger__bars::after {
  top: 6px;
}

/* ===== Попап (мобилка) ===== */
.menu-drawer {
  position: fixed;
  inset: 0;
  z-index: 2000;

  visibility: hidden;

  opacity: 0;

  pointer-events: none;
}
.menu-drawer.is-open {
  visibility: visible;

  opacity: 1;

  pointer-events: auto;
}
.menu-drawer__overlay {
  position: absolute;
  inset: 0;

  background: rgb(57 58 52 / 35%);

  backdrop-filter: blur(2px);
}

/* Панель */
.menu-drawer__panel {
  position: absolute;
  inset: 0;

  display: flex;
  flex-direction: column;
  align-items: center;

  padding: 20px;

  background: var(--clr-cream);
}
.menu-drawer.is-open .menu-drawer__panel {
  transform: translateY(0);
}

.drawer-close {
  position: absolute;
  top: 52px;
  right: 16px;
  z-index: 1; /* выше контента панели */

  width: 40px;
  height: 40px;

  border: none;
  /* border-radius: 999px; */
  background: transparent;
  box-shadow: none;

  color: var(--clr-dark-800);

  cursor: pointer;
}
.drawer-close__icon {
  display: inline-block;

  font-size: 28px;
  line-height: 1;

  transform: translateY(-2px);
}

.drawer-close svg,
.burger svg {
  width: 22px;
  height: 22px;
}

/* Вертикальное меню внутри попапа */
.drawer-menu {
  width: min(92vw, 600px);
  margin: 90px 0 0;
  padding: 0;
  list-style: none;
}
.drawer-menu > li + li {
  margin-top: 6px;
}
.drawer-menu a {
  display: flex;
  justify-content: center;
  align-items: center;

  padding: 14px 18px;

  border: 1px solid transparent;
  border-radius: 12px;

  font-size: clamp(16px, 2.6vw, 20px);
  text-decoration: none;
  color: var(--clr-dark-800);
}
.drawer-menu a:hover {
  background: var(--clr-hover);
}
.drawer-menu .is-cta > a {
  border: 1px solid var(--clr-dark-800);
  border-radius: 999px;
}
.drawer-menu .menu-item-has-children > a {
  justify-content: center;
}

/* Аккордеон подменю в попапе */
.drawer-menu .sub-menu {
  display: none;
  margin-top: 6px;
  padding-left: 0;
}
.drawer-menu .menu-item-has-children.is-open > .sub-menu {
  display: block;
}
.drawer-menu .sub-menu li + li {
  margin-top: 6px;
}
.drawer-menu .sub-menu a {
  border: 1px solid var(--clr-line);
}

/* ===== Брэйкпоинты ===== */
@media (width <= 1100px) {
  .menu {
    gap: 5px;

    margin: 0;
  }

  .menu a {
    padding: 16px 10px;
  }
}

@media (width <= 768px) {
  .hero__inner {
    grid-template-columns: 1fr;
  }

  .burger {
    display: inline-flex;
    justify-content: center;
    align-items: center;
  }
  .site-nav {
    display: none;
  }
  .menu-bar {
    justify-content: right;
  }

  .drawer-menu a {
    margin: 0 auto;
    padding: 8px 18px;
  }
  .drawer-menu > li + li {
    margin-top: 5px;
  }

  .hero__bubble--lg {
    top: 50%;
    right: 15%;

    width: 10vw;
    height: 10vw;
  }

  .hero__bubble--sm {
    top: 85%;
    right: 60%;

    width: 15vw;
    height: 15vw;
  }
}

@media (width >= 769px) {
  .menu-drawer {
    display: none;
  } /* на десктопе попап не используется */
}

/* Блокируем прокрутку страницы, когда попап открыт */
body.no-scroll {
  overflow: hidden;
}

/* ===== Мобильный топ-бар (только ≤768px) ===== */
.mobile-topbar {
  position: absolute;
  top: 20px;
  right: 0;
  left: 0;
  z-index: 1100;

  display: none;
  justify-content: space-between;
  align-items: center;

  height: 56px;
  padding: 0 clamp(12px, 4vw, 20px);

  background: transparent;
  padding-top: env(safe-area-inset-top);
}

@media (width <=768px) {
  .mobile-topbar {
    display: flex;
  }
}
.topbar__brand {
  font-weight: 600;
  text-decoration: none;
  color: var(--clr-dark-800);
}
.topbar__cta {
  display: inline-flex;
  align-items: center;
  gap: 8px;

  padding: 8px 12px;

  border: 1px solid var(--clr-dark-800);
  border-radius: 999px;

  text-decoration: none;
  color: var(--clr-dark-800);
}
.topbar__cta:hover {
  background: var(--clr-hover);
}
/* Попап-меню (как делали ранее) — оставь прежние стили .menu-drawer/... */

/* Брэйкпоинты */
@media (width <=768px) {
  .mobile-topbar {
    display: flex;
  }
  .section-menu {
    display: none;
  }
}

@media (width >=769px) {
  .menu-drawer {
    display: none;
  } /* на десктопе попап не нужен */
}

/* базовая секция */
.oasis {
  padding: clamp(36px, 6vw, 72px) 0;

  background: transparent;
  overflow-x: clip;
}

@supports not (overflow-x: clip) {
  .oasis {
    overflow-x: hidden;
  }
}

.oasis__wrap {
  --oasis-w: clamp(280px, 70vw, 980px); /* ширина «пилюли» */
  position: relative;

  display: grid;

  /* важно: не шире области контента */
  width: min(100%, var(--oasis-w));
  margin-inline: auto;
}

/* фон-камень под текст — тень по альфа-каналу PNG */
.oasis__bg {
  display: block;
  /* не шире контейнера */
    width: auto;
  height: auto;
  margin: 0 auto;

  pointer-events: none;
    position: relative;
    left: 15px;
}

/* контент по центру камня */
.oasis__content {
  position: absolute;
  inset: -68px 85px 0 0;

  display: grid;
  place-items: center;

  padding: clamp(16px, 3vw, 28px) clamp(28px, 6vw, 64px);
}

.oasis__text {
  margin: 0;

  font-family: var(--ff-base, Manrope, sans-serif);
  font-weight: 300;
  font-size: 20px;
  line-height: 28px;
  text-align: center;
  color: var(--clr-dark-900);
  overflow-wrap: anywhere; /* на всякий случай */
}

/* стопка камней поверх справа */
.oasis__stones {
  position: absolute;
  right: 0; /* никогда не отрицательно */
  bottom: 0;
  z-index: 2;

  width: clamp(120px, 18vw, 260px);
  height: auto;

  /* визуально «вынесем» вправо/вниз, не меняя размеров блока */
  transform: translate(6%, 30%);

  pointer-events: none;
}

/* стрелка вниз */
.oasis__down {
  display: block;

  width: 98px;
  height: 43px;
  margin: 0 auto;

  opacity: 0.95;

  transition: transform 0.18s ease;
}
.oasis__down:hover {
  transform: translateY(2px);
}

/* адаптивные правки */
@media (width <= 768px) {
  .oasis {
    padding: 28px 0 20px;
  }

  .oasis__wrap {
    --oasis-w: min(92vw, 600px);
  }

  .oasis__content {
    inset: -45px 47px 0 0;

    padding: 16px 22px;
  }

  .oasis__stones {
    right: 0;
    bottom: 0;

    width: clamp(110px, 28vw, 160px);

    transform: translate(4%, 22%); /* чуть меньше, чтобы точно не вылезало */
  }
}

/* ===== Intro (image + 2 texts) ===== */
.intro {
  padding: clamp(40px, 6vw, 96px) 0;

  background: var(--clr-bg-2);
  box-shadow: 0 16px 42px rgb(0 0 0 / 9%);
  overflow-x: clip;
}

.intro__grid {
  display: grid;
  align-items: center;
  gap: 8vw;

  padding: 0 10vw;
  grid-template-columns: minmax(0, clamp(280px, 40vw, 620px)) minmax(0, 1fr);
}

.intro__media {
  position: relative;

  aspect-ratio: 620 / 460;
  margin: 0;
  padding: 0;
  overflow: hidden;

  border-radius: 24px;
  background: var(--clr-white);
}

.intro__media img {
  position: absolute;
  inset: 0;

  width: 100%;
  height: 100%;

  opacity: 0;
  will-change: opacity;

  transition: opacity 0.7s ease;
  object-fit: cover;
}
.intro__media img.is-active {
  z-index: 1;

  opacity: 1;
}

@media (prefers-reduced-motion: reduce) {
  .intro__media img {
    opacity: 1;
  }
}

.intro__content {
  display: grid;
  gap: clamp(14px, 2.2vw, 20px);

  width: 100%;

  min-width: 0;
  max-width: 504px;

  text-align: center;
  justify-items: center;
}

.intro__text {
  margin: 0;

  font-family: var(--ff-base, Manrope, sans-serif);
  font-size: var(--fs-base, clamp(15px, 2vw, 20px));
  line-height: 1.6;
  color: var(--clr-dark-800);
  overflow-wrap: anywhere;
}

/* Адаптив: в колонку */
@media (width <= 1024px) {
  .intro {
    padding: clamp(40px, 6vw, 96px) 10vw;

    background: var(--clr-white);
    box-shadow: none;
    overflow-x: clip;
  }
  .intro__grid {
    gap: 2vw;

    padding: 0;

    border-radius: 24px;
    background: #f3f3f3;
    box-shadow: 3px 2px 8px rgb(0 0 0 / 20%);
    grid-template-columns: 1fr;
    justify-items: center;
  }
  .intro__media {
    position: relative;

    width: 100%;
    max-width: 760px;
    aspect-ratio: 620 / 460;
    margin: 0;
    padding: 0;
    overflow: hidden;

    border-radius: 24px 24px 0 0;
    background: var(--clr-white);
    box-shadow: var(--shadow-soft, 0 8px 24px rgb(0 0 0 / 8%));
  }

  .intro__content {
    display: grid;
    gap: clamp(14px, 2.2vw, 20px);

    width: 100%;
    min-width: 0;
    max-width: 504px;
    padding: 30px;

    border-radius: 0 0 24px 24px;
    background-color: #f3f3f3;

    text-align: left;
    justify-items: center;
  }

  .intro__text {
    margin: 0;

    font-family: var(--ff-base, Manrope, sans-serif);
    font-weight: 300;
    font-size: 16px;
    line-height: 28px;
    color: var(--clr-dark-900);
    overflow-wrap: anywhere;
  }
}

/* ===== Stats ===== */
.stats {
  padding: clamp(48px, 112px, 150px) 0;

  background: transparent;
}

.stats__title {
  text-align: center;
  margin-bottom: 83px;
}

.stats__grid {
  display: grid;
  gap: clamp(20px, 4vw, 48px);

  margin: 0;
  padding: 0;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  list-style: none;
  padding-left: 10vw;
  padding-right: 10vw;
}

.stat {
  text-align: center;
}

.stat__number {
  min-height: 1em;

  font-family: Poppins, sans-serif; /* крупные цифры в Poppins */
  font-weight: 500;
  font-size: clamp(44px, 6vw, 72px);
  line-height: 1.1;
  color: var(--clr-dark-900);
}

.stat__line {
  width: 72%;
  height: 1px;
  margin: 10px auto 14px;

  background: #000;
}

.stat__label {
  max-width: 28ch;
  margin: 0 auto;

  font-family: Manrope, var(--ff-base, Manrope, sans-serif);
  font-weight: 400;
  font-size: clamp(14px, 1.4vw, 20px);
  line-height: 1.55;
  line-height: 27.2px;
  color: var(--clr-dark-800);
}

@media (width <= 900px) {
  .stats__grid {
    grid-template-columns: 1fr 1fr;
  }
  /* .drips__grid {
    grid-template-columns: 1fr;
    justify-items: center;
  }
  .drips__right {
    margin: 0 auto;
  }
  .drips__title {
    margin: 0 0 16px;

    text-align: center;
  } */
}

/* @media (width <= 560px) {
  .stat__label {
    padding: 0 20px;

    text-align: left;
  }
  .stat__line {
    width: 150px;
  }
  .drips .swiper {
    max-width: 95vw;
  }
}

@media (width <= 500px) {
  .stat__line {
    width: 140px;
  }
  .drips .swiper {
    max-width: 95vw;
  }
} */

/* ===========================
   Bottles — базовые стили
   =========================== */
.bottles-swiper {
  --row-h: clamp(240px, 40vh, 520px);
  --bottle-w: clamp(120px, 22vw, 240px);
  --scale-active: 1;
  --scale-near: 0.85;
  --scale-far: 0.72;
  overflow: visible;
  direction: rtl;
  padding-block: 8px 12px;
}
.bottles-swiper .swiper-wrapper {
  align-items: flex-end;
}
.bottles-swiper .swiper-slide {
  z-index: 1;

  display: flex;
  justify-content: center;
  align-items: flex-end;

  width: var(--bottle-w);

  opacity: 0.9;
  transform-origin: bottom center;
  will-change: transform;

  transition: transform 0.45s ease, opacity 0.45s ease, filter 0.45s ease;
  direction: ltr;
}
.bottles-swiper .swiper-slide .bottle,
.bottles-swiper .swiper-slide img {
  position: static !important;

  display: block;

  width: auto;
  height: var(--row-h);
  max-height: var(--row-h);
  object-fit: contain;
}
.bottles-swiper .swiper-slide.swiper-slide-active {
  z-index: 3;

  opacity: 1;
  transform: scale(var(--scale-active));
}
.bottles-swiper:not(.swiper-rtl) .swiper-slide.swiper-slide-next {
  z-index: 2;

  transform: scale(var(--scale-near));
}
.bottles-swiper:not(.swiper-rtl)
  .swiper-slide.swiper-slide-next
  + .swiper-slide {
  z-index: 1;

  transform: scale(var(--scale-far));
}
.bottles-swiper.swiper-rtl .swiper-slide.swiper-slide-prev {
  z-index: 2;

  transform: scale(var(--scale-near));
}
.bottles-swiper.swiper-rtl .swiper-slide.swiper-slide-prev + .swiper-slide {
  z-index: 1;

  transform: scale(var(--scale-far));
}
.bottles-swiper .swiper-slide.is-prev {
  z-index: 2;

  transform: scale(var(--scale-near));
}
.bottles-swiper .swiper-slide.is-prev2 {
  z-index: 1;

  transform: scale(var(--scale-far));
}

/* Bottles — адаптив */
@media (width <= 900px) {
  .drips__grid {
    grid-template-columns: 1fr;
    justify-items: center;
  }
  .bottles-swiper {
    --row-h: clamp(260px, 48vh, 520px);
    --bottle-w: clamp(160px, 55vw, 320px);
  }
}

@media (width <= 560px) {
  .bottles-swiper {
    --mobile-img-h: clamp(220px, 60dvh, 360px);
    height: auto;
    overflow: hidden;
  }
  .bottles-swiper .swiper-wrapper {
    align-items: center;
  }
  .bottles-swiper .swiper-slide {
    justify-content: center;
    align-items: center;

    width: 100% !important;
    height: var(--mobile-img-h);

    transform: none !important;
  }
  .bottles-swiper .swiper-slide.is-active,
  .bottles-swiper .swiper-slide.is-prev,
  .bottles-swiper .swiper-slide.is-prev2,
  .bottles-swiper .swiper-slide.swiper-slide-next,
  .bottles-swiper .swiper-slide.swiper-slide-next + .swiper-slide {
    transform: none !important;
  }
  .bottles-swiper .swiper-slide .bottle,
  .bottles-swiper .swiper-slide img {
    width: auto;
    max-width: 92vw;
    height: auto;
    max-height: var(--mobile-img-h);
    margin: 0 auto;
    object-fit: contain;
  }
}

/* ===== WHO section ===== */
.who {
  position: relative;

  padding: var(--container-pad) 0 calc(var(--container-pad) * 10);

  overflow: hidden;

  background: var(--clr-bg, #fff);
}
.who::after {
  position: absolute;
  inset: 0 0 0 40%;

  opacity: 0.45;

  pointer-events: none;
  content: "";
}

.who__grid {
  position: relative;

  display: grid;
  align-items: start;
  gap: clamp(24px, 4vw, 56px);
}
.who__left {
  min-width: 0;
  margin-left: 10vw;
}

.who__title {
  width: 100%;
  max-width: 360px;
  margin: 0 0 clamp(36px, 5vw, 50px);
}

.who__list {
  display: grid;
  gap: 29px;

  margin: 0;
  padding: 0;

  color: var(--clr-dark-800, #515247);
  counter-reset: who;
  list-style: none;
}
.who__list li {
  z-index: 1;

  display: grid;
  justify-content: left;
  align-items: center;

  max-width: 610px;

  font-weight: 200;
  font-size: 20px;
  line-height: 28.3px;
  color: var(--clr-dark-900);
  column-gap: 30px;
  counter-increment: who;
  grid-template-columns: auto 1fr;
}

.who__list li::before {
  align-items: center;

  min-width: 0.5em;

  font-family: "Manrope", system-ui, -apple-system, "Segoe UI", roboto, arial, sans-serif;
  font-weight: 200;
  font-size: 65px;
  text-align: center;
  color: #000;
    min-height: 47px;

  content: counter(who);
}

/* правый столбец: декоративные объекты */
.who__list {
  isolation: isolate;

  min-height: auto;
}
.who__list::after {
  position: absolute;
  top: 0%;
  right: -7%;

  width: clamp(65vw, 68vw, 75vw);
  /* width: 100%; */
  aspect-ratio: 1 / 1;

  background: var(--dumbbell) no-repeat center / contain;

  opacity: 0.95;

  pointer-events: none;
  content: "";
}

/* адаптив */
@media (width <= 900px) {
  .who::after {
    inset: 10% 0 0;

    background-size: 90% auto;

    opacity: 0.35;
  }
  .who__grid {
    grid-template-columns: 1fr;
  }
  .who__title {
    text-align: left;
  }
  .who__list::after {
    display: none;
  }
}

@media (width <= 560px) {
  .who::after {
    background-size: 110% auto;

    opacity: 0.25;
  }
}

/* секция */
.team {
  --bg: #F0EBE6;
  --card-bg: #fff;
  --shadow: 0 10px 28px rgb(0 0 0 / 10%);
  padding: clamp(32px, 6vw, 80px) 0;

  background: var(--bg);
    padding-bottom: 0;
}

.team__head {
  max-width: 690px;
  margin-left: 80px;
  border-left: var(--line);
  padding-left: 30px;
  padding-bottom: 25px;
  margin-bottom: 67px;
}

.team__title {
  margin: 6px 0;
}

.team__subtitle {
  max-width: 500px;
  margin: 6px 0 0px;

  color: var(--clr-dark-700, #626354);
}
/* Контейнер слайдера — больше никаких 98vw и отрицательных маржинов */
.team__slider {
  position: relative;

  width: 100%;
  margin: 0;
  margin-top: -50px !important;
  overflow-x: hidden;
    padding-bottom: 100px;
}

/* Блок со свипером */
.team-swiper {
  overflow: hidden;
}
.team-swiper .swiper-wrapper {
  align-items: stretch;
  margin-top: 100px;
}

.team-swiper .swiper-slide {
  width: 340px;
  height: auto;
}

/* Карточка — ширину берём из слайда, внешние отступы карточке не нужны */
.team-card {
  position: relative;

  display: grid;
  gap: 8px;

  margin: 0;
  padding: 26px 10px;

  border-radius: 25px;
  background: var(--card-bg);
  justify-items: center;
  padding-top: clamp(46px, 6vw, 56px);
    box-shadow: 2.52px 2.52px 6.72px 0px #3E3B3708, 8.4px 9.24px 12.6px 0px #3E3B3708, 19.32px 21px 17.64px 0px #3E3B3705, 35.28px 37.8px 21px 0px #3E3B3700, 54.6px 58.8px 22.68px 0px #3E3B3700;

}

/* Фото и контент — как было */
.team-card__photo {
  position: absolute;
  top: 32px;
  left: 50%;

  width: 232px;
  aspect-ratio: 1/1;
  overflow: hidden;

  border-radius: 50%;

  transform: translate(-50%, -42%);
}
.team-card__photo img {
  display: block;

  width: 100%;
  height: 100%;
  object-fit: cover;
}

.team-card__name {
  max-width: 160px;
  min-height: 50px;
  margin: 154px 0 0;

  font: 500 clamp(19px, 2.5vw, 27px) / 1.3 var(--ff-base, Manrope, sans-serif);
  text-align: center;
  color: #1E1F1B;
}
.team-card__role,
.team-card__exp {
  margin: 0;

  font-weight: 400;
  font-size: var(--fs-sub);
  line-height: 1.6;
  text-align: center;
  color: var(--clr-dark-800, #555252);
}

/* Надёжная отсечка гор. прокрутки на старых Safari */
.team__slider,
.team-swiper {
  overflow-x: hidden;
}

/* 3D-фиксация для iOS (сабпиксельные дёргания) */
.team-swiper .swiper-wrapper,
.team-swiper .swiper-slide {
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

/* ===== Секция ===== */
.plans {
  position: relative;

  margin: 0 auto;
  padding: clamp(60px, 7vw, 72px) 0;
}
.plans::before {
  position: absolute;
  inset: 0;
  left: -30%;
  z-index: -1;

  background: url("/wp-content/themes/gardenrecovery/assets/img/vector.png")
    no-repeat center;
  background-size: min(1250px, 130vw) auto;

  pointer-events: none;
  content: "";
}
.plans__head {
  margin: 0 6vw 80px;
  border-left: var(--line);
  padding-left: 30px;
}

.plans__title {
  margin: 0 0 6px;
  padding: 0;
}

.plans__sub {
  max-width: 440px;
}

.plans__grid {
  display: grid;
  align-items: start;
  gap: clamp(16px, 3vw, 28px);

  width: 100%;
  height: auto;
  padding: 0 6vw;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

@media (width <= 1280px) {
  .plans::before {
    background-size: 900px auto;
  }
}

@media (width <= 768px) {
  .plans::before {
    background-size: 600px auto;
  }
}

@media (width <= 900px) {
  .plans__grid {
    grid-template-columns: 1fr;
  }
}

/* ===== Карточка ===== */
.plan {
  --r: 18px;
  --label-h: 44px;
  --label-w: 160px;
  --label-bg: #b7bca5;

  position: relative;

  isolation: isolate;

  padding: calc(var(--label-h) / 2 + 50px) clamp(16px, 2.6vw, 30px) 18px;

  border-radius: var(--r);
  background: #f3f3f3;
  background-size: min(1100px, 90vw) auto;
  /* box-shadow: 0 8px 24px rgb(0 0 0 / 8%); */
}

/* ===== Бейдж ===== */
.plan__label {
  position: absolute;
  top: 0;
  left: 50%;
  z-index: 2;

  display: flex;
  justify-content: center;
  align-items: center;

  min-width: var(--label-w);
  height: var(--label-h);
  padding: 35px 28px;

  border: 14px solid #fff;

  border-radius: 33px;
  background: #999b84;

  font: 600 var(--fs-sub27) / 1 var(--ff-base, Poppins, sans-serif);
  letter-spacing: 0.02em;
  color: #fff;

  transform: translate(-50%, -50%);
}

.plan__label-text {
  min-width: 90px;
  padding: 8px 0;

  font-weight: 400;
  text-transform: uppercase;
}

/* ===== Список ===== */
.plan__list {
  position: relative;

  display: grid;
  gap: 5px;

  margin: 0;
  padding: 0;
  list-style: none;
}
.plan__list span {
  display: block;

  font-weight: 700;
  font-size: 15px;
  line-height: 1.5;
  margin-bottom: 15px;
}

.plan__row {
  position: relative;

  display: grid;
  align-items: baseline;

  font: 400 15px/1.5 var(--ff-base, Manrope, sans-serif);
  color: #4f5047;
  column-gap: 10px;
  grid-template-columns: 1fr auto;
}
.plan__txt {
  position: relative;

  /* stylelint-disable-next-line declaration-property-value-keyword-no-deprecated */
  /* word-break: break-all; */
}

.plan__txt p {
  margin: 0;
  padding: 0;
  margin-bottom: 3px;
}

.plan__txt::after {
  display: block;

  transform: translateY(-0.4em);

  content: "";
}

.plan__txt ul,
.plan__txt ol {
  margin: 4px 0 0 1.1em;
}

.plan__price {
  white-space: nowrap;
  margin-left: 6px;
}

/* ===== Футер ===== */
.plan__foot {
  color: #3b3c34;
  margin-top: 12px;
}
.plan__foot p {
  margin: 0.3em 0;

  font-weight: 600;
}

/* ===== Таймлайн ===== */
.plan {
  --tl-x: -13px;
  --tl-pad: 10px;
  --tl-color: #aeb59d;
  --tl-dot: #aeb59d;
  --tl-ring: rgb(145 160 131 / 25%);
}
.plan__list {
  margin: 0;
  padding: 0;
  list-style: none;
  padding-left: calc(var(--tl-x) + 35px);
}
.plan__list::before {
  position: absolute;
  top: 10px;
  bottom: 10px;
  left: 8px;

  width: 2px;

  border-radius: 2px;
  background: #aeb59d;

  color: #aeb59d;

  opacity: 0.7;

  content: "";
}
.plan__row::before {
  position: absolute;
  top: 20%;
  left: var(--tl-x);
  z-index: 1;

  width: 6px;
  height: 6px;

  border-radius: 50%;
  background: var(--tl-dot);
  box-shadow: 0 0 0 1px var(--tl-ring);

  transform: translate(-50%, -50%);

  content: "";
}

@media (width <= 560px) {
  .plan__row {
    font-size: 14px;
  }
}

/* ===== Swiper-режим для планов (мобайл) ===== */
.plans-swiper {
  display: block !important;
  overflow-x: clip;
}

@supports not (overflow: clip) {
  .plans-swiper {
    overflow-x: hidden;
  }
}
.plans-swiper .swiper-wrapper {
  align-items: stretch;
  gap: 0 !important;
}
.plans-swiper .swiper-slide {
  width: 460px;
  height: auto;
  margin-top: 40px;
}

.plans-swiper .plan {
  box-sizing: border-box;
  /* width: min(560px, 92vw); */
  margin: 0 auto;
}

/* ===== Пагинация (только мобайл) ===== */
.plans__pag {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 6px;
  margin-top: clamp(12px, 2.2vw, 18px);
}
.plans__pag .swiper-pagination-bullet {
  width: 8px;
  height: 8px;

  border-radius: 999px;
  background: #777;

  opacity: 0.3;

  transition: transform 0.2s ease, opacity 0.2s ease;
}
.plans__pag .swiper-pagination-bullet-active {
  opacity: 1;
  transform: scale(1.25);
}

@media (width <= 600px) {
  .plans-swiper .swiper-slide {
    width: 400px;
    height: auto;
    margin-top: 40px;
  }
}

/* ===== Мобильная «плашка» вместо контента ===== */
.plan__mini {
  display: none;
}

/* ==== Swiper-контейнер (даём выглядывать соседям) ==== */
.plans-swiper {
  overflow: hidden;
}

/* без встроенного gap у трека: будем задавать своим margin */
.plans-swiper .swiper-wrapper {
  align-items: stretch;
  gap: 0 !important;
}

/* базовая ширина слайда (пока >480) — не критично, оставь как есть */
.plans-swiper .swiper-slide {
  width: 460px;
  height: auto;
}

/* ==== Мобильный режим ≤480 ==== */
@media (width <= 480px) {
  .plans-swiper .swiper-slide {
    display: flex;
    justify-content: center;
    align-items: stretch;

    width: 248px;
    margin-right: 33px; /* наш «gap» */
  }

  .plans-swiper .swiper-slide:last-child {
    margin-right: 0;
  }

  /* карточка занимает слайд полностью, без внешних отступов */
  .plans-swiper .plan {
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
    overflow: hidden;

    border-radius: 28px;
    -webkit-mask: none;
    mask: none;
  }

  /* скрыть обычный контент и показать мини-карту */
  .plan__label,
  .plan__body {
    display: none;
  }

  /* ВАЖНО: ЯВНО ВКЛЮЧАЕМ mini и перебиваем возможное display:none сверху */
  .plan__mini {
    position: relative;

    display: grid !important; /* перебиваем глобальное скрытие */
    gap: 7px;
    place-items: center;
    padding: 50px 27px;
    overflow: hidden;

    border-radius: 24px;
    box-shadow: -0.95px -0.95px 1.9px 0px #00000040 inset, 1.9px 3.8px 1.9px 0px #FFFFFF40 inset;
      background-color: #ffffff;

  }
  .plan__bg {
      pointer-events: nonb;
  }
  .plan__bg div:nth-child(1) {
      position: absolute;
      width: 157px;
      height: 157px;
      border-radius: 50%;
      filter: blur(57px);
      background-color: #c1caba;
      top: -47px;
      right: -22px;
  }
  .lg-card__arr {
      display: none;
  }
  .plan__bg div:nth-child(2) {
      position: absolute;
      width: 157px;
      height: 157px;
      border-radius: 50%;
      filter: blur(57px);
      background-color: #BACAC8;
      left: -27px;
      bottom: 43px;
  }
  .plan__bg div:nth-child(3) {
      position: absolute;
      width: 157px;
      height: 157px;
      border-radius: 50%;
      filter: blur(57px);
      background-color: #BACAC3;
      right: -52px;
      bottom: -31px;
  }

  .plan__digit,
  .plan__unit {
    position: relative;
    z-index: 1;
  }
  .plan__digit {
    font: 600 115px / 1 var(--ff-h);
    color: rgb(0 0 0 / 45%);
    margin-top: 40px;
  }
  .plan__unit {
    font: 300 28px / 1.2 var(--ff-base, Manrope, sans-serif);
    letter-spacing: 0.03em;
    text-transform: uppercase;
    color: #000;
  }

  .plan__mini .btn {
     width: 140px;

    border: 1px solid rgb(0 0 0 / 90%);

    color: #000;
      font-size: 17px;
      margin-top: 16px;
  }
  .plan__mini .btn:hover {
      color: #ffffff;
      border-color: #999b84;
  }
}

/* Секция Проживание, питание */
.amen {
  padding: clamp(28px, 6vw, 72px) 0;
}
.amen__row {
  display: grid;
  align-items: start;
  gap: clamp(20px, 4vw, 40px);

  margin: 0 5vw;
  padding: clamp(24px, 6vw, 40px) 0 clamp(24px, 6vw, 96px) 5vw;
  border-top: 1px solid rgb(0 0 0 / 100%);
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
}
.amen__text {
  /* padding: 0 10vw; */
}
.amen__title {
  color: #000;
  padding-left: 18px;
}
.amen__list {
  display: grid;
  gap: 10px;

  max-width: 337px;

  margin: 0;
  padding: 0;

  color: var(--clr-dark-900);
  list-style: none;
}
.amen__list li {
  position: relative;

  font-weight: 200;
  font-size: 20px;

  line-height: 1.5;
  line-height: 28.3px;
  padding-left: 18px;
}
/* .amen__list li::before {
  position: absolute;
  top: 0;
  left: 0;

  color: #9aa18b;

  content: "—";
} */

.amen__mosaic {
  display: grid;
  gap: 2vw;
  grid-template-columns: 0.82fr 1.18fr;
}

.amen__mosaic figure {
  margin: 0;
  padding: 0;
}

.mosaic-3 {
  grid-template-areas:
    "a b"
    "c b";
}
.mosaic-3 .a {
  aspect-ratio: 281 / 274;
  grid-area: a;
}
.mosaic-3 .c {
  aspect-ratio: 281 / 274;
  grid-area: c;
}
.mosaic-3 .b {
  width: 100%;
  /* aspect-ratio: 410 / 585; */
  max-width: 410px;
  height: 100%;
  grid-area: b;
}

/* плитка */
.m {
  position: relative;

  aspect-ratio: 1 / 1;
  overflow: hidden;

  border-radius: 30px;
  background: transparent;
  box-shadow: 1px 1px 4px 0px #4A423B33, 5px 5px 7px 0px #4A423B2B, 20px 22px 12px 0px #4A423B08, 31px 34px 13px 0px #4A423B00;


  transform-origin: center;
  will-change: transform;

  transition: transform 0.3s ease;
}

@media (hover: hover) and (pointer: fine) {
  .m:hover {
    transform: scale(1.05);
  }
}

.m img {
  position: absolute;
  inset: 0;

  width: 100%;
  height: 100%;

  transform-origin: center;
  will-change: transform;

  transition: transform 0.3s ease;
  object-fit: cover;
}

@media (hover: hover) and (pointer: fine) {
  .m:hover img {
    transform: scale(1.05);
  }
}

/* адаптив */
@media (width <= 900px) {
  .amen__row {
    gap: clamp(14px, 3vw, 20px);

    margin: 18px;
    grid-template-columns: 1fr;
  }
  .mosaic-3 .b {
    aspect-ratio: 410 / 575;
    grid-area: b;
  }
}

/* Галерея */
/* Lightbox */
.lb {
  position: fixed;
  inset: 0;
  z-index: 9999;

  display: none;
  place-items: center;

  background: rgb(0 0 0 / 90%);
}
.lb.is-open {
  display: grid;
}
.lb__img {
  max-width: 92vw;
  max-height: 92vh;

  border-radius: 12px;
  box-shadow: 0 10px 30px rgb(0 0 0 / 30%);
}
.lb__btn {
  position: absolute;
  top: 50%;

  display: grid;
  place-items: center;

  width: 56px;
  height: 56px;

  border: 0;
  background: none;

  color: #fff;

  opacity: 0.85;
  transform: translateY(-50%);

  cursor: pointer;
}
.lb__btn:hover {
  opacity: 1;
}
.lb__btn--prev {
  left: 16px;
}
.lb__btn--next {
  right: 16px;
}
.lb__close {
  position: absolute;
  top: 16px;
  right: 16px;

  display: grid;
  place-items: center;

  width: 44px;
  height: 44px;

  border: 0;
  background: none;

  color: #fff;

  opacity: 0.9;

  cursor: pointer;
}
.lb__count {
  position: absolute;
  bottom: 16px;
  left: 50%;

  font: 600 14px/1.2 system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  color: #fff;

  opacity: 0.85;
  transform: translateX(-50%);
}

/* ===== СЕКЦИЯ ШАГИ ===== */
/* === БАЗА === */
.steps {
  padding: clamp(28px, 6vw, 72px) 0;

    background-color: #f1f1f1;
  overflow-x: clip;
}
.steps__head {
  margin-bottom: clamp(18px, 3vw, 28px);
}
.steps__title {
  text-align: center;
  color: #000;
  margin-bottom: 70px;
}
.steps__wrap {
  position: relative;

  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

/* === СЛАЙДЕР === */
.steps-swiper {
  --edge: 16px;
  width: 100%;
  min-width: 0;
    max-width: 1000px;
  margin: 0 auto;
  overflow: hidden;
  padding-top: 15px;
  touch-action: pan-y;
}
.steps-swiper .swiper-wrapper {
  align-items: stretch;

  overflow: visible; /* важно для badge/иконок */
}
.steps-swiper .swiper-slide {
  flex: 0 0 auto;

  width: clamp(185px, 30vw, 200px);
  overflow: visible;
}

/* === КАРТОЧКА === */
.step {
  position: relative;

  display: grid;
  gap: 12px;

  min-height: 210px;
  padding: 28px 18px 22px;

  border-radius: 18px;
  background: url("/wp-content/themes/gardenrecovery/assets/img/stepbg.png")
    center / 100% 100% no-repeat;

  color: var(--clr-dark-900, #393a34);
  align-content: center;
  counter-increment: step;
  justify-items: center;
}

/* Псевдоэлемент (номер, иконки и т.п.) */
.step__badge {
  position: absolute;
  top: -10px;
  left: -13px;

  display: grid;
  place-items: center;

  width: 50px;
  height: 50px;

  border-radius: 999px;
  background: #7B7B7B;

  font: 400 30px/1.5 var(--ff-base, Poppins, sans-serif);
  color: var(--clr-white, #fff);
}
.step__badge::before {
  content: counter(step);
}

/* иконка и заголовок */
.step__icon svg {
  display: block;

  max-width: 117px;
  height: auto;

  color: var(--clr-accent-olive, #999b84);
}
.step__title {
  margin: 6px 0 0;

  font: 300 clamp(16px, 2.2vw, 16.5px) / 1.4 var(--ff-base, Manrope, sans-serif);
  text-align: center;
  color: var(--clr-dark-900, #393a34);
}

/* === АНИМАЦИЯ "ВЪЕЗДА" === */
.steps .enter {
  opacity: 0;
  transform: translate3d(60vw, 0, 0);
  will-change: transform, opacity;

  transition: transform 1.1s cubic-bezier(0.2, 0.65, 0.2, 1), opacity 0.7s ease;
  transition-delay: var(--delay, 0ms);
  backface-visibility: hidden;
}
.steps .enter.enter--in {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}

/* === ПАГИНАЦИЯ === */
.steps__pag {
  display: flex;
  justify-content: center;
  gap: 6px;
  margin-top: 14px;
}
.steps__pag .swiper-pagination-bullet {
  width: 8px;
  height: 8px;

  border-radius: 999px;
  background: var(--clr-dark-700, #626354);

  opacity: 0.3;

  transition: opacity 0.2s, transform 0.2s;
}
.steps__pag .swiper-pagination-bullet-active {
  background: var(--clr-dark-800, #515247);

  opacity: 1;
  transform: scale(1.25);
}

/* === ДЕСЯТКА (Desktop ≥900px): обычная сетка === */

/* подстрахуемся от микропереливов */
.steps {
  overflow-x: clip;
}

/* Мобильный режим: слайдер, без горизонтального скролла */
@media (width <= 899.98px) {
  .steps-swiper {
    overflow: hidden; /* окно слайдера не раздвигает страницу */
    padding-inline: 16px; /* чтоб бейджи у края не обрезались */
  }
  .steps-swiper .swiper-wrapper {
    overflow: visible;
  }
  .steps-swiper .swiper-slide {
    flex: 0 0 auto;

    width: clamp(185px, 30vw, 20px);
  }
}

/* Десктоп: обычная гибкая сетка, которая всегда влезает */
@media (width >= 900px) {
  .steps__pag {
    display: flex;
  }

  .steps__list {
    display: flex;

    /* max-width: min(1000px, 100%); */
    margin: 0 auto;
    /* padding: 0 clamp(12px, 2vw, 20px); */
    /* grid-template-columns: repeat(
      4,
      minmax(0, 1fr)
    ); */
    list-style: none;
  }

  /* на десктопе слайдер не нужен */
  .steps-swiper .swiper-slide {
    width: clamp(185px, 30vw, 200px);
  }
}

@media (width >= 900px) {
  .steps__pag {
    display: none;
  }
  .steps__list {
    display: flex;
    gap: 0;

    max-width: 1000px;
    margin: 0 auto;
    padding: 0 clamp(12px, 2vw, 20px);
    list-style: none;
  }
  .steps-swiper .swiper-slide {
    width: clamp(185px, 30vw, 200px);
  }
  .step.swiper-slide:last-child {
      margin-right: 0 !important;
  }
}

/* === PREFERS REDUCED MOTION === */
@media (prefers-reduced-motion: reduce) {
  .steps .enter {
    opacity: 1 !important;
    transform: none !important;

    transition: none !important;
  }
  .steps__pag .swiper-pagination-bullet {
    transition: none;
  }
}

/* FAQ */
/* layout */
.faq {
  position: relative;

  padding: clamp(28px, 6vw, 72px) 0;
}

.faq__title {
  margin: 0;

  color: #000;
}

.faq__grid {
  display: grid;
  align-items: start;
  gap: clamp(20px, 4vw, 40px);

  margin: 0 71px 100px;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.08fr);
}

.faq__sub {
  max-width: 330px;
    margin-top: 7px;
}

@media (width <=900px) {
  .faq__grid {
    grid-template-columns: 1fr;
  }
}

.faq__head {
  max-width: 400px;

  background-color: white;
  border-left: var(--line);
  margin-bottom: 32px;
  padding-left: 27px;
  margin-left: 9px;
  padding-bottom: 2px;
}

/* list */
.faq__list {
  display: grid;
  gap: 21px;
}
.faq__list .is-extra {
  display: none;
} /* скрытые вопросы — нет пустоты */
.faq__list.is-open .is-extra {
  display: block;
} /* показать все (десктоп) */

/* item */
.faq-q {
  display: grid;
  gap: 12px;

  width: 100%;
  padding: 24px 32px;

  border: 1px solid transparent;
  border-radius: clamp(13px, 20px, 20px);
  background: #e6e6e6;

  font-family: Manrope, sans-serif;
  font-weight: 700;
  font-size: 20px;
  line-height: 27px;

  color: var(--clr-dark-700);

  grid-template-columns: 1fr auto;
  justify-items: start;
}
.faq-q span {
    padding-left: 43px;
}
.faq-q .chev {
  width: 22px;
  height: 22px;

  color: #000;

  transition: transform 0.25s ease;
  justify-self: end;
}
.faq-item.is-open .faq-q {
  background: #e2e1df;
  border-bottom: none;
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
  border-color: var(--clr-dark-700);
}
.faq-item:hover .chev {
  transform: rotate(90deg);
}
.faq-item.is-open .faq-q .chev {
  transform: rotate(90deg);
}

.faq-a {
  height: 0;
  overflow: hidden;

  border: 1px solid var(--clr-dark-700);
  border-radius: 0;
  border-radius: 0 0 clamp(13px, 20px, 20px) clamp(13px, 20px, 20px);
  background: #fff;

  transition: height 0.28s ease;
  border-top: 0;
}
.faq-a > * {
  margin: 0;
  padding: 23px 74px;

  font-weight: 400;
  font-size: 20px;
  line-height: 27.2px;
  color: var(--clr-dark-700);
}

/* ===== FAQ mobile sheet (overlay) ===== */
.faq-sheet,
[data-faq-sheet] {
  position: fixed;
  inset: 0;
  z-index: 1000;

  display: none;

  background: rgb(0 0 0 / 35%); /* затемнение фона */
}

/* показать шторку */
.faq-sheet.is-open,
[data-faq-sheet].is-open {
  display: grid; /* для удобного выравнивания */
  place-items: end center; /* панель прижата к низу и по центру */

  padding: 0; /* паддинги не нужны, внутри у панели */
}

/* ===== Панель шторки ===== */
.faq-sheet__panel {
  position: relative;
  inset: auto 0 0;

  width: 100%;
  max-width: 860px;

  /* высота ограничена экраном, чтобы был внутренний скролл */
  max-height: calc(100dvh - 8vh);

  /* внутренние отступы и безопасная зона снизу на iOS */
  padding: 12px 16px max(22px, env(safe-area-inset-bottom));

  /* скроллим ТОЛЬКО внутри панели */
  overflow: auto;

  border-radius: 16px 16px 0 0;
  background: #fff;
  box-shadow: 0 -12px 30px rgb(0 0 0 / 20%);

  /* анимация выезда снизу */
  transform: translateY(100%);

  transition: transform 0.3s ease;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
}

/* выехала */
.faq-sheet.is-open .faq-sheet__panel,
[data-faq-sheet].is-open .faq-sheet__panel {
  transform: translateY(0);
}

/* маленькая «ручка», чтобы визуально показать, что тянется */
.faq-sheet__panel::before {
  display: block;

  width: 44px;
  height: 4px;
  margin: 8px auto 12px;

  border-radius: 2px;
  background: #e0e0e0;

  content: "";
}

/* ===== Заголовок и кнопка закрытия ===== */
.faq-sheet__title {
  position: sticky; /* остаётся видимым при прокрутке */
  top: 0;
  z-index: 1;

  margin: 0 40px 10px 0;

  background: #fff;

  font: 600 24px/1.2 var(--ff-base, Poppins, sans-serif);
  padding-top: 6px; /* компенсирует липкость, чтобы не дёргалось */
}

.faq-sheet__close {
  position: absolute; /* фикс у правого верхнего края панели */
  top: 10px;
  right: 12px;

  width: 36px;
  height: 36px;

  border: 0;
  background: transparent;

  font-size: 22px;
  color: #2c2d26;

  cursor: pointer;
}

/* ===== Мелкие улучшения UX ===== */

/* если внутри панели есть списки, можно добавить правый паддинг под скроллбар */
.faq-sheet__panel .faq__list {
  padding-right: 4px;
}

/* убираем «прыжок» контента страницы при скрытии скроллбара (косметика) */
html,
body {
  /*scrollbar-gutter: stable both-edges;*/
}

/* показываем шторку только на мобиле, на десктопе кнопка раскрывает список */
@media (width >=901px) {
  .faq-sheet {
    display: none !important;
  }
}

/* ФОС FOS */
.consult-lead {
  padding: clamp(24px, 4vw, 48px) 0;
}
.consult-lead .container {
  margin: 0 auto;
  padding: 0 10vw;
}

.consult-lead__inner {
  display: grid;
  align-items: center;
  gap: clamp(20px, 4vw, 48px);
  grid-template-columns: 1fr 1fr;
}

.consult-lead__media img {
  display: block;

  width: 100%;
  height: auto;

  border-radius: 14px;
  box-shadow: 0 8px 26px rgb(0 0 0 / 8%);
}

.consult-lead__form {
  display: grid;
  gap: 14px;

  max-width: 560px;
}
.field {
  display: grid;
  gap: 6px;
}
.field__label {
  font-size: 14px;
  color: #333;
}
.field__label .req {
  color: #c00;
  margin-left: 4px;
}

.field__input {
  width: 100%;
  height: 48px;
  padding: 0 16px;

  border: 1px solid #ddd;
  border-radius: 12px;
  outline: none;
  background: #ececea;
  box-shadow: inset 0 1px 14px rgb(0 0 0 / 15%);
}
.field__input:focus {
  box-shadow: 0 0 0 4px rgb(0 91 255 / 12%);
  border-color: #8aa9ff;
}

.check {
  display: flex;
  align-items: flex-start;
  gap: 10px;

  font-size: 13px;
  color: #555;
}
.check input {
  margin-top: 3px;
}

.check input[type="checkbox"] {
  width: 18px;
  height: 18px;

  border-radius: 4px;
  accent-color: #d9d9d9;
}

/* стандартные ссылочные стили внутри блока согласия */
.check a,
.check a:visited {
  text-decoration: underline;
  color: #0d5ef7;
}

.check a:hover {
  text-decoration: underline;

  filter: brightness(0.9);
}

.check a:focus-visible {
  border-radius: 2px;
  outline: 2px solid currentcolor;
  outline-offset: 2px;
}

/* НАЧАЛО: ДВОЙНОЙ СЛАЙДЕР */
/* ===== Заголовки ===== */
.drips-peek2__desktop-title {
  /* заголовок справа (десктоп) */
  margin: 0 0 70px 70px;

  font-weight: 400;
  font-size: 50px;
  line-height: 66px;
  text-align: left;
  align-self: center;
  justify-self: center;
}
.drips-peek2__adaptive-title {
  display: none;
}
.peek__smooth {
    position: absolute;
    top: 30px;
    left: 30px;
    width: 100%;
    height: 100%;
    filter: blur(20px);
    opacity: .5;
}
.peek__smooth img {
    width: 100%;
}
.drips__bg {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
}
.drips__bg::after {
    content: '';
    position: absolute;
    left: 25%;
    bottom: 0;
    width: 28%;
    height: 60%;
    background-image: url(../../img/arc-stroke.svg);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: bottom;
}
.drips__bg::before {
    content: '';
    position: absolute;
    left: 3%;
    bottom: 0;
    width: 18%;
    height: 60%;
    background-image: url(../../img/arc-stroke.svg);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: bottom;
}

/* ===== Сетка блока ===== */
.drips-peek2__grid {
  display: grid;
  justify-content: center;
  align-items: center;
  gap: clamp(16px, 3vw, 32px);
  grid-template-columns: 50% 50%;
  padding-left: 20px;
  padding-right: 20px;
}
.drips-peek2,
.drips-peek2 .container {
  overflow-x: clip;
}

/* ===== Левая колонка: Peek (Splide) ===== */
.box {
  width: 100%;
  margin-inline: auto;
}

.peek__slider,
.peek__slider .splide__track {
  display: flex;
  justify-content: flex-end;
  align-items: center;

  overflow: visible;
}
.drips-peek2__cell.drips-peek2__cell--bg {
    justify-self: flex-start;
}

.peek__slider .splide__track {
  transform: translateZ(0);
  margin-inline: auto; /* центр трека на iOS */
}
.peek__slider .splide__list {
  display: flex;
  align-items: flex-end;

  margin: 0;
  padding: 0;
}
.peek__slider .splide__slide {
  z-index: 1;

  display: flex;
  align-items: flex-end;

  height: 100%;

  transform-origin: right bottom;
  will-change: transform, opacity;

  transition: transform 0.28s ease, opacity 0.28s ease, filter 0.28s ease;
}
/* БАЗА */
/* базовое: задаём переменные и единый transform */
.peek__slider .splide__slide {

  z-index: 1;

  display: flex;
  align-items: flex-end;

  height: 100%;


}
.peek__slider .splide__slide img {
    --tx: 0px; /* сдвиг по X */
  --sc: 0.125; /* масштаб по умолчанию */
  opacity: 0;
  transform: scale(var(--sc));
  transform-origin: left bottom;
  will-change: transform, opacity, width;

  transition: transform 0.28s ease, opacity 0.28s ease, width 0.28s ease;
}

/* 1-й (активный) — 1x */
.peek__slider .splide__slide.is-active img {
  --sc: 1;
  z-index: 4;

  opacity: 1;
}

/* 2-й — 0.5x */
.peek__slider .splide__slide.is-next-2 .peek-card__media,
.peek__slider .splide__slide.is-next-1 .peek-card__media {
    place-items: end start;
    justify-items: start;
}
.peek__slider .splide__slide.is-next-1 img {
  --sc: 0.67;
  z-index: 3;

  opacity: 1
}
.splide__track {
    position: relative;
}
.drips-peek2 .drips-peek2__cell--bg {
    position: relative;
}
.drips-peek2 .drips-peek2__cell--bg::after {
    content: '';
    position: absolute;
    width: 46%;
    height: 100%;
    background: url('../../img/arc.svg');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center bottom;
    right: -24px;
    bottom: 0px;
    z-index: -1;
}

/* 3-й — 0.25x + подвинуть вправо */
.peek__slider .splide__slide.is-next-2 img {
  --sc: 0.4;
  --tx: 56px; /* подстрой под макет */
  z-index: 2;

  opacity: 1;
    transform-origin: right bottom;
}

/* 4-й — 0.125x и невидимый (если используешь) */
.peek__slider .splide__slide.is-next-3 {
  --sc: 0.125;
  z-index: 1;

  opacity: 0;
    transform-origin: right bottom;
}

/* Медиа внутри слайдов (разные размеры визуально сохраняются за счёт scale) */
.peek-card__media {
  display: grid;
  place-items: end center;

  width: 100%;
  margin: 0;
}
.peek-card__media img {
  display: block;

  width: 100%;
  height: auto;
  max-height: 100%;

  border-radius: 16px;
  object-fit: contain;
}

/* ===== Правая колонка ===== */
.drips-peek2__cell {
  display: flex;
  flex-direction: column;

  min-width: 0;
  max-width: 100%;

  text-align: left;
  align-self: flex-start;
  justify-self: flex-end;
}

/* Слайдер карточек */
.cards__slider,
.peek__slider {
  min-width: 0;
  max-width: 100%;
}

.cards__slider .splide__track {
  max-width: 400px;
  overflow: hidden;

  transform: translateZ(0);
  justify-self: center;
  margin-inline: auto; /* центр трека */
}
.cards__slider .splide__list {
  margin: 0;
  padding: 0;
}
.cards__slider .splide__slide {
  display: block;
}

/* Карточка */
.drip-card {
  display: grid;
  gap: 10px;

  width: 100%;
  min-width: 0;
  max-width: calc(100% - 20px);
  margin: 10px;
  padding: clamp(16px, 2.6vw, 24px);

  border: 1px solid rgb(0 0 0 / 8%);
  border-radius: 16px;
  background: #f5f5f5;
  box-shadow: var(--shadow-soft, 2px 2px 2px rgb(0 0 0 / 50%));
  justify-self: center;
}
.drip-card__title {
  margin: 0 0 3px;

  font-weight: 400;
  font-size: 38.42px;
  line-height: 39.19px;
  color: #000;
}
.drip-card__desc {
  min-height: 70px;
  margin: 0 0 20px;

  font-weight: 400;
  line-height: 23.39px;
  color: var(--clr-dark-700);
}
.drip-card__foot {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
}
.drip-card__price {
  font-weight: 400;
  font-size: 25px;
  color: var(--clr-dark-900, #393a34);
}

/* ===== Контролы ===== */
.cards__wrap {
  position: relative;
}
.cards__controls {
  position: absolute;
  inset: 0;

  display: flex;
  justify-content: space-between;
  align-items: center;

  pointer-events: none;
    max-width: 560px;
    left: calc(50% - 265px);
}
.cards__controls .btn {
  display: inline-flex;
  justify-content: center;
  align-items: center;

  padding: 0;

  border: 0;
  background: none;

  pointer-events: auto;
}

/* Пагинация */
.cards__controls .splide__pagination {
  display: none;
}
.splide .splide__pagination {
  bottom: -2.2em;
  justify-content: flex-end;

  padding: 0 4em;
}
/* stylelint-disable-next-line selector-class-pattern */
.splide__pagination .splide__pagination__page {
  width: 10px;
  height: 10px;
  margin: 4px;
}
/* stylelint-disable-next-line selector-class-pattern */
.splide__pagination__page.is-active {
  background: #8e8e8e !important;
}

/* КОНЕЦ: ДВОЙНОЙ СЛАЙДЕР */

.faq,
.inst__section,
.consult-lead,
.contact {
  padding: 0;
}

.inst__section {
  padding-top: 50px;
    overflow: hidden;
    width: 100%;
}
.inst__box {
  position: relative;

  display: flex;
  justify-content: center;
  align-items: center;

  padding: calc(var(--container-pad) * 5) 0 var(--container-pad);
  overflow-x: clip;
  overflow-y: visible;
}

/* общий контейнер для двух секций */
/* враппер вокруг FAQ + inst/fos */
.faq-inst-wrap {
  position: relative;
  z-index: 0;
  /* те же параметры, что были на ::before */
  /*background-image: url("/wp-content/themes/gardenrecovery/assets/img/faq-bg.svg");*/
  background-repeat: no-repeat;
  /* эквивалент top:-30%, left:-55% */
  background-position: left 502px;
  background-size: min(680px, 90vw) auto;
}

/* контент выше фона */
.faq,
.inst__box,
.consult-lead {
  position: relative;
  z-index: 1;
}
.consult-lead {
    padding-top: 211px;
}

.faq-inst-wrap {
  /*background-attachment: fixed;*/
}

.faq__btn-bottom {
  display: none;
}
.ymaps-2-1-79-placemark-overlay .ymaps-2-1-79-image  {
    background-size: contain !important;
    background-repeat: no-repeat;
}

/* Карточка */
.ig-card {
  position: relative;

  display: grid;
  place-items: end start;

  width: 380px;
  aspect-ratio: 1/1;
  margin: clamp(24px, 3vw, 60px);
  padding: 24px;

  border-radius: 51px;
  background: #f3f3f3;
  box-shadow: 0 10px 26px rgb(0 0 0 / 12%);

  transition: transform 1.75s cubic-bezier(0.2, 0.7, 0.3, 1), box-shadow 0.75s;
}
.ig-card::after {
  position: absolute;
  right: 24px;
  bottom: 24px;
  left: 24px;

  height: 0.12px;

  background: #111;

  opacity: 0.9;

  transition: opacity 0.25s;

  content: "";
}
.ig-card:hover {
  box-shadow: 0 16px 42px rgb(0 0 0 / 18%);

  transform: scale(1.035);
}
.ig-card:hover::after {
  opacity: 0;
}

.ig-card__text {
  position: relative;
  z-index: 2;

  display: flex;
  justify-content: space-between;
  align-items: flex-end;

  width: 100%;
  margin: 0 auto;

  font: 400 24px/1.25 Manrope, sans-serif;
  padding-bottom: 10px;
    font-size: 37px;
    color: #000000;
}
.ig-card__arrow {
  display: inline-block;

  transition: transform 0.25s;
}
.ig-card:hover .ig-card__arrow {
  transform: translateX(4px);
}

/* ========== ТЕЛЕФОН ========== */
.ig-phone {
  --w: 220px;
  --feed-x: 94%;
  --feed-x1: 0%;
  --feed-y0: 0%;
  --feed-y1: 100%;
  --feed-size: 147%;
  position: absolute;
  top: -88px;
  left: 33%;

  width: var(--w);

  pointer-events: none;
}
.ig-phone__frame {
  position: relative;
  z-index: 1;

  display: block;

  width: 100%;
  height: auto;
}
.ig-phone__screen {
  position: absolute;
  inset: 21px 12px 0 0;
  z-index: 2;

  background-image: var(--feed);
  background-repeat: no-repeat;
  background-position: var(--feed-x) var(--feed-y0); /* СТАРТ */
  background-size: var(--feed-size) auto;

  will-change: background-position;

  transition: background-position 1s linear;

  pointer-events: none;
  -webkit-mask: var(--mask) center/100% 100% no-repeat;
  mask: var(--mask) center/100% 100% no-repeat;
}
/* hover → ФИНИШ */
.ig-card:hover .ig-phone__screen {
  background-position: var(--feed-x1) var(--feed-y1);
}

/* ========== КАРТЫ ЛОЯЛЬНОСТИ (ДЕСКТОП) ========== */
.loy {
  position: absolute;
  top: 14px;
  left: 30%;
  z-index: 1;

  width: 304px;

  pointer-events: none;
}
.loy__card {
  --x0: 0px;
  --y0: 0px;
  --r0: 0deg;
  --s0: 1;
  --x1: 0px;
  --y1: 0px;
  --r1: 0deg;
  --s1: 1;
  position: absolute;
  inset: 0;

  display: block;

  width: 100%;
  height: auto;

  transform: translate(var(--x0), var(--y0)) rotate(var(--r0)) scale(var(--s0));
  transform-origin: 6% 96%;
  will-change: transform;

  transition: transform 1.25s cubic-bezier(0.2, 0.7, 0.3, 1), filter 0.35s ease,
    opacity 0.35s ease;
}
/* старт — веер */
.loy__card--3 {
  --r0: -19deg;
    left: 26px;
    min-width: 347px;
}
.loy__card--2 {
  --r0: 0deg;
    min-width: 344px;
}
.loy__card--1 {
  --r0: 10deg;
    top: 3px;
    left: -7px;
    min-width: 357px;
}
@media screen and (max-width: 560px) {
    .loy__card--1 {
        top: 0;
        left: 0;
        min-width: 0;
    }
    .loy__card--2 {
        min-width: 0;
    }
    .loy__card--3 {
        left: 0;
        min-width: 0;
    }
    .loy {
          top: -59px;
        width: 264px;
    }
}

/* hover — разъехались */
.ig-card:hover .loy__card,
.ig-card:focus-visible .loy__card {
  transform: translate(var(--x1), var(--y1)) rotate(var(--r1)) scale(var(--s1));
}
.ig-card:hover .loy__card--1 {
  --x1: 35px;
  --y1: 45px;
  --r1: 20deg;
  --s1: 0.7;
  filter: drop-shadow(0 4px 10px rgb(0 0 0 / 14%));

  transition-delay: 80ms;
}
.ig-card:hover .loy__card--2 {
  --x1: -40px;
  --y1: -60px;
  --r1: -40deg;
  --s1: 0.7;
  filter: drop-shadow(0 8px 18px rgb(0 0 0 / 18%));

  transition-delay: 0ms;
}
.ig-card:hover .loy__card--3 {
  --x1: 10px;
  --y1: -20px;
  --r1: 0deg;
  --s1: 0.7;
  filter: drop-shadow(0 6px 14px rgb(0 0 0 / 16%));

  transition-delay: 40ms;
}

/* --- CF7 wrappers neutral --- */
.consult-lead #agree-wrap .wpcf7-form-control-wrap {
  display: block;

  margin: 0;
}
.consult-lead #agree-wrap .wpcf7-list-item {
  display: contents;

  margin: 0;
}
.consult-lead #agree-wrap .wpcf7-list-item-label {
  display: none;
} /* скрываем "yes"/"1" */
.consult-lead #agree-wrap br {
  display: none;
}

/* --- Checkbox line-up --- */
.consult-lead #agree-wrap {
  display: inline-flex;
  flex-wrap: nowrap;
  align-items: flex-start; /* выровнять по верхней линии текста */
  gap: 12px;
}
.consult-lead #agree-wrap input[type="checkbox"] {
  margin: 0;

  transform: translateY(2px);
}
.consult-lead #agree-wrap label {
  display: inline;

  margin: 0;

  line-height: 1.4;
}

/* --- Full-width button inside this block --- */
.consult-lead .btn.btn--full,
.consult-lead input[type="submit"].btn {
  width: 100%;
}

/* --- Links inherit text color (не синие) --- */
.consult-lead .text-link {
  text-decoration: underline;
  color: inherit !important;
  text-underline-offset: 2px;
}

/* (опционально) убрать лишние отступы сообщений CF7 */
.consult-lead .wpcf7,
.consult-lead .wpcf7-form {
  margin: 0;
}
.consult-lead .wpcf7-response-output {
  padding: 10px;

  border: 1px solid transparent;
  margin-top: 12px;
}

/* обертки CF7 внутри чекбокса — убираем лишние */
#agree-wrap .wpcf7-list-item {
  display: contents;
}
#agree-wrap .wpcf7-list-item-label {
  display: none;
} /* скрыть "1" */

/* чекбокс и текст на одной линии */
#agree-wrap {
  display: flex;
  align-items: center;
  gap: 8px;

  font-size: 14px;
  line-height: 1.4;
  margin-top: 10px;
}
#agree-wrap input[type="checkbox"] {
  margin: 0;
}

/* текст рядом с чекбоксом */
#agree-wrap .check__text {
  display: inline;
}

/* ссылки остаются синими, но подчёркнутыми */
#agree-wrap .check__text a {
  text-decoration: underline;
  color: #06c; /* или просто inherit, если нужен браузерный синий */
}
/* Чекбокс + текст в одну строку */
#agree-wrap {
  display: flex;
  align-items: center;
  gap: 10px;
}
#agree-wrap .wpcf7-form-control-wrap {
  display: contents;
} /* убираем блочную обёртку CF7 */
#agree-wrap .wpcf7-list-item {
  display: contents;

  margin: 0;
} /* убираем внутренний span */
#agree-wrap .wpcf7-list-item-label {
  display: none;
} /* скрываем «1» */
#agree-wrap input[type="checkbox"] {
  margin: 0;
}

/* Текст рядом с чекбоксом */
#agree-wrap .check__text {
  display: inline;

  line-height: 1.4;
}

/* Ссылки оставить синими (браузерный стиль) */
#agree-wrap .check__text a {
  color: inherit;
} /* можно удалить строку вовсе — тогда будет дефолтный синий */
/* Кнопку не трогаем — останется как есть */
/* ЧЕКБОКС + ТЕКСТ В ОДНУ ЛИНИЮ */
.consult-lead #agree-wrap {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 12px !important;
}
.consult-lead #agree-wrap > * {
  margin: 0 !important;
}

/* Убираем блочные обёртки CF7, из-за которых всё падает вниз */
.consult-lead #agree-wrap .wpcf7-form-control-wrap {
  display: contents !important;
}
.consult-lead #agree-wrap .wpcf7-list-item {
  display: contents !important;

  margin: 0 !important;
}
.consult-lead #agree-wrap .wpcf7-list-item-label {
  display: none !important;
} /* скрыть «1» */

/* Сам чекбокс и текст рядом */
.consult-lead #agree-wrap input[type="checkbox"] {
  margin: 0 !important;
}
.consult-lead #agree-wrap .check__text {
  display: inline !important;

  line-height: 1.4 !important;
}

/* Ссылки — синие по умолчанию браузера (можно удалить, если и так синие) */
.consult-lead #agree-wrap .check__text a {
  text-decoration: underline;
  color: linktext;
}
/* Две колонки одной высоты */
.consult-lead__inner {
  display: grid;
  align-items: stretch; /* растягиваем обе колонки по высоте строки */
  gap: 40px; /* как у тебя по макету */
  grid-template-columns: 1fr 1fr;
}

/* Картинка растягивается по высоте строки */
.consult-lead__media {
  display: flex;
}
.consult-lead__media img {
  display: block;

  width: 100%;
  height: 100%;
  object-fit: cover; /* сохраняет кадрирование внутри скруглений */
}

@media (width <= 900px) {
  .consult-lead__inner {
    grid-template-columns: 1fr;
  }
}

/* Контент заполняет всю высоту и стартует ровно от верха */
.consult-lead__content {
  display: flex;
  flex-direction: column;
}

/* Убираем «прыгающие» внешние отступы и используем gap */
.consult-lead__title {
  margin: 0;
}
.consult-lead__subtitle {
  margin: 12px 0 0;
} /* подгони цифры под макет */
.consult-lead__form {
  margin-top: 24px;
}

.consult-lead__form .btn {
  max-width: 150px;
}

.consult-lead__content > *:first-child {
  margin-top: 0;
}
.consult-lead__content > *:last-child {
  margin-bottom: 0;
}

/* (чекбокс в одну строку — оставляем рабочий фикс) */
#agree-wrap {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 12px;
}
#agree-wrap .wpcf7-form-control-wrap,
#agree-wrap .wpcf7-list-item {
  display: contents;
}
#agree-wrap .wpcf7-list-item-label {
  display: none;
}
#agree-wrap input[type="checkbox"] {
  margin: 0;
}

@media screen and (max-width: 1024px) {
    .cards__controls {
        width: 100%;
        left: 0;
    }
}
@media screen and (max-width: 480px) {
    .cards__controls {
        width: 130%;
        left: -15%;
    }
}
@media screen and (max-width: 885px) {
    .menu a {
        font-size: 14px;
        padding: 16px 5px;
    }
}
@media screen and (max-width: 1000px) {
    .cards__wrap {
        padding: 0 20px;
    }
}
@media screen and (max-width: 1000px) and (min-width: 800px) {
    .loy {
        scale: 0.9;
        left: 0;
    }
}
@media screen and (max-width: 799px) and (min-width: 769px) {
    .loy {
        scale: 0.7;
        left: 0;
    }
}
.team-swiper {
    overscroll-behavior: contain;
}