/* =========================================================
   ChapResto Restaurant Orders / Tracking
   ========================================================= */

.rs-orders-tab-section,
.rs-order-tracking-tab-section {
    margin-top: 0 !important;
}

.rs-orders-list {
    display: grid;
    gap: 1rem;
}

.rs-order-card {
    border: 1px solid rgba(60, 42, 25, .10);
    border-radius: 24px;
    background: #fff;
    box-shadow: 0 14px 36px rgba(45, 30, 18, .07);
    overflow: hidden;
}

.rs-order-main {
    width: 100%;
    border: 0;
    background: transparent;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 1rem;
    padding: 1rem;
    text-align: left;
    cursor: pointer;
}

.rs-order-main h3 {
    margin: 0;
    font-size: 1.05rem;
    font-weight: 1000;
    color: #241e1a;
}

.rs-order-main p {
    margin: .25rem 0 0;
    color: #6b625b;
    font-weight: 650;
}

.rs-order-main strong {
    color: #df6424;
    font-weight: 1000;
    white-space: nowrap;
}

.rs-order-status {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 34px;
    padding: 0 .75rem;
    border-radius: 999px;
    background: #fff1e8;
    color: #c55217;
    font-size: .78rem;
    font-weight: 1000;
    white-space: nowrap;
}

.rs-order-status.delivered,
.rs-order-status.completed {
    background: #e7f8ed;
    color: #15803d;
}

.rs-order-status.cancelled,
.rs-order-status.rejected {
    background: #fee2e2;
    color: #b91c1c;
}

.rs-order-foot {
    border-top: 1px solid rgba(60, 42, 25, .08);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: .75rem 1rem;
    color: #6b625b;
    font-weight: 800;
}

.rs-orders-empty i {
    width: 54px;
    height: 54px;
    display: inline-grid;
    place-items: center;
    border-radius: 999px;
    background: #fff1e8;
    color: #df6424;
    font-size: 1.4rem;
    margin-bottom: .75rem;
}

@media (max-width: 640px) {
    .rs-order-main {
        grid-template-columns: 1fr;
        align-items: start;
        gap: .7rem;
    }

    .rs-order-main strong {
        justify-self: start;
    }

    .rs-order-status {
        width: max-content;
    }

    .rs-order-foot {
        align-items: stretch;
        flex-direction: column;
    }

    .rs-order-foot .rs-link-button {
        width: 100%;
        justify-content: center;
    }
}


/* =========================================================
   FINAL MOBILE TOPBAR FIX
   Load order protection: this file is loaded last in App.razor.
   Desktop/tablet keeps .cr-topbar-actions.
   Mobile shows only .cr-mobile-actions-slot to avoid duplicated EN/bell.
   ========================================================= */

@media (max-width: 840px) {
    .cr-topbar-balanced .cr-topbar-inner {
        grid-template-columns: auto minmax(0, 1fr) auto !important;
        gap: .45rem !important;
        width: calc(100% - 16px) !important;
        padding-inline: 0 !important;
    }

    .cr-topbar-balanced .cr-nav-left,
    .cr-topbar-balanced .cr-topbar-actions {
        display: none !important;
        visibility: hidden !important;
        pointer-events: none !important;
    }

    .cr-topbar-balanced .cr-mobile-language-slot,
    .cr-topbar-balanced .cr-mobile-actions-slot {
        display: inline-flex !important;
        visibility: visible !important;
        pointer-events: auto !important;
        align-items: center !important;
        justify-content: flex-end !important;
        gap: .35rem !important;
        min-width: 0 !important;
        max-width: 100% !important;
        margin-left: auto !important;
        overflow: visible !important;
    }

    .cr-topbar-balanced .cr-mobile-actions-slot .cr-header-icon-btn,
    .cr-topbar-balanced .cr-mobile-actions-slot .cr-header-cart-btn,
    .cr-topbar-balanced .cr-mobile-actions-slot .cr-notification-btn,
    .cr-topbar-balanced .cr-mobile-actions-slot .cr-mobile-login-link {
        width: 36px !important;
        min-width: 36px !important;
        height: 36px !important;
        min-height: 36px !important;
        padding: 0 !important;
        border-radius: 999px !important;
        box-shadow: 0 8px 18px rgba(42, 30, 18, .07) !important;
    }

    .cr-topbar-balanced .cr-mobile-actions-slot .cr-public-language-btn {
        min-width: 58px !important;
        height: 36px !important;
        min-height: 36px !important;
        padding: 0 .55rem !important;
        border-radius: 999px !important;
        font-size: .82rem !important;
        font-weight: 1000 !important;
        box-shadow: 0 8px 18px rgba(42, 30, 18, .07) !important;
    }

    .cr-topbar-balanced .cr-mobile-actions-slot .cr-user-zone {
        display: inline-flex !important;
        align-items: center !important;
        position: relative !important;
        flex: 0 0 auto !important;
        margin: 0 !important;
        z-index: 6000 !important;
    }

    .cr-topbar-balanced .cr-mobile-actions-slot .cr-mini-account-btn {
        width: 36px !important;
        min-width: 36px !important;
        height: 36px !important;
        min-height: 36px !important;
        padding: 0 !important;
        border-radius: 999px !important;
        box-shadow: 0 8px 18px rgba(42, 30, 18, .07) !important;
    }

    .cr-topbar-balanced .cr-mobile-actions-slot .cr-profile-account-btn i {
        display: none !important;
    }

    .cr-topbar-balanced .cr-mobile-actions-slot .cr-profile-initials {
        width: 36px !important;
        height: 36px !important;
        min-width: 36px !important;
        font-size: .78rem !important;
    }

    .cr-topbar-balanced .cr-mobile-actions-slot .cr-user-dropdown {
        position: fixed !important;
        top: 62px !important;
        right: 10px !important;
        left: auto !important;
        width: min(320px, calc(100vw - 20px)) !important;
        z-index: 9999 !important;
    }

    .cr-topbar-balanced .cr-mobile-login-link {
        display: inline-grid !important;
        place-items: center !important;
        background: #fff !important;
        color: #201a16 !important;
        border: 1px solid rgba(60, 42, 25, .10) !important;
        text-decoration: none !important;
    }
}

