.nav__mobileCta {
  display: none;
}

.page-home,
.page-products {
  overflow-x: clip;
}

/* ── Large desktop 1600px+ ── */
@media (min-width: 1600px) {
  .page-home,
  .page-products {
    --container-max: 1240px;
  }

  .heroV2__inner {
    max-width: 800px;
  }


}

/* ── Wide monitor 1920px+ ── */
@media (min-width: 1920px) {
  .page-home,
  .page-products {
    --container-max: 1320px;
    --gutter: clamp(24px, 2.5vw, 48px);
  }
}

/* ── Laptop 1024–1279px ── */
@media (min-width: 1024px) and (max-width: 1279px) {
  .page-home,
  .page-products {
    --container-max: 960px;
  }

  .page-home .nav__link,
  .page-products .nav__link {
    padding: 8px 7px;
    font-size: 13px;
  }

  .page-home .header__inner,
  .page-products .header__inner {
    gap: 8px;
  }

  .catCard {
    min-height: clamp(220px, 28vw, 300px);
  }
}

/* ── Small laptop / large tablet landscape 1024–1199px nav wrap ── */
@media (min-width: 1024px) and (max-width: 1199px) {
  .page-home .nav__panel,
  .page-products .nav__panel {
    flex-wrap: wrap;
    justify-content: center;
    max-width: 52%;
  }
}

/* ── Tablet & mobile shared (≤1023px) ── */
@media (max-width: 1023px) {
  .page-home,
  .page-products {
    --section-pad: clamp(40px, 6vw, 56px);
    --gutter: max(16px, env(safe-area-inset-left), env(safe-area-inset-right));
  }

  .page-home .header__inner,
  .page-products .header__inner {
    padding: 10px 0;
  }

  .heroV2 {
    padding-top: calc(var(--safe-top) + 76px);
    padding-bottom: 24px;
  }

  .heroV2__title {
    font-size: clamp(1.45rem, 4.5vw + 0.5rem, 2rem);
  }

  .heroV2__actions {
    flex-direction: column;
    align-items: stretch;
  }

  .heroV2__actions .btn {
    width: 100%;
    justify-content: center;
  }

  .quickBar {
    margin-bottom: 32px;
  }

  .quickBar__card {
    padding: 16px;
    border-radius: var(--radius-lg);
  }

  .homeBlock__head {
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
  }

  .homeBlock__head .btn {
    width: 100%;
    justify-content: center;
  }

  .homeWhy__text {
    max-width: none;
  }

  .pageHead {
    padding-top: calc(var(--safe-top) + 76px);
  }

  .page-products .productGrid {
    gap: 12px;
  }

  .page-products .ctaCard {
    flex-direction: column;
    align-items: stretch;
  }

  .page-products .ctaCard__actions {
    width: 100%;
  }

  .page-products .ctaCard__actions .btn {
    flex: 1 1 auto;
    width: 100%;
  }

  /* Mobile menu CTA */
  .nav__mobileCta {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-top: 8px;
    padding-top: 12px;
    border-top: 1px solid var(--border);
  }

  .nav__mobileCta .btn {
    width: 100%;
    justify-content: center;
  }

  .page-home .nav__panel .nav__link--active,
  .page-products .nav__panel .nav__link--active {
    background: rgba(139, 111, 78, 0.12);
    border-radius: 12px;
  }

  .page-home .nav__panel .nav__link--active::after,
  .page-products .nav__panel .nav__link--active::after {
    display: none;
  }
}

/* ── Tablet portrait 768–1023px ── */
@media (min-width: 768px) and (max-width: 1023px) {
  .page-home,
  .page-products {
    --container-max: 720px;
  }

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

  .catCard {
    min-height: clamp(200px, 24vw, 260px);
  }

  .homeBlock__grid {
    grid-template-columns: 1fr;
    gap: 18px;
  }

  .stoneCollage {
    height: clamp(220px, 48vw, 300px);
    max-height: none;
  }

  .homeStats {
    grid-template-columns: 1fr;
  }

  .contactsCompact__panel {
    grid-template-columns: 1fr 1fr;
  }

  .contactsCompact__media {
    grid-column: 2;
    grid-row: 1;
  }

  .contactsForm {
    grid-column: 1 / -1;
    grid-row: 2;
  }

  .page-products .productGrid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .page-products .applyRow {
    min-height: 140px;
  }
}

/* ── Tablet landscape: horizontal menu ── */
@media (min-width: 768px) and (max-width: 1023px) and (orientation: landscape) {
  .page-home .header__cta,
  .page-products .header__cta {
    display: flex;
  }

  .page-home .header__cta .btn--primary,
  .page-products .header__cta .btn--primary {
    display: inline-flex;
    padding-inline: 12px;
    font-size: 12px;
  }

  .nav__mobileCta {
    display: none !important;
  }

  .page-home .nav__link,
  .page-products .nav__link {
    padding: 8px 6px;
    font-size: 12px;
  }

  .nav__panel {
    gap: 2px;
  }
}

