@media (max-width: 1180px) {
    .main-nav { gap: 18px; }
    .header-phone { display: none; }
    .quick-info-grid > div { padding-inline: 18px; }
    .order-layout { grid-template-columns: 1fr 350px; gap: 24px; }
    .order-product { grid-template-columns: 110px 1fr; }
    .order-product > img { min-height: 170px; }
}

@media (max-width: 1024px) {
    :root { --header-height: 72px; }
    .container { width: min(calc(100% - 36px), var(--container)); }
    .section { padding: 88px 0; }
    .main-nav, .header-actions { display: none; }
    .nav-toggle { display: flex; margin-left: auto; }
    .main-nav { position: fixed; inset: var(--header-height) 0 auto; display: flex; max-height: 0; align-items: stretch; flex-direction: column; gap: 0; margin: 0; background: var(--background); color: var(--text); overflow: hidden; visibility: hidden; transition: max-height .3s, visibility .3s; }
    .main-nav.is-open { max-height: calc(100vh - var(--header-height)); visibility: visible; box-shadow: 0 18px 28px rgba(0,0,0,.12); }
    .main-nav a { border-bottom: 1px solid var(--border); padding: 17px 24px; }
    .main-nav a::after { display: none; }
    .nav-toggle[aria-expanded="true"] span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
    .nav-toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
    .nav-toggle[aria-expanded="true"] span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
    .hero { min-height: 760px; }
    .hero-status { flex-wrap: wrap; }
    .quick-info-grid { grid-template-columns: 1fr 1fr; }
    .quick-info-grid > div:nth-child(2) { border-right: 1px solid var(--border); }
    .quick-info-grid > div:nth-child(-n+2) { border-bottom: 1px solid var(--border); }
    .product-grid { grid-template-columns: repeat(2, 1fr); }
    .split-heading { grid-template-columns: 1fr; gap: 15px; }
    .offer-card { padding: 32px; }
    .daily-content { padding-inline: 7vw; }
    .about-grid { gap: 8%; }
    .about-main { height: 520px; }
    .quality-grid { grid-template-columns: 1fr 1fr; }
    .quality-grid article:nth-child(-n+2) { border-bottom: 1px solid rgba(255,255,255,.13); }
    .gallery-grid { height: 620px; grid-template-columns: repeat(3, 1fr); }
    .gallery-item-4 { grid-row: auto; }
    .gallery-item-8 { display: none; }
    .reviews-grid { gap: 7%; }
    .footer-grid { grid-template-columns: 1fr 1fr; }
    .full-menu-layout { grid-template-columns: 1fr 300px; gap: 4%; }
    .order-layout { display: block; }
    .order-product-grid { grid-template-columns: repeat(2, 1fr); }
    .cart-panel { position: fixed; z-index: 2000; top: 0; right: 0; bottom: 0; width: min(420px, 94vw); max-height: none; transform: translateX(105%); transition: transform .28s; }
    .cart-panel.is-open { transform: none; }
    .cart-close { display: block; }
    .cart-items { max-height: calc(100vh - 320px); }
    .cart-backdrop { position: fixed; z-index: 1900; inset: 0; display: block; background: rgba(12,14,12,.65); opacity: 0; pointer-events: none; transition: opacity .2s; }
    .cart-backdrop.is-visible { opacity: 1; pointer-events: auto; }
    .mobile-cart-bar { position: fixed; z-index: 950; right: 16px; bottom: 84px; left: 16px; display: flex; min-height: 56px; align-items: center; justify-content: space-between; border: 0; padding: 0 20px; background: var(--primary); color: #fff; box-shadow: var(--shadow); font-size: .77rem; }
    .mobile-cart-bar[hidden] { display: none; }
    .mobile-cart-bar strong { color: var(--yellow); font-family: var(--font-display); font-size: 1.35rem; }
    .contact-map { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 768px) {
    body { padding-bottom: calc(68px + env(safe-area-inset-bottom)); }
    h2 { font-size: clamp(2.8rem, 13vw, 4rem); }
    .container { width: min(calc(100% - 28px), var(--container)); }
    .section { padding: 72px 0; }
    .brand-name { font-size: 1.75rem; }
    .brand-tagline { font-size: .46rem; }
    .hero { min-height: 720px; align-items: flex-end; padding-bottom: 80px; }
    .hero-content { padding-top: 140px; }
    .hero h1 { font-size: clamp(4rem, 19vw, 6rem); }
    .hero-copy { font-size: .93rem; }
    .hero .button-row .button { flex: 1; padding-inline: 14px; }
    .hero-status { display: grid; grid-template-columns: auto 1fr; margin-top: 28px; gap: 7px 11px; }
    .hero-status span:nth-of-type(2), .hero-status a { grid-column: 2; }
    .hero-stamp { display: none; }
    .quick-info-grid { width: 100%; grid-template-columns: 1fr 1fr; }
    .quick-info-grid > div { min-height: 94px; padding: 15px 13px; }
    .quick-info-grid > div:nth-child(odd) { border-left: 0; }
    .quick-info-grid > div:nth-child(even) { border-right: 0; }
    .quick-icon { width: 31px; height: 31px; }
    .quick-info strong { font-size: .72rem; }
    .quick-info span, .quick-info a { font-size: .62rem; }
    .product-grid { grid-template-columns: 1fr; gap: 36px; }
    .product-image { height: 280px; }
    .quick-add { transform: none; opacity: 1; }
    .category-tabs { justify-content: flex-start; overflow-x: auto; }
    .category-tabs button { flex: 0 0 auto; padding-inline: 17px; }
    .menu-row { gap: 10px; }
    .menu-row h3 { font-size: 1.2rem; }
    .menu-row p { max-width: 210px; font-size: .64rem; }
    .menu-row strong { font-size: 1.25rem; }
    .menu-dots { display: none; }
    .menu-row > div { flex: 1; }
    .offer-strip { display: block; border: 0; }
    .offer-card { min-height: auto; border: 1px solid var(--border); border-bottom: 0; padding: 30px; }
    .offer-card:last-child { border-bottom: 1px solid var(--border); }
    .offer-card.featured { transform: none; }
    .offer-index { margin-bottom: 28px; }
    .daily-offer { display: block; }
    .daily-image { height: 330px; }
    .daily-content { padding: 64px 28px; }
    .daily-price { font-size: 4.5rem; }
    .about-grid { display: flex; flex-direction: column; gap: 62px; }
    .about-main { height: 440px; }
    .about-caption { right: 14px; bottom: -28px; }
    .check-list { gap: 10px; }
    .check-list li { font-size: .66rem; }
    .quality-grid { grid-template-columns: 1fr; }
    .quality-grid article { min-height: auto; border: 0; border-bottom: 1px solid rgba(255,255,255,.13); padding: 30px 10px; }
    .quality-grid article:first-child { border-left: 0; }
    .quality-grid h3 { margin: 22px 0 8px; }
    .lunch-grid { grid-template-columns: 1fr; gap: 50px; }
    .gallery-grid { height: auto; grid-template-columns: 1fr 1fr; grid-template-rows: repeat(3, 220px); }
    .gallery-item-1 { grid-row: span 2; }
    .gallery-item-4 { grid-row: span 2; }
    .gallery-item-7, .gallery-item-8 { display: none; }
    .reviews-grid { grid-template-columns: 1fr; gap: 60px; }
    .location-grid { grid-template-columns: 1fr; }
    .hours-block { padding: 0 0 60px; }
    .map-block { min-height: 650px; }
    .footer-grid { grid-template-columns: 1fr; gap: 44px; }
    .footer-bottom { align-items: flex-start; flex-direction: column; gap: 5px; }
    .mobile-bottom-nav { position: fixed; z-index: 900; right: 0; bottom: 0; left: 0; display: grid; min-height: 68px; grid-template-columns: 1fr 1fr 1.2fr; padding-bottom: env(safe-area-inset-bottom); border-top: 1px solid var(--border); background: #fff; box-shadow: 0 -6px 24px rgba(29,33,29,.11); }
    .mobile-bottom-nav a { display: flex; min-height: 68px; align-items: center; justify-content: center; flex-direction: column; gap: 2px; border-right: 1px solid var(--border); font-size: .61rem; font-weight: 800; text-transform: uppercase; }
    .mobile-bottom-nav span { height: 24px; font-size: 1.1rem; }
    .mobile-bottom-nav .bottom-order { background: var(--primary); color: #fff; }
    .toast { right: 14px; bottom: 142px; left: 14px; max-width: none; text-align: center; }
    .page-hero { min-height: 450px; padding: 150px 0 70px; }
    .page-hero h1 { font-size: clamp(4rem, 18vw, 6rem); }
    .sticky-categories .container { width: max-content; }
    .sticky-categories a { min-width: 125px; }
    .full-menu-layout { display: block; }
    .menu-category { margin-bottom: 60px; }
    .menu-category-heading h2 { font-size: 2.6rem; }
    .menu-aside { position: static; }
    .order-head { padding-top: 48px; }
    .order-head .container { align-items: flex-start; flex-direction: column; gap: 28px; }
    .order-head h1 { font-size: clamp(3.8rem, 18vw, 5.5rem); }
    .pickup-status { min-width: 0; border-top: 1px solid var(--border); border-left: 0; padding: 18px 0 0; }
    .order-categories { top: var(--header-height); }
    .order-categories .container { width: max-content; }
    .order-product-grid { grid-template-columns: 1fr; }
    .order-product { grid-template-columns: 112px 1fr; }
    .order-content { padding-bottom: 145px; }
    .checkout-dialog > div { padding: 38px 24px 26px; }
    .checkout-dialog h2 { font-size: 2.55rem; }
    .mobile-cart-bar { bottom: calc(80px + env(safe-area-inset-bottom)); }
    .contact-grid { grid-template-columns: 1fr; gap: 50px; }
    .contact-hours { padding: 28px 20px; }
    .contact-map { min-height: 900px; grid-template-columns: 1fr; grid-template-rows: 1.2fr .8fr; }
    .route-panel { padding: 60px 28px; }
    .legal-hero { padding: 145px 0 55px; }
    .legal-hero h1 { font-size: 4rem; }
}

@media (max-width: 430px) {
    .container { width: calc(100% - 24px); }
    .hero { min-height: 700px; }
    .hero h1 { font-size: 4.25rem; }
    .hero .button-row { display: grid; grid-template-columns: 1fr; }
    .hero-status { font-size: .69rem; }
    .quick-info-grid > div { align-items: flex-start; gap: 8px; }
    .quick-info p { line-height: 1.35; }
    .product-image { height: 255px; }
    .gallery-grid { grid-template-rows: repeat(3, 180px); }
    .full-menu-item { grid-template-columns: 1fr auto; gap: 10px; }
    .full-menu-item button { grid-column: 2; grid-row: 1 / span 2; }
    .full-menu-item strong { grid-column: 2; grid-row: 1; margin-top: -12px; padding-right: 46px; }
    .full-menu-item p { max-width: 240px; }
    .order-product { grid-template-columns: 96px 1fr; }
    .order-product > div { padding: 14px; }
    .order-product h2 { font-size: 1.35rem; }
    .demo-notice { align-items: flex-start; flex-direction: column; gap: 2px; }
    .contact-details dl > div { grid-template-columns: 105px 1fr; }
}

@media (min-width: 1600px) {
    :root { --container: 1380px; }
    .hero { min-height: 900px; }
    .product-image { height: 350px; }
}