@media (max-width: 420px) {
    .cr-topbar-balanced .cr-brand strong {
        max-width: 104px !important;
        font-size: .95rem !important;
    }

    .cr-topbar-balanced .cr-brand-icon {
        width: 34px !important;
        height: 34px !important;
    }

    .cr-topbar-balanced .cr-mobile-actions-slot {
        gap: .25rem !important;
    }

    .cr-topbar-balanced .cr-mobile-actions-slot .cr-public-language-btn {
        min-width: 54px !important;
        padding-inline: .45rem !important;
    }
}

/* =========================================================
   FINAL HEADER RESPONSIVE AUTH CLEANUP
   This block must stay at the end of the last loaded CSS file.
   ========================================================= */

.cr-desktop-only {
    display: initial !important;
}

.cr-mobile-only {
    display: none !important;
}

@media (min-width: 841px) {
    .cr-topbar-balanced .cr-mobile-language-slot,
    .cr-topbar-balanced .cr-mobile-actions-slot {
        display: none !important;
        visibility: hidden !important;
        pointer-events: none !important;
    }

    .cr-topbar-balanced .cr-topbar-actions {
        display: flex !important;
        visibility: visible !important;
        pointer-events: auto !important;
    }
}

@media (max-width: 840px) {
    .cr-desktop-only {
        display: none !important;
    }

    .cr-mobile-only {
        display: initial !important;
    }

    .cr-topbar-balanced {
        min-height: 64px !important;
        height: 64px !important;
    }

    .cr-topbar-balanced .cr-topbar-inner,
    body:has(.rs-page) .cr-topbar-balanced .cr-topbar-inner {
        width: calc(100% - 16px) !important;
        height: 64px !important;
        min-height: 64px !important;
        display: grid !important;
        grid-template-columns: auto minmax(0, 1fr) auto !important;
        align-items: center !important;
        gap: .45rem !important;
        margin: 0 auto !important;
        padding: 0 !important;
    }

    .cr-topbar-balanced .cr-nav-left,
    .cr-topbar-balanced .cr-topbar-actions,
    body:has(.rs-page) .cr-topbar-balanced .cr-nav-left,
    body:has(.rs-page) .cr-topbar-balanced .cr-topbar-actions {
        display: none !important;
        visibility: hidden !important;
        pointer-events: none !important;
        width: 0 !important;
        height: 0 !important;
        overflow: hidden !important;
    }

    .cr-topbar-balanced .cr-mobile-language-slot,
    .cr-topbar-balanced .cr-mobile-actions-slot,
    body:has(.rs-page) .cr-topbar-balanced .cr-mobile-language-slot,
    body:has(.rs-page) .cr-topbar-balanced .cr-mobile-actions-slot {
        grid-column: 3 !important;
        display: inline-flex !important;
        visibility: visible !important;
        pointer-events: auto !important;
        align-items: center !important;
        justify-content: flex-end !important;
        gap: .3rem !important;
        min-width: 0 !important;
        max-width: 100% !important;
        margin-left: auto !important;
        overflow: visible !important;
    }

    .cr-topbar-balanced .cr-brand,
    body:has(.rs-page) .cr-topbar-balanced .cr-brand {
        grid-column: 1 !important;
        min-width: 0 !important;
        gap: .45rem !important;
    }

    .cr-topbar-balanced .cr-brand-icon,
    body:has(.rs-page) .cr-topbar-balanced .cr-brand-icon {
        width: 34px !important;
        min-width: 34px !important;
        height: 34px !important;
    }

    .cr-topbar-balanced .cr-brand strong,
    body:has(.rs-page) .cr-topbar-balanced .cr-brand strong {
        max-width: 96px !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
        font-size: .92rem !important;
    }

    .cr-topbar-balanced .cr-mobile-actions-slot .cr-header-icon-btn,
    .cr-topbar-balanced .cr-mobile-actions-slot .cr-header-cart-btn,
    .cr-topbar-balanced .cr-mobile-actions-slot .cr-notify-btn,
    .cr-topbar-balanced .cr-mobile-actions-slot .cr-mobile-login-link {
        width: 34px !important;
        min-width: 34px !important;
        height: 34px !important;
        min-height: 34px !important;
        padding: 0 !important;
        border-radius: 999px !important;
        box-shadow: 0 7px 16px rgba(42, 30, 18, .07) !important;
    }

    .cr-topbar-balanced .cr-mobile-actions-slot .cr-header-icon-btn em,
    .cr-topbar-balanced .cr-mobile-actions-slot .cr-header-cart-btn em,
    .cr-topbar-balanced .cr-mobile-actions-slot .cr-notify-btn em {
        top: -3px !important;
        right: -3px !important;
        min-width: 17px !important;
        height: 17px !important;
        font-size: .62rem !important;
    }

    .cr-topbar-balanced .cr-mobile-actions-slot .cr-public-language-btn {
        min-width: 52px !important;
        height: 34px !important;
        min-height: 34px !important;
        padding: 0 .45rem !important;
        border-radius: 999px !important;
        font-size: .78rem !important;
        font-weight: 1000 !important;
        box-shadow: 0 7px 16px rgba(42, 30, 18, .07) !important;
    }

    .cr-topbar-balanced .cr-mobile-actions-slot .cr-user-zone {
        display: inline-flex !important;
        align-items: center !important;
        position: relative !important;
        flex: 0 0 auto !important;
        margin: 0 !important;
        z-index: 6000 !important;
    }

    .cr-topbar-balanced .cr-mobile-actions-slot .cr-mini-account-btn,
    .cr-topbar-balanced .cr-mobile-actions-slot .cr-profile-initials {
        width: 34px !important;
        min-width: 34px !important;
        height: 34px !important;
        min-height: 34px !important;
        font-size: .72rem !important;
    }

    .cr-topbar-balanced .cr-mobile-actions-slot .cr-profile-account-btn i {
        display: none !important;
    }

    .cr-topbar-balanced .cr-mobile-actions-slot .cr-user-dropdown {
        position: fixed !important;
        top: 62px !important;
        right: 8px !important;
        left: auto !important;
        width: min(320px, calc(100vw - 16px)) !important;
        z-index: 9999 !important;
    }
}

