/* ===================== Адаптив «Центр дверей» =====================
   Базовый макет — десктоп ~1400px.
   Брейкпоинты: 1100 (ноутбук), 900 (планшет), 640 (телефон), 430 (узкий).
================================================================== */

/* --------------------------- ≤ 1100 --------------------------- */
@media screen and (max-width: 1100px) {
  .hero__title { font-size: 64px; }
  .pp { grid-template-columns: 84px minmax(0,1fr) 420px; gap: 24px; }
  .pp__image { height: 520px; }
  .slider__arrow--prev { left: -10px; }
  .slider__arrow--next { right: -10px; }
}

/* --------------------------- ≤ 900 (планшет) --------------------------- */
@media screen and (max-width: 900px) {
  .desktop { display: none !important; }
  .mobile { display: block !important; }

  .cont { padding: 0 24px; }
  .section { padding: 44px 0; }
  .section-title { font-size: 26px; margin-bottom: 28px; }
  .page-title { font-size: 34px; }
  .h-collection { font-size: 26px; }

  /* Шапка */
  body { padding-top: 68px; }
  .header__row { height: 68px; gap: 16px; }
  .header.is-scrolled .header__row { height: 60px; }
  .header__left, .header__right { gap: 16px; }

  /* Hero */
  .hero { height: 520px; }
  .hero__content { top: 60px; max-width: 100%; padding-right: 24px; }
  .hero__title { font-size: 52px; }
  .hero__text { font-size: 18px; margin-bottom: 28px; }

  /* Сетки */
  .grid-4 { grid-template-columns: repeat(2, 1fr); }
  .grid-3 { grid-template-columns: repeat(2, 1fr); }
  .gallery-grid { grid-template-columns: repeat(2, 1fr); }

  /* Блоки в две колонки → одна */
  .intro,
  .quick,
  .video-block,
  .promo-banner { grid-template-columns: 1fr; }
  .intro { padding: 34px; }
  .promo-banner__media { height: 300px; }
  .quick__preview { display: none; }
  .quick__form { padding: 34px; }

  /* Слайдеры — горизонтальный скролл */
  .slider__track,
  .collection__row { overflow-x: auto; -webkit-overflow-scrolling: touch; gap: 12px; scroll-snap-type: x mandatory; }
  .slider__track > *,
  .slider__track--4 > *,
  .slider__track--3 > * { flex: 0 0 46%; scroll-snap-align: start; }
  .collection__row > .collection-cover,
  .collection__row > .product { flex: 0 0 46%; }
  .slider__arrow { display: none; }
  .hero__arrow { display: none; }

  /* Карточка товара */
  .pp { grid-template-columns: 1fr; gap: 20px; }
  .pp__thumbs { flex-direction: row; flex-wrap: wrap; order: 2; }
  .pp__thumbs-arrow { display: none; }
  .pp__main { order: 1; }
  .pp__config { order: 3; }
  .pp__image { height: 520px; max-width: 100%; }
  .pp__buttons { grid-template-columns: 1fr 1fr; max-width: 100%; }
  .config-group__next { display: none; }

  /* Где купить */
  .buy { grid-template-columns: 1fr; }
  .buy__map { border-radius: 8px; }
  .buy__list { max-height: none; }

  /* Подвал */
  .footer__grid { grid-template-columns: 1fr 1fr; gap: 30px 24px; }
}

/* --------------------------- ≤ 640 (телефон) --------------------------- */
@media screen and (max-width: 640px) {
  :root {
    --fs-48: 30px;
    --fs-40: 28px;
    --fs-35: 26px;
    --fs-32: 23px;
    --fs-30: 22px;
    --fs-28: 21px;
    --fs-26: 21px;
    --fs-24: 20px;
    --fs-22: 18px;
    --fs-20: 17px;
    --fs-19: 16px;
    --fs-18: 16px;
    --fs-16: 15px;
    --fs-15: 14px;
    --fs-14: 13px;
  }

  .cont { padding: 0 16px; }
  .section { padding: 34px 0; }

  /* Шапка на телефоне — компактнее */
  .header__row { gap: 10px; }
  .header__left, .header__right { gap: 14px; }
  .header__city { display: none; }
  .logo { padding: 8px 16px; }
  .logo__name { font-size: 16px; letter-spacing: .08em; }
  .logo__sub { font-size: 7px; }

  /* Hero */
  .hero { height: 440px; }
  .hero__title { font-size: 40px; }
  .hero__content { top: 40px; }
  .hero__text { font-size: 16px; }

  /* Сетки — одна колонка (плитки-галереи по 2) */
  .grid-2 { grid-template-columns: 1fr; }
  .grid-3 { grid-template-columns: 1fr; }
  .cat-card { height: 240px; }
  .tile { height: 300px; }
  .photo-card { height: 240px; }

  /* Слайдеры — по одной карточке */
  .slider__track > *,
  .slider__track--4 > *,
  .slider__track--3 > *,
  .collection__row > .collection-cover,
  .collection__row > .product { flex-basis: 74%; }
  .collection-cover .ph,
  .collection-cover img { min-height: 320px; }

  /* Карточка */
  .pp__image { height: 420px; }
  .pp__buttons { grid-template-columns: 1fr; }
  .config-thumb__img { height: 130px; }
  .config-swatches,
  .config-sizes { grid-template-columns: 1fr; gap: 10px; }

  /* Промо-карты «Скидки» */
  .promo-card { min-height: 320px; }
  .promo-card__value { font-size: 46px; }

  /* Сервис / фото-карты */
  .service-card { height: 240px; }
  .hotspot-image { height: 360px; }
  .hotspot__label { display: none; }
  .video { height: 220px; }

  /* Подвал */
  .footer { padding: 44px 0 20px; }
  .footer__grid { grid-template-columns: 1fr; gap: 26px; }
  .footer__bottom { flex-direction: column; align-items: flex-start; gap: 10px; }
}

/* --------------------------- ≤ 430 --------------------------- */
@media screen and (max-width: 430px) {
  .header__city span.desktop { display: none; }
  .grid-4 { grid-template-columns: 1fr 1fr; gap: 12px; }
  .gallery-grid { grid-template-columns: 1fr 1fr; gap: 12px; }
  .hero__title { font-size: 34px; }
}
