/* ==========================================================================
   RESPONSIVIDADE
   Mobile-first: estilos base em style.css já consideram mobile.
   Os breakpoints abaixo ajustam para telas maiores.
   ========================================================================== */

/* Tablet (>= 640px) — botões do header ganham texto */
@media (min-width: 640px) {
  .header-actions .btn-whatsapp span,
  .header-actions .btn-instagram span {
    display: inline;
  }

  .menu-list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    column-gap: 40px;
  }

  .menu-pricing {
    flex-direction: row;
  }

  .price-table {
    flex: 1;
  }

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

  .footer-inner {
    text-align: left;
    align-items: flex-start;
  }

  .footer-brand,
  .footer-info {
    text-align: left;
  }
}

/* Notebook (>= 900px) — hero em duas colunas */
@media (min-width: 900px) {
  .hero {
    padding-block: 64px 56px;
  }

  .hero-inner {
    flex-direction: row;
    align-items: center;
    gap: 56px;
  }

  .hero-content {
    flex: 1;
    max-width: 520px;
  }

  .hero-media {
    flex: 1;
  }

  .hero-content h1 {
    font-size: clamp(2.6rem, 4vw, 3.4rem);
  }

  .menu-section__header {
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: baseline;
    column-gap: 16px;
  }

  .menu-section__index {
    margin-bottom: 0;
  }

  .menu-section__note {
    margin-top: 0;
    justify-self: end;
  }
}

/* Desktop (>= 1200px) */
@media (min-width: 1200px) {
  .container {
    padding-inline: 32px;
  }

  .menu-item p {
    max-width: 46ch;
  }
}