/* ── Phone large 481–767px ── */
@media (min-width: 481px) and (max-width: 767px) {
  .homeCats__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .catCard {
    min-height: 200px;
  }

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

  .contactsForm__grid {
    grid-template-columns: 1fr 1fr;
  }

  .contactsForm .field--wide {
    grid-column: 1 / -1;
  }
}

/* ── Phone ≤480px ── */
@media (max-width: 480px) {
  .page-home,
  .page-products {
    --gutter: max(14px, env(safe-area-inset-left), env(safe-area-inset-right));
    --section-pad: 36px;
  }

  .page-home .brand__text,
  .page-products .brand__text {
    font-size: 0.72rem;
    letter-spacing: 0.03em;
  }

  .page-home .brand__icon,
  .page-products .brand__icon {
    width: 34px;
  }

  .heroV2 {
    padding-top: calc(var(--safe-top) + 68px);
    margin-bottom: 4px;
  }

  .heroV2__tag {
    font-size: 11px;
    padding: 5px 10px;
  }

  .heroV2__title {
    font-size: clamp(1.28rem, 6vw + 0.4rem, 1.65rem);
    margin-bottom: 16px;
  }

  .quickBar__brand {
    font-size: 14px;
  }

  .quickBar__select,
  .contactsForm .field__input,
  .contactsCompact .field__input {
    font-size: 16px;
    min-height: 44px;
  }

  .homeCats__grid {
    grid-template-columns: 1fr;
  }

  .catCard {
    min-height: 200px;
    padding: 16px;
  }

  .catCard__title {
    font-size: 1.05rem;
  }

  .stoneCollage {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    grid-template-rows: repeat(4, minmax(0, 1fr));
    height: clamp(240px, 52vw, 320px);
    max-height: none;
    min-height: 0;
  }

  .stoneCollage__item--1 { grid-column: 1 / 3; grid-row: 1 / 4; }
  .stoneCollage__item--2 { grid-column: 3; grid-row: 1; }
  .stoneCollage__item--3 { grid-column: 3; grid-row: 2; }
  .stoneCollage__item--4 { grid-column: 1; grid-row: 4; }
  .stoneCollage__item--5 { grid-column: 2; grid-row: 4; }
  .stoneCollage__item--6 { grid-column: 3; grid-row: 3; }
  .stoneCollage__item--7 { grid-column: 1; grid-row: 3; }
  .stoneCollage__item--8 { grid-column: 2 / 4; grid-row: 4; }

  .homeProjects__grid {
    grid-template-columns: 1fr;
  }

  .homeStat {
    padding: 12px;
  }

  .contactsCompact__head {
    flex-direction: column;
    align-items: flex-start;
  }

  .contactsMeta__phones {
    flex-direction: column;
    gap: 4px;
  }

  .contactsCompact__quick .btn {
    flex: 1 1 calc(50% - 4px);
  }

  .contactsForm__actions .btn {
    flex: 1 1 100%;
    width: 100%;
  }

  .footer__map iframe {
    height: 180px;
  }

  .pageHead__title {
    font-size: clamp(1.35rem, 5vw + 0.5rem, 1.75rem);
  }

  .page-products .productGrid {
    grid-template-columns: 1fr;
  }

  .page-products .productCard {
    min-height: 0;
    aspect-ratio: 1;
  }

  .page-products .applyRow {
    grid-template-columns: 1fr;
    min-height: auto;
  }

  .page-products .applyRow--reverse .applyRow__text {
    order: 1;
  }

  .page-products .applyRow--reverse .applyRow__media {
    order: 2;
  }

  .page-products .applyRow__media img {
    min-height: 140px;
  }

  .catalogNote,
  .page-products .catalogCta {
    padding: 14px;
  }

  .btn--sm {
    min-height: 44px;
    font-size: 14px;
  }
}

/* ── Very small phones ≤360px ── */
@media (max-width: 360px) {
  .lang__btn {
    min-width: 32px;
    padding: 6px 7px;
    font-size: 11px;
  }

  .nav__toggle {
    padding: 8px 10px;
  }

  .nav__toggleText {
    display: none;
  }
}

/* Touch: no hover lift on cards */
@media (hover: none) {
  .catCard:hover {
    transform: none;
  }

  .productCard:hover .productCard__media img {
    transform: none;
  }
}

/* Safe area footer */
.footer--dark {
  padding-bottom: calc(24px + env(safe-area-inset-bottom));
}

@media (max-width: 767px) {
  .page-stone-materials .stoneCard__actions {
    flex-direction: column;
  }
  .page-stone-materials .stoneCard__btn {
    width: 100%;
    justify-content: center;
  }
  .page-detail .detailSection {
    padding: 16px;
  }
}

@media (min-width: 768px) and (max-width: 1023px) {
  .page-stone-materials .stoneList {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
