@media (max-width: 900px) {
  .gate-banner {
    min-height: 72px;
    padding: 0 12px;
    letter-spacing: 0.06em;
    font-size: clamp(9px, 2.6vw, 13px);
  }

  header {
    border-radius: 0 0 28px 28px;
  }

  .cart-wrap {
    right: 72px;
    top: 16px;
  }

  #menu {
    display: flex;
    width: calc(100% - 32px);
    justify-content: space-between;
    align-items: center;
  }

  .burger {
    display: grid;
    flex-shrink: 0;
    margin-left: auto;
  }

  #menu .nav-left,
  #menu .nav-right {
    display: none;
    flex-direction: column;
    align-items: stretch;
    width: 100%;
    order: 3;
    padding: 8px 16px;
    border-radius: 16px;
    background: linear-gradient(120deg, rgba(243, 239, 239, 0.96), rgba(128, 128, 128, 0.94));
  }

  .nav-right {
    margin-top: -8px;
    border-radius: 0 0 16px 16px;
  }

  .nav-left {
    margin-top: 8px;
    border-radius: 16px 16px 0 0;
  }

  #nav-toggle:checked ~ header #menu {
    flex-wrap: wrap;
  }

  #nav-toggle:checked ~ header .nav-left,
  #nav-toggle:checked ~ header .nav-right {
    display: flex;
  }

  #menu ul a {
    display: block;
    padding: 10px 8px;
    color: #111;
    text-shadow: none;
  }

  .grid,
  .redes,
  .hero-actions,
  .flyer-grid,
  .news-mosaic,
  .shop-grid {
    grid-template-columns: 1fr;
  }

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

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

  .news-mosaic {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-auto-rows: 120px;
  }

  .news-card.featured,
  .news-card.wide {
    grid-column: span 2;
  }

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

  .track img {
    width: 100%;
    height: 180px;
  }

  .page-head h1 {
    font-size: 28px;
  }
}

@media (max-width: 520px) {
  .cart-panel {
    position: fixed;
    top: 100px;
    right: 12px;
    width: min(360px, calc(100vw - 24px));
  }

  .logomenu img {
    width: 96px;
    height: 64px;
  }

  main {
    padding-top: 140px;
  }

  .flyer-grid,
  .news-mosaic,
  .shop-grid {
    grid-template-columns: 1fr;
  }

  .news-card.featured,
  .news-card.wide,
  .news-card.tall {
    grid-column: auto;
    grid-row: auto;
  }

  .news-mosaic {
    grid-auto-rows: 210px;
  }
}
