/**
 * Адаптив: мобильные, планшеты, крупные экраны (theme_prostore_like + good-port).
 * Подключать после stylesheet.css/prostore899.css и bridge/hotfix слоев.
 */

/* ——— База: без горизонтального скролла страницы ——— */
body.theme-prostore-like {
  overflow-x: hidden;
}
@supports (overflow: clip) {
  body.theme-prostore-like {
    overflow-x: clip;
  }
}

body.theme-prostore-like main,
body.theme-prostore-like #content,
body.theme-prostore-like .ps-header__inner,
body.theme-prostore-like .ps-navstrip__inner {
  min-width: 0;
}

/* Не трогаем img в галерее товара и превью карточек (.ps-pcard__thumb) — иначе height:auto ломает сетку и скругление. */
body.theme-prostore-like #content img:not(.ps-product-gallery__img):not(.ps-pcard__thumb):not(.ps-category-hero__img),
body.theme-prostore-like .ps-main-home img:not(.ps-pcard__thumb) {
  max-width: 100%;
  height: auto;
}

body.theme-prostore-like .ps-product-gallery {
  min-width: 0;
  max-width: 100%;
}
body.theme-prostore-like .ps-product-gallery .thumbnails {
  max-width: 100%;
  min-width: 0;
  box-sizing: border-box;
}
body.theme-prostore-like .ps-product-gallery .thumbnails > li:first-child .image > a.thumbnail img.ps-product-gallery__img--main,
body.theme-prostore-like .ps-product-gallery .ps-product-gallery__main-cell .image > a.thumbnail img.ps-product-gallery__img--main {
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: min(520px, 70vh);
  object-fit: contain;
  margin: 0 auto;
}
@media (max-width: 991px) {
  body.theme-prostore-like .ps-product-gallery .ps-product-gallery__thumbs-strip > li.image-additional a img.ps-product-gallery__img--thumb {
    max-width: 120px;
    max-height: 120px;
    width: auto;
    height: auto;
    object-fit: contain;
    display: block;
  }
}

@media (max-width: 991px) {
  /* Скролл только внутри обёртки — иначе широкая полоса миниатюр раздувает колонку и ломает вёрстку */
  body.theme-prostore-like .ps-product-gallery .thumbnails {
    overflow-x: hidden;
    overflow-y: visible;
  }
  body.theme-prostore-like .ps-product-gallery .thumbnails > li.ps-product-gallery__thumbs-scroller {
    max-width: 100%;
    min-width: 0;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
  }
  body.theme-prostore-like .ps-product-gallery .ps-product-gallery__thumbs-strip {
    flex-wrap: nowrap;
    gap: 12px;
    padding: 4px 8px 10px;
    margin: 0;
    width: max-content;
    max-width: none;
    justify-content: flex-start;
    overflow-x: auto;
    scroll-snap-type: x proximity;
  }
  body.theme-prostore-like .ps-product-gallery .ps-product-gallery__thumbs-strip > li.image-additional {
    flex: 0 0 auto;
    scroll-snap-align: center;
  }
}

@media (max-width: 767px) {
  body.theme-prostore-like .ps-product-gallery .ps-product-gallery__thumbs-strip > li.image-additional a img.ps-product-gallery__img--thumb {
    max-width: 76px;
    max-height: 76px;
  }
  body.theme-prostore-like .ps-product-gallery .thumbnails > li:first-child .image > a.thumbnail img.ps-product-gallery__img--main,
  body.theme-prostore-like .ps-product-gallery .ps-product-gallery__main-cell .image > a.thumbnail img.ps-product-gallery__img--main {
    max-height: min(360px, 55vh);
  }
}

/* ——— Отступы контейнеров (узкие экраны + safe-area) ——— */
@media (max-width: 991px) {
  body.theme-prostore-like .ps-wrap,
  body.theme-prostore-like main .container,
  body.theme-prostore-like .ps-main-inner.container,
  body.theme-prostore-like .ps-navstrip .container {
    padding-left: max(12px, env(safe-area-inset-left, 0px));
    padding-right: max(12px, env(safe-area-inset-right, 0px));
  }

  body.theme-prostore-like .ps-header {
    padding-left: env(safe-area-inset-left, 0px);
    padding-right: env(safe-area-inset-right, 0px);
  }

  body.theme-prostore-like .ps-header__inner {
    padding-top: 12px;
    padding-bottom: 12px;
    gap: 10px;
  }

  body.theme-prostore-like #logo {
    min-width: 0;
    max-width: min(68vw, 360px);
  }

  body.theme-prostore-like #logo img {
    max-height: 72px;
  }

  body.theme-prostore-like .ps-good-burger {
    flex-shrink: 0;
  }

  body.theme-prostore-like .ps-header__cart {
    min-width: 0;
    flex-shrink: 0;
  }
}

