/* Mobile search in nav only on small screens — already in HTML */

@media (max-width: 639px) {
  .topbar__label {
    display: none;
  }

  .topbar__inner {
    justify-content: center;
    gap: var(--space-4);
  }

  .header-main__inner {
    grid-template-columns: auto 1fr;
  }

  .brand__logo {
    width: 102px;
    max-width: min(110px, 42vw);
  }

  .header-search {
    display: none !important;
  }
}

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

  .product-grid[data-count="1"] {
    display: flex;
    justify-content: center;
  }

  .product-grid[data-count="1"] > .product-card {
    width: min(100%, 100%);
  }

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

  .cart-item {
    grid-template-columns: 3.5rem 1fr;
    gap: var(--space-3);
    padding: var(--space-3);
  }

  .hero__title {
    font-size: 1.85rem;
  }

  .container {
    width: min(100% - 1rem, var(--container));
  }
}

/* Tablet */
@media (min-width: 640px) {
  .hero__actions {
    flex-direction: row;
    flex-wrap: wrap;
  }

  .header-search {
    display: block;
  }

  .site-nav__mobile-search {
    display: none;
  }

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

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

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

  .catalog-toolbar__row {
    grid-template-columns: 1.4fr 1fr auto;
    align-items: end;
  }

  .detail-actions {
    grid-template-columns: auto 1fr 1fr;
    align-items: end;
  }

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

  .cart-item {
    grid-template-columns: 5.5rem 1fr auto;
    align-items: center;
  }

  .cart-item__body {
    grid-column: auto;
  }

  .cart-item__side {
    grid-column: auto;
    flex-direction: column;
    align-items: flex-end;
    border-top: none;
    padding-top: 0;
  }

  .toast-region {
    left: auto;
    width: min(24rem, calc(100% - 2rem));
  }
}

/* Desktop */
@media (min-width: 960px) {
  :root {
    --header-main-height: 4.75rem;
    --header-nav-height: 2.85rem;
  }

  .nav-toggle {
    display: none;
  }

  .header-main__inner {
    grid-template-columns: auto minmax(16rem, 1fr) auto;
    gap: var(--space-6);
  }

  .brand__logo {
    max-height: 3.5rem;
    max-width: 16.5rem;
  }

  .category-nav {
    border-top: 1px solid var(--color-border);
  }

  .site-nav {
    position: static;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: var(--space-1);
    min-height: var(--header-nav-height);
    padding: 0;
    background: transparent;
    border: none;
  }

  .site-nav a,
  .site-nav .nav-link {
    padding: var(--space-2) var(--space-3);
  }

  .hero {
    padding: var(--space-8) 0 var(--space-10);
  }

  .hero__grid {
    grid-template-columns: 1.05fr 0.95fr;
    gap: var(--space-8);
  }

  .hero__visual {
    aspect-ratio: 5 / 4;
    min-height: 16rem;
    max-height: 24rem;
  }

  .hero__actions {
    flex-direction: row;
    flex-wrap: wrap;
  }

  .product-grid {
    grid-template-columns: repeat(3, minmax(0, 22rem));
    justify-content: center;
    gap: var(--space-5);
  }

  .product-grid[data-count="1"] {
    display: flex;
    justify-content: center;
  }

  .product-grid[data-count="1"] > .product-card {
    width: min(100%, 24rem);
  }

  .product-grid[data-count="2"] {
    grid-template-columns: repeat(2, minmax(0, 24rem));
  }

  .product-grid[data-count="3"],
  .product-grid[data-count="4"],
  .product-grid[data-count="5"],
  .product-grid[data-count="6"] {
    grid-template-columns: repeat(3, minmax(0, 22rem));
  }

  .feature-grid {
    grid-template-columns: repeat(3, 1fr);
  }

  .about-panel {
    grid-template-columns: 1.15fr 1fr;
    align-items: start;
    gap: var(--space-8);
    padding: var(--space-8);
  }

  .about-features {
    grid-template-columns: 1fr 1fr;
  }

  .contact-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: stretch;
  }

  .footer-grid {
    grid-template-columns: 1.2fr repeat(3, minmax(0, 1fr));
    align-items: start;
    column-gap: var(--space-6);
  }

  .detail-layout {
    grid-template-columns: 1fr 1fr;
    gap: var(--space-12);
    align-items: start;
  }

  .catalog-banner {
    min-height: 5.5rem;
  }

  .cart-layout {
    grid-template-columns: minmax(0, 1.4fr) minmax(18rem, 0.9fr);
    gap: var(--space-8);
    align-items: start;
  }

  .cart-sidebar {
    position: sticky;
    top: calc(var(--header-stack) + 1rem);
  }
}

@media (min-width: 1200px) {
  .container {
    width: min(100% - 3rem, var(--container));
  }

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

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

  .product-grid[data-count="1"] {
    display: flex;
    justify-content: center;
  }

  .product-grid[data-count="1"] > .product-card {
    width: min(100%, 26rem);
  }

  .product-grid[data-count="2"] {
    grid-template-columns: repeat(2, minmax(0, 26rem));
  }

  .contact-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    align-items: stretch;
  }
}

@media (prefers-reduced-motion: reduce) {
  .product-card:hover .product-card__media-inner,
  .product-card:focus-within .product-card__media-inner {
    transform: none;
  }
}
