@media (max-width: 1120px) {
    .menu-preview-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

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

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

    .menu-sidebar {
        position: static;
    }

    .cart-summary__panel {
        position: static;
    }

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

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

    .about-band,
    .contact-grid {
        grid-template-columns: 1fr;
    }

    .about-band__media {
        min-height: 420px;
    }

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

    .site-footer__grid > div:first-child {
        grid-column: 1 / -1;
    }
}

@media (max-width: 820px) {
    .section {
        padding: 88px 0;
    }

    .menu-flyer {
        display: none;
    }

    .feature-grid,
    .news-grid,
    .service-grid,
    .menu-grid,
    .menu-preview-grid,
    .contact-grid__row,
    .site-footer__grid {
        grid-template-columns: 1fr;
    }

    .service-card {
        grid-template-columns: 1fr;
    }

    .promo-banner,
    .section-heading,
    .menu-preview-cta,
    .site-footer__bottom,
    .menu-overlay__footer {
        flex-direction: column;
        align-items: center;
    }

    .timeline {
        padding-inline: 24px;
    }

    .timeline__item {
        width: 260px;
        padding: 0 18px;
    }

    .hero {
        height: 100svh;
        min-height: 100svh;
    }

    .hero__content {
        padding-top: calc(var(--header-height) + 48px);
        padding-bottom: 48px;
    }

    .hero__title {
        font-size: clamp(3rem, 14vw, 5rem);
    }

    .hero__scroll {
        display: none;
    }

    .site-header {
        padding-inline: 16px;
    }

    .site-header__actions .button {
        display: none;
    }

    .cart-link {
        padding-inline: 12px;
    }

    .site-header__links {
        display: none;
    }

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

    .menu-overlay__nav a {
        padding: 18px 0;
    }

    .menu-overlay__nav span {
        font-size: clamp(1.9rem, 10vw, 3rem);
    }
}

@media (max-width: 640px) {
    .site-footer,
    .site-footer__grid,
    .site-footer__bottom,
    .site-footer__lead,
    .site-footer__socials,
    .section-heading,
    .section-heading__aside,
    .hero__actions,
    .signature-block__actions,
    .menu-preview-cta,
    .menu-preview-cta__actions,
    .service-actions {
        text-align: center;
        justify-content: center;
        align-items: center;
    }

    .site-footer__grid a,
    .site-footer__grid p,
    .contact-info,
    .contact-card,
    .section-note,
    .promo-banner__text,
    .promo-banner__value {
        text-align: center;
    }

    .contact-info strong {
        text-align: center;
    }

    .button,
    .panel-button {
        margin-inline: auto;
    }

    .section-heading__aside,
    .cart-item,
    .cart-item__actions {
        grid-template-columns: 1fr;
        justify-items: stretch;
    }

    .cart-item {
        display: grid;
    }

    .cart-item__header,
    .cart-item__actions {
        flex-direction: column;
        align-items: flex-start;
    }

    .menu-overlay__nav a {
        align-items: flex-start;
        flex-direction: column;
        gap: 8px;
    }

    .menu-overlay__nav small {
        display: none;
    }
}