/* Верхняя полоска: плотнее на телефоне */
@media (max-width: 576px) {
  body.theme-prostore-like .ps-topbar {
    font-size: 12px;
  }

  body.theme-prostore-like .ps-topbar__inner {
    padding: 8px 12px;
    gap: 8px;
    grid-template-columns: 1fr;
    text-align: center;
  }

  body.theme-prostore-like .ps-topbar__left,
  body.theme-prostore-like .ps-topbar__center,
  body.theme-prostore-like .ps-topbar__right {
    justify-self: center;
  }

  body.theme-prostore-like .ps-topbar__hours {
    display: none;
  }

  body.theme-prostore-like .ps-topbar__right {
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px;
  }
}

/* iOS: не увеличивать зум при фокусе в полях < 16px */
@media (max-width: 767px) {
  body.theme-prostore-like input.form-control,
  body.theme-prostore-like textarea.form-control,
  body.theme-prostore-like select.form-control,
  body.theme-prostore-like .ps-search.ps-search--oc input.form-control,
  body.theme-prostore-like .ps-footer-newsletter__input {
    font-size: 16px;
  }
}

/* ——— Мобильное меню: прокрутка длинного списка ——— */
@media (max-width: 767px) {
  body.theme-prostore-like .navbar-collapse.collapse.in,
  body.theme-prostore-like .navbar-collapse.collapsing {
    max-height: min(78vh, 520px) !important;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    margin-top: 8px;
    padding-bottom: 12px;
    border-top: 1px solid var(--ps-border, #e2e6ed);
  }

  body.theme-prostore-like .ps-navstrip__inner {
    flex-direction: column;
    align-items: stretch;
  }

  body.theme-prostore-like .ps-navbar-unified .navbar-nav.ps-nav-single {
    width: 100%;
    margin: 0;
  }

  body.theme-prostore-like .ps-navbar-unified .navbar-nav > li {
    float: none;
    width: 100%;
  }

  body.theme-prostore-like .ps-navbar-unified .navbar-nav > li > a {
    padding: 12px 14px !important;
    border-radius: 8px;
  }

  body.theme-prostore-like .ps-btn-catalog--inmenu {
    width: 100%;
    justify-content: center;
    margin: 4px 0 !important;
  }

  body.theme-prostore-like .dropdown-menu.ps-catalog-dropdown-mob {
    position: static !important;
    float: none !important;
    width: 100% !important;
    max-width: none !important;
    margin-top: 4px !important;
    box-shadow: none;
    border: 1px solid var(--ps-border, #e2e6ed);
  }
}

/* ——— Герой: промо под слайдером — в колонку на узких экранах ——— */
@media (max-width: 1024px) {
  body.theme-prostore-like .ps-hero-side {
    flex-direction: row;
    flex-wrap: wrap;
  }

  body.theme-prostore-like .ps-hero-side .ps-promo-card {
    flex: 1 1 calc(50% - 8px);
    min-width: 140px;
    min-height: 120px;
  }
}

@media (max-width: 640px) {
  body.theme-prostore-like .ps-hero-side {
    flex-direction: column;
  }

  body.theme-prostore-like .ps-hero-side .ps-promo-card {
    flex: 1 1 auto;
    min-height: 100px;
    padding: 18px 20px;
  }

  body.theme-prostore-like .ps-hero-fallback-slider,
  body.theme-prostore-like .ps-hero-fallback-slide .ps-hero-main--fallback.ps-hero-main {
    min-height: 0;
  }

  body.theme-prostore-like .ps-hero-fallback-slide .ps-hero-main--fallback.ps-hero-main {
    padding: 20px 18px 44px;
  }

  body.theme-prostore-like .ps-hero-main-slot {
    min-height: 0;
  }
}

/* ——— Карточка слайда героя: компактнее ——— */
@media (max-width: 480px) {
  body.theme-prostore-like .good-hero-slide.ps-hero-main {
    padding: 20px 16px 44px;
    gap: 16px;
  }

  body.theme-prostore-like .good-hero-slide .ps-hero-main__img {
    min-height: 160px !important;
  }

  body.theme-prostore-like .good-hero-slide .ps-hero-slide-title {
    font-size: 1.25rem !important;
  }

  body.theme-prostore-like .good-hero-slide .ps-btn-outline.ps-hero-slide-cta {
    width: 100%;
    max-width: 280px;
    justify-content: center;
  }
}

/* ——— Мега-меню каталога (desktop): не вылезать за экран на планшетах ——— */
@media (min-width: 768px) and (max-width: 1100px) {
  body.theme-prostore-like .ps-catalog-dropdown__grid {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}

/* ——— Категория: мобильная сетка в духе маркетплейсов (2 колонки, плотнее) ——— */
@media (max-width: 767px) {
  body.theme-prostore-like .ps-category-products.row:not(.ps-category-products--single) {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px 10px;
  }

  body.theme-prostore-like .ps-category-products.row.ps-category-products--single {
    grid-template-columns: minmax(0, min(100%, 280px));
    gap: 14px;
  }

  /* Панель сортировки: компактная полоса под шапкой */
  body.theme-prostore-like .ps-cat-toolbar {
    flex-direction: column;
    align-items: stretch;
    gap: 12px;
    padding: 12px 14px;
    margin-bottom: 16px;
    border-radius: 12px;
  }

  body.theme-prostore-like .ps-cat-toolbar__sort-limit-row {
    order: 1;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    width: 100%;
  }

  body.theme-prostore-like .ps-cat-toolbar__compare {
    order: 2;
    text-align: center;
    padding: 10px 12px;
    margin: 0;
    border-radius: 10px;
    background: var(--good-bg, #f4f6f8);
    border: 1px solid var(--good-border, #e2e6ea);
    align-self: stretch;
  }

  body.theme-prostore-like .ps-cat-toolbar__sort,
  body.theme-prostore-like .ps-cat-toolbar__limit {
    flex: 1 1 auto;
    max-width: none;
    margin-left: 0;
    width: auto;
  }

  body.theme-prostore-like .ps-category-header__title {
    font-size: clamp(1.25rem, 5vw, 1.6rem);
    line-height: 1.2;
  }

  body.theme-prostore-like .ps-category-products.row:not(.ps-category-products--single) > .product-layout .ps-pcard__title {
    font-size: 12px;
    height: calc(1.35em * 3);
    min-height: calc(1.35em * 3);
    max-height: calc(1.35em * 3);
  }

  body.theme-prostore-like .ps-category-products.row:not(.ps-category-products--single) > .product-layout .ps-pcard__body {
    padding: 10px 10px 12px;
  }

  /* Полная кнопка только в режиме «список»; в сетке — круглая иконка (ps-mobile-mvp.css) */
  body.theme-prostore-like .ps-category-products.row:not(.ps-category-products--single) > .product-layout.product-list .ps-pcard .ps-btn-dark {
    font-size: 13px;
    padding: 10px 12px;
  }
}

@media (max-width: 479px) {
  body.theme-prostore-like .ps-category-products.row:not(.ps-category-products--single) {
    gap: 10px 8px;
  }
}

/* ——— Таблицы и длинный контент ——— */
body.theme-prostore-like #content .table-responsive {
  margin-bottom: 16px;
  -webkit-overflow-scrolling: touch;
}

@media (max-width: 767px) {
  body.theme-prostore-like .ps-product-main.row {
    gap: 24px;
  }

  body.theme-prostore-like .ps-product-buy-card {
    padding: 18px 16px;
  }

  /* Карточка покупки: блок корзины + быстрый заказ не вылезают за экран */
  body.theme-prostore-like .ps-product-cart-block {
    min-width: 0;
    width: 100%;
    max-width: 100%;
  }
  body.theme-prostore-like .ps-product-cart-block .ps-product-cart-actions {
    width: 100%;
    max-width: 100%;
  }
  body.theme-prostore-like .ps-product-cart-actions {
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
  }
  body.theme-prostore-like .ps-product-cart-btn.ps-btn-dark {
    width: auto !important;
    flex: 1 1 180px;
    min-width: 0;
    min-height: 40px;
    padding: 9px 14px !important;
    font-size: 14px !important;
    line-height: 1.2;
    border-radius: 10px !important;
  }
  body.theme-prostore-like .ps-qty-stepper {
    width: auto;
    flex: 0 0 auto;
    justify-content: center;
  }
  body.theme-prostore-like .ps-quick-order-form {
    box-sizing: border-box;
    max-width: 100%;
    width: 100%;
  }
}

/* ——— Секции главной ——— */
@media (max-width: 576px) {
  body.theme-prostore-like .ps-section {
    padding: 20px 0;
  }

  body.theme-prostore-like .ps-section__head {
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
  }

  body.theme-prostore-like .ps-section__head h2 {
    font-size: 1.25rem;
  }
}

/* ——— Доп. слайдеры на главной ——— */
@media (max-width: 640px) {
  body.theme-prostore-like .ps-home-extra-sliders__grid {
    grid-template-columns: 1fr;
  }
}

/* ——— Крупные мониторы: ровная сетка с max-width ——— */
@media (min-width: 1320px) {
  body.theme-prostore-like .ps-hero-band .ps-wrap,
  body.theme-prostore-like main .container.ps-main-inner {
    max-width: min(100% - 48px, 1200px);
  }
}

/* ——— Нижняя safe-area (iPhone) ——— */
body.theme-prostore-like .ps-footer.ps-footer--good .ps-footer__bottom {
  padding-bottom: max(20px, env(safe-area-inset-bottom, 0px));
}

/* Превью в карточке товара (главная, категории, поиск): после правила #content img — фиксируем обрезку и скругление */
body.theme-prostore-like .ps-pcard__media > a {
  overflow: hidden !important;
  border-radius: 14px !important;
  -webkit-border-radius: 14px !important;
}
body.theme-prostore-like .ps-pcard__media img.ps-pcard__thumb {
  border-radius: 14px !important;
  -webkit-border-radius: 14px !important;
  clip-path: inset(0 round 14px) !important;
  -webkit-clip-path: inset(0 round 14px) !important;
  display: block !important;
  mix-blend-mode: normal !important;
}
/* Каталог, сетка: полный бокс img + contain — единая рамка при любых размерах файла */
body.theme-prostore-like .ps-category-products.row > .product-layout.product-grid .ps-pcard__media img.ps-pcard__thumb {
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  object-fit: contain !important;
  object-position: center !important;
}
