/* ============================================================
   responsive.css — Media queries (mobile-first)
   Breakpointy: sm=480, md=768, lg=1024, xl=1280
   ============================================================ */

/* ── Tablet i mniejsze (max 1024px) ───────────────────────── */

@media (max-width: 1024px) {
  .site-footer__container {
    grid-template-columns: 1fr 1fr;
    gap: var(--space-10);
  }

  .site-footer__col--brand {
    grid-column: 1 / -1;
  }

  .featured-cards__grid {
    grid-template-columns: repeat(2, 1fr);
    gap: var(--space-6);
  }

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

  .section-about__container {
    grid-template-columns: 1fr 1fr;
    gap: var(--space-10);
  }

  .hours-section__container {
    grid-template-columns: 1fr;
    gap: var(--space-8);
    text-align: center;
  }

  .hours-section__image {
    display: none;
  }

  .contact-layout__container {
    grid-template-columns: 1fr;
    gap: var(--space-12);
  }
}

/* ── Tablet pionowo (max 768px) ──────────────────────────── */

@media (max-width: 768px) {
  /* Nagłówek — pokaż hamburger */
  .site-header__nav {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background: var(--color-cream-light);
    padding: var(--space-6) var(--container-px);
    box-shadow: var(--shadow-md);
  }

  .site-header--nav-open .site-header__nav {
    display: block;
  }

  .site-header__menu {
    flex-direction: column;
    align-items: flex-start;
    gap: var(--space-1);
  }

  .site-header__menu a {
    display: block;
    padding: var(--space-3) 0;
    font-size: var(--text-lg);
  }

  .site-header__hamburger {
    display: flex;
  }

  .site-header__cta {
    display: none;
  }

  .site-header__container {
    position: relative;
  }

  /* Hero */
  .hero__subtitle {
    font-size: var(--text-base);
  }

  .hero__actions {
    flex-direction: column;
    align-items: center;
    width: 100%;
  }

  .hero__actions .btn {
    width: 100%;
  }

  /* Featured cards */
  .featured-cards__header {
    flex-direction: column;
    text-align: center;
  }

  .featured-cards__kicker {
    text-align: center;
    transform: none;
  }

  .featured-cards__grid {
    grid-template-columns: 1fr;
    max-width: 400px;
    margin: 0 auto;
  }

  /* Section about */
  .section-about__container {
    grid-template-columns: 1fr;
    gap: var(--space-8);
  }

  .section-about__title {
    font-size: var(--text-3xl);
  }

  /* Gallery */
  .gallery__grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .gallery__item--large {
    grid-column: 1 / -1;
    aspect-ratio: 16/9;
  }

  /* Menu grid */
  .menu-preview__grid {
    grid-template-columns: 1fr;
    max-width: 400px;
    margin: 0 auto;
  }

  /* Stopka */
  .site-footer__container {
    grid-template-columns: 1fr;
    gap: var(--space-8);
  }

  .site-footer__bottom .site-footer__container {
    grid-template-columns: 1fr;
    text-align: center;
  }

  .site-footer__legal-nav {
    justify-content: center;
    flex-wrap: wrap;
  }

  /* Typography scaling */
  h1, .page-header__title { font-size: var(--text-4xl); }
  h2, .featured-cards__title, .gallery__title,
  .menu-preview__title, .section-about__title { font-size: var(--text-3xl); }

  /* O nas — węższe odstępy i mniejszy tekst na mobile */
  .about-content {
    padding: var(--space-10) 0 var(--space-16);
  }

  .about-content__hero-image {
    margin-bottom: var(--space-8);
  }

  .about-content__text {
    font-size: var(--text-base);
  }

  .about-content__text > p:first-of-type {
    font-size: var(--text-lg);
  }

  .about-content__text h2 {
    font-size: var(--text-2xl);
    margin-top: var(--space-8);
  }
}

/* ── Mobile (max 480px) ──────────────────────────────────── */

@media (max-width: 480px) {
  :root {
    --container-px: var(--space-4);
  }

  .hero__tagline {
    font-size: var(--text-xs);
  }

  .btn--lg {
    font-size: var(--text-base);
    padding: var(--space-3) var(--space-8);
  }

  .menu-filter {
    gap: var(--space-2);
  }

  .menu-filter__btn {
    font-size: var(--text-xs);
    padding: var(--space-2) var(--space-4);
  }

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

  .gallery__item--large {
    grid-column: 1;
  }

  .contact-form__submit {
    width: 100%;
  }
}

/* ── Print ───────────────────────────────────────────────── */

@media print {
  .site-header,
  .site-footer,
  .hero__scroll-indicator,
  .contact-form {
    display: none;
  }

  body {
    background: white;
    color: black;
  }
}
