/** Карточки и слайдер пакетов услуг (parity /kontekstnaya_reklama «Стоимость и пакеты»). */
@media screen and (max-width: 719px) {
  .page-constructor > .page-constructor__section:has(+ .page-constructor__section > .dies.modern .prices)
    .numbered-header.number-header__empty
    .numbered-header__title-column[data-v-490c7534] {
    margin-bottom: 0 !important;
  }
}

/*
 * Карточки «Пакеты»: заголовок и цена на 30% меньше Nuxt-типографики; цена внизу карточки.
 * Внутренние отступы карточки: база в 2 раза меньше прежних (верт./гориз. как ниже) + ещё 5px со всех сторон;
 * на десктопе (≥1024px) те же величины ×1.2; зазор между текстом и ценой — margin-top: auto у .price-card__details.
 */
.page-constructor .dies .prices .price-card__wrapper[data-v-1444f1fb] {
  display: flex !important;
  flex-direction: column;
  align-self: stretch;
}

.page-constructor .dies .prices .price-card__wrapper[data-v-1444f1fb] > .price-card.noImg[data-v-1444f1fb] {
  flex: 1 1 auto;
  /* Nuxt: .price-card { height:100%; overflow:hidden }. min-height:0 на flex-ребёнке + hidden обрезали хвост (цена + бюджет). */
  min-height: min-content !important;
  height: auto !important;
  overflow: visible !important;
}

/*
 * Равная высота карточек в ряду «Пакеты»: у .swiper-slide из бандла height:100% — ломает flex-stretch
 * на .prices__packages-track (align-items: stretch в native-row-scroll). Слайд — flex-колонка, карточка на всю высоту.
 */
.page-constructor .dies .prices .prices__packages-track[data-native-row="1"] > .swiper-slide,
.page-constructor .dies .prices .prices__packages-track[data-native-row="1"] > .prices__packages-slide.swiper-slide {
  /* height:auto !important ломает align-items:stretch — карточки разной высоты в ряду. */
  height: unset !important;
  align-self: stretch !important;
  display: flex;
  flex-direction: column;
}

.page-constructor .dies .prices .prices__packages-track[data-native-row="1"] .price-card__wrapper[data-v-1444f1fb] {
  flex: 1 1 auto;
  min-height: 0;
  width: 100%;
}

.page-constructor .dies .prices .prices__packages-track[data-native-row="1"] .price-card__wrapper[data-v-1444f1fb] > .price-card.noImg[data-v-1444f1fb] {
  flex: 1 1 auto !important;
  height: 100% !important;
  min-height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  overflow: visible !important;
}

.page-constructor .dies .prices .price-card.noImg[data-v-1444f1fb] .price-card__details[data-v-1444f1fb] {
  margin-top: auto !important;
}

/*
 * Сразу под заголовком тарифа — линия как .live-marketing-block__card-gradient на главной
 * (css__home-snapshot__snapshot.bundle.css): три варианта градиента по колонкам 1–3.
 */
.page-constructor .dies .prices .price-card.noImg[data-v-1444f1fb] .price-card__title-rule {
  display: block;
  height: 1px;
  width: 100%;
  max-width: 100%;
  /* Nuxt-эталон ~20px сверху; минус 15px по ТЗ «воздух» до линии */
  margin: 5px auto 30px;
  border: 0;
  padding: 0;
  flex-shrink: 0;
}

