/* ==========================================================================
   МИРТАРА — адаптивность
   Проверено на ширинах 320, 375, 390, 768, 1024, 1440, 1920
   ========================================================================== */

/* ---------- ≤ 1280 ---------- */
@media (max-width: 1280px) {
  :root { --section-gap: 72px; }

  .hero-main__content { padding: 48px 0 48px 44px; }
  .hero-tile__text { padding: 24px 0 24px 24px; }
  .hero-tile__title { font-size: 20px; }

  .topbar__tagline { display: none; }
  .topbar__inner { justify-content: flex-end; }

  .mega__panel { grid-template-columns: minmax(0, 1fr) 220px; gap: 24px; }
  .mega__inner { grid-template-columns: 280px minmax(0, 1fr); }
}

/* Шапка на средних экранах: сжимаем, e-mail прячем, подписи иконок убираем */
@media (min-width: 1024px) and (max-width: 1240px) {
  .site-header__inner { gap: 14px; }
  .header-search { min-width: 180px; }
  .header-contacts__email { display: none; }
  .header-action { min-width: 48px; }
  .header-action__label { display: none; }
  .messenger { width: 40px; height: 40px; }
}

/* ---------- ≤ 1100: планшет в альбомной ориентации ---------- */
@media (max-width: 1100px) {
  .product-grid,
  .category-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }

  .hero__grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); grid-template-rows: auto auto; }
  .hero-main { grid-column: 1 / -1; grid-row: auto; min-height: 420px; }

  .benefits__list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .benefit:nth-child(3) { border-left: 0; }
  .benefit:nth-child(n + 3) { border-top: 1px solid var(--c-border); }

  .site-footer__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }

  .info-page,
  .cart-page { grid-template-columns: minmax(0, 1fr) 320px; gap: 32px; }
  .cta { grid-template-columns: minmax(0, 1fr) 280px; padding: 44px; }
}