@media (max-width: 390px) {
    .cr-topbar-balanced .cr-brand strong,
    body:has(.rs-page) .cr-topbar-balanced .cr-brand strong {
        max-width: 78px !important;
        font-size: .86rem !important;
    }

    .cr-topbar-balanced .cr-mobile-actions-slot,
    body:has(.rs-page) .cr-topbar-balanced .cr-mobile-actions-slot {
        gap: .22rem !important;
    }

    .cr-topbar-balanced .cr-mobile-actions-slot .cr-header-icon-btn,
    .cr-topbar-balanced .cr-mobile-actions-slot .cr-header-cart-btn,
    .cr-topbar-balanced .cr-mobile-actions-slot .cr-notify-btn,
    .cr-topbar-balanced .cr-mobile-actions-slot .cr-mobile-login-link,
    .cr-topbar-balanced .cr-mobile-actions-slot .cr-mini-account-btn,
    .cr-topbar-balanced .cr-mobile-actions-slot .cr-profile-initials {
        width: 32px !important;
        min-width: 32px !important;
        height: 32px !important;
        min-height: 32px !important;
    }

    .cr-topbar-balanced .cr-mobile-actions-slot .cr-public-language-btn {
        min-width: 48px !important;
        height: 32px !important;
        min-height: 32px !important;
        padding-inline: .35rem !important;
    }
}

/* =========================================================
   SINGLE HEADER ACTION BAR FINAL OVERRIDE
   MainLayout now uses only .cr-topbar-actions for all screen sizes.
   ========================================================= */

.cr-topbar-balanced .cr-mobile-language-slot,
.cr-topbar-balanced .cr-mobile-actions-slot {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
}