.page-constructor .dies .prices .price-card.noImg[data-v-1444f1fb] .price-card__title-rule--1 {
  background: linear-gradient(90deg, #00f0ff, #ff00b5 355%);
}

.page-constructor .dies .prices .price-card.noImg[data-v-1444f1fb] .price-card__title-rule--2 {
  background: linear-gradient(90deg, #00f0ff -127.33%, #ff00b5 225.33%);
}

.page-constructor .dies .prices .price-card.noImg[data-v-1444f1fb] .price-card__title-rule--3 {
  background: linear-gradient(90deg, #00f0ff -254.33%, #ff00b5 100.08%);
}

.page-constructor .dies .prices .price-card.noImg[data-v-1444f1fb] .price-card__title-rule--4 {
  background: linear-gradient(90deg, #00f0ff -381.33%, #ff00b5 -24.92%);
}

@media screen and (max-width: 1024px) {
  .page-constructor .dies .prices .price-card.noImg[data-v-1444f1fb] .price-card__title-rule {
    margin-bottom: 23px;
  }
}

.page-constructor .dies .prices .price-card.noImg[data-v-1444f1fb],
.page-constructor .dies .prices .price-card.noImg {
  /* Nuxt .price-card[data-v-1444f1fb] — в targeting-nuxt.bundle нет компонента, задаём явно. */
  background: rgba(29, 29, 31, 0.8) !important;
  box-shadow: 0 0 14px rgba(0, 0, 0, 0.15) !important;
  border-radius: 30px !important;
  padding: calc((50px * 0.8 + 15px) / 2 + 5px) calc((50px * 0.8) / 2 + 5px) !important;
  box-sizing: border-box !important;
}

@media screen and (min-width: 1024px) {
  .page-constructor .dies .prices .price-card.noImg[data-v-1444f1fb],
  .page-constructor .dies .prices .price-card.noImg {
    padding: calc(((50px * 0.8 + 15px) / 2 + 5px) * 1.2) calc(((50px * 0.8) / 2 + 5px) * 1.2) !important;
  }
}

.page-constructor .dies .prices .price-card.noImg[data-v-1444f1fb] h3[data-v-1444f1fb] {
  font-size: calc(40px * 0.7) !important;
}

@media screen and (max-width: 1023px) {
  .page-constructor .dies .prices .price-card.noImg[data-v-1444f1fb] h3[data-v-1444f1fb] {
    font-size: calc(34px * 0.7) !important;
  }
}

@media screen and (max-width: 719px) {
  .page-constructor .dies .prices .price-card.noImg[data-v-1444f1fb] h3[data-v-1444f1fb] {
    font-size: calc(24px * 0.7) !important;
  }
}

.page-constructor .dies .prices .price-card.noImg[data-v-1444f1fb] .price-card__price[data-v-1444f1fb],
.page-constructor .dies .prices .price-card.noImg .price-card__price {
  font-size: calc(32px * 0.7) !important;
  margin-top: 30px !important;
  white-space: nowrap !important;
}

.page-constructor .dies .prices .price-card__term {
  margin-top: 10px !important;
}

.page-constructor .dies .prices .price-card__term i {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0;
}

.page-constructor .dies .prices .price-card__term-label,
.page-constructor .dies .prices .price-card__term-amount {
  display: block;
  line-height: 1.35;
}

.page-constructor .dies .prices .price-card__term-amount {
  white-space: nowrap !important;
}

/* Бюджет под ценой — <p><i>…</i></p>; зазор от цены */
.page-constructor .dies .prices .price-card__details[data-v-1444f1fb] > p[data-v-1444f1fb],
.page-constructor .dies .prices .price-card__details > p[data-v-1444f1fb] {
  margin-top: 10px !important;
}

/* «Подходит для…» и строка бюджета в разметке в <i> — без курсива */
.page-constructor .dies .prices .price-card.noImg[data-v-1444f1fb] i {
  font-style: normal !important;
}

/* Мобилка/планшет: текст в карточках по центру (Nuxt .price-card { text-align:center } на /kontekstnaya_reklama). */
@media screen and (max-width: 1024px) {
  .page-constructor .dies .prices .price-card.noImg[data-v-1444f1fb],
  .page-constructor .dies .prices .price-card.noImg {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
  }

  .page-constructor .dies .prices .price-card.noImg[data-v-1444f1fb] h3[data-v-1444f1fb],
  .page-constructor .dies .prices .price-card.noImg h3 {
    width: 100%;
    text-align: center !important;
    text-wrap: balance;
  }

  .page-constructor .dies .prices .price-card.noImg[data-v-1444f1fb] p[data-v-1444f1fb]:not(.price-card__term),
  .page-constructor .dies .prices .price-card.noImg p:not(.price-card__term) {
    max-width: 300px;
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center !important;
  }

  .page-constructor .dies .prices .price-card.noImg[data-v-1444f1fb] .price-card__title-rule {
    margin-left: auto;
    margin-right: auto;
  }

  .page-constructor .dies .prices .price-card.noImg[data-v-1444f1fb] .price-card__details[data-v-1444f1fb],
  .page-constructor .dies .prices .price-card.noImg .price-card__details {
    margin-top: 0 !important;
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
  }

  .page-constructor .dies .prices .price-card.noImg[data-v-1444f1fb] .price-card__price[data-v-1444f1fb],
  .page-constructor .dies .prices .price-card.noImg .price-card__price {
    display: block !important;
    width: 100%;
    text-align: center !important;
  }

  .page-constructor .dies .prices .price-card__details[data-v-1444f1fb] > p[data-v-1444f1fb],
  .page-constructor .dies .prices .price-card__details > p,
  .page-constructor .dies .prices .price-card__term {
    text-align: center !important;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
  }

  .page-constructor .dies .prices .price-card.noImg[data-v-1444f1fb] .price-card__price[data-v-1444f1fb],
  .page-constructor .dies .prices .price-card.noImg .price-card__price {
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  .page-constructor .dies .prices .price-card__term-amount {
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
  }
}

@media screen and (max-width: 719px) {
  .page-constructor .dies .prices .price-card.noImg[data-v-1444f1fb] .price-card__price[data-v-1444f1fb],
  .page-constructor .dies .prices .price-card.noImg .price-card__price {
    font-size: calc(28px * 0.7) !important;
  }

  .page-constructor .dies .prices .price-card__term-label,
  .page-constructor .dies .prices .price-card__term-amount {
    font-size: 14px;
  }
}

/*
 * «Пакеты»: ≥1025px — три колонки без сжатия карточек (flex 1 1 0);
 * ≤1024px — горизонтальный слайдер (iPad landscape 1024 остаётся в режиме листания).
 */
@media screen and (min-width: 1025px) {
  /* Десктоп: таблица сравнения вместо карточек — скрыть слайдер (градиентные title-rule не должны накладываться на таблицу). */
  .page-constructor .dies .prices:has(.kontekst-packages-compare) .prices__cards--packages.prices__cards.row[data-v-1505791e],
  .page-constructor .dies .prices:has(.kontekst-packages-compare) .prices__cards--packages.prices__cards.row {
    display: none !important;
  }

  /* Nuxt .row: width calc(100% + 40px) и margin −20px — сдвиг влево относительно центрированного .page__container. */
  .page-constructor .dies .prices .prices__cards--packages.prices__cards.row[data-v-1505791e],
  .page-constructor .dies .prices .prices__cards--packages.prices__cards.row {
    display: block;
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  .page-constructor .dies .prices .prices__packages-slider.swiper-container[data-native-row="1"] {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
    overflow: visible !important;
  }

  .page-constructor .dies .prices .prices__packages-slider {
    width: 100%;
    max-width: 100%;
    margin-left: 0;
    margin-right: 0;
  }

  .page-constructor .dies .prices .prices__packages-track[data-native-row="1"] {
    width: 100%;
    max-width: 100%;
    margin-left: 0;
    margin-right: 0;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    /* На десктопе все три карточки в кадре — без гаттера под стрелки (78px давал пустое поле справа). */
    padding-right: 0 !important;
    gap: 30px;
    box-sizing: border-box;
  }

  .page-constructor .dies .prices .prices__packages-slide.swiper-slide {
    flex: 1 1 0 !important;
    min-width: 0;
    width: auto;
    max-width: none !important;
    margin-right: 0 !important;
  }

  .page-constructor .dies .prices .prices__packages-slide.swiper-slide:last-child {
    margin-right: 0 !important;
  }
}

@media screen and (max-width: 1024px) {
  /* Nuxt .row: width calc(100% + 40px) и отрицательные margin — без сброса хост слайдера шире .prices. */
  .page-constructor .dies .prices .prices__cards--packages.prices__cards.row[data-v-1505791e],
  .page-constructor .dies .prices .prices__cards--packages.prices__cards.row {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    /* Как .services-section: не клипать full-bleed слайдера. */
    overflow: visible !important;
    box-sizing: border-box;
  }

  .page-constructor .dies.modern .prices[data-v-1505791e],
  .page-constructor .dies.modern section.prices,
  .page-constructor > .page-constructor__section:has(> .dies.modern .prices) > .dies.modern {
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box;
    /*
     * Full-bleed слайдер (calc(100% + gutter), отрицательный margin-right) не должен расширять scrollWidth.
     * На /kontekstnaya_reklama это даёт .dies[data-v-07db1e8a]{overflow:hidden} в Nuxt-бандле;
     * /korporativnyj_sajt без data-v — явный clip на .dies.modern.
     * overflow-y тоже hidden: при overflow-x:hidden браузер иначе выставляет overflow-y:auto и ловит
     * 12px от padding-bottom слайдера — вертикальный скролл внутри блока.
     */
    overflow-x: hidden !important;
    overflow-y: hidden !important;
  }

  /*
   * Геометрия ряда как у .services-unified .services__context-slider (native-row-scroll):
   * первая карточка по линии заголовка, справа — «хвост» следующей плитки.
   */
  .page-constructor .dies .prices .prices__packages-slider.swiper-container[data-native-row="1"] {
    width: calc(100% + 55px) !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: -55px !important;
    box-sizing: border-box;
  }

  /* Nuxt .row .col padding на обёртке — лишний inset слева у первой плитки. */
  .page-constructor .dies .prices .prices__packages-track[data-native-row="1"] .price-card__wrapper[data-v-1444f1fb] {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .page-constructor .dies .prices .prices__packages-slider.swiper-container,
  .page-constructor .dies .prices .prices__packages-slider.swiper-container[data-native-row="1"] {
    touch-action: pan-x pan-y;
  }

  .page-constructor .dies .prices .prices__packages-slider.swiper-container[data-native-row="1"] {
    overflow: hidden !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
  }

  /* Свайп на треке: auto (не scroll), полосу режет overflow:hidden на хосте — как у услуг. */
  .page-constructor .dies .prices .prices__packages-track.swiper-wrapper,
  .page-constructor .dies .prices .prices__packages-track[data-native-row="1"] {
    box-sizing: border-box;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    touch-action: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none !important;
    -ms-overflow-style: none !important;
    padding-left: max(var(--page-inline-start, var(--page-gutter-x, 55px)), 16px) !important;
    scroll-padding-inline-start: max(var(--page-inline-start, var(--page-gutter-x, 55px)), 16px) !important;
    scroll-padding-inline-end: var(--page-inline-end, var(--page-gutter-x, 55px));
    padding-top: 20px !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
    /* Концевой гаттер — .native-row-end-gutter в initRow (не margin последнего слайда). */
  }

  .page-constructor .dies .prices .prices__packages-track[data-native-row="1"]::-webkit-scrollbar {
    display: none !important;
    width: 0 !important;
    height: 0 !important;
    background: transparent !important;
  }

  .page-constructor .dies .prices .prices__packages-track[data-native-row="1"] .prices__packages-slide:last-child,
  .page-constructor .dies .prices .prices__packages-track[data-native-row="1"] > .swiper-slide:last-child {
    margin-right: 0 !important;
  }

  .page-constructor .dies .prices .prices__packages-track[data-native-row="1"] {
    gap: 30px;
  }

  .page-constructor .dies .prices .prices__packages-track[data-native-row="1"] > .swiper-slide,
  .page-constructor .dies .prices .prices__packages-track[data-native-row="1"] > .prices__packages-slide {
    margin-right: 0 !important;
  }

  .page-constructor .dies .prices .prices__packages-slide.swiper-slide {
    flex: 0 0 auto !important;
    box-sizing: border-box;
    width: 309px !important;
    max-width: 309px !important;
  }
}

@media screen and (max-width: 768px) {
  .page-constructor .dies .prices .prices__packages-slider.swiper-container[data-native-row="1"] {
    width: calc(100% + 36px) !important;
    margin-right: -36px !important;
  }

  .page-constructor .dies .prices .prices__packages-slide.swiper-slide {
    width: 270px !important;
    max-width: 270px !important;
  }
}

@media screen and (max-width: 450px) {
  .page-constructor .dies .prices .prices__packages-slider.swiper-container[data-native-row="1"] {
    width: calc(100% + 36px) !important;
    margin-right: -36px !important;
  }

  .page-constructor .dies .prices .prices__packages-slide.swiper-slide {
    width: 270px !important;
    max-width: 270px !important;
  }
}

/*
 * «Пакеты» ≤719px: первая плитка по левой сетке (--page-inline-start), ширина как у «Синергии»
 * (viewport − гаттер − 84px peek). Убираем auto-margin у .price-card внутри слайда.
 */
@media screen and (max-width: 719px) {
  .page-constructor .dies .prices .prices__packages-slider.swiper-container[data-native-row="1"] {
    width: calc(100% + var(--page-inline-end, var(--page-gutter-x, 36px))) !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: calc(-1 * var(--page-inline-end, var(--page-gutter-x, 36px))) !important;
    box-sizing: border-box;
  }

  .page-constructor .dies .prices .prices__packages-track[data-native-row="1"] {
    padding-left: var(--page-inline-start, var(--page-gutter-x, 36px)) !important;
    scroll-padding-inline-start: var(--page-inline-start, var(--page-gutter-x, 36px)) !important;
    padding-top: 0 !important;
    margin-top: 0 !important;
  }

  .page-constructor .dies .prices .prices__packages-slide.swiper-slide {
    flex: 0 0 auto !important;
    width: calc(100vw - var(--page-inline-start, var(--page-gutter-x, 36px)) - 84px) !important;
    max-width: calc(100vw - var(--page-inline-start, var(--page-gutter-x, 36px)) - 84px) !important;
    box-sizing: border-box;
  }

  .page-constructor .dies .prices .prices__packages-slide .price-card__wrapper[data-v-1444f1fb],
  .page-constructor .dies .prices .prices__packages-slide .price-card__wrapper {
    width: 100% !important;
    max-width: none !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin: 0 !important;
    box-sizing: border-box;
  }

  .page-constructor .dies .prices .prices__packages-slide .price-card.noImg[data-v-1444f1fb],
  .page-constructor .dies .prices .prices__packages-slide .price-card.noImg {
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box !important;
  }
}