/* ---------- < 1024: мобильная шапка и выдвижное меню ---------- */
@media (max-width: 1023px) {
  :root { --header-h: 116px; --section-gap: 64px; }

  .topbar,
  .main-nav,
  .catalog-btn,
  .mega { display: none !important; }

  .header-burger,
  .header-search-toggle { display: inline-flex; }

  .site-header { border-bottom-color: var(--c-border); }
  .site-header__inner {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto auto;
    grid-template-areas:
      "logo actions burger"
      "search search search";
    gap: 8px 8px;
    padding-block: 8px 12px;
  }
  .site-header.is-stuck .site-header__inner { padding-block: 6px; }
  .header-burger { grid-area: burger; align-self: center; width: 36px; height: 36px; border-radius: 8px; background: var(--c-accent); color: #fff; }
  .header-burger .icon { width: 20px; height: 20px; }
  .header-burger:hover { background: var(--c-accent-hover); }
  .logo { grid-area: logo; font-size: 26px; }
  .header-search { grid-area: search; max-width: none; min-width: 0; }
  .header-contacts,
  .header-messengers { display: none; }
  .header-actions { grid-area: actions; gap: 0; }

  /* При прокрутке строка поиска прячется — её открывает иконка */
  .site-header.is-stuck:not(.search-open) .header-search { display: none; }
  .site-header:not(.is-stuck) .header-search-toggle { display: none; }

  .header-action { min-width: 44px; min-height: 44px; padding: 0; }
  .header-action__label { display: none; }
  .cart-count { top: -7px; right: -9px; }

  .header-search__input { height: 46px; }

  /* Планшет: товары в 2 колонки, чтобы счётчик и кнопка «В корзину» помещались в строку */
  .product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* ---------- ≤ 860 ---------- */
@media (max-width: 860px) {
  .section-title,
  .page-title { font-size: 28px; }

  .hero-main { grid-template-columns: 1fr; min-height: 0; }
  .hero-main__content { padding: 36px 32px 0; }
  .hero-main__visual { padding: 8px 24px 24px; }
  .hero-collage { max-width: 480px; }
  .hero-main::before { width: 90%; right: -30%; top: 72%; }

  .info-cards { grid-template-columns: 1fr; }
  .about { grid-template-columns: 1fr; gap: 32px; }

  .cta { grid-template-columns: 1fr; padding: 36px 32px 0; }
  .cta::before { right: -120px; top: auto; bottom: -220px; transform: none; }
  .cta__img { justify-self: center; max-width: 280px; }

  .info-page,
  .cart-page,
  .product-page { grid-template-columns: 1fr; }
  .aside-card,
  .cart-summary { position: static; }

  .catalog-index { grid-template-columns: 1fr; }
  .product-details { grid-template-columns: 1fr; gap: 32px; }
}

@media (max-width: 1280px) {
  .main-nav__list a, .main-nav__accent { padding: 0 9px; font-size: 14px; }
  .main-nav__list { margin-left: -9px; }
  .industry-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 1100px) {
  .promo-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .quiz-page { grid-template-columns: 1fr; gap: 28px; }
  .quiz-page__intro { position: static; }
}

@media (max-width: 767px) {
  .quiz { padding: 20px 16px; border-radius: var(--radius); gap: 20px; }
  .quiz__title { font-size: 19px; }
  .quiz__options,
  .quiz__options--icons { grid-template-columns: 1fr; }
  .quiz__options--icons .quiz-option__box { flex-direction: row; align-items: center; padding: 10px 40px 10px 10px; }
  .quiz__options--icons .quiz-option__check { top: 50%; margin-top: -10px; }
  .quiz__contacts { grid-template-columns: 1fr; }
  .product-cta { grid-template-columns: 1fr; padding: 28px 20px; margin-top: 40px; }
  .product-cta__title { font-size: 22px; }
  .product-cta__actions { min-width: 0; }
  .product-similar { margin-top: 40px; }
  .industry-grid { grid-template-columns: 1fr; gap: 10px; }
  .industry-card { flex-direction: row; flex-wrap: wrap; align-items: center; gap: 4px 14px; padding: 16px; }
  .industry-card__icon { width: 44px; height: 44px; margin-bottom: 0; }
  .industry-card__title { flex: 1; }
  .industry-card__text, .industry-card .link-arrow { flex-basis: 100%; }
  .industry-hero { grid-template-columns: 1fr; }
  .industry-hero__content { padding: 28px 20px; }
  .industry-hero__lead { font-size: 16px; }
  .industry-hero__actions .btn { flex: 1 1 220px; }
  .industry-block { margin-top: 40px; }
  .quiz__step--final .btn[type="submit"] { justify-self: stretch; }
}

@media (max-width: 767px) {
  .promo-grid { grid-template-columns: 1fr; gap: 12px; }
  .promo-hero { grid-template-columns: 1fr; gap: 0; }
  .promo-hero__content { padding: 28px 20px; }
  .promo-hero--plain .promo-hero__content { padding-right: 20px; }
  .promo-hero__media { max-height: 240px; }
  .promo-hero__lead { font-size: 16px; }
  .product-card__old { display: block; margin-left: 0; font-size: 12px; }
}

@media (max-width: 600px) {
  .contact-cards { grid-template-columns: 1fr; }
  .rich-text { font-size: 15px; }
  .rich-text h2 { font-size: 21px; }
  .category-text,
  .product-details { margin-top: 40px; padding-top: 28px; }
}

/* ---------- ≤ 767: телефоны ---------- */
@media (max-width: 767px) {
  :root { --gutter: 16px; --section-gap: 56px; }

  body { font-size: 15px; }

  .product-grid,
  .category-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }

  .hero { padding-top: 12px; }
  .hero__grid { grid-template-columns: 1fr; gap: 12px; }
  .hero-main__content { padding: 28px 20px 0; }
  .hero-main__lead { font-size: 16px; margin-top: 14px; }
  .hero-main__actions { margin-top: 24px; }
  .hero-main__actions .btn { flex: 1 1 200px; }
  .hero-tile { min-height: 180px; }
  .hero-tile__text { max-width: 58%; padding: 20px 0 20px 20px; }
  .hero-tile__title { font-size: 18px; }
  .hero-tile__sub { font-size: 14px; }
  .hero-tile__img { width: 38%; max-height: 150px; margin-right: 10px; }

  .benefits__list { grid-template-columns: 1fr; }
  .benefit { padding: 16px 18px; }
  .benefit + .benefit { border-left: 0; border-top: 1px solid var(--c-border); }

  .section-head { flex-wrap: wrap; align-items: baseline; margin-bottom: 20px; }
  .section-title,
  .page-title { font-size: 25px; }
  .section-lead { font-size: 15px; }

  /* Карточки товаров в 2 колонки */
  .product-card__body { padding: 12px 12px 14px; }
  .product-card__title { font-size: 14px; }
  .product-card__sku,
  .product-card__specs { font-size: 12px; }
  .product-card__specs div { flex-wrap: wrap; column-gap: 4px; }
  .product-card__price { font-size: 17px; }
  .product-card__price.is-request { font-size: 14px; }
  .product-card__buy { flex-direction: column; }
  .product-card__buy .qty { width: 100%; justify-content: space-between; }
  .qty__btn { width: 44px; }
  .qty__input { flex: 1; }
  .btn--cart { width: 100%; flex: none; }
  .badges { top: 8px; left: 8px; gap: 4px; }
  .badge { font-size: 11px; padding: 3px 8px; }

  .category-tile { min-height: 0; padding: 16px; }
  .category-tile__title { font-size: 16px; }
  .category-tile__more { font-size: 14px; }
  .category-tile__arrow { width: 28px; height: 28px; }

  .info-card { flex-direction: column; gap: 16px; padding: 24px 20px; }
  .info-card__icon { width: 52px; height: 52px; border-radius: 14px; }
  .info-card__title { font-size: 19px; }

  .about__media { padding: 12px; }
  .about__content p:not(.eyebrow) { font-size: 15px; }

  .cta { padding: 28px 20px 0; }
  .cta__title { font-size: 24px; }
  .cta__text { font-size: 15px; margin-bottom: 22px; }
  .cta .btn { width: 100%; }

  /* Подвал: раскрывающиеся группы */
  .site-footer { padding-top: 40px; }
  .site-footer__grid { grid-template-columns: 1fr; gap: 0; padding-bottom: 24px; }
  .footer-col--brand { padding-bottom: 24px; }
  details.footer-col { border-top: 1px solid #2c394b; }
  details.footer-col .footer-col__title {
    min-height: 52px;
    margin: 0;
    cursor: pointer;
  }
  details.footer-col .footer-col__title .icon { display: block; }
  details.footer-col[open] .footer-col__title .icon { transform: rotate(180deg); }
  details.footer-col .footer-links { padding-bottom: 18px; }
  .footer-col:last-child { padding-top: 20px; border-top: 1px solid #2c394b; }
  .site-footer__bottom { flex-direction: column; align-items: flex-start; gap: 10px; }
  .site-footer__regions { margin-left: 0; flex-direction: column; gap: 8px; }
  .site-footer__credit { text-align: left; }

  .modal__box { padding: 28px 20px 24px; }
  .modal__title { font-size: 22px; }

  .toast-region { right: 16px; left: 16px; bottom: 84px; width: auto; }
  .contact-fab { right: 16px; bottom: 16px; }
  .contact-fab__btn { width: 56px; height: 56px; }

  .page { padding-block: 16px 56px; }
  .breadcrumbs { font-size: 13px; margin-bottom: 14px; }
  .notice { padding: 20px; }
  .catalog-index__item { grid-template-columns: 96px minmax(0, 1fr); gap: 14px; padding: 14px; }
  .cart-item {
    grid-template-columns: 80px minmax(0, 1fr);
    gap: 12px;
    padding: 12px;
  }
  .cart-item__img { width: 80px; }
  .cart-item__controls,
  .cart-item__price { grid-column: 2; }
  .cart-item__price { text-align: left; min-width: 0; }
  .page-search { flex-direction: column; }
}

/* ---------- ≤ 400: самые узкие экраны ---------- */
@media (max-width: 400px) {
  .logo { font-size: 23px; }
  .header-actions .icon-btn,
  .header-action { width: 44px; }
  .hero-main__title { font-size: 28px; }
  .hero-tile__text { max-width: 62%; }
  .hero-tile__img { width: 34%; }
  .section-title,
  .page-title { font-size: 23px; }
}

/* На самых узких экранах — товары в одну колонку */
@media (max-width: 359px) {
  .product-grid { grid-template-columns: 1fr; }
  .product-card__buy { flex-direction: row; }
  .product-card__buy .qty { width: auto; }
  .qty__btn { width: 44px; }
  .qty__input { flex: none; width: 36px; }
  .btn--cart { width: auto; flex: 1; }
  .category-grid { gap: 10px; }
  .category-tile { padding: 12px; }
  .category-tile__title { font-size: 15px; }
}

/* Сенсорные экраны: увеличенные зоны нажатия, без hover-эффектов увеличения */
@media (hover: none) {
  .product-card:hover .product-card__media img,
  .category-tile:hover .category-tile__img,
  .hero-tile:hover .hero-tile__img { transform: none; }
}

/* ---------- Каталог: фильтры ---------- */

/* На средних экранах две колонки товаров рядом с фильтрами */
@media (max-width: 1240px) {
  .product-grid--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .catalog-layout { grid-template-columns: 260px minmax(0, 1fr); gap: 24px; }
}

/* < 1024: фильтры в выдвижной панели */
@media (max-width: 1023px) {
  .catalog-layout { grid-template-columns: minmax(0, 1fr); margin-top: 20px; }
  .catalog-layout--full .product-grid--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .catalog-toolbar__filters { display: inline-flex; }
  .filters { position: fixed; inset: 0; z-index: 100; visibility: hidden; pointer-events: none; }
  .filters.is-open { visibility: visible; pointer-events: auto; }
  .filters__backdrop {
    display: block;
    position: absolute; inset: 0;
    background: rgba(20, 23, 28, .45);
    opacity: 0;
    transition: opacity 200ms var(--ease);
  }
  .filters.is-open .filters__backdrop { opacity: 1; }
  .filters__panel {
    position: absolute;
    top: 0; bottom: 0; left: 0;
    width: min(400px, 90vw);
    max-height: none;
    border: 0;
    border-radius: 0;
    transform: translateX(-100%);
    transition: transform 250ms var(--ease);
  }
  .filters.is-open .filters__panel { transform: none; box-shadow: var(--shadow-md); }
  .filters__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 60px;
    padding: 8px 8px 8px 20px;
    border-bottom: 1px solid var(--c-border);
  }
  .filters__title { font-size: 18px; font-weight: 700; }
  .filters__body { flex: 1; padding: 4px 20px; }
  .filters__foot { padding: 12px 20px calc(12px + env(safe-area-inset-bottom)); box-shadow: 0 -8px 20px rgba(32, 36, 43, .06); }
  .filter-check { min-height: 44px; }
}

@media (max-width: 767px) {
  .catalog-toolbar { gap: 10px; }
  .catalog-toolbar__count { order: 3; flex-basis: 100%; font-size: 14px; }
  .catalog-toolbar__filters { flex: 1; }
  .catalog-sort { flex: 1; margin-left: 0; }
  .catalog-sort__select { width: 100%; }
  .product-grid--3,
  .catalog-layout--full .product-grid--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 359px) {
  .product-grid--3,
  .catalog-layout--full .product-grid--3 { grid-template-columns: 1fr; }
}

/* Подкатегории на телефоне — горизонтальная лента вместо столбика */
@media (max-width: 767px) {
  .page > .chip-list {
    flex-wrap: nowrap;
    overflow-x: auto;
    margin-inline: calc(var(--gutter) * -1);
    padding: 2px var(--gutter) 6px;
    scrollbar-width: none;
    scroll-snap-type: x proximity;
  }
  .page > .chip-list::-webkit-scrollbar { display: none; }
  .page > .chip-list .chip { white-space: nowrap; scroll-snap-align: start; }
}

/* ---------- Мобильная шапка: телефон и почта отдельной строкой ---------- */
@media (max-width: 1023px) {
  .site-header__inner {
    grid-template-areas:
      "logo actions burger"
      "contacts contacts contacts"
      "search search search";
  }
  .site-header .header-contacts {
    grid-area: contacts;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: 4px 12px;
    margin: 0;
    padding: 2px 0 4px;
    min-width: 0;
  }
  .site-header .header-contacts__phone,
  .site-header .header-contacts__email { display: inline-flex; min-height: 32px; }
  .header-contacts__phone { font-size: 15px; }
  .header-contacts__email {
    font-size: 13px;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  .header-contacts .icon { width: 15px; height: 15px; flex-shrink: 0; }
}

/* Узкие экраны: почта под телефоном, если не помещается в строку */
@media (max-width: 359px) {
  .site-header .header-contacts { flex-wrap: wrap; }
}
.header-contacts__email span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

@media (max-width: 600px) {
  .legal-table div { grid-template-columns: 1fr; }
}
