.nav-order {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    white-space: nowrap;
}

.mobile-order-shortcut {
    display: none;
}

.order-count {
    display: inline-grid;
    min-width: 22px;
    height: 22px;
    place-items: center;
    padding: 0 6px;
    border-radius: 999px;
    background: var(--maroon);
    color: #fff;
    font-size: .72rem;
}

.dish-order-form {
    display: grid;
    grid-template-columns: 72px minmax(0, 1fr);
    gap: 8px;
    margin-top: 14px;
}

.dish-order-form input {
    width: 100%;
    min-width: 0;
    min-height: 42px;
    padding: 7px;
    border: 1px solid var(--line);
    border-radius: 10px;
    background: var(--paper);
    text-align: center;
}

.dish-order-form .button {
    min-width: 0;
    min-height: 42px;
    padding: 8px 12px;
    font-size: .82rem;
}

.order-review-section { padding-top: clamp(42px, 6vw, 72px); }
.order-shell { width: min(920px, calc(100% - 40px)); }
.order-list { display: grid; gap: 16px; }
.order-line {
    display: grid;
    grid-template-columns: 110px minmax(0, 1fr) auto;
    gap: 20px;
    align-items: center;
    padding: 18px;
    border: 1px solid var(--line);
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 8px 26px rgba(76,42,28,.06);
}
.order-line > img { width: 110px; height: 88px; border-radius: 14px; object-fit: cover; }
.order-line h2 { margin: 0; font-family: var(--font-display); font-size: 1.35rem; }
.order-line-details p { margin: 6px 0 0; color: var(--muted); }
.order-line-details .order-unavailable { color: #9e3030; font-weight: 700; }
.order-line-actions { display: grid; justify-items: end; gap: 8px; }
.order-update-form { display: flex; align-items: end; gap: 8px; }
.order-update-form label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); }
.order-quantity-input { width: 70px; min-height: 42px; }
.order-action-button { min-height: 42px; padding: 8px 14px; font-size: .82rem; }
.order-remove,.order-clear { color: #9e3030; }
.order-summary-card,.order-empty-state {
    margin-top: 24px;
    padding: clamp(24px, 5vw, 38px);
    border: 1px solid var(--line);
    border-radius: 22px;
    background: #fff;
    box-shadow: var(--shadow);
}
.order-total { display: flex; justify-content: space-between; gap: 20px; font-size: 1.35rem; }
.order-total strong { color: var(--maroon); }
.order-summary-card > p { color: var(--muted); }
.order-review-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin-top: 20px; }
.order-empty-state { text-align: center; }
.order-empty-state > i { color: var(--saffron); font-size: 2rem; }
.order-empty-state h2 { font-family: var(--font-display); }
.recommendation-order-items { display: grid; gap: 10px; margin-top: 22px; }
.recommendation-order-item { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 12px 0; border-top: 1px solid var(--line); }
.recommendation-order-item p { margin: 0; }
.recommendation-order-item form { flex: 0 0 auto; }
.recommendation-order-item .button { min-height: 40px; padding: 8px 14px; font-size: .82rem; }
.recommendation-add-all { margin-top: 16px; }

@media (max-width: 800px) {
    .site-nav { gap: 8px; }
    .mobile-order-shortcut {
        display: inline-flex;
        width: 48px;
        height: 44px;
        flex: 0 0 48px;
        align-items: center;
        justify-content: center;
        gap: 4px;
        border: 1px solid var(--line);
        border-radius: 12px;
        background: #fff;
        color: var(--maroon);
        text-decoration: none;
    }
    .mobile-order-shortcut:focus-visible {
        outline: 3px solid rgba(232,121,40,.4);
        outline-offset: 2px;
    }
    .mobile-order-shortcut .order-count {
        min-width: 18px;
        height: 18px;
        font-size: .68rem;
    }
    .site-menu .nav-order { justify-content: flex-start; }
    .order-line { grid-template-columns: 88px minmax(0,1fr); }
    .order-line > img { width: 88px; height: 76px; }
    .order-line-actions { grid-column: 1 / -1; justify-items: stretch; }
    .order-update-form { align-items: stretch; }
    .order-action-button { flex: 1; }
}

@media (min-width: 801px) and (max-width: 1150px) {
    .nav-order-label {
        position: absolute;
        width: 1px;
        height: 1px;
        overflow: hidden;
        clip: rect(0,0,0,0);
    }
}

@media (max-width: 560px) {
    .order-shell { width: calc(100% - 28px); }
    .dish-order-form { grid-template-columns: 58px minmax(0, 1fr); }
    .dish-order-form .button { padding-inline: 8px; }
    .order-line { grid-template-columns: 70px minmax(0,1fr); gap: 12px; padding: 14px; }
    .order-line > img { width: 70px; height: 70px; }
    .order-update-form { display: grid; grid-template-columns: 64px minmax(0,1fr); }
    .order-review-actions { display: grid; }
    .order-review-actions .button { width: 100%; }
    .recommendation-order-item { align-items: stretch; flex-direction: column; }
    .recommendation-order-item .button { width: 100%; }
}
