@media (max-width: 1100px) {
  .product-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

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

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

  .hero__inner {
    grid-template-columns: 1fr;
    gap: 34px;
  }

  .hero__panel {
    max-width: 720px;
  }

  .product-detail {
    grid-template-columns: 1fr;
  }

  .gallery__main {
    height: clamp(360px, 60vw, 480px);
    min-height: 0;
  }

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

@media (max-width: 820px) {
  :root {
    --header-height: 74px;
  }

  .container,
  .narrow {
    width: min(calc(100% - 28px), var(--container));
  }

  .header-main {
    grid-template-columns: auto 1fr auto;
    gap: 10px;
  }

  .brand__copy {
    display: none;
  }

  .brand img {
    width: 42px;
    height: 52px;
  }

  .header-search {
    grid-column: 1 / -1;
    grid-row: 2;
    padding-bottom: 10px;
  }

  .menu-toggle {
    display: block;
  }

  .header-nav {
    display: none;
  }

  .header-nav.is-open {
    display: block;
  }

  .header-nav__inner {
    align-items: stretch;
    flex-direction: column;
    gap: 0;
    padding-block: 10px;
  }

  .header-nav a {
    min-height: 44px;
    display: flex;
    align-items: center;
  }

  .header-nav .back-link {
    margin-left: 0;
    border-top: 1px solid var(--color-border);
  }

  .hero__inner {
    min-height: auto;
    padding-block: 70px;
  }

  .hero-search {
    flex-direction: column;
  }

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

  .catalog-layout {
    grid-template-columns: 1fr;
  }

  .filters {
    position: static;
    display: none;
  }

  .filters.is-open {
    display: grid;
  }

  .filter-toggle {
    display: inline-flex;
  }

  .quote-layout {
    grid-template-columns: 1fr;
  }

  .quote-sidebar {
    position: static;
  }

  .advice,
  .contact-grid {
    grid-template-columns: 1fr;
    gap: 32px;
  }

  .admin-shell {
    grid-template-columns: 1fr;
  }

  .admin-sidebar {
    position: fixed;
    z-index: 200;
    left: 0;
    translate: -100% 0;
    width: min(84vw, 280px);
    transition: translate var(--transition);
  }

  .admin-sidebar.is-open {
    translate: 0;
  }

  .admin-mobile-toggle {
    display: inline-flex;
  }

  .login-shell {
    grid-template-columns: 1fr;
  }

  .login-brand {
    min-height: 220px;
  }
}

@media (max-width: 620px) {
  .section {
    padding-block: 52px;
  }

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

  .product-grid,
  .catalog-grid,
  .category-grid,
  .metric-grid {
    grid-template-columns: 1fr;
  }

  .hero h1 {
    font-size: clamp(2.35rem, 12vw, 3.4rem);
  }

  .hero-stats {
    grid-template-columns: 1fr 1fr;
  }

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

  .catalog-toolbar select {
    width: 100%;
  }

  .product-card__actions {
    grid-template-columns: 1fr;
  }

  .header-actions {
    gap: 7px;
  }

  .header-actions .button {
    min-height: 40px;
    padding: 8px 10px;
    font-size: 0.78rem;
  }

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

  .gallery__thumbs {
    grid-row: 2;
    flex-direction: row;
    overflow-x: auto;
  }

  .gallery__main {
    height: clamp(280px, 82vw, 380px);
    min-height: 0;
  }

  .quantity-row {
    grid-template-columns: 92px minmax(0, 1fr);
  }

  .product-add-button {
    min-width: 0;
  }

  .form-grid,
  .quote-detail {
    grid-template-columns: 1fr;
  }

  .quote-item {
    grid-template-columns: 82px minmax(0, 1fr);
  }

  .quote-item__image {
    width: 82px;
    height: 82px;
  }

  .quote-item > .button {
    grid-column: 1 / -1;
  }

  .quote-preview {
    overflow-x: auto;
  }

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

  .admin-main {
    padding: 18px 14px 40px;
  }

  .admin-header {
    align-items: start;
  }

  .admin-toolbar {
    grid-template-columns: 1fr;
  }

  .dynamic-row {
    grid-template-columns: 1fr;
  }

  .login-panel {
    padding: 28px 14px;
  }
}

@media (min-width: 1600px) {
  :root {
    --container: 1420px;
  }

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

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