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

    .hero__content,
    .split-layout,
    .final-cta__inner {
        flex-direction: column;
        align-items: flex-start;
    }
}

@media (max-width: 820px) {
    :root {
        --header-height: 78px;
    }

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

    .site-nav {
        position: absolute;
        left: 16px;
        right: 16px;
        top: calc(100% + 10px);
        padding: 18px;
        flex-direction: column;
        align-items: stretch;
        background: rgba(255, 250, 241, 0.97);
        border-radius: 26px;
        box-shadow: var(--shadow);
        opacity: 0;
        pointer-events: none;
        transform: translateY(-10px);
        transition: opacity 0.2s ease, transform 0.2s ease;
    }

    .site-nav.is-open {
        opacity: 1;
        pointer-events: auto;
        transform: translateY(0);
    }

    .site-nav a {
        width: 100%;
        text-align: center;
    }

    .hero {
        min-height: auto;
        padding-top: 24px;
    }

    .hero__poster {
        display: none;
    }

    .hero__poster--mobile {
        display: block;
    }

    .hero__content {
        padding-top: 72px;
    }

    .hero__copy p {
        font-size: 1.5rem;
    }

    .menu-section > .container {
        padding: 16px;
        border-radius: 28px;
    }

    .menu-toolbar {
        padding: 14px;
        border-radius: 28px;
    }

    .menu-category-hint {
        display: inline-flex;
    }

    .menu-category-hint[hidden] {
        display: none;
    }

    .menu-category-filter {
        width: calc(100% + 20px);
        margin-inline: -10px;
    }

    .menu-category-scroll-frame {
        display: grid;
        grid-template-columns: 36px minmax(0, 1fr) 36px;
        align-items: center;
        gap: 7px;
    }

    .menu-category-scroll-frame::after {
        content: none;
    }

    .category-scroll-control {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 36px;
        height: 36px;
        padding: 0;
        border: 1px solid rgba(22, 105, 97, 0.28);
        border-radius: 50%;
        background: #fffaf1;
        color: var(--primary-dark);
        box-shadow: 0 5px 14px rgba(35, 67, 58, 0.2);
        font-size: 1.25rem;
        font-weight: 900;
        line-height: 1;
    }

    .category-scroll-control:disabled {
        opacity: 0.28;
        box-shadow: none;
        cursor: default;
    }

    .category-scroll-control:focus-visible {
        outline: 3px solid rgba(31, 127, 118, 0.32);
        outline-offset: 2px;
    }

    .menu-category-scroller {
        min-width: 0;
        padding-right: 12px;
        padding-left: 12px;
    }

    .menu-grid {
        padding: 12px;
        border-radius: 28px;
    }

    .hero__ingredients {
        display: none;
    }

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

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

    .ingredients-list {
        display: none;
    }

    .ingredients-list.is-open {
        display: block;
    }

    .menu-card .add-to-cart {
        height: 66px;
    }

    .mobile-order-bar {
        display: flex;
    }

    .mobile-order-bar [data-open-cart] {
        display: none;
    }

    .floating-whatsapp {
        margin-left: auto;
    }

    .floating-actions {
        align-items: end;
    }

    .site-footer {
        padding-bottom: 150px;
    }
}

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

    .hero__seal {
        display: block;
        width: fit-content;
        margin: 12px 0 0;
    }

    .topbar__inner,
    .hero__actions,
    .menu-card__bottom,
    .cart-drawer__footer,
    .contact-form__actions,
    .footer-bottom,
    .hours-card div {
        flex-direction: column;
        align-items: flex-start;
    }

    .menu-card__bottom .add-to-cart {
        margin-left: auto;
        margin-right: auto;
    }

    .quick-links__grid,
    .featured-grid,
    .steps-grid,
    .testimonial-grid,
    .footer-grid {
        display: grid;
    }

    .cart-drawer__dialog {
        height: calc(100vh - 12px);
        max-height: calc(100vh - 12px);
        border-radius: 24px 24px 0 0;
        align-self: end;
    }

    .cart-drawer {
        align-items: end;
        padding: 6px;
    }
}