@media (max-width: 840px) {
    .cr-topbar-balanced .cr-topbar-actions,
    body:has(.rs-page) .cr-topbar-balanced .cr-topbar-actions {
        grid-column: 3 !important;
        display: inline-flex !important;
        visibility: visible !important;
        pointer-events: auto !important;
        align-items: center !important;
        justify-content: flex-end !important;
        gap: .3rem !important;
        min-width: 0 !important;
        max-width: 100% !important;
        width: auto !important;
        height: auto !important;
        margin-left: auto !important;
        overflow: visible !important;
    }

    .cr-topbar-balanced .cr-topbar-actions .cr-header-icon-btn,
    .cr-topbar-balanced .cr-topbar-actions .cr-header-cart-btn,
    .cr-topbar-balanced .cr-topbar-actions .cr-notify-btn,
    .cr-topbar-balanced .cr-topbar-actions .cr-login-link {
        width: 34px !important;
        min-width: 34px !important;
        height: 34px !important;
        min-height: 34px !important;
        padding: 0 !important;
        border-radius: 999px !important;
        box-shadow: 0 7px 16px rgba(42, 30, 18, .07) !important;
    }

    .cr-topbar-balanced .cr-topbar-actions .cr-header-icon-btn em,
    .cr-topbar-balanced .cr-topbar-actions .cr-header-cart-btn em,
    .cr-topbar-balanced .cr-topbar-actions .cr-notify-btn em {
        top: -3px !important;
        right: -3px !important;
        min-width: 17px !important;
        height: 17px !important;
        font-size: .62rem !important;
    }

    .cr-topbar-balanced .cr-topbar-actions .cr-public-language-btn {
        min-width: 52px !important;
        height: 34px !important;
        min-height: 34px !important;
        padding: 0 .45rem !important;
        border-radius: 999px !important;
        font-size: .78rem !important;
        font-weight: 1000 !important;
        box-shadow: 0 7px 16px rgba(42, 30, 18, .07) !important;
    }

    .cr-topbar-balanced .cr-topbar-actions .cr-user-zone {
        display: inline-flex !important;
        align-items: center !important;
        position: relative !important;
        flex: 0 0 auto !important;
        margin: 0 !important;
        z-index: 6000 !important;
    }

    .cr-topbar-balanced .cr-topbar-actions .cr-mini-account-btn,
    .cr-topbar-balanced .cr-topbar-actions .cr-profile-initials {
        width: 34px !important;
        min-width: 34px !important;
        height: 34px !important;
        min-height: 34px !important;
        font-size: .72rem !important;
    }

    .cr-topbar-balanced .cr-topbar-actions .cr-profile-account-btn i {
        display: none !important;
    }

    .cr-topbar-balanced .cr-topbar-actions .cr-user-dropdown {
        position: fixed !important;
        top: 62px !important;
        right: 8px !important;
        left: auto !important;
        width: min(320px, calc(100vw - 16px)) !important;
        z-index: 9999 !important;
    }

    .cr-topbar-balanced .cr-topbar-actions .cr-login-link span {
        display: none !important;
    }
}

@media (max-width: 390px) {
    .cr-topbar-balanced .cr-topbar-actions,
    body:has(.rs-page) .cr-topbar-balanced .cr-topbar-actions {
        gap: .22rem !important;
    }

    .cr-topbar-balanced .cr-topbar-actions .cr-header-icon-btn,
    .cr-topbar-balanced .cr-topbar-actions .cr-header-cart-btn,
    .cr-topbar-balanced .cr-topbar-actions .cr-notify-btn,
    .cr-topbar-balanced .cr-topbar-actions .cr-login-link,
    .cr-topbar-balanced .cr-topbar-actions .cr-mini-account-btn,
    .cr-topbar-balanced .cr-topbar-actions .cr-profile-initials {
        width: 32px !important;
        min-width: 32px !important;
        height: 32px !important;
        min-height: 32px !important;
    }

    .cr-topbar-balanced .cr-topbar-actions .cr-public-language-btn {
        min-width: 48px !important;
        height: 32px !important;
        min-height: 32px !important;
        padding-inline: .35rem !important;
    }
}

/* =========================================================
   OWNER RESTAURANT CONTEXT NAVIGATION
   Shows Page/Menu/Orders/Promos/Pub while managing one restaurant.
   ========================================================= */
.cr-topbar-balanced .cr-owner-restaurant-header-nav {
    gap: .45rem !important;
}

.cr-topbar-balanced .cr-owner-restaurant-header-nav a {
    min-width: auto !important;
    white-space: nowrap !important;
    padding-inline: .58rem !important;
}

.cr-topbar-balanced .cr-owner-restaurant-header-nav a i {
    font-size: .95rem !important;
}

@media (max-width: 1120px) {
    .cr-topbar-balanced .cr-owner-restaurant-header-nav {
        gap: .28rem !important;
    }

    .cr-topbar-balanced .cr-owner-restaurant-header-nav a {
        padding-inline: .45rem !important;
        font-size: .82rem !important;
    }
}

@media (max-width: 840px) {
    .cr-owner-restaurant-bottom-nav {
        display: grid !important;
        grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
        gap: .18rem !important;
        padding-inline: .45rem !important;
    }

    .cr-owner-restaurant-bottom-nav a {
        min-width: 0 !important;
        padding-inline: .2rem !important;
        font-size: .66rem !important;
    }

    .cr-owner-restaurant-bottom-nav i {
        font-size: .88rem !important;
    }
}

/* =========================================================
   V23 - FINAL MOBILE DENSITY + RESTAURANT SPACING CONTROL
   Keep this block LAST.
   Change only the variables below.
   ========================================================= */

@media (max-width: 640px) {
    :root {
        /* General mobile page density */
        --cr-mobile-page-edge: 8px;
        --cr-mobile-page-top: .8rem;
        --cr-mobile-card-radius: 16px;
        --cr-mobile-card-padding: .85rem;
    }

    html,
    body {
        overflow-x: hidden !important;
    }

    /* General mobile page density: public, owner and admin pages */
    .cr-page,
    .cr-page-narrow,
    .cr-home,
    .cr-list-page,
    .cr-menu-page,
    .cr-restaurants-page,
    .cr-owner-page,
    .cr-admin-page,
    .owner-page,
    .owner-menu-page,
    .owner-menu-page-v2,
    .owner-menu-page-v3,
    .owner-orders-page,
    .owner-publications-page,
    .compact-admin-page,
    .admin-shell,
    main > section:not(.rs-shell) {
        width: min(100% - var(--cr-mobile-page-edge), 1580px) !important;
        max-width: none !important;
        margin-left: auto !important;
        margin-right: auto !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    .cr-page,
    .cr-home,
    .cr-list-page,
    .cr-menu-page,
    .cr-restaurants-page,
    .cr-owner-page,
    .cr-admin-page,
    .owner-page,
    .owner-menu-page,
    .owner-menu-page-v2,
    .owner-menu-page-v3,
    .owner-orders-page,
    .owner-publications-page,
    .compact-admin-page {
        padding-top: var(--cr-mobile-page-top) !important;
    }

    .cr-page-head,
    .cr-filter-panel,
    .cr-page-grid,
    .cr-empty,
    .cr-cart-wrap,
    .cr-order-status,
    .cr-loading,
    .owner-menu-toolbar-v3,
    .owner-publications-toolbar,
    .owner-orders-quickbar,
    .owner-orders-toolbar,
    .compact-admin-toolbar {
        width: min(100% - var(--cr-mobile-page-edge), var(--cr-public-max, 1280px)) !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }

    .cr-card,
    .cr-rest-card,
    .cr-menu-card,
    .cr-form-card,
    .cr-cart-total,
    .cr-cart-items-card,
    .cr-order-summary-card,
    .cr-order-status,
    .owner-publication-card,
    .owner-menu-card-v3,
    .owner-orders-table-card,
    .owner-admin-panel,
    .admin-card,
    .admin-table-card,
    .admin-list-card,
    .rs-panel,
    .rs-info-panel,
    .rs-info-card,
    .rs-menu-gallery-card,
    .rs-recommended-menu-card,
    .rs-daily-card,
    .rs-menu-row,
    .rs-post-card,
    .rs-empty-panel,
    .rs-state-card,
    .rs-order-card {
        border-radius: var(--cr-mobile-card-radius) !important;
    }

    .cr-card,
    .cr-form-card,
    .cr-cart-total,
    .cr-cart-items-card,
    .cr-order-summary-card,
    .owner-admin-panel,
    .admin-card {
        padding: var(--cr-mobile-card-padding) !important;
    }
}

@media (max-width: 640px) {
    body:has(.rs-page) {
        /* =====================================================
           EASY PARAMETERS - change only these values
           ===================================================== */
        --rs-mobile-header-height: 64px;    /* fixed topbar height */
        --rs-mobile-top-gap: 100px;          /* space below topbar */
        --rs-mobile-edge: 20px;              /* left/right page margin */
        --rs-mobile-bottom-space: 60px;    /* space above fixed bottom menu */
        --rs-mobile-card-gap: 10px;         /* space between cards */

        /* Restaurant hero */
        --rs-mobile-cover-height: 126px;
        --rs-mobile-identity-overlap: -20px;
        --rs-mobile-card-padding: 13px;
        --rs-mobile-radius: 14px;
        --rs-mobile-logo-size: 58px;
        --rs-mobile-logo-column: 62px;
    }

    body:has(.rs-page) .cr-shell main,
    body:has(.rs-page) .cr-main,
    body:has(.rs-page) main {
        width: 100% !important;
        max-width: none !important;
        padding: 0 !important;
        margin: 0 !important;
        overflow-x: hidden !important;
    }

    body:has(.rs-page) .rs-page {
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        padding-top: calc(var(--rs-mobile-header-height) + var(--rs-mobile-top-gap)) !important;
        padding-left: var(--rs-mobile-edge) !important;
        padding-right: var(--rs-mobile-edge) !important;
        padding-bottom: calc(var(--rs-mobile-bottom-space) + env(safe-area-inset-bottom)) !important;
        overflow-x: hidden !important;
    }

    body:has(.rs-page) .rs-shell {
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 0 var(--rs-mobile-bottom-space) !important;
    }

    body:has(.rs-page) .rs-hero-card-premium {
        width: 100% !important;
        margin: 0 0 var(--rs-mobile-card-gap) !important;
        padding: 0 !important;
    }

    body:has(.rs-page) .rs-cover {
        width: 100% !important;
        height: var(--rs-mobile-cover-height) !important;
        margin: 0 !important;
        border-radius: 0 !important;
        box-shadow: 0 8px 18px rgba(50, 38, 28, .06) !important;
        background-size: cover !important;
        background-position: center center !important;
    }

    body:has(.rs-page) .rs-identity-card {
        width: 100% !important;
        margin: var(--rs-mobile-identity-overlap) auto 0 !important;
        padding: var(--rs-mobile-card-padding) !important;
        min-height: 0 !important;
        border-radius: var(--rs-mobile-radius) !important;
        display: grid !important;
        grid-template-columns: var(--rs-mobile-logo-column) minmax(0, 1fr) !important;
        grid-template-rows: auto auto auto auto !important;
        column-gap: 10px !important;
        row-gap: 6px !important;
        align-items: center !important;
        box-shadow: 0 12px 28px rgba(50, 38, 28, .10) !important;
    }

    body:has(.rs-page) .rs-logo-box {
        grid-column: 1 !important;
        grid-row: 1 !important;
        width: var(--rs-mobile-logo-size) !important;
        height: var(--rs-mobile-logo-size) !important;
        border-radius: 12px !important;
        margin: 0 !important;
        align-self: center !important;
    }

    body:has(.rs-page) .rs-identity-main {
        display: contents !important;
    }

    body:has(.rs-page) .rs-identity-card h1 {
        grid-column: 2 !important;
        grid-row: 1 !important;
        align-self: center !important;
        margin: 0 !important;
        color: #171313 !important;
        font-size: clamp(1.45rem, 7vw, 1.9rem) !important;
        line-height: .98 !important;
        letter-spacing: -.045em !important;
        text-align: left !important;
    }

    body:has(.rs-page) .rs-identity-card p {
        grid-column: 1 / -1 !important;
        grid-row: 2 !important;
        margin: 1px 0 0 !important;
        color: #544b45 !important;
        font-size: .8rem !important;
        line-height: 1.38 !important;
        text-align: left !important;
        display: -webkit-box !important;
        -webkit-line-clamp: 3 !important;
        -webkit-box-orient: vertical !important;
        overflow: hidden !important;
    }

    body:has(.rs-page) .rs-badges {
        grid-column: 1 / -1 !important;
        grid-row: 3 !important;
        margin: 1px 0 0 !important;
        justify-content: flex-start !important;
        gap: 5px !important;
    }

    body:has(.rs-page) .rs-meta-line {
        grid-column: 1 / -1 !important;
        grid-row: 4 !important;
        margin: 0 !important;
        justify-content: flex-start !important;
        gap: 5px !important;
    }

    body:has(.rs-page) .rs-badges span,
    body:has(.rs-page) .rs-meta-line span {
        min-height: 22px !important;
        padding: 0 7px !important;
        font-size: .62rem !important;
        line-height: 1 !important;
    }

    body:has(.rs-page) .rs-mobile-action-bar,
    body:has(.rs-page) .rs-home-layout,
    body:has(.rs-page) .rs-info-cluster,
    body:has(.rs-page) .rs-info-cards,
    body:has(.rs-page) .rs-section,
    body:has(.rs-page) .rs-cart-tab-section,
    body:has(.rs-page) .rs-menu-tab-section,
    body:has(.rs-page) .rs-publications-section,
    body:has(.rs-page) .rs-orders-tab-section,
    body:has(.rs-page) .rs-order-tracking-tab-section {
        width: 100% !important;
        max-width: none !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }

    body:has(.rs-page) .rs-home-layout,
    body:has(.rs-page) .rs-info-cluster,
    body:has(.rs-page) .rs-info-cards,
    body:has(.rs-page) .rs-menu-list,
    body:has(.rs-page) .rs-publication-grid,
    body:has(.rs-page) .rs-orders-list {
        gap: var(--rs-mobile-card-gap) !important;
        margin-bottom: var(--rs-mobile-card-gap) !important;
    }

    body:has(.rs-page) .rs-panel,
    body:has(.rs-page) .rs-info-panel,
    body:has(.rs-page) .rs-info-card,
    body:has(.rs-page) .rs-empty-panel,
    body:has(.rs-page) .rs-state-card {
        padding: var(--rs-mobile-card-padding) !important;
        border-radius: var(--rs-mobile-radius) !important;
        box-shadow: 0 8px 20px rgba(50, 38, 28, .065) !important;
    }

    body:has(.rs-page) .rs-menu-list > :last-child,
    body:has(.rs-page) .rs-restaurant-food-row > :last-child,
    body:has(.rs-page) .rs-menu-gallery-grid > :last-child,
    body:has(.rs-page) .rs-publication-grid > :last-child,
    body:has(.rs-page) .rs-orders-list > :last-child {
        margin-bottom: var(--rs-mobile-bottom-space) !important;
    }

    body:has(.rs-page) .rs-mobile-tabs {
        z-index: 9999 !important;
    }
}

@media (max-width: 380px) {
    body:has(.rs-page) {
        --rs-mobile-edge: 10px;
        --rs-mobile-logo-size: 54px;
        --rs-mobile-logo-column: 58px;
    }
}


/* =========================================================
   V24 - REAL MOBILE SPACING CONTROL
   This is the only block you should edit for mobile spacing.
   Put it at the VERY END of chapresto-restaurant-orders-final.css
   ========================================================= */

@media (max-width: 640px) {
    body:has(.rs-page) {
        /* CHANGE ONLY THESE VALUES */
        --rs-space-left-right: 5px;
        --rs-space-top: 50px;
        --rs-space-bottom: 50px;
        --rs-space-between-cards: 10px;
        --rs-hero-cover-height: 126px;
        --rs-identity-overlap: -20px;
        --rs-card-padding: 13px;
        --rs-card-radius: 14px;
        --rs-logo-size: 58px;
        --rs-logo-column: 62px;
    }

        body:has(.rs-page) .cr-shell main,
        body:has(.rs-page) .cr-main,
        body:has(.rs-page) main {
            width: 100% !important;
            max-width: none !important;
            padding: 0 !important;
            margin: 0 !important;
            overflow-x: hidden !important;
        }

        body:has(.rs-page) .rs-page {
            width: 100% !important;
            max-width: none !important;
            margin: 0 !important;
            padding: 64px 0 0 !important;
            overflow-x: hidden !important;
        }

        /* REAL left/right spacing */
        body:has(.rs-page) .rs-shell {
            width: 100% !important;
            max-width: none !important;
            margin: 0 !important;
            padding-left: var(--rs-space-left-right) !important;
            padding-right: var(--rs-space-left-right) !important;
            padding-bottom: var(--rs-space-bottom) !important;
            box-sizing: border-box !important;
        }

        /* REAL top spacing */
        body:has(.rs-page) .rs-hero-card-premium {
            width: 100% !important;
            margin-top: var(--rs-space-top) !important;
            margin-bottom: var(--rs-space-between-cards) !important;
            padding: 0 !important;
        }

        body:has(.rs-page) .rs-cover {
            width: 100% !important;
            height: var(--rs-hero-cover-height) !important;
            margin: 0 !important;
            border-radius: 0 !important;
            background-size: cover !important;
            background-position: center center !important;
        }

        body:has(.rs-page) .rs-identity-card {
            width: 100% !important;
            margin: var(--rs-identity-overlap) auto 0 !important;
            padding: var(--rs-card-padding) !important;
            min-height: 0 !important;
            border-radius: var(--rs-card-radius) !important;
            display: grid !important;
            grid-template-columns: var(--rs-logo-column) minmax(0, 1fr) !important;
            grid-template-rows: auto auto auto auto !important;
            column-gap: 10px !important;
            row-gap: 6px !important;
            align-items: center !important;
            box-sizing: border-box !important;
        }

        body:has(.rs-page) .rs-logo-box {
            grid-column: 1 !important;
            grid-row: 1 !important;
            width: var(--rs-logo-size) !important;
            height: var(--rs-logo-size) !important;
            border-radius: 12px !important;
            margin: 0 !important;
            align-self: center !important;
        }

        body:has(.rs-page) .rs-identity-main {
            display: contents !important;
        }

        body:has(.rs-page) .rs-identity-card h1 {
            grid-column: 2 !important;
            grid-row: 1 !important;
            align-self: center !important;
            margin: 0 !important;
            font-size: clamp(1.45rem, 7vw, 1.9rem) !important;
            line-height: .98 !important;
            text-align: left !important;
        }

        body:has(.rs-page) .rs-identity-card p {
            grid-column: 1 / -1 !important;
            grid-row: 2 !important;
            margin: 1px 0 0 !important;
            font-size: .8rem !important;
            line-height: 1.38 !important;
            text-align: left !important;
            display: -webkit-box !important;
            -webkit-line-clamp: 3 !important;
            -webkit-box-orient: vertical !important;
            overflow: hidden !important;
        }

        body:has(.rs-page) .rs-badges {
            grid-column: 1 / -1 !important;
            grid-row: 3 !important;
            margin: 1px 0 0 !important;
            justify-content: flex-start !important;
            gap: 5px !important;
        }

        body:has(.rs-page) .rs-meta-line {
            grid-column: 1 / -1 !important;
            grid-row: 4 !important;
            margin: 0 !important;
            justify-content: flex-start !important;
            gap: 5px !important;
        }

            body:has(.rs-page) .rs-badges span,
            body:has(.rs-page) .rs-meta-line span {
                min-height: 22px !important;
                padding: 0 7px !important;
                font-size: .62rem !important;
                line-height: 1 !important;
            }

        body:has(.rs-page) .rs-mobile-action-bar,
        body:has(.rs-page) .rs-home-layout,
        body:has(.rs-page) .rs-info-cluster,
        body:has(.rs-page) .rs-info-cards,
        body:has(.rs-page) .rs-section,
        body:has(.rs-page) .rs-cart-tab-section,
        body:has(.rs-page) .rs-menu-tab-section,
        body:has(.rs-page) .rs-publications-section,
        body:has(.rs-page) .rs-orders-tab-section,
        body:has(.rs-page) .rs-order-tracking-tab-section {
            width: 100% !important;
            max-width: none !important;
            margin-left: 0 !important;
            margin-right: 0 !important;
            box-sizing: border-box !important;
        }

        body:has(.rs-page) .rs-home-layout,
        body:has(.rs-page) .rs-info-cluster,
        body:has(.rs-page) .rs-info-cards,
        body:has(.rs-page) .rs-menu-list,
        body:has(.rs-page) .rs-publication-grid,
        body:has(.rs-page) .rs-orders-list {
            gap: var(--rs-space-between-cards) !important;
            margin-bottom: var(--rs-space-between-cards) !important;
        }

        body:has(.rs-page) .rs-panel,
        body:has(.rs-page) .rs-info-panel,
        body:has(.rs-page) .rs-info-card,
        body:has(.rs-page) .rs-empty-panel,
        body:has(.rs-page) .rs-state-card {
            padding: var(--rs-card-padding) !important;
            border-radius: var(--rs-card-radius) !important;
        }

        /* REAL bottom spacing so last card buttons are visible */
        body:has(.rs-page) .rs-shell::after {
            content: "";
            display: block;
            height: var(--rs-space-bottom);
        }
}


/* =========================================================
   ChapResto - Nice Blazor Reconnect Modal
   Put this at the VERY END of the last loaded CSS file.
   ========================================================= */

#components-reconnect-modal {
    position: fixed !important;
    inset: auto 14px calc(86px + env(safe-area-inset-bottom)) 14px !important;
    z-index: 2147483647 !important;
    width: auto !important;
    max-width: 420px !important;
    min-height: 0 !important;
    margin: 0 auto !important;
    padding: 14px 16px !important;
    border-radius: 20px !important;
    background: rgba(255, 255, 255, .86) !important;
    border: 1px solid rgba(60, 42, 25, .10) !important;
    box-shadow: 0 18px 42px rgba(40, 28, 18, .18) !important;
    backdrop-filter: blur(18px) !important;
    -webkit-backdrop-filter: blur(18px) !important;
    color: #241e1a !important;
    text-align: center !important;
    font-size: .88rem !important;
    font-weight: 850 !important;
    line-height: 1.35 !important;
}

    /* Hide the big default white box feeling */
    #components-reconnect-modal.components-reconnect-show,
    #components-reconnect-modal.components-reconnect-retrying,
    #components-reconnect-modal.components-reconnect-failed,
    #components-reconnect-modal.components-reconnect-paused {
        display: grid !important;
        place-items: center !important;
        gap: 8px !important;
    }

    /* Hide when connection is restored */
    #components-reconnect-modal.components-reconnect-hide {
        display: none !important;
    }

    /* Make default spinner smaller */
    #components-reconnect-modal .components-reconnect-spinner,
    #components-reconnect-modal .reconnect-spinner,
    #components-reconnect-modal div[role="progressbar"] {
        width: 28px !important;
        height: 28px !important;
        margin: 0 auto 6px !important;
    }

    /* Reduce any text inside */
    #components-reconnect-modal h5,
    #components-reconnect-modal h4,
    #components-reconnect-modal h3,
    #components-reconnect-modal p,
    #components-reconnect-modal div {
        margin: 0 !important;
        font-size: .88rem !important;
        line-height: 1.35 !important;
    }

/* Mobile: small floating message above bottom menu */
@media (max-width: 640px) {
    #components-reconnect-modal {
        left: 12px !important;
        right: 12px !important;
        bottom: calc(82px + env(safe-area-inset-bottom)) !important;
        max-width: none !important;
        padding: 12px 14px !important;
        border-radius: 18px !important;
        font-size: .82rem !important;
    }
}

/*
 This is the Blazor Server / InteractiveServer reconnect modal.
 It appears when the SignalR connection is lost.

 You can adjust only this line if you want it higher or lower:

bottom: calc(82px + env(safe-area-inset-bottom)) !important;

Example:

bottom: calc(110px + env(safe-area-inset-bottom)) !important;
*/