:root {
    --bg: #f6f8f7;
    --surface: #ffffff;
    --ink: #101828;
    --muted: #667085;
    --line: #e4e7ec;
    --primary: #0f766e;
    --primary-dark: #0b5f59;
    --accent: #f59e0b;
    --danger: #b42318;
    --success: #027a48;
    --warning: #b54708;
    --shadow: 0 18px 50px rgba(16, 24, 40, .08);
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

/* v329 theme 2 desktop clean composition */
@media (min-width: 920px) {
    html body.public-body.menu-theme-noir-catalog,
    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog,
    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog .menu-main-flow {
        background:
            radial-gradient(circle at 17% 7%, rgba(255,255,255,.16), transparent 18rem),
            radial-gradient(circle at 88% 18%, rgba(91,147,133,.30), transparent 22rem),
            linear-gradient(135deg, rgba(18, 28, 25, .94), rgba(31, 42, 38, .96)),
            var(--cover-image),
            #202827 !important;
        background-attachment: fixed !important;
        background-position: center !important;
        background-size: cover !important;
    }

    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog {
        color: #17201d !important;
        min-height: 100vh !important;
        overflow-x: hidden !important;
    }

    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog .menu-main-flow,
    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog.is-noir-deep-link .menu-main-flow,
    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog:has(.menu-category:target) .menu-main-flow,
    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog:has(.menu-product:target) .menu-main-flow {
        display: block !important;
        margin: 0 !important;
        max-width: none !important;
        min-height: 100vh !important;
        padding: 32px 0 118px !important;
        width: 100% !important;
    }

    html body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog > .menu-main-flow > section.menu-toolbar,
    html body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog.noir-toolbar-fixed > .menu-main-flow > section.menu-toolbar,
    html body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog.is-noir-deep-link > .menu-main-flow > section.menu-toolbar,
    html.has-menu-deep-link body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog > .menu-main-flow > section.menu-toolbar,
    html.is-menu-deep-link-booting body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog > .menu-main-flow > section.menu-toolbar {
        background: linear-gradient(180deg, #609789 0 70px, #fafafa 70px 100%) !important;
        border: 0 !important;
        border-radius: 26px 26px 0 0 !important;
        box-shadow: 0 24px 60px rgba(0,0,0,.22) !important;
        box-sizing: border-box !important;
        display: grid !important;
        gap: 0 !important;
        height: 126px !important;
        left: auto !important;
        margin: 0 auto !important;
        max-width: 760px !important;
        overflow: hidden !important;
        padding: 70px 16px 0 !important;
        position: sticky !important;
        right: auto !important;
        top: 0 !important;
        transform: none !important;
        width: min(760px, calc(100vw - 48px)) !important;
        z-index: 3000 !important;
    }

    html.has-menu-deep-link body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog > .menu-main-flow > section.menu-toolbar,
    html body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog.noir-toolbar-fixed > .menu-main-flow > section.menu-toolbar,
    html body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog.is-noir-deep-link > .menu-main-flow > section.menu-toolbar {
        left: 50% !important;
        margin: 0 !important;
        position: fixed !important;
        transform: translateX(-50%) !important;
    }

    html body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog > .menu-main-flow > section.menu-toolbar::before {
        background:
            var(--theme2-logo-image) center / auto 54px no-repeat,
            linear-gradient(180deg, rgba(255,255,255,.12), rgba(255,255,255,0)) !important;
        content: "" !important;
        display: block !important;
        height: 70px !important;
        left: 0 !important;
        pointer-events: none !important;
        position: absolute !important;
        top: 0 !important;
        width: 100% !important;
    }

    html body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog > .menu-main-flow > section.menu-toolbar::after {
        align-items: center !important;
        background: rgba(255,255,255,.18) !important;
        border-radius: 999px !important;
        color: #fff !important;
        content: "‹" !important;
        display: flex !important;
        font-size: 34px !important;
        font-weight: 500 !important;
        height: 42px !important;
        justify-content: center !important;
        line-height: 1 !important;
        pointer-events: none !important;
        position: absolute !important;
        right: 24px !important;
        top: 14px !important;
        width: 42px !important;
    }

    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog .menu-search {
        display: none !important;
    }

    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog .category-tabs,
    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog.nav-sticky_pills .category-tabs,
    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog.noir-toolbar-fixed .category-tabs,
    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog.is-noir-deep-link .category-tabs,
    html.has-menu-deep-link body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog .category-tabs {
        align-items: center !important;
        background: #fafafa !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        display: flex !important;
        gap: 6px !important;
        height: 56px !important;
        margin: 0 !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        padding: 8px 0 !important;
        scrollbar-width: none !important;
        width: 100% !important;
    }

    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog .category-tabs::-webkit-scrollbar {
        display: none !important;
    }

    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog .category-tabs a,
    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog .category-tabs a.with-image {
        align-items: center !important;
        background: #eef1f0 !important;
        border: 0 !important;
        border-radius: 10px !important;
        color: #2d3532 !important;
        display: inline-flex !important;
        flex: 0 0 auto !important;
        gap: 8px !important;
        height: 40px !important;
        min-height: 40px !important;
        min-width: max-content !important;
        padding: 0 14px !important;
        white-space: nowrap !important;
        width: auto !important;
    }

    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog .category-tabs a:first-child,
    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog .category-tabs a.with-image:first-child {
        background: #609789 !important;
        color: #fff !important;
    }

    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog .category-tabs a img,
    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog .category-tabs a.with-image img {
        border-radius: 8px !important;
        height: 28px !important;
        object-fit: cover !important;
        width: 28px !important;
    }

    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog .category-tabs a span,
    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog .category-tabs a.with-image span {
        font-size: 13px !important;
        font-weight: 850 !important;
        letter-spacing: 0 !important;
    }

    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog .menu-content,
    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog.noir-toolbar-fixed .menu-content,
    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog.is-noir-deep-link .menu-content,
    html.has-menu-deep-link body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog .menu-content,
    html.is-menu-deep-link-booting body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog .menu-content {
        background: #fafafa !important;
        border: 0 !important;
        border-radius: 0 !important;
        box-shadow: 0 30px 70px rgba(0,0,0,.20) !important;
        box-sizing: border-box !important;
        color: #17201d !important;
        left: auto !important;
        margin: 0 auto !important;
        max-width: 760px !important;
        min-height: calc(100vh - 158px) !important;
        padding: 0 16px 116px !important;
        position: relative !important;
        width: min(760px, calc(100vw - 48px)) !important;
    }

    html.has-menu-deep-link body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog .menu-content,
    html.is-menu-deep-link-booting body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog .menu-content,
    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog.noir-toolbar-fixed .menu-content,
    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog.is-noir-deep-link .menu-content {
        padding-top: 126px !important;
    }

    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog .menu-category {
        background: transparent !important;
        border: 0 !important;
        margin: 0 0 34px !important;
        padding: 0 !important;
        scroll-margin-top: 132px !important;
    }

    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog .menu-category h2 {
        align-items: flex-end !important;
        background:
            linear-gradient(180deg, rgba(0,0,0,.10), rgba(0,0,0,.58)),
            var(--category-hero-image),
            #22312d !important;
        background-position: center !important;
        background-size: cover !important;
        border-radius: 0 !important;
        color: #fff !important;
        display: flex !important;
        font-size: 32px !important;
        font-weight: 950 !important;
        height: 220px !important;
        line-height: 1.05 !important;
        margin: 0 -36px -28px !important;
        min-height: 220px !important;
        padding: 84px 28px 42px 44px !important;
        position: relative !important;
        text-align: left !important;
        text-shadow: 0 12px 28px rgba(0,0,0,.55) !important;
        width: calc(100% + 72px) !important;
        z-index: 1 !important;
    }

    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog .menu-category h2::before {
        display: none !important;
    }

    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog .product-grid-public {
        background: #fff !important;
        border-radius: 18px 18px 0 0 !important;
        box-shadow: 0 -12px 34px rgba(0,0,0,.10) !important;
        display: grid !important;
        gap: 0 !important;
        grid-template-columns: 1fr !important;
        margin: 0 !important;
        overflow: hidden !important;
        padding: 0 !important;
        position: relative !important;
        z-index: 2 !important;
    }

    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog .menu-product,
    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog.noir-toolbar-fixed .menu-product,
    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog.is-noir-deep-link .menu-product {
        align-items: center !important;
        background: #fff !important;
        border: 0 !important;
        border-bottom: 1px solid rgba(23,32,29,.08) !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        display: grid !important;
        gap: 16px !important;
        grid-template-columns: 94px minmax(0, 1fr) auto !important;
        margin: 0 !important;
        min-height: 132px !important;
        overflow: visible !important;
        padding: 17px 18px !important;
        position: relative !important;
    }

    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog .menu-product .product-media,
    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog.noir-toolbar-fixed .menu-product .product-media,
    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog.is-noir-deep-link .menu-product .product-media {
        align-self: center !important;
        border-radius: 12px !important;
        grid-column: 1 !important;
        grid-row: 1 !important;
        height: 94px !important;
        margin: 0 !important;
        overflow: hidden !important;
        width: 94px !important;
    }

    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog .menu-product .product-media img {
        height: 100% !important;
        object-fit: cover !important;
        width: 100% !important;
    }

    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog .menu-product .product-info,
    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog.noir-toolbar-fixed .menu-product .product-info,
    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog.is-noir-deep-link .menu-product .product-info {
        align-self: center !important;
        display: grid !important;
        gap: 7px !important;
        grid-column: 2 !important;
        grid-row: 1 !important;
        min-width: 0 !important;
        padding: 0 !important;
        width: 100% !important;
    }

    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog .menu-product .product-title-row,
    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog.noir-toolbar-fixed .menu-product .product-title-row,
    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog.is-noir-deep-link .menu-product .product-title-row {
        display: block !important;
        min-width: 0 !important;
        width: 100% !important;
    }

    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog .menu-product .product-title-row h3,
    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog.noir-toolbar-fixed .menu-product .product-title-row h3,
    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog.is-noir-deep-link .menu-product .product-title-row h3 {
        color: #141a18 !important;
        display: -webkit-box !important;
        font-size: 18px !important;
        font-weight: 950 !important;
        -webkit-line-clamp: 2 !important;
        line-height: 1.14 !important;
        margin: 0 !important;
        overflow: hidden !important;
        text-align: left !important;
        -webkit-box-orient: vertical !important;
    }

    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog .menu-product .product-description-short,
    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog .menu-product .product-description-trigger,
    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog.noir-toolbar-fixed .menu-product .product-description-short,
    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog.noir-toolbar-fixed .menu-product .product-description-trigger,
    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog.is-noir-deep-link .menu-product .product-description-short,
    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog.is-noir-deep-link .menu-product .product-description-trigger {
        color: #6b7470 !important;
        display: -webkit-box !important;
        font-size: 13px !important;
        font-style: normal !important;
        font-weight: 600 !important;
        -webkit-line-clamp: 1 !important;
        line-height: 1.35 !important;
        margin: 0 !important;
        overflow: hidden !important;
        padding: 0 !important;
        text-align: left !important;
        -webkit-box-orient: vertical !important;
    }

    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog .menu-product .price-stack,
    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog.noir-toolbar-fixed .menu-product .price-stack,
    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog.is-noir-deep-link .menu-product .price-stack {
        align-items: center !important;
        display: flex !important;
        gap: 8px !important;
        grid-column: 3 !important;
        grid-row: 1 !important;
        justify-content: flex-end !important;
        margin: 0 !important;
        min-width: 96px !important;
        position: static !important;
        right: auto !important;
        top: auto !important;
    }

    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog .menu-product .price-stack strong {
        color: #17201d !important;
        font-size: 18px !important;
        font-weight: 950 !important;
        white-space: nowrap !important;
    }

    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog .menu-product .product-action-row,
    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog.noir-toolbar-fixed .menu-product .product-action-row,
    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog.is-noir-deep-link .menu-product .product-action-row {
        align-self: center !important;
        display: flex !important;
        grid-column: 3 !important;
        grid-row: 1 !important;
        justify-content: flex-end !important;
        margin: 54px 0 0 !important;
        min-width: 96px !important;
        position: static !important;
        right: auto !important;
        top: auto !important;
        transform: none !important;
    }

    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog .menu-product .menu-cart-add {
        background: #fff !important;
        border: 1px solid rgba(23,32,29,.14) !important;
        border-radius: 9px !important;
        box-shadow: 0 4px 12px rgba(0,0,0,.08) !important;
        color: #2b302e !important;
        height: 38px !important;
        min-height: 38px !important;
        min-width: 78px !important;
        padding: 0 16px !important;
    }

    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog .category-showcase {
        display: none !important;
    }

    html body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog .mobile-actions {
        background: rgba(250,250,250,.96) !important;
        border-radius: 0 0 26px 26px !important;
        bottom: 18px !important;
        box-shadow: 0 -16px 45px rgba(0,0,0,.18) !important;
        height: 58px !important;
        left: 50% !important;
        max-width: 760px !important;
        right: auto !important;
        transform: translateX(-50%) !important;
        width: min(760px, calc(100vw - 48px)) !important;
        z-index: 3200 !important;
    }

    html body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog .mobile-dock-edge {
        background: transparent !important;
        border-radius: 0 !important;
        color: #17201d !important;
        height: 58px !important;
        width: 74px !important;
    }
}

@media (min-width: 1181px) {
    html body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog > .menu-main-flow > section.menu-hero,
    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog.has-cover > .menu-main-flow > section.menu-hero,
    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog.is-noir-deep-link > .menu-main-flow > section.menu-hero,
    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog:has(.menu-category:target) > .menu-main-flow > section.menu-hero,
    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog:has(.menu-product:target) > .menu-main-flow > section.menu-hero {
        background: rgba(255,255,255,.08) !important;
        border: 1px solid rgba(255,255,255,.14) !important;
        border-radius: 22px !important;
        box-shadow: 0 30px 70px rgba(0,0,0,.28) !important;
        display: block !important;
        height: 529px !important;
        left: max(24px, calc(50% - 688px)) !important;
        margin: 0 !important;
        max-width: none !important;
        min-height: 529px !important;
        overflow: hidden !important;
        padding: 0 !important;
        position: fixed !important;
        top: 225px !important;
        width: 300px !important;
        z-index: 1 !important;
    }

    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog .menu-hero-content,
    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog .menu-hero-content.menu-cover-layout,
    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog.nav-sticky_pills .menu-hero-content.menu-cover-layout,
    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog.nav-category_grid .menu-hero-content.menu-cover-layout,
    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog.nav-minimal_tabs .menu-hero-content.menu-cover-layout {
        align-content: start !important;
        background: linear-gradient(180deg, rgba(98,145,134,.78), rgba(16,36,32,.92)) !important;
        border: 0 !important;
        border-radius: 22px !important;
        box-shadow: none !important;
        display: grid !important;
        gap: 22px !important;
        height: 100% !important;
        justify-items: start !important;
        min-height: 0 !important;
        padding: 24px 22px !important;
        text-align: left !important;
        width: 100% !important;
    }

    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog .menu-cover-brand,
    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog .menu-hero .menu-cover-brand {
        align-items: start !important;
        display: grid !important;
        gap: 24px !important;
        justify-items: start !important;
        margin: 0 !important;
        max-width: none !important;
        text-align: left !important;
        width: 100% !important;
    }

    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog .menu-cover-brand .menu-logo,
    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog .menu-hero .menu-cover-brand .menu-logo,
    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog .menu-logo {
        background: rgba(255,255,255,.94) !important;
        border-radius: 14px !important;
        box-shadow: 0 18px 42px rgba(0,0,0,.20) !important;
        height: 92px !important;
        margin: 0 !important;
        max-width: none !important;
        object-fit: contain !important;
        padding: 14px !important;
        width: 254px !important;
    }

    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog .menu-cover-business,
    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog .menu-hero .menu-cover-business,
    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog .theme2-title-row,
    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog .menu-hero .theme2-title-row {
        align-items: start !important;
        display: grid !important;
        gap: 8px !important;
        justify-items: start !important;
        margin: 0 !important;
        max-width: 230px !important;
        text-align: left !important;
        width: 100% !important;
    }

    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog .menu-cover-business h1,
    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog .menu-hero .menu-cover-business h1 {
        color: #fff !important;
        font-size: 26px !important;
        font-weight: 950 !important;
        line-height: 1.06 !important;
        margin: 0 !important;
        max-width: 230px !important;
        text-align: left !important;
        text-shadow: 0 12px 28px rgba(0,0,0,.32) !important;
    }

    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog .menu-cover-subtitle,
    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog .menu-hero .menu-cover-subtitle {
        color: rgba(255,255,255,.82) !important;
        font-size: 14px !important;
        font-style: normal !important;
        font-weight: 800 !important;
        line-height: 1.35 !important;
        max-width: 230px !important;
        text-align: left !important;
    }

    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog .menu-cover-hours,
    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog .menu-cover-actions,
    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog .promenu-social-row,
    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog .locale-switcher {
        max-width: 254px !important;
    }
}

@media (min-width: 920px) and (max-width: 1180px) {
    html body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog > .menu-main-flow > section.menu-hero,
    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog.has-cover > .menu-main-flow > section.menu-hero {
        display: none !important;
    }
}

/* v332 theme 2 desktop final spacing correction */
@media (min-width: 920px) {
    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog .menu-main-flow,
    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog.is-noir-deep-link .menu-main-flow,
    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog:has(.menu-category:target) .menu-main-flow,
    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog:has(.menu-product:target) .menu-main-flow {
        padding-top: 8px !important;
    }

    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog .menu-product,
    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog.noir-toolbar-fixed .menu-product,
    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog.is-noir-deep-link .menu-product {
        grid-template-columns: 94px minmax(0, 1fr) !important;
        min-height: 132px !important;
        padding: 17px 18px !important;
    }

    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog .menu-product .product-info,
    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog.noir-toolbar-fixed .menu-product .product-info,
    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog.is-noir-deep-link .menu-product .product-info {
        padding-right: 116px !important;
    }

    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog .menu-product .price-stack,
    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog.noir-toolbar-fixed .menu-product .price-stack,
    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog.is-noir-deep-link .menu-product .price-stack {
        position: absolute !important;
        right: 18px !important;
        top: 24px !important;
    }

    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog .menu-product .product-action-row,
    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog.noir-toolbar-fixed .menu-product .product-action-row,
    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog.is-noir-deep-link .menu-product .product-action-row {
        bottom: 18px !important;
        margin: 0 !important;
        position: absolute !important;
        right: 18px !important;
        top: auto !important;
    }
}

@media (min-width: 1181px) {
    html body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog > .menu-main-flow > section.menu-hero,
    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog.has-cover > .menu-main-flow > section.menu-hero {
        left: 32px !important;
    }
}

/* table heatmap analytics */
.customer-nav-icon.is-heat::before {
    border: 0;
    border-radius: 999px;
    background: radial-gradient(circle at 50% 50%, #ef4444 0 26%, #f59e0b 27% 48%, #38bdf8 49% 72%, transparent 73%);
    box-shadow: 0 0 0 1px rgba(15, 23, 42, .14) inset;
    height: 18px;
    width: 18px;
}

.customer-nav-icon.is-heat::after {
    display: none;
}

.heatmap-range-actions {
    flex-wrap: wrap;
}

.heatmap-summary-grid {
    margin-bottom: 18px;
}

.heatmap-hour-grid {
    display: grid;
    gap: 8px;
    grid-template-columns: repeat(12, minmax(0, 1fr));
}

.heatmap-hour-cell {
    align-items: center;
    background:
        linear-gradient(180deg, rgba(255,255,255,.78), rgba(255,255,255,.92)),
        linear-gradient(135deg, #38bdf8, #f59e0b var(--heat), #ef4444);
    border: 1px solid rgba(15, 23, 42, .08);
    border-radius: 8px;
    display: grid;
    min-height: 66px;
    padding: 10px;
}

.heatmap-hour-cell b {
    color: #111827;
    font-size: 12px;
    font-weight: 900;
}

.heatmap-hour-cell span {
    color: #475569;
    font-size: 18px;
    font-weight: 950;
}

.table-heatmap-board {
    display: grid;
    gap: 12px;
    grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
}

.table-heat-card {
    background:
        linear-gradient(180deg, rgba(255,255,255,.80), rgba(255,255,255,.94)),
        linear-gradient(135deg, #38bdf8, #22c55e 34%, #f59e0b 68%, #ef4444);
    border: 1px solid rgba(15, 23, 42, .08);
    border-radius: 10px;
    box-shadow: 0 10px 26px rgba(15, 23, 42, .06);
    display: grid;
    gap: 8px;
    min-height: 150px;
    padding: 14px;
    position: relative;
    overflow: hidden;
}

.table-heat-card::before {
    background: linear-gradient(90deg, rgba(56,189,248,.94), rgba(245,158,11,.94), rgba(239,68,68,.96));
    border-radius: 999px;
    bottom: 0;
    content: "";
    height: 5px;
    left: 0;
    position: absolute;
    width: max(10%, var(--heat));
}

.table-heat-card.is-live {
    border-color: rgba(34, 197, 94, .42);
    box-shadow: 0 14px 32px rgba(34, 197, 94, .12);
}

.table-heat-card div {
    display: grid;
    gap: 3px;
}

.table-heat-card strong {
    color: #111827;
    font-size: 16px;
    font-weight: 950;
}

.table-heat-card div span,
.table-heat-card small,
.table-heat-card em {
    color: #64748b;
    font-size: 12px;
    font-style: normal;
    font-weight: 700;
}

.table-heat-card b {
    color: #111827;
    font-size: 34px;
    font-weight: 950;
    line-height: 1;
}

.heatmap-detail-grid {
    display: grid;
    gap: 18px;
    grid-template-columns: minmax(0, 1.25fr) minmax(280px, .75fr);
}

.heatmap-ranking-list,
.heatmap-trend-list {
    display: grid;
    gap: 10px;
}

.heatmap-ranking-row {
    align-items: center;
    border: 1px solid rgba(15, 23, 42, .08);
    border-radius: 8px;
    display: grid;
    gap: 12px;
    grid-template-columns: 34px minmax(0, 1fr) auto;
    padding: 12px;
}

.heatmap-ranking-row > span {
    align-items: center;
    background: #eef2ff;
    border-radius: 999px;
    color: #3730a3;
    display: inline-flex;
    font-size: 13px;
    font-weight: 900;
    height: 28px;
    justify-content: center;
    width: 28px;
}

.heatmap-ranking-row strong,
.heatmap-trend-list strong {
    color: #111827;
    font-weight: 950;
}

.heatmap-ranking-row small,
.heatmap-trend-list small {
    color: #64748b;
    display: block;
    font-size: 12px;
    font-weight: 700;
    margin-top: 3px;
}

.heatmap-ranking-row b {
    color: #0f766e;
    font-size: 20px;
    font-weight: 950;
}

.heatmap-trend-list div {
    border: 1px solid rgba(15, 23, 42, .08);
    border-radius: 10px;
    padding: 16px;
}

.heatmap-trend-list span {
    color: #64748b;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
}

.heatmap-trend-list strong {
    display: block;
    font-size: 34px;
    line-height: 1;
    margin-top: 8px;
}

@media (max-width: 900px) {
    .heatmap-hour-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .heatmap-detail-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 560px) {
    .heatmap-hour-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .table-heatmap-board {
        grid-template-columns: 1fr;
    }

    .heatmap-ranking-row {
        grid-template-columns: 30px minmax(0, 1fr) auto;
        padding: 10px;
    }
}

/* table heatmap summary alignment */
.panel-body.customer-panel .heatmap-summary-grid {
    display: grid;
    gap: 14px;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.panel-body.customer-panel .heatmap-summary-grid .stat-card {
    min-width: 0;
}

@media (max-width: 900px) {
    .panel-body.customer-panel .heatmap-summary-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 520px) {
    .panel-body.customer-panel .heatmap-summary-grid {
        grid-template-columns: 1fr;
    }
}

/* v331 theme 2 desktop spacing correction */
@media (min-width: 920px) {
    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog .menu-main-flow,
    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog.is-noir-deep-link .menu-main-flow,
    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog:has(.menu-category:target) .menu-main-flow,
    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog:has(.menu-product:target) .menu-main-flow {
        padding-top: 8px !important;
    }

    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog .menu-product,
    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog.noir-toolbar-fixed .menu-product,
    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog.is-noir-deep-link .menu-product {
        grid-template-columns: 94px minmax(0, 1fr) !important;
        min-height: 132px !important;
        padding: 17px 18px !important;
    }

    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog .menu-product .product-info,
    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog.noir-toolbar-fixed .menu-product .product-info,
    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog.is-noir-deep-link .menu-product .product-info {
        padding-right: 116px !important;
    }

    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog .menu-product .price-stack,
    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog.noir-toolbar-fixed .menu-product .price-stack,
    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog.is-noir-deep-link .menu-product .price-stack {
        position: absolute !important;
        right: 18px !important;
        top: 24px !important;
    }

    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog .menu-product .product-action-row,
    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog.noir-toolbar-fixed .menu-product .product-action-row,
    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog.is-noir-deep-link .menu-product .product-action-row {
        bottom: 18px !important;
        margin: 0 !important;
        position: absolute !important;
        right: 18px !important;
        top: auto !important;
    }
}

@media (min-width: 1181px) {
    html body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog > .menu-main-flow > section.menu-hero,
    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog.has-cover > .menu-main-flow > section.menu-hero {
        left: 32px !important;
    }
}

/* v311 theme 2 click-state fix outside media-query for high-DPI mobile browsers */
body.public-body > main.qr-menu.theme-noir-catalog.noir-toolbar-fixed .menu-toolbar {
    left: 50% !important;
    max-width: min(760px, 100vw) !important;
    position: fixed !important;
    right: auto !important;
    top: 0 !important;
    transform: translateX(-50%) !important;
    width: 100% !important;
    z-index: 5000 !important;
}

body.public-body > main.qr-menu.theme-noir-catalog.noir-toolbar-fixed .menu-content {
    padding-top: calc(var(--noir-toolbar-height, 122px) + 8px) !important;
}

body.public-body > main.qr-menu.theme-noir-catalog.noir-toolbar-fixed .category-tabs,
body.public-body > main.qr-menu.theme-noir-catalog.is-noir-deep-link .category-tabs,
html.has-menu-deep-link body.public-body > main.qr-menu.theme-noir-catalog .category-tabs {
    align-items: center !important;
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    gap: 8px !important;
    grid-auto-columns: unset !important;
    grid-auto-flow: unset !important;
    grid-template-columns: none !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scrollbar-width: none !important;
    white-space: nowrap !important;
    width: 100% !important;
    -webkit-overflow-scrolling: touch !important;
}

body.public-body > main.qr-menu.theme-noir-catalog.noir-toolbar-fixed .category-tabs a,
body.public-body > main.qr-menu.theme-noir-catalog.noir-toolbar-fixed .category-tabs a.with-image,
body.public-body > main.qr-menu.theme-noir-catalog.is-noir-deep-link .category-tabs a,
body.public-body > main.qr-menu.theme-noir-catalog.is-noir-deep-link .category-tabs a.with-image,
html.has-menu-deep-link body.public-body > main.qr-menu.theme-noir-catalog .category-tabs a,
html.has-menu-deep-link body.public-body > main.qr-menu.theme-noir-catalog .category-tabs a.with-image {
    flex: 0 0 auto !important;
    max-width: 220px !important;
    min-width: max-content !important;
    width: auto !important;
}

/* v314 theme 2 final mobile product row override */
body.public-body > main.qr-menu.theme-noir-catalog.noir-toolbar-fixed .menu-product,
body.public-body > main.qr-menu.theme-noir-catalog.is-noir-deep-link .menu-product {
    align-items: center !important;
    display: grid !important;
    gap: 10px !important;
    grid-template-columns: 72px minmax(0, 1fr) 64px !important;
    min-height: 98px !important;
    padding: 10px 0 !important;
}

body.public-body > main.qr-menu.theme-noir-catalog.noir-toolbar-fixed .menu-product .product-media,
body.public-body > main.qr-menu.theme-noir-catalog.is-noir-deep-link .menu-product .product-media {
    align-self: center !important;
    grid-column: 1 !important;
    grid-row: 1 !important;
    height: 72px !important;
    width: 72px !important;
}

body.public-body > main.qr-menu.theme-noir-catalog.noir-toolbar-fixed .menu-product .product-info,
body.public-body > main.qr-menu.theme-noir-catalog.is-noir-deep-link .menu-product .product-info {
    align-self: center !important;
    display: grid !important;
    gap: 4px !important;
    grid-column: 2 !important;
    grid-row: 1 !important;
    min-width: 0 !important;
}

body.public-body > main.qr-menu.theme-noir-catalog.noir-toolbar-fixed .menu-product .product-title-row,
body.public-body > main.qr-menu.theme-noir-catalog.is-noir-deep-link .menu-product .product-title-row {
    display: grid !important;
    gap: 4px !important;
    grid-template-columns: 1fr !important;
}

body.public-body > main.qr-menu.theme-noir-catalog.noir-toolbar-fixed .menu-product .product-description-short,
body.public-body > main.qr-menu.theme-noir-catalog.noir-toolbar-fixed .menu-product .product-description-trigger,
body.public-body > main.qr-menu.theme-noir-catalog.is-noir-deep-link .menu-product .product-description-short,
body.public-body > main.qr-menu.theme-noir-catalog.is-noir-deep-link .menu-product .product-description-trigger {
    grid-column: 1 !important;
    margin: 0 !important;
    max-width: 100% !important;
}

body.public-body > main.qr-menu.theme-noir-catalog.noir-toolbar-fixed .menu-product .price-stack,
body.public-body > main.qr-menu.theme-noir-catalog.is-noir-deep-link .menu-product .price-stack {
    align-items: center !important;
    grid-column: 1 !important;
    margin: 2px 0 0 !important;
}

body.public-body > main.qr-menu.theme-noir-catalog.noir-toolbar-fixed .menu-product .product-action-row,
body.public-body > main.qr-menu.theme-noir-catalog.is-noir-deep-link .menu-product .product-action-row {
    align-self: center !important;
    display: flex !important;
    grid-column: 3 !important;
    grid-row: 1 !important;
    justify-content: flex-end !important;
    min-width: 64px !important;
    position: static !important;
    width: 64px !important;
}

/* v316 theme 2 final inner product info layout */
body.public-body > main.qr-menu.theme-noir-catalog.noir-toolbar-fixed .menu-product,
body.public-body > main.qr-menu.theme-noir-catalog.is-noir-deep-link .menu-product {
    grid-template-columns: 72px minmax(0, 1fr) !important;
}

body.public-body > main.qr-menu.theme-noir-catalog.noir-toolbar-fixed .menu-product .product-info,
body.public-body > main.qr-menu.theme-noir-catalog.is-noir-deep-link .menu-product .product-info {
    column-gap: 8px !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 64px !important;
    grid-template-rows: auto auto auto !important;
    width: 100% !important;
}

body.public-body > main.qr-menu.theme-noir-catalog.noir-toolbar-fixed .menu-product .product-title-row,
body.public-body > main.qr-menu.theme-noir-catalog.is-noir-deep-link .menu-product .product-title-row {
    grid-column: 1 !important;
    grid-row: 1 !important;
    min-width: 0 !important;
    width: 100% !important;
}

body.public-body > main.qr-menu.theme-noir-catalog.noir-toolbar-fixed .menu-product .product-title-row h3,
body.public-body > main.qr-menu.theme-noir-catalog.is-noir-deep-link .menu-product .product-title-row h3 {
    max-width: 100% !important;
    min-width: 0 !important;
    width: 100% !important;
}

body.public-body > main.qr-menu.theme-noir-catalog.noir-toolbar-fixed .menu-product .product-description-short,
body.public-body > main.qr-menu.theme-noir-catalog.noir-toolbar-fixed .menu-product .product-description-trigger,
body.public-body > main.qr-menu.theme-noir-catalog.is-noir-deep-link .menu-product .product-description-short,
body.public-body > main.qr-menu.theme-noir-catalog.is-noir-deep-link .menu-product .product-description-trigger {
    grid-column: 1 !important;
    grid-row: 2 !important;
    min-width: 0 !important;
}

body.public-body > main.qr-menu.theme-noir-catalog.noir-toolbar-fixed .menu-product .price-stack,
body.public-body > main.qr-menu.theme-noir-catalog.is-noir-deep-link .menu-product .price-stack {
    grid-column: 1 !important;
    grid-row: 3 !important;
}

body.public-body > main.qr-menu.theme-noir-catalog.noir-toolbar-fixed .menu-product .product-action-row,
body.public-body > main.qr-menu.theme-noir-catalog.is-noir-deep-link .menu-product .product-action-row {
    align-self: center !important;
    grid-column: 2 !important;
    grid-row: 1 / span 3 !important;
    justify-self: end !important;
}

/* v318 theme 2 single-color mobile cover and stable header */
body.public-body > main.qr-menu.theme-noir-catalog .hero-mode-toggle,
body.public-body > main.qr-menu.theme-noir-catalog .menu-mode-toggle.hero-mode-toggle,
body.public-body > main.qr-menu.theme-noir-catalog .theme2-title-row .menu-mode-toggle.hero-mode-toggle[data-mode-toggle],
body.public-body > main.qr-menu.theme-noir-catalog .menu-hero .menu-mode-toggle.hero-mode-toggle[data-mode-toggle] {
    display: none !important;
}

@media (max-width: 759px) {
    html,
    body.public-body,
    body.public-body > main.qr-menu.theme-noir-catalog {
        background: #f7f8f8 !important;
    }

    body.public-body > main.qr-menu.theme-noir-catalog .menu-main-flow,
    body.public-body > main.qr-menu.theme-noir-catalog.is-noir-deep-link .menu-main-flow,
    body.public-body > main.qr-menu.theme-noir-catalog:has(.menu-category:target) .menu-main-flow,
    html.has-menu-deep-link body.public-body > main.qr-menu.theme-noir-catalog .menu-main-flow {
        background: #f7f8f8 !important;
    }

    body.public-body > main.qr-menu.theme-noir-catalog .menu-hero,
    body.public-body > main.qr-menu.theme-noir-catalog.has-cover .menu-hero,
    body.public-body > main.qr-menu.theme-noir-catalog.is-noir-deep-link .menu-hero,
    body.public-body > main.qr-menu.theme-noir-catalog:has(.menu-category:target) .menu-hero,
    html.has-menu-deep-link body.public-body > main.qr-menu.theme-noir-catalog .menu-hero {
        background: #5f9386 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        display: block !important;
        margin: 0 !important;
        max-width: none !important;
        min-height: 76px !important;
        overflow: visible !important;
        padding: 0 !important;
        width: 100% !important;
    }

    body.public-body > main.qr-menu.theme-noir-catalog .menu-hero-content,
    body.public-body > main.qr-menu.theme-noir-catalog .menu-hero-content.menu-cover-layout,
    body.public-body > main.qr-menu.theme-noir-catalog.nav-sticky_pills .menu-hero-content.menu-cover-layout,
    body.public-body > main.qr-menu.theme-noir-catalog.nav-category_grid .menu-hero-content.menu-cover-layout,
    body.public-body > main.qr-menu.theme-noir-catalog.nav-minimal_tabs .menu-hero-content.menu-cover-layout {
        background: #5f9386 !important;
        border-radius: 0 !important;
        margin: 0 !important;
        max-width: none !important;
        min-height: 76px !important;
        padding: 10px 14px !important;
        width: 100% !important;
    }
}

body.public-body > main.qr-menu.theme-noir-catalog.noir-toolbar-fixed .menu-product .menu-cart-add,
body.public-body > main.qr-menu.theme-noir-catalog.is-noir-deep-link .menu-product .menu-cart-add {
    height: 34px !important;
    min-height: 34px !important;
    min-width: 58px !important;
    padding: 0 8px !important;
}

/* v313 theme 2 mobile product row fix after category click */
body.public-body > main.qr-menu.theme-noir-catalog.noir-toolbar-fixed .menu-product,
body.public-body > main.qr-menu.theme-noir-catalog.is-noir-deep-link .menu-product {
    align-items: center !important;
    display: grid !important;
    gap: 10px !important;
    grid-template-columns: 72px minmax(0, 1fr) 64px !important;
    min-height: 98px !important;
    padding: 10px 0 !important;
}

body.public-body > main.qr-menu.theme-noir-catalog.noir-toolbar-fixed .menu-product .product-media,
body.public-body > main.qr-menu.theme-noir-catalog.is-noir-deep-link .menu-product .product-media {
    align-self: center !important;
    grid-column: 1 !important;
    grid-row: 1 !important;
    height: 72px !important;
    width: 72px !important;
}

body.public-body > main.qr-menu.theme-noir-catalog.noir-toolbar-fixed .menu-product .product-info,
body.public-body > main.qr-menu.theme-noir-catalog.is-noir-deep-link .menu-product .product-info {
    align-self: center !important;
    display: grid !important;
    gap: 4px !important;
    grid-column: 2 !important;
    grid-row: 1 !important;
    min-width: 0 !important;
}

body.public-body > main.qr-menu.theme-noir-catalog.noir-toolbar-fixed .menu-product .product-title-row,
body.public-body > main.qr-menu.theme-noir-catalog.is-noir-deep-link .menu-product .product-title-row {
    display: grid !important;
    gap: 4px !important;
    grid-template-columns: 1fr !important;
}

body.public-body > main.qr-menu.theme-noir-catalog.noir-toolbar-fixed .menu-product .product-description-short,
body.public-body > main.qr-menu.theme-noir-catalog.noir-toolbar-fixed .menu-product .product-description-trigger,
body.public-body > main.qr-menu.theme-noir-catalog.is-noir-deep-link .menu-product .product-description-short,
body.public-body > main.qr-menu.theme-noir-catalog.is-noir-deep-link .menu-product .product-description-trigger {
    grid-column: 1 !important;
    margin: 0 !important;
    max-width: 100% !important;
}

body.public-body > main.qr-menu.theme-noir-catalog.noir-toolbar-fixed .menu-product .price-stack,
body.public-body > main.qr-menu.theme-noir-catalog.is-noir-deep-link .menu-product .price-stack {
    align-items: center !important;
    grid-column: 1 !important;
    margin: 2px 0 0 !important;
}

body.public-body > main.qr-menu.theme-noir-catalog.noir-toolbar-fixed .menu-product .product-action-row,
body.public-body > main.qr-menu.theme-noir-catalog.is-noir-deep-link .menu-product .product-action-row {
    align-self: center !important;
    display: flex !important;
    grid-column: 3 !important;
    grid-row: 1 !important;
    justify-content: flex-end !important;
    min-width: 64px !important;
    position: static !important;
    width: 64px !important;
}

body.public-body > main.qr-menu.theme-noir-catalog.noir-toolbar-fixed .menu-product .menu-cart-add,
body.public-body > main.qr-menu.theme-noir-catalog.is-noir-deep-link .menu-product .menu-cart-add {
    height: 34px !important;
    min-height: 34px !important;
    min-width: 58px !important;
    padding: 0 8px !important;
}

* {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body {
    margin: 0;
    background: var(--bg);
    color: var(--ink);
    overflow-x: hidden;
}

body.modal-open {
    overflow: hidden;
}

a {
    color: inherit;
    text-decoration: none;
}

button,
input,
select,
textarea {
    font: inherit;
}

input,
select,
textarea {
    width: 100%;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: #fff;
    color: var(--ink);
    padding: 11px 12px;
    outline: none;
}

input:focus,
select:focus,
textarea:focus {
    border-color: var(--primary);
    box-shadow: 0 0 0 4px rgba(15, 118, 110, .12);
}

textarea {
    resize: vertical;
}

label {
    display: grid;
    gap: 7px;
    color: #344054;
    font-size: 14px;
    font-weight: 650;
}

code {
    background: #eef4f3;
    border: 1px solid #d7e8e6;
    border-radius: 6px;
    color: #0b5f59;
    padding: 3px 7px;
}

.button,
button {
    align-items: center;
    border: 0;
    border-radius: 8px;
    cursor: pointer;
    display: inline-flex;
    font-weight: 750;
    gap: 8px;
    justify-content: center;
    min-height: 42px;
    padding: 10px 16px;
    transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
}

.button:hover,
button:hover {
    transform: translateY(-1px);
}

.button:disabled,
button:disabled,
input:disabled,
select:disabled,
textarea:disabled {
    cursor: not-allowed;
    opacity: .55;
}

.button.primary,
button.primary {
    background: var(--primary);
    box-shadow: 0 12px 26px rgba(15, 118, 110, .22);
    color: #fff;
}

.button.ghost,
button.ghost {
    background: #fff;
    border: 1px solid var(--line);
    color: #344054;
}

.button.danger,
button.danger {
    background: #fef3f2;
    border: 1px solid #fecdca;
    color: var(--danger);
}

.eyebrow {
    color: var(--primary);
    font-size: 12px;
    font-weight: 850;
    text-transform: uppercase;
}

.muted {
    color: var(--muted);
    font-size: 13px;
}

.alert {
    border-radius: 8px;
    font-weight: 700;
    margin-bottom: 18px;
    padding: 13px 15px;
}

.alert.success {
    background: #ecfdf3;
    color: var(--success);
}

.alert.danger {
    background: #fef3f2;
    color: var(--danger);
}

.alert.warning {
    background: #fffaeb;
    color: var(--warning);
}

.auth-shell,
.install-page {
    align-items: center;
    background:
        radial-gradient(circle at top left, rgba(15, 118, 110, .16), transparent 32%),
        linear-gradient(135deg, #f8fbfa, #eef4f3);
    display: grid;
    min-height: 100vh;
    padding: 24px;
}

.login-card {
    background: #fff;
    border: 1px solid rgba(255, 255, 255, .7);
    border-radius: 18px;
    box-shadow: var(--shadow);
    display: grid;
    grid-template-columns: 1.1fr .9fr;
    margin: auto;
    max-width: 920px;
    overflow: hidden;
    width: 100%;
}

.login-hero {
    background:
        linear-gradient(140deg, rgba(15, 118, 110, .95), rgba(13, 91, 85, .98)),
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220' viewBox='0 0 220 220'%3E%3Cg fill='none' stroke='rgba(255,255,255,.18)' stroke-width='12'%3E%3Cpath d='M36 36h60v60H36zM124 36h60v60h-60zM36 124h60v60H36zM130 132h18v18h-18zM162 132h22v52h-22zM124 166h22v18h-22z'/%3E%3C/g%3E%3C/svg%3E");
    color: #fff;
    min-height: 440px;
    padding: 56px;
}

.login-hero .eyebrow {
    color: #baf2eb;
}

.login-hero h1 {
    font-size: 48px;
    line-height: 1.05;
    margin: 24px 0 16px;
}

.login-hero p {
    color: rgba(255, 255, 255, .82);
    font-size: 18px;
    line-height: 1.6;
    max-width: 430px;
}

.login-form,
.install-card {
    padding: 44px;
}

.login-form h2,
.install-card h1 {
    margin-top: 0;
}

.form-stack,
.panel-form,
.form-panel {
    display: grid;
    gap: 18px;
}

.install-card {
    background: #fff;
    border-radius: 18px;
    box-shadow: var(--shadow);
    margin: auto;
    max-width: 560px;
    width: 100%;
}

.panel-body {
    display: grid;
    grid-template-columns: 280px minmax(0, 1fr);
    min-height: 100vh;
}

.sidebar {
    background: #0b1716;
    color: #fff;
    display: flex;
    flex-direction: column;
    gap: 22px;
    min-height: 100vh;
    padding: 22px;
    position: sticky;
    top: 0;
}

.brand {
    align-items: center;
    display: flex;
    gap: 12px;
    min-width: 0;
}

.brand strong,
.brand small {
    display: block;
}

.brand small {
    color: rgba(255, 255, 255, .58);
    margin-top: 2px;
}

.brand-mark {
    align-items: center;
    background: var(--primary);
    border-radius: 8px;
    color: #fff;
    display: inline-flex;
    flex: 0 0 42px;
    font-weight: 900;
    height: 42px;
    justify-content: center;
}

.nav-list {
    display: grid;
    gap: 6px;
}

.nav-list a {
    border-radius: 8px;
    color: rgba(255, 255, 255, .78);
    font-weight: 700;
    padding: 12px 13px;
}

.nav-list a:hover {
    background: rgba(255, 255, 255, .08);
    color: #fff;
}

.logout-form {
    align-items: center;
    border-top: 1px solid rgba(255, 255, 255, .1);
    display: flex;
    gap: 10px;
    justify-content: space-between;
    margin-top: auto;
    padding-top: 18px;
}

.logout-form span {
    color: rgba(255, 255, 255, .7);
    font-size: 13px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.logout-form button {
    background: rgba(255, 255, 255, .1);
    color: #fff;
    min-height: 36px;
    padding: 8px 11px;
}

.panel-main {
    min-width: 0;
    padding: 30px;
}

.page-header {
    align-items: center;
    display: flex;
    gap: 18px;
    justify-content: space-between;
    margin-bottom: 24px;
}

.header-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.page-header h1 {
    font-size: 34px;
    line-height: 1.12;
    margin: 6px 0 0;
}

.stat-grid {
    display: grid;
    gap: 16px;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin-bottom: 24px;
}

.stat-card {
    background: var(--surface);
    border: 1px solid var(--line);
    border-radius: 12px;
    box-shadow: 0 10px 24px rgba(16, 24, 40, .04);
    padding: 20px;
}

.stat-card span {
    color: var(--muted);
    display: block;
    font-size: 13px;
    font-weight: 750;
}

.stat-card strong {
    display: block;
    font-size: 32px;
    margin-top: 12px;
}

.stat-card.warning strong {
    color: var(--warning);
}

.panel-section,
.form-panel {
    background: var(--surface);
    border: 1px solid var(--line);
    border-radius: 12px;
    box-shadow: 0 10px 24px rgba(16, 24, 40, .04);
    padding: 20px;
}

.section-title {
    align-items: center;
    display: flex;
    gap: 12px;
    justify-content: space-between;
    margin-bottom: 15px;
}

.section-title h2,
.form-panel h2 {
    font-size: 18px;
    margin: 0;
}

.table-wrap {
    overflow-x: auto;
}

.wolvox-sync-head,
.wolvox-selected-summary {
    align-items: center;
    background: #f8faf9;
    border: 1px solid var(--line);
    border-radius: 12px;
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    justify-content: space-between;
    padding: 16px;
}

.wolvox-sync-head p,
.wolvox-selected-summary p {
    margin: 4px 0 0;
}

.wolvox-sync-head + .wolvox-sync-head {
    margin-top: 12px;
}

.wolvox-group-select {
    display: grid;
    gap: 16px;
    margin-top: 18px;
}

.section-title.compact {
    align-items: center;
    background: transparent;
    margin: 0;
}

.section-title.compact h3 {
    font-size: 18px;
    margin: 0 0 4px;
}

.wolvox-group-grid {
    display: grid;
    gap: 10px;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}

.wolvox-group-card {
    align-items: center;
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 12px;
    display: flex;
    gap: 12px;
    padding: 14px;
}

.wolvox-group-card input {
    flex: 0 0 auto;
    height: 18px;
    width: 18px;
}

.wolvox-group-card span {
    display: grid;
    gap: 3px;
    min-width: 0;
}

.wolvox-group-card small {
    color: var(--muted);
}

table {
    border-collapse: collapse;
    min-width: 760px;
    width: 100%;
}

th {
    color: var(--muted);
    font-size: 12px;
    text-align: left;
    text-transform: uppercase;
}

th,
td {
    border-bottom: 1px solid var(--line);
    padding: 14px 12px;
    vertical-align: middle;
}

td small {
    color: var(--muted);
    display: block;
    margin-top: 4px;
    max-width: 420px;
}

.status {
    border-radius: 999px;
    display: inline-flex;
    font-size: 12px;
    font-weight: 850;
    padding: 5px 9px;
}

.status.active {
    background: #ecfdf3;
    color: var(--success);
}

.status.trial,
.status.warning {
    background: #fffaeb;
    color: var(--warning);
}

.status.passive,
.status.expired {
    background: #fef3f2;
    color: var(--danger);
}

.panel-form.two-column {
    align-items: start;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.panel-form.single-column {
    max-width: 720px;
}

.compact-form {
    margin-bottom: 24px;
}

.field-grid {
    display: grid;
    gap: 14px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.check-grid {
    border: 1px solid var(--line);
    border-radius: 8px;
    display: grid;
    gap: 10px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin: 0;
    padding: 14px;
}

.check-grid legend {
    color: var(--muted);
    font-size: 13px;
    font-weight: 800;
    padding: 0 6px;
}

.check-grid label,
.inline-check {
    align-items: center;
    display: flex;
    flex-direction: row;
    font-weight: 700;
    gap: 9px;
}

.check-grid input,
.inline-check input {
    width: auto;
}

.translation-box {
    border: 1px solid var(--line);
    border-radius: 8px;
    display: grid;
    gap: 12px;
    padding: 14px;
}

.translation-box.is-hidden {
    display: none;
}

.translation-box-head {
    align-items: center;
    display: flex;
    gap: 10px;
    justify-content: space-between;
}

.translation-box-head .button {
    min-height: 34px;
    padding: 7px 10px;
}

.language-adder {
    align-items: end;
    border: 1px dashed #c7d7d5;
    border-radius: 10px;
    display: grid;
    gap: 10px;
    grid-template-columns: minmax(0, 1fr) auto;
    padding: 12px;
}

.recommendation-picker {
    border: 1px solid var(--line);
    border-radius: 10px;
    display: grid;
    gap: 12px;
    padding: 14px;
}

.picker-title {
    display: grid;
    gap: 4px;
}

.picker-title small {
    color: var(--muted);
}

.recommendation-grid {
    display: grid;
    gap: 10px;
    max-height: 300px;
    overflow: auto;
}

.recommendation-option {
    align-items: center;
    border: 1px solid var(--line);
    border-radius: 10px;
    cursor: pointer;
    display: grid;
    gap: 10px;
    grid-template-columns: auto 46px minmax(0, 1fr);
    padding: 9px;
}

.recommendation-option:has(input:checked) {
    background: #ecfdf3;
    border-color: rgba(2, 122, 72, .32);
}

.recommendation-option input {
    width: auto;
}

.recommendation-option img,
.mini-placeholder {
    border-radius: 8px;
    height: 46px;
    object-fit: cover;
    width: 46px;
}

.mini-placeholder {
    align-items: center;
    background: #eef4f3;
    color: var(--primary);
    display: flex;
    font-weight: 900;
    justify-content: center;
}

.recommendation-option span:last-child {
    display: grid;
    gap: 3px;
    min-width: 0;
}

.recommendation-option span:last-child strong {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.recommendation-option span:last-child small {
    color: var(--primary);
}

.product-cell {
    align-items: center;
    display: flex;
    gap: 12px;
}

.product-cell img {
    border-radius: 8px;
    height: 54px;
    object-fit: cover;
    width: 54px;
}

.table-actions {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.table-actions form {
    margin: 0;
}

.table-actions .button {
    min-height: 36px;
    padding: 7px 10px;
}

.form-image-preview {
    border-radius: 10px;
    height: 110px;
    object-fit: cover;
    width: 150px;
}

.existing-media {
    align-items: center;
    background: #f8faf9;
    border: 1px solid var(--line);
    border-radius: 10px;
    display: flex;
    gap: 12px;
    padding: 10px;
}

.existing-media img {
    border-radius: 8px;
    height: 58px;
    object-fit: cover;
    width: 58px;
}

.existing-media.wide img {
    height: 72px;
    width: 118px;
}

.existing-media strong {
    color: var(--success);
    font-size: 14px;
}

.theme-specific-notes {
    display: grid;
    gap: 10px;
}

.theme-specific-notes article {
    background: #f8faf9;
    border: 1px solid var(--line);
    border-radius: 10px;
    display: grid;
    gap: 5px;
    padding: 12px;
}

.theme-specific-notes article strong {
    color: #101828;
    font-size: 14px;
}

.theme-specific-notes article span {
    color: var(--muted);
    font-size: 13px;
    line-height: 1.45;
}

.table-thumb {
    border-radius: 8px;
    height: 48px;
    object-fit: cover;
    width: 48px;
}

.quick-actions {
    display: grid;
    gap: 16px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-bottom: 24px;
}

.quick-actions a {
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 12px;
    display: grid;
    gap: 8px;
    padding: 18px;
}

.quick-actions span,
.info-grid span {
    color: var(--muted);
    font-size: 13px;
}

.announcement-list {
    display: grid;
    gap: 12px;
    margin-bottom: 24px;
}

.announcement-item {
    background: #fffbeb;
    border: 1px solid #fde68a;
    border-radius: 8px;
    padding: 14px;
}

.announcement-item p {
    color: #92400e;
    margin: 6px 0 0;
}

.info-grid {
    display: grid;
    gap: 16px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.info-grid div {
    background: #f8faf9;
    border-radius: 8px;
    display: grid;
    gap: 8px;
    padding: 15px;
}

.theme-preview-grid {
    display: grid;
    gap: 16px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-top: 24px;
}

.theme-preview {
    border-radius: 12px;
    min-height: 160px;
    padding: 20px;
}

.theme-preview.modern-cafe {
    background: linear-gradient(135deg, #e9f7f5, #ffffff);
    border: 1px solid #c9ebe6;
}

.theme-preview.premium-restaurant {
    background: linear-gradient(135deg, #111827, #263238);
    color: #fff;
}

.theme-preview.fast-casual {
    background: linear-gradient(135deg, #fff7ed, #fef3c7);
    border: 1px solid #fed7aa;
}

.theme-preview.pro-showcase {
    background:
        linear-gradient(180deg, rgba(0, 0, 0, .34), rgba(0, 0, 0, .72)),
        radial-gradient(circle at 20% 16%, rgba(255, 255, 255, .28), transparent 20%),
        linear-gradient(135deg, #1f1a16, #5b4635);
    color: #fff;
    position: relative;
}

.theme-preview.pro-showcase::after {
    background: rgba(255, 255, 255, .2);
    border-radius: 16px;
    bottom: 18px;
    box-shadow: 82px 0 0 rgba(255, 255, 255, .12), 164px 0 0 rgba(255, 255, 255, .18);
    content: "";
    height: 48px;
    left: 20px;
    position: fixed;
    width: 54px;
}

.theme-preview.qrmenu-rest-demo {
    background:
        linear-gradient(180deg, rgba(39, 84, 139, .92), rgba(39, 84, 139, .2)),
        linear-gradient(135deg, #eff6ff, #ffffff);
    border: 1px solid #b9d3f0;
    color: #17365f;
    overflow: hidden;
    position: relative;
}

.theme-preview.qrmenu-rest-demo::after {
    background: rgba(255, 255, 255, .72);
    border-radius: 10px;
    bottom: 18px;
    box-shadow: 72px 0 0 rgba(255, 255, 255, .54), 0 -60px 0 rgba(255, 255, 255, .3), 72px -60px 0 rgba(255, 255, 255, .24);
    content: "";
    height: 42px;
    left: 20px;
    position: fixed;
    width: 58px;
}

.theme-preview.menum-classic {
    background:
        linear-gradient(180deg, rgba(16, 16, 16, .8), rgba(16, 16, 16, .16) 42%, transparent 43%),
        #fff;
    border: 1px solid #e5e7eb;
    color: #18181b;
    overflow: hidden;
    position: relative;
}

.theme-preview.menum-classic::after {
    background: #fff;
    border-radius: 18px;
    bottom: 18px;
    box-shadow: 0 0 0 1px #ececec, 0 18px 30px rgba(0, 0, 0, .12);
    content: "";
    height: 68px;
    left: 22px;
    position: absolute;
    width: calc(100% - 44px);
}

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

.theme-preview.signature-grid {
    background:
        linear-gradient(180deg, rgba(30, 37, 43, .78), rgba(30, 37, 43, .2)),
        linear-gradient(135deg, #f7f1e8, #ffffff);
    border: 1px solid #e2d6c5;
    color: #1f2933;
    overflow: hidden;
    position: relative;
}

.theme-preview.signature-grid::after {
    background: rgba(255, 255, 255, .74);
    border-radius: 14px;
    bottom: 18px;
    box-shadow: 82px 0 0 rgba(255, 255, 255, .56), 0 -58px 0 rgba(255, 255, 255, .3), 82px -58px 0 rgba(255, 255, 255, .22);
    content: "";
    height: 46px;
    left: 20px;
    position: absolute;
    width: 62px;
}

.theme-preview.bistro-list {
    background:
        linear-gradient(135deg, #ffffff, #f1f5f4);
    border: 1px solid #dbe4e1;
    color: #20312d;
    overflow: hidden;
    position: relative;
}

.theme-preview.bistro-list::after {
    background: #fff;
    border-radius: 14px;
    bottom: 20px;
    box-shadow: 0 -54px 0 #fff, 0 -108px 0 #fff, 0 0 0 1px #dfe7e4, 0 18px 34px rgba(32, 49, 45, .1);
    content: "";
    height: 42px;
    left: 20px;
    position: absolute;
    width: calc(100% - 40px);
}

.qr-page {
    align-items: start;
    display: grid;
    gap: 24px;
    grid-template-columns: 420px minmax(0, 1fr);
}

.qr-card-print {
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 18px;
    box-shadow: var(--shadow);
    display: grid;
    gap: 16px;
    justify-items: center;
    padding: 28px;
    text-align: center;
}

.qr-card-print img {
    border-radius: 16px;
    max-width: 100%;
}

.qr-brand {
    align-items: center;
    display: flex;
    gap: 10px;
}

.public-body {
    background: #fff;
}

.public-landing {
    min-height: 100vh;
}

.landing-hero {
    background:
        linear-gradient(135deg, rgba(11, 95, 89, .96), rgba(16, 24, 40, .92)),
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='260' height='260' viewBox='0 0 260 260'%3E%3Cg fill='none' stroke='rgba(255,255,255,.16)' stroke-width='14'%3E%3Cpath d='M36 36h74v74H36zM150 36h74v74h-74zM36 150h74v74H36zM150 150h26v26h-26zM198 150h26v74h-26zM150 200h26v24h-26z'/%3E%3C/g%3E%3C/svg%3E");
    color: #fff;
    padding: 86px 24px;
    text-align: center;
}

.landing-hero .eyebrow {
    color: #baf2eb;
}

.landing-hero h1 {
    font-size: 56px;
    margin: 16px 0 12px;
}

.landing-hero p {
    color: rgba(255, 255, 255, .82);
    font-size: 20px;
    margin: 0 auto 26px;
    max-width: 680px;
}

.landing-actions {
    display: flex;
    gap: 12px;
    justify-content: center;
}

.landing-features {
    display: grid;
    gap: 18px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin: -32px auto 60px;
    max-width: 1080px;
    padding: 0 24px;
}

.landing-features article {
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 14px;
    box-shadow: var(--shadow);
    display: grid;
    gap: 8px;
    padding: 24px;
}

.landing-features span {
    color: var(--muted);
}

.not-found {
    display: grid;
    gap: 16px;
    justify-items: start;
    margin: 90px auto;
    max-width: 560px;
    padding: 24px;
}

.not-found h1 {
    font-size: 42px;
    margin: 0;
}

.qr-menu {
    --menu-surface: #fff;
    background: #f8faf9;
    color: #111827;
    font-family: var(--menu-font), ui-sans-serif, system-ui, sans-serif;
    min-height: 100vh;
    overflow-x: hidden;
    width: 100%;
}

.menu-hero {
    background:
        linear-gradient(180deg, rgba(0, 0, 0, .35), rgba(0, 0, 0, .72)),
        linear-gradient(135deg, var(--primary), #111827);
    background-position: center;
    background-size: cover;
    color: #fff;
    min-height: 340px;
    padding: 24px;
    position: relative;
}

.menu-hero-content {
    display: grid;
    gap: 10px;
    max-width: 720px;
    padding-top: 78px;
}

.menu-hero h1 {
    font-size: 46px;
    line-height: 1.05;
    margin: 0;
}

.menu-hero p {
    color: rgba(255, 255, 255, .82);
    line-height: 1.5;
    margin: 0;
}

.menu-logo {
    border: 3px solid rgba(255, 255, 255, .72);
    border-radius: 18px;
    height: 76px;
    object-fit: cover;
    width: 76px;
}

.text-logo {
    align-items: center;
    background: var(--primary);
    display: inline-flex;
    font-size: 24px;
    font-weight: 900;
    justify-content: center;
}

.locale-switcher {
    display: flex;
    gap: 8px;
    position: absolute;
    right: 18px;
    top: 18px;
}

.locale-switcher a {
    background: rgba(255, 255, 255, .14);
    border: 1px solid rgba(255, 255, 255, .24);
    border-radius: 999px;
    color: #fff;
    font-size: 12px;
    font-weight: 850;
    padding: 8px 10px;
}

.locale-switcher a.active {
    background: #fff;
    color: var(--primary);
}

.menu-announcement {
    background: #fffbeb;
    border: 1px solid #fde68a;
    border-radius: 12px;
    display: grid;
    gap: 4px;
    margin: 16px auto 0;
    max-width: 1120px;
    padding: 14px 16px;
}

.menu-announcement span {
    color: #92400e;
}

.menu-toolbar {
    background: rgba(248, 250, 249, .92);
    border-bottom: 1px solid var(--line);
    display: grid;
    gap: 12px;
    padding: 16px 24px;
    position: sticky;
    top: 0;
    z-index: 10;
}

.menu-search input {
    border-radius: 999px;
    min-height: 48px;
}

.category-tabs {
    display: flex;
    gap: 10px;
    overflow-x: auto;
    padding-bottom: 4px;
}

.category-tabs a {
    align-items: center;
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 999px;
    color: #344054;
    display: inline-flex;
    flex: 0 0 auto;
    gap: 8px;
    font-weight: 800;
    padding: 10px 14px;
}

.category-tabs a.with-image {
    padding: 6px 12px 6px 6px;
}

.category-tabs img {
    border-radius: 999px;
    height: 34px;
    object-fit: cover;
    width: 34px;
}

.category-tabs a:hover {
    border-color: var(--primary);
    color: var(--primary);
}

.menu-content {
    margin: 0 auto;
    max-width: 1120px;
    padding: 26px 24px 70px;
}

.menu-category {
    scroll-margin-top: 132px;
}

.menu-category h2 {
    font-size: 28px;
    margin: 18px 0;
}

.product-grid-public {
    display: grid;
    gap: 16px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-auto-rows: 1fr;
}

.menu-product {
    background: var(--menu-surface);
    border: 1px solid var(--line);
    border-radius: 14px;
    box-shadow: 0 10px 26px rgba(16, 24, 40, .05);
    display: flex;
    flex-direction: column;
    min-height: 100%;
    overflow: hidden;
}

.product-media {
    aspect-ratio: 16 / 10;
    background:
        radial-gradient(circle at center, rgba(255, 255, 255, .92), rgba(255, 255, 255, .62) 34%, transparent 35%),
        linear-gradient(135deg, rgba(15, 118, 110, .13), rgba(245, 158, 11, .18));
    position: relative;
}

.product-media img,
.image-placeholder {
    display: block;
    height: 100%;
    object-fit: cover;
    width: 100%;
}

.logo-placeholder {
    align-items: center;
    display: flex;
    height: 100%;
    justify-content: center;
    padding: 26px;
    position: relative;
    width: 100%;
}

.logo-placeholder::before {
    background:
        linear-gradient(135deg, rgba(255, 255, 255, .82), rgba(255, 255, 255, .46)),
        radial-gradient(circle at 30% 20%, rgba(255, 255, 255, .9), transparent 30%);
    border: 1px solid rgba(255, 255, 255, .7);
    border-radius: 18px;
    box-shadow: 0 18px 44px rgba(16, 24, 40, .12);
    content: "";
    inset: 22px;
    position: absolute;
}

.logo-placeholder img {
    border-radius: 14px;
    filter: drop-shadow(0 10px 18px rgba(16, 24, 40, .16));
    height: auto;
    max-height: 74%;
    max-width: 74%;
    object-fit: contain;
    position: relative;
    width: auto;
}

.image-placeholder {
    align-items: center;
    color: var(--primary);
    display: flex;
    font-size: 58px;
    font-weight: 900;
    justify-content: center;
}

.sold-out-badge {
    background: rgba(180, 35, 24, .92);
    border-radius: 999px;
    color: #fff;
    font-size: 12px;
    font-weight: 900;
    padding: 8px 11px;
    position: absolute;
    right: 12px;
    top: 12px;
}

.product-info {
    display: grid;
    gap: 10px;
    grid-template-rows: auto auto auto auto 1fr;
    padding: 16px;
    flex: 1;
}

.product-title-row {
    align-items: start;
    display: flex;
    gap: 12px;
    justify-content: space-between;
}

.product-title-row h3 {
    font-size: 20px;
    line-height: 1.2;
    margin: 0;
}

.product-title-row strong {
    color: var(--primary);
    flex: 0 0 auto;
}

.price-stack {
    display: grid;
    flex: 0 0 auto;
    gap: 2px;
    justify-items: end;
}

.price-stack del {
    color: #98a2b3;
    font-size: 12px;
    font-weight: 800;
}

.product-info small {
    color: #5b6472;
    line-height: 1.45;
    margin: 0;
}

.product-description-trigger {
    background: transparent;
    border: 0;
    box-shadow: none;
    color: #5b6472;
    cursor: pointer;
    display: grid;
    font-weight: 500;
    gap: 4px;
    justify-content: stretch;
    line-height: 1.45;
    min-height: 0;
    padding: 0;
    text-align: left;
    transform: none;
}

.product-description-short {
    color: #5b6472;
    display: -webkit-box;
    line-clamp: 2;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    line-height: 1.45;
    margin: 0;
    overflow: hidden;
}

.product-description-trigger:hover {
    transform: none;
}

.product-description-trigger span {
    display: -webkit-box;
    line-clamp: 2;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.product-description-trigger small {
    color: var(--primary);
    font-size: 12px;
    font-weight: 850;
}

.pill-row {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
}

.pill-row span {
    background: #f2f4f7;
    border-radius: 999px;
    color: #344054;
    font-size: 12px;
    font-weight: 800;
    padding: 6px 9px;
}

.pill-row .allergen {
    background: #fff7ed;
    color: #9a3412;
}

.goes-with {
    border-top: 1px solid var(--line);
    display: grid;
    gap: 10px;
    margin-top: 4px;
    padding-top: 12px;
}

.goes-with > strong {
    color: #344054;
    font-size: 13px;
}

.goes-with > div {
    display: grid;
    gap: 8px;
}

.goes-with a {
    align-items: center;
    background: #f8fafc;
    border: 1px solid var(--line);
    border-radius: 10px;
    display: flex;
    gap: 9px;
    padding: 8px;
}

.goes-with img {
    border-radius: 8px;
    height: 42px;
    object-fit: cover;
    width: 42px;
}

.goes-with span {
    display: grid;
    font-size: 13px;
    font-weight: 850;
}

.goes-with small {
    color: var(--primary);
    font-weight: 850;
}

.menu-footer {
    align-items: center;
    background: #111827;
    color: #fff;
    display: flex;
    gap: 14px;
    justify-content: space-between;
    padding: 22px 24px;
}

.menu-footer div {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.menu-footer a {
    color: #d1fae5;
    font-weight: 800;
}

.wifi-chip {
    background: rgba(255, 255, 255, .12);
    border: 1px solid rgba(255, 255, 255, .16);
    border-radius: 999px;
    color: #fff;
    font-weight: 850;
    padding: 7px 10px;
}

.description-modal[hidden] {
    display: none;
}

.description-modal {
    align-items: center;
    display: grid;
    inset: 0;
    justify-items: center;
    padding: 20px;
    position: fixed;
    z-index: 100;
}

.description-backdrop {
    background: rgba(17, 24, 39, .58);
    inset: 0;
    position: absolute;
}

.description-dialog {
    background: #fff;
    border-radius: 16px;
    box-shadow: 0 28px 90px rgba(16, 24, 40, .28);
    max-height: min(76vh, 620px);
    max-width: 560px;
    overflow: auto;
    padding: 24px;
    position: relative;
    width: min(100%, 560px);
}

.description-dialog h2 {
    font-size: 24px;
    line-height: 1.2;
    margin: 0 42px 12px 0;
}

.description-dialog p {
    color: #475467;
    line-height: 1.65;
    margin: 0;
    white-space: pre-wrap;
}

.description-close {
    align-items: center;
    background: #f2f4f7;
    border-radius: 999px;
    color: #344054;
    display: inline-flex;
    font-size: 24px;
    height: 36px;
    justify-content: center;
    min-height: 36px;
    padding: 0;
    position: absolute;
    right: 14px;
    top: 14px;
    width: 36px;
}

.theme-premium-restaurant {
    background: #0f1413;
}

.theme-premium-restaurant .menu-toolbar {
    background: rgba(15, 20, 19, .94);
    border-color: rgba(255, 255, 255, .08);
}

.theme-premium-restaurant .category-tabs a,
.theme-premium-restaurant .menu-search input,
.theme-premium-restaurant .menu-product {
    background: #18211f;
    border-color: rgba(255, 255, 255, .1);
    color: #fff;
}

.theme-premium-restaurant .menu-category h2,
.theme-premium-restaurant .product-title-row h3 {
    color: #fff;
}

.theme-premium-restaurant .product-info p,
.theme-premium-restaurant .product-info small {
    color: rgba(255, 255, 255, .68);
}

.theme-fast-casual {
    background: #fffaf2;
}

.theme-fast-casual .menu-hero {
    background:
        linear-gradient(180deg, rgba(0, 0, 0, .18), rgba(0, 0, 0, .55)),
        linear-gradient(135deg, var(--accent), var(--primary));
}

.theme-fast-casual .menu-product {
    border: 2px solid rgba(245, 158, 11, .28);
}

.theme-fast-casual .menu-content {
    max-width: 980px;
}

.theme-fast-casual .menu-category {
    background: rgba(255, 255, 255, .68);
    border: 2px solid rgba(245, 158, 11, .18);
    border-radius: 22px;
    margin-bottom: 24px;
    padding: 18px;
}

.theme-fast-casual .product-grid-public {
    grid-template-columns: 1fr;
}

.theme-fast-casual .menu-product {
    display: grid;
    grid-template-columns: 190px minmax(0, 1fr);
    min-height: 170px;
}

.theme-fast-casual .product-media {
    aspect-ratio: auto;
    min-height: 100%;
}

.theme-fast-casual .product-info {
    align-content: center;
}

.filter-bar {
    align-items: end;
    background: #f8faf9;
    border: 1px solid var(--line);
    border-radius: 12px;
    display: grid;
    gap: 12px;
    grid-template-columns: minmax(240px, 1.5fr) minmax(180px, .8fr) auto;
    margin-bottom: 14px;
    padding: 14px;
}

.filter-actions {
    display: flex;
    gap: 8px;
}

.admin-filter-bar {
    grid-template-columns: minmax(260px, 1.4fr) minmax(150px, .7fr) minmax(150px, .7fr) auto;
}

.bulk-toolbar {
    align-items: center;
    background: #fff7ed;
    border: 1px solid #fed7aa;
    border-radius: 12px;
    color: #9a3412;
    display: flex;
    gap: 12px;
    justify-content: space-between;
    margin-bottom: 14px;
    padding: 12px 14px;
}

.bulk-toolbar span {
    font-size: 13px;
    font-weight: 800;
}

.table-check {
    height: 18px;
    width: 18px;
}

.filter-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 18px;
}

.filter-tabs a {
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 999px;
    color: #344054;
    font-size: 13px;
    font-weight: 850;
    padding: 9px 12px;
}

.filter-tabs a.active {
    background: var(--primary);
    border-color: var(--primary);
    color: #fff;
}

.comment-admin-list {
    display: grid;
    gap: 12px;
}

.comment-admin-card {
    align-items: start;
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 12px;
    display: grid;
    gap: 16px;
    grid-template-columns: minmax(0, 1fr) auto;
    padding: 16px;
}

.comment-admin-card h3 {
    font-size: 18px;
    margin: 10px 0 8px;
}

.comment-admin-card p {
    color: #475467;
    line-height: 1.55;
    margin: 0 0 10px;
}

.comment-admin-card small {
    color: var(--muted);
}

.comment-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: flex-end;
}

.comment-actions form,
.page-header form {
    margin: 0;
}

.empty-state {
    background: #f8faf9;
    border: 1px dashed #c7d7d5;
    border-radius: 12px;
    display: grid;
    gap: 6px;
    padding: 22px;
}

.empty-state span {
    color: var(--muted);
}

.public-flash {
    border-radius: 999px;
    box-shadow: 0 18px 46px rgba(16, 24, 40, .16);
    font-weight: 850;
    left: 50%;
    max-width: calc(100% - 24px);
    padding: 12px 16px;
    position: fixed;
    top: 14px;
    transform: translateX(-50%);
    z-index: 200;
}

.public-flash.success {
    background: #ecfdf3;
    color: var(--success);
}

.public-flash.danger {
    background: #fef3f2;
    color: var(--danger);
}

.pro-landing {
    background:
        linear-gradient(180deg, #f7fbfa 0%, #ffffff 46%, #f8faf9 100%);
    overflow: hidden;
}

.landing-stage {
    align-items: center;
    display: grid;
    gap: 48px;
    grid-template-columns: minmax(0, 1fr) minmax(360px, 520px);
    margin: 0 auto;
    max-width: 1180px;
    min-height: 680px;
    padding: 70px 24px;
}

.landing-copy h1 {
    font-size: clamp(40px, 6vw, 76px);
    line-height: .98;
    margin: 16px 0 18px;
    max-width: 760px;
}

.landing-copy p {
    color: #475467;
    font-size: 19px;
    line-height: 1.65;
    margin: 0 0 28px;
    max-width: 720px;
}

.landing-stats {
    align-items: center;
    display: grid;
    gap: 4px 12px;
    grid-template-columns: repeat(3, auto minmax(0, 1fr));
    margin-top: 28px;
    max-width: 620px;
}

.landing-stats strong {
    color: var(--primary);
    font-size: 34px;
}

.landing-stats span {
    color: #475467;
    font-size: 13px;
    font-weight: 850;
}

.landing-visual {
    min-height: 540px;
    position: relative;
}

.phone-preview {
    background: #0b1716;
    border: 10px solid #101828;
    border-radius: 34px;
    box-shadow: 0 34px 90px rgba(16, 24, 40, .26);
    color: #fff;
    display: grid;
    gap: 14px;
    padding: 54px 18px 18px;
    position: absolute;
    right: 22px;
    top: 18px;
    transform: rotate(4deg);
    width: 300px;
}

.phone-preview::before {
    background: linear-gradient(135deg, rgba(15, 118, 110, .92), rgba(245, 158, 11, .78));
    border-radius: 24px;
    content: "";
    height: 140px;
    left: 18px;
    position: absolute;
    right: 18px;
    top: 18px;
}

.phone-top {
    background: rgba(255, 255, 255, .72);
    border-radius: 999px;
    height: 5px;
    left: 50%;
    position: absolute;
    top: 26px;
    transform: translateX(-50%);
    width: 72px;
    z-index: 2;
}

.phone-preview section {
    background: rgba(255, 255, 255, .08);
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: 18px;
    display: grid;
    gap: 7px;
    padding: 15px;
    position: relative;
    z-index: 1;
}

.phone-preview section:first-of-type {
    margin-top: 80px;
}

.phone-preview span {
    color: rgba(255, 255, 255, .66);
    font-size: 12px;
    font-weight: 850;
    text-transform: uppercase;
}

.phone-preview h2,
.phone-preview p {
    margin: 0;
}

.phone-preview h2 {
    font-size: 22px;
}

.phone-preview p {
    color: rgba(255, 255, 255, .7);
    font-size: 13px;
    line-height: 1.45;
}

.phone-preview strong {
    color: #a7f3d0;
}

.qr-demo-card {
    animation: float-card 5s ease-in-out infinite;
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 24px;
    box-shadow: 0 28px 80px rgba(16, 24, 40, .18);
    display: grid;
    gap: 12px;
    justify-items: center;
    left: 8px;
    padding: 18px;
    position: absolute;
    top: 84px;
    width: 184px;
    z-index: 3;
}

.qr-demo-card > span {
    align-items: center;
    background: var(--primary);
    border-radius: 999px;
    color: #fff;
    display: inline-flex;
    font-size: 13px;
    font-weight: 950;
    height: 42px;
    justify-content: center;
    width: 42px;
}

.qr-demo-card strong {
    color: #344054;
    font-size: 13px;
}

.qr-pattern {
    display: grid;
    gap: 6px;
    grid-template-columns: repeat(3, 34px);
}

.qr-pattern i {
    background: #101828;
    border-radius: 8px;
    height: 34px;
}

.qr-pattern i:nth-child(2),
.qr-pattern i:nth-child(4),
.qr-pattern i:nth-child(9) {
    background: #0f766e;
}

.qr-pattern i:nth-child(5) {
    background: #f59e0b;
}

.scan-line {
    animation: scan-move 3.2s ease-in-out infinite;
    background: linear-gradient(90deg, transparent, rgba(15, 118, 110, .78), transparent);
    height: 2px;
    left: 0;
    position: absolute;
    right: 40px;
    top: 160px;
    z-index: 4;
}

.landing-feature-band {
    display: grid;
    gap: 14px;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin: 0 auto;
    max-width: 1180px;
    padding: 0 24px 72px;
}

.landing-feature-band article {
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 16px;
    box-shadow: 0 16px 44px rgba(16, 24, 40, .06);
    display: grid;
    gap: 9px;
    padding: 22px;
}

.landing-feature-band article span {
    color: var(--primary);
    font-weight: 950;
}

.landing-feature-band article strong {
    font-size: 18px;
}

.landing-feature-band article p {
    color: #667085;
    line-height: 1.55;
    margin: 0;
}

.landing-showcase {
    align-items: center;
    background: #0b1716;
    color: #fff;
    display: grid;
    gap: 34px;
    grid-template-columns: .85fr 1.15fr;
    padding: 70px max(24px, calc((100vw - 1180px) / 2));
}

.landing-showcase h2 {
    font-size: clamp(32px, 4vw, 54px);
    line-height: 1.05;
    margin: 12px 0;
}

.landing-showcase p {
    color: rgba(255, 255, 255, .7);
    line-height: 1.65;
    margin: 0;
}

.showcase-themes {
    display: grid;
    gap: 14px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.showcase-card {
    border-radius: 20px;
    display: grid;
    min-height: 250px;
    padding: 18px;
}

.showcase-card span {
    font-size: 12px;
    font-weight: 950;
    text-transform: uppercase;
}

.showcase-card strong {
    align-self: end;
    font-size: 20px;
    line-height: 1.2;
}

.showcase-card.cafe {
    background: linear-gradient(145deg, #ecfdf3, #fff7ed);
    color: #0b1716;
}

.showcase-card.premium {
    background: linear-gradient(145deg, #111827, #34403d);
    border: 1px solid rgba(255, 255, 255, .14);
}

.showcase-card.casual {
    background: linear-gradient(145deg, #f97316, #facc15);
    color: #111827;
}

.qr-menu.hero-center-logo .menu-hero {
    align-items: center;
    display: grid;
    justify-items: center;
    min-height: 420px;
    text-align: center;
}

.qr-menu.hero-center-logo .menu-hero-content {
    justify-items: center;
    max-width: 760px;
    padding-top: 18px;
}

.qr-menu.hero-center-logo .menu-logo {
    border-radius: 28px;
    height: 132px;
    width: 132px;
}

.qr-menu.hero-compact .menu-hero {
    min-height: 230px;
}

.qr-menu.hero-compact .menu-hero-content {
    padding-top: 42px;
}

.qr-menu.hero-compact .menu-logo {
    height: 56px;
    width: 56px;
}

.qr-menu.cards-glass .menu-product {
    background: rgba(255, 255, 255, .78);
    backdrop-filter: blur(16px);
    border-color: rgba(255, 255, 255, .62);
    box-shadow: 0 18px 48px rgba(16, 24, 40, .1);
}

.qr-menu.cards-line .menu-product {
    border: 2px solid rgba(15, 118, 110, .18);
    box-shadow: none;
}

.qr-menu.image-square .product-media {
    aspect-ratio: 1 / 1;
}

.qr-menu.image-portrait .product-media {
    aspect-ratio: 4 / 5;
}

.qr-menu.density-compact .product-info {
    gap: 7px;
    padding: 12px;
}

.qr-menu.density-compact .product-title-row h3 {
    font-size: 17px;
}

.ingredients-line {
    display: -webkit-box;
    line-clamp: 2;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.product-action-row {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: space-between;
    margin-top: auto;
    min-width: 0;
}

.product-detail-button {
    order: 1;
    min-height: 34px;
    padding: 7px 10px;
}

.product-comments {
    margin-left: auto;
    order: 3;
    position: relative;
}

.product-comments[open] {
    flex: 1 0 100%;
    margin-left: 0;
    order: 20;
}

.product-comments summary {
    align-items: center;
    background: rgba(15, 118, 110, .1);
    border: 1px solid rgba(15, 118, 110, .16);
    border-radius: 999px;
    color: var(--primary);
    cursor: pointer;
    display: inline-flex;
    font-size: 11px;
    font-weight: 900;
    gap: 5px;
    height: 32px;
    justify-content: center;
    list-style: none;
    min-width: 44px;
    padding: 0 8px;
}

.product-comments summary::-webkit-details-marker {
    display: none;
}

.product-comments summary b {
    font-size: 12px;
    line-height: 1;
}

.product-comments summary span {
    background: #fff;
    border-radius: 999px;
    color: #344054;
    font-size: 10px;
    min-width: 16px;
    padding: 2px 4px;
    text-align: center;
}

.product-calorie-chip {
    align-items: center;
    background: #fff7ed;
    border: 1px solid #fed7aa;
    border-radius: 999px;
    color: #9a3412;
    display: inline-flex;
    flex: 0 0 auto;
    font-size: 11px;
    font-weight: 950;
    gap: 4px;
    min-height: 30px;
    order: 2;
    padding: 0 9px;
    white-space: nowrap;
}

.product-comments-panel {
    display: grid;
    gap: 9px;
    padding-top: 10px;
}

.approved-comments {
    display: grid;
    gap: 8px;
    margin: 0;
}

.approved-comments article {
    background: #f8faf9;
    border: 1px solid var(--line);
    border-radius: 10px;
    padding: 10px;
}

.approved-comments strong {
    display: block;
    font-size: 13px;
    margin-bottom: 5px;
}

.approved-comments p {
    color: #475467;
    font-size: 13px;
    line-height: 1.5;
    margin: 0;
}

.public-comment-form {
    background: #f8faf9;
    border: 1px solid var(--line);
    border-radius: 12px;
    display: grid;
    gap: 9px;
    padding: 10px;
}

.public-comment-form strong {
    font-size: 13px;
}

.comment-field-grid {
    display: grid;
    gap: 8px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.public-comment-form input,
.public-comment-form textarea {
    border-radius: 8px;
    font-size: 16px;
    padding: 9px 10px;
}

.public-comment-form button {
    min-height: 36px;
}

.visual-price-badge,
.visual-detail-hit {
    display: none;
}

.qr-menu.display-visual-price .menu-product {
    cursor: pointer;
    min-height: auto;
    position: relative;
}

.qr-menu.display-visual-price .product-grid-public {
    grid-auto-rows: auto;
}

.qr-menu.display-visual-price .product-media {
    min-height: 220px;
}

.qr-menu.display-visual-price .visual-price-badge {
    background: rgba(17, 24, 39, .86);
    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: 999px;
    bottom: 12px;
    color: #fff;
    display: inline-flex;
    font-size: 13px;
    font-weight: 950;
    left: 12px;
    padding: 8px 11px;
    position: absolute;
    z-index: 2;
}

.qr-menu.display-visual-price .visual-detail-hit {
    background: transparent;
    border: 0;
    border-radius: 0;
    display: block;
    inset: 0;
    min-height: 0;
    padding: 0;
    position: absolute;
    transform: none;
    z-index: 1;
}

.qr-menu.display-visual-price .product-title-row,
.qr-menu.display-visual-price .product-description-short,
.qr-menu.display-visual-price .product-description-trigger,
.qr-menu.display-visual-price .ingredients-line,
.qr-menu.display-visual-price .pill-row,
.qr-menu.display-visual-price .goes-with {
    display: none;
}

.qr-menu.display-visual-price .product-info {
    align-items: center;
    background: transparent;
    bottom: 10px;
    display: flex;
    flex: 0 0 auto;
    justify-content: flex-end;
    min-height: 0;
    padding: 0;
    pointer-events: none;
    position: absolute;
    right: 28px;
    z-index: 3;
}

.qr-menu.display-visual-price .product-action-row {
    justify-content: flex-end;
    margin-top: 0;
    min-height: 32px;
    pointer-events: auto;
}

.qr-menu.display-visual-price .product-comments summary {
    background: rgba(17, 24, 39, .72);
    border-color: rgba(255, 255, 255, .18);
    color: #fff;
    min-width: 34px;
    padding: 0;
    width: 34px;
}

.qr-menu.display-visual-price .product-comments summary span {
    display: none;
}

.qr-menu.display-visual-price .product-detail-button {
    display: none;
}

.wifi-card {
    align-items: center;
    background: rgba(255, 255, 255, .12);
    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: 14px;
    color: #fff;
    display: inline-flex;
    gap: 10px;
    padding: 8px 12px;
}

.wifi-card small {
    color: rgba(255, 255, 255, .64);
    font-size: 11px;
    font-weight: 850;
    text-transform: uppercase;
}

.wifi-card strong {
    font-size: 15px;
}

.theme-modern-cafe .menu-hero {
    background:
        linear-gradient(180deg, rgba(8, 47, 45, .28), rgba(8, 47, 45, .74)),
        linear-gradient(135deg, var(--primary), #164e63 60%, var(--accent));
}

.theme-modern-cafe .menu-product {
    border-radius: 18px;
}

.theme-premium-restaurant .menu-hero {
    background:
        linear-gradient(180deg, rgba(0, 0, 0, .18), rgba(0, 0, 0, .82)),
        linear-gradient(135deg, #050807, #18211f 58%, #423018);
}

.theme-premium-restaurant .menu-product {
    border-radius: 0;
}

.theme-premium-restaurant .product-media {
    filter: saturate(.92) contrast(1.06);
}

.theme-premium-restaurant .pill-row span,
.theme-premium-restaurant .approved-comments article,
.theme-premium-restaurant .public-comment-form {
    background: rgba(255, 255, 255, .07);
    border-color: rgba(255, 255, 255, .1);
    color: rgba(255, 255, 255, .78);
}

.theme-fast-casual .menu-hero-content {
    max-width: 840px;
}

.theme-fast-casual .product-title-row h3 {
    font-weight: 950;
}

.hero-contact-row,
.hero-social-row,
.category-showcase {
    display: none;
}

[hidden] {
    display: none !important;
}

.theme-pro-showcase {
    --menu-surface: rgba(255, 255, 255, .92);
    background:
        linear-gradient(180deg, #17120f 0, #f3f0eb 360px, #f5f2ed 100%);
    color: #201916;
}

.theme-pro-showcase .menu-hero {
    background:
        linear-gradient(180deg, rgba(0, 0, 0, .2), rgba(0, 0, 0, .78)),
        radial-gradient(circle at 50% 0, rgba(255, 255, 255, .16), transparent 26%),
        linear-gradient(135deg, #0d0b09, #4d392d);
    border-radius: 0 0 28px 28px;
    box-shadow: 0 22px 60px rgba(18, 13, 10, .28);
    min-height: 360px;
    overflow: hidden;
}

.theme-pro-showcase .menu-hero::after {
    background:
        radial-gradient(circle, rgba(255, 255, 255, .18) 0 2px, transparent 3px),
        linear-gradient(180deg, transparent, rgba(0, 0, 0, .22));
    background-size: 72px 72px, auto;
    content: "";
    inset: 0;
    opacity: .42;
    pointer-events: none;
    position: absolute;
}

.theme-pro-showcase .menu-hero-content {
    align-items: center;
    column-gap: 14px;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 12px;
    justify-items: start;
    max-width: 760px;
    padding-top: 70px;
    position: relative;
    z-index: 1;
}

.theme-pro-showcase .menu-logo {
    background: rgba(255, 255, 255, .16);
    border: 1px solid rgba(255, 255, 255, .34);
    border-radius: 18px;
    box-shadow: 0 18px 38px rgba(0, 0, 0, .28);
    height: 86px;
    grid-row: 1 / 4;
    width: 86px;
}

.theme-pro-showcase .text-logo {
    backdrop-filter: blur(18px);
}

.theme-pro-showcase .menu-hero h1 {
    grid-column: 2;
    font-size: clamp(34px, 9vw, 58px);
    letter-spacing: 0;
    text-shadow: 0 12px 32px rgba(0, 0, 0, .38);
}

.theme-pro-showcase .menu-hero .eyebrow {
    background: rgba(255, 255, 255, .14);
    border: 1px solid rgba(255, 255, 255, .16);
    border-radius: 999px;
    color: #fff;
    display: inline-flex;
    grid-column: 2;
    padding: 7px 11px;
}

.theme-pro-showcase .menu-hero-content > p {
    color: rgba(255, 255, 255, .76);
    grid-column: 2;
}

.theme-pro-showcase .locale-switcher {
    gap: 10px;
    z-index: 2;
}

.theme-pro-showcase .locale-switcher a {
    backdrop-filter: blur(16px);
    background: rgba(255, 255, 255, .13);
    border-color: rgba(255, 255, 255, .16);
    box-shadow: 0 10px 24px rgba(0, 0, 0, .18);
    min-width: 44px;
    text-align: center;
}

.theme-pro-showcase .locale-switcher a.active {
    background: rgba(255, 255, 255, .92);
    color: #1f1a16;
}

.theme-pro-showcase .hero-contact-row {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    grid-column: 1 / -1;
    margin-top: 12px;
}

.theme-pro-showcase .hero-contact-row a,
.theme-pro-showcase .hero-contact-row span {
    align-items: center;
    backdrop-filter: blur(18px);
    background: rgba(255, 255, 255, .15);
    border: 1px solid rgba(255, 255, 255, .16);
    border-radius: 999px;
    box-shadow: 0 12px 28px rgba(0, 0, 0, .18);
    color: #fff;
    display: inline-flex;
    font-size: 13px;
    font-weight: 850;
    gap: 8px;
    min-height: 42px;
    padding: 8px 13px;
}

.theme-pro-showcase .hero-contact-row b {
    align-items: center;
    background: rgba(255, 255, 255, .16);
    border-radius: 999px;
    display: inline-flex;
    font-size: 11px;
    height: 26px;
    justify-content: center;
    min-width: 26px;
    padding: 0 6px;
}

.theme-pro-showcase .menu-announcement {
    border: 0;
    box-shadow: 0 14px 36px rgba(32, 25, 22, .12);
    margin-top: -18px;
    position: relative;
    z-index: 2;
}

.theme-pro-showcase .menu-toolbar {
    backdrop-filter: blur(18px);
    background: rgba(245, 242, 237, .86);
    border: 0;
    box-shadow: 0 12px 30px rgba(32, 25, 22, .08);
    padding: 14px 18px;
}

.theme-pro-showcase .menu-search input {
    background: rgba(255, 255, 255, .88);
    border: 1px solid rgba(32, 25, 22, .08);
    box-shadow: 0 10px 24px rgba(32, 25, 22, .08);
}

.theme-pro-showcase .category-tabs a {
    background: #2b211c;
    border: 0;
    box-shadow: 0 12px 24px rgba(32, 25, 22, .12);
    color: #fff;
}

.theme-pro-showcase .category-tabs {
    display: none;
}

.theme-pro-showcase .category-tabs a:hover {
    color: #fff;
    transform: translateY(-2px);
}

.theme-pro-showcase .category-tabs {
    scrollbar-width: none;
}

.theme-pro-showcase .category-tabs::-webkit-scrollbar {
    display: none;
}

.theme-pro-showcase .category-showcase {
    display: block;
    margin: 0 auto;
    max-width: 1120px;
    padding: 26px 24px 4px;
}

.theme-pro-showcase .hero-social-row {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    grid-column: 1 / -1;
    margin-top: 2px;
}

.theme-pro-showcase .hero-social-row a {
    align-items: center;
    border-radius: 14px;
    box-shadow: 0 16px 30px rgba(0, 0, 0, .24);
    color: #fff;
    display: inline-flex;
    font-size: 12px;
    font-weight: 950;
    height: 46px;
    justify-content: center;
    letter-spacing: .02em;
    min-width: 46px;
    padding: 0 12px;
}

.theme-pro-showcase .hero-social-row .instagram {
    background: linear-gradient(135deg, #f97316, #c026d3, #2563eb);
}

.theme-pro-showcase .hero-social-row .website {
    background: linear-gradient(135deg, #2563eb, #0f766e);
}

.theme-pro-showcase .hero-social-row .map {
    background: linear-gradient(135deg, #64748b, #111827);
}

.theme-pro-showcase .hero-social-row .whatsapp {
    background: linear-gradient(135deg, #16a34a, #059669);
}

.theme-pro-showcase .category-showcase h2 {
    color: #6c625d;
    font-size: 16px;
    letter-spacing: .02em;
    margin: 0 0 14px;
    text-transform: uppercase;
}

.theme-pro-showcase .category-showcase > div {
    display: grid;
    gap: 14px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.theme-pro-showcase .category-showcase a {
    align-items: end;
    aspect-ratio: 16 / 10;
    background:
        radial-gradient(circle at 30% 18%, rgba(255, 255, 255, .42), transparent 24%),
        linear-gradient(135deg, #79614c, #241b17);
    border-radius: 18px;
    box-shadow: 0 18px 42px rgba(32, 25, 22, .16);
    color: #fff;
    display: grid;
    overflow: hidden;
    padding: 16px;
    position: relative;
}

.theme-pro-showcase .category-showcase a::after {
    background: linear-gradient(180deg, rgba(0, 0, 0, .05), rgba(0, 0, 0, .68));
    content: "";
    inset: 0;
    position: absolute;
}

.theme-pro-showcase .category-showcase img {
    filter: saturate(.92) contrast(1.05);
    height: 100%;
    inset: 0;
    object-fit: cover;
    position: absolute;
    transform: scale(1.02);
    transition: transform .35s ease;
    width: 100%;
}

.theme-pro-showcase .category-showcase a:hover img {
    transform: scale(1.08);
}

.theme-pro-showcase .category-showcase a > span {
    align-items: center;
    background: rgba(255, 255, 255, .18);
    border: 1px solid rgba(255, 255, 255, .22);
    border-radius: 18px;
    display: inline-flex;
    font-size: 38px;
    font-weight: 950;
    height: 100%;
    justify-content: center;
    width: 100%;
}

.theme-pro-showcase .category-showcase strong {
    font-size: 18px;
    line-height: 1.1;
    position: relative;
    text-shadow: 0 10px 24px rgba(0, 0, 0, .46);
    z-index: 1;
}

.theme-pro-showcase .menu-content {
    max-width: 1120px;
    padding-top: 24px;
}

.theme-pro-showcase .pro-back-bar {
    align-items: center;
    display: flex;
    gap: 12px;
    justify-content: space-between;
    margin-bottom: 18px;
}

.theme-pro-showcase .pro-back-bar .button {
    background: #fff;
    border: 1px solid rgba(32, 25, 22, .1);
    box-shadow: 0 12px 28px rgba(32, 25, 22, .08);
    color: #2b211c;
    min-height: 40px;
}

.theme-pro-showcase .pro-back-bar strong {
    color: #2b211c;
    font-size: 18px;
}

.theme-pro-showcase .menu-category {
    scroll-margin-top: 142px;
}

.theme-pro-showcase .menu-category h2 {
    color: #2b211c;
    font-size: 26px;
    margin: 22px 0 14px;
}

.theme-pro-showcase .product-grid-public {
    gap: 18px;
}

.theme-pro-showcase .pro-empty-products {
    background: rgba(255, 255, 255, .82);
    border: 1px dashed rgba(32, 25, 22, .18);
    border-radius: 16px;
    color: #726864;
    font-weight: 850;
    padding: 22px;
}

.theme-pro-showcase .menu-product {
    background: rgba(255, 255, 255, .9);
    border: 1px solid rgba(32, 25, 22, .08);
    border-radius: 22px;
    box-shadow: 0 18px 50px rgba(32, 25, 22, .11);
    overflow: hidden;
}

.theme-pro-showcase .product-media {
    aspect-ratio: 16 / 11;
    background:
        radial-gradient(circle at 30% 18%, rgba(255, 255, 255, .6), transparent 24%),
        linear-gradient(135deg, #efe7dc, #c8b8a4);
}

.theme-pro-showcase .product-media::after {
    background: linear-gradient(180deg, transparent 45%, rgba(0, 0, 0, .46));
    content: "";
    inset: 0;
    pointer-events: none;
    position: absolute;
}

.theme-pro-showcase .product-media img {
    filter: saturate(.94) contrast(1.04);
}

.theme-pro-showcase .sold-out-badge {
    z-index: 1;
}

.theme-pro-showcase .product-info {
    gap: 9px;
    padding: 15px;
}

.theme-pro-showcase .product-title-row {
    gap: 10px;
}

.theme-pro-showcase .product-title-row h3 {
    color: #241b17;
    font-size: 19px;
}

.theme-pro-showcase .price-stack strong {
    background: #2b211c;
    border-radius: 10px;
    color: #fff;
    padding: 6px 9px;
}

.theme-pro-showcase .product-description-short,
.theme-pro-showcase .product-description-trigger,
.theme-pro-showcase .ingredients-line {
    color: #726864;
    font-size: 13px;
}

.theme-pro-showcase .pill-row span {
    background: #f1ede6;
    color: #62534b;
    font-size: 11px;
    padding: 5px 8px;
}

.theme-pro-showcase .pill-row .allergen {
    background: #fff1eb;
    color: #9a3412;
}

.theme-pro-showcase .goes-with {
    border-top-color: rgba(32, 25, 22, .08);
}

.theme-pro-showcase .goes-with a {
    background: #f7f3ee;
    border-color: rgba(32, 25, 22, .08);
}

.theme-pro-showcase .product-action-row {
    display: flex;
    gap: 8px;
}

.theme-pro-showcase .product-action-row .button {
    background: #2b211c;
    border: 0;
    color: #fff;
    min-height: 38px;
    width: 100%;
}

.theme-pro-showcase .product-comments {
    border-top-color: rgba(32, 25, 22, .08);
}

.theme-pro-showcase .product-comments summary {
    color: #2b211c;
}

.theme-pro-showcase .product-comments summary span {
    background: #f1ede6;
}

.theme-pro-showcase .approved-comments article,
.theme-pro-showcase .public-comment-form {
    background: #f7f3ee;
    border-color: rgba(32, 25, 22, .08);
}

.theme-pro-showcase .menu-footer {
    background: #211915;
    border-radius: 26px 26px 0 0;
    box-shadow: 0 -18px 50px rgba(32, 25, 22, .16);
}

.theme-pro-showcase .wifi-card {
    background: rgba(255, 255, 255, .1);
}

.theme-qrmenu-rest-demo {
    --rest-blue: #27548b;
    --rest-blue-dark: #173c68;
    background: #edf4fb;
    color: #193654;
    padding-top: 56px;
}

.rest-appbar {
    align-items: center;
    background: linear-gradient(135deg, var(--rest-blue), #1e4778);
    box-shadow: 0 12px 28px rgba(23, 60, 104, .24);
    color: #fff;
    display: flex;
    height: 56px;
    justify-content: center;
    left: 0;
    max-width: 100vw;
    overflow: hidden;
    padding: 0 58px;
    position: fixed;
    right: auto;
    top: 0;
    width: 100vw;
    z-index: 30;
}

.rest-appbar > * {
    min-width: 0;
}

.rest-appbar button,
.rest-appbar a {
    align-items: center;
    background: rgba(255, 255, 255, .12);
    border: 1px solid rgba(255, 255, 255, .14);
    border-radius: 12px;
    color: #fff;
    display: inline-flex;
    height: 38px;
    justify-content: center;
    min-height: 0;
    padding: 0;
    width: 38px;
}

.rest-appbar button {
    flex-direction: column;
    gap: 4px;
    left: 10px;
    position: absolute;
    top: 9px;
}

.rest-appbar .rest-language-pill {
    display: inline-flex !important;
    position: fixed;
    right: 10px;
    top: 9px;
    z-index: 31;
}

.rest-appbar button span {
    background: currentColor;
    border-radius: 99px;
    display: block;
    height: 2px;
    width: 17px;
}

.rest-appbar strong {
    font-size: 16px;
    font-weight: 900;
    max-width: 100%;
    overflow: hidden;
    text-align: center;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.theme-qrmenu-rest-demo .menu-hero {
    background:
        linear-gradient(180deg, rgba(20, 48, 84, .18), rgba(20, 48, 84, .78)),
        radial-gradient(circle at 15% 0, rgba(255, 255, 255, .3), transparent 28%),
        linear-gradient(135deg, var(--rest-blue), #173d69);
    border-radius: 0 0 26px 26px;
    box-shadow: 0 18px 48px rgba(23, 60, 104, .28);
    min-height: 276px;
    padding: 18px;
}

.theme-qrmenu-rest-demo .menu-hero-content {
    align-items: center;
    gap: 9px;
    justify-items: center;
    margin: 0 auto;
    max-width: 720px;
    padding-top: 18px;
    text-align: center;
}

.theme-qrmenu-rest-demo .rest-welcome {
    color: rgba(255, 255, 255, .78);
    font-size: 18px;
    font-weight: 900;
}

.theme-qrmenu-rest-demo .menu-logo {
    background: #fff;
    border: 4px solid rgba(255, 255, 255, .7);
    border-radius: 999px;
    box-shadow: 0 14px 34px rgba(0, 0, 0, .2);
    height: 92px;
    width: 92px;
}

.theme-qrmenu-rest-demo .text-logo {
    background: #fff;
    color: var(--rest-blue);
}

.theme-qrmenu-rest-demo .menu-hero .eyebrow {
    background: rgba(255, 255, 255, .14);
    border: 1px solid rgba(255, 255, 255, .2);
    border-radius: 999px;
    color: #fff;
    padding: 6px 12px;
}

.theme-qrmenu-rest-demo .menu-hero h1 {
    font-size: clamp(26px, 7vw, 42px);
    text-shadow: 0 10px 24px rgba(0, 0, 0, .24);
}

.theme-qrmenu-rest-demo .menu-hero-content > p {
    max-width: 520px;
}

.theme-qrmenu-rest-demo .locale-switcher {
    bottom: 16px;
    justify-content: center;
    left: 18px;
    right: 18px;
    top: auto;
}

.theme-qrmenu-rest-demo .locale-switcher a {
    background: rgba(255, 255, 255, .14);
    border-color: rgba(255, 255, 255, .18);
}

.theme-qrmenu-rest-demo .locale-switcher a.active {
    background: #fff;
    color: var(--rest-blue);
}

.theme-qrmenu-rest-demo .hero-contact-row,
.theme-qrmenu-rest-demo .hero-social-row {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}

.theme-qrmenu-rest-demo .hero-contact-row {
    gap: 8px;
    margin-top: 8px;
}

.theme-qrmenu-rest-demo .hero-contact-row a,
.theme-qrmenu-rest-demo .hero-contact-row span {
    align-items: center;
    background: rgba(255, 255, 255, .12);
    border: 1px solid rgba(255, 255, 255, .16);
    border-radius: 999px;
    color: #fff;
    display: inline-flex;
    font-size: 12px;
    font-weight: 850;
    gap: 7px;
    min-height: 36px;
    max-width: 100%;
    overflow: hidden;
    padding: 7px 10px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.theme-qrmenu-rest-demo .hero-contact-row b {
    align-items: center;
    background: rgba(255, 255, 255, .18);
    border-radius: 999px;
    display: inline-flex;
    font-size: 10px;
    height: 23px;
    justify-content: center;
    min-width: 23px;
    padding: 0 5px;
}

.theme-qrmenu-rest-demo .hero-social-row {
    gap: 9px;
    margin-top: 5px;
}

.theme-qrmenu-rest-demo .hero-social-row a {
    align-items: center;
    background: rgba(255, 255, 255, .16);
    border: 1px solid rgba(255, 255, 255, .16);
    border-radius: 999px;
    color: #fff;
    display: inline-flex;
    font-size: 11px;
    font-weight: 950;
    height: 34px;
    justify-content: center;
    min-width: 34px;
    padding: 0 10px;
}

.rest-recommendations,
.rest-popular {
    margin: 0 auto;
    max-width: 1120px;
    padding: 20px 18px 4px;
}

.rest-recommendations {
    margin-top: 10px;
}

.rest-recommendations h2,
.rest-popular h2 {
    color: #234667;
    font-size: 16px;
    font-weight: 950;
    margin: 0 0 14px;
    text-align: center;
}

.rest-recommendations > div,
.rest-popular > div {
    display: flex;
    gap: 14px;
    overflow-x: auto;
    padding: 2px 2px 10px;
    scroll-snap-type: x proximity;
    scrollbar-width: none;
}

.rest-recommendations > div::-webkit-scrollbar,
.rest-popular > div::-webkit-scrollbar {
    display: none;
}

.rest-recommendations a,
.rest-popular a {
    color: #234667;
    display: grid;
    flex: 0 0 104px;
    gap: 8px;
    scroll-snap-align: start;
    text-align: center;
}

.rest-recommendations img,
.rest-recommendations a > span,
.rest-popular img,
.rest-popular a > span {
    align-items: center;
    aspect-ratio: 1 / .74;
    background:
        radial-gradient(circle at 30% 20%, rgba(255, 255, 255, .84), transparent 28%),
        linear-gradient(135deg, #d7e6f5, #a9c8e9);
    border-radius: 9px;
    box-shadow: 0 10px 22px rgba(23, 60, 104, .14);
    color: var(--rest-blue);
    display: flex;
    font-size: 30px;
    font-weight: 950;
    justify-content: center;
    object-fit: cover;
    overflow: hidden;
    width: 100%;
}

.rest-recommendations .rest-mini-logo img,
.rest-popular .rest-mini-logo img {
    aspect-ratio: auto;
    background: transparent;
    box-shadow: none;
    height: 54px;
    object-fit: contain;
    width: 54px;
}

.rest-recommendations strong,
.rest-popular strong {
    font-size: 13px;
    line-height: 1.18;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.rest-popular small {
    color: var(--rest-blue);
    font-weight: 900;
}

.theme-qrmenu-rest-demo .menu-announcement {
    background: #fff;
    border: 0;
    box-shadow: 0 12px 28px rgba(23, 60, 104, .12);
}

.theme-qrmenu-rest-demo .menu-announcement strong {
    color: var(--rest-blue);
}

.theme-qrmenu-rest-demo .menu-toolbar {
    display: none;
}

.theme-qrmenu-rest-demo .category-showcase {
    display: block;
    margin: 0 auto;
    max-width: 1120px;
    padding: 18px 18px 8px;
}

.theme-qrmenu-rest-demo .category-showcase h2 {
    display: none;
}

.theme-qrmenu-rest-demo .category-showcase > div {
    display: grid;
    gap: 14px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.theme-qrmenu-rest-demo .category-showcase a {
    align-items: center;
    aspect-ratio: 16 / 9;
    background:
        linear-gradient(180deg, rgba(39, 84, 139, .34), rgba(24, 57, 95, .82)),
        linear-gradient(135deg, #9ec1e4, #315f92);
    border-radius: 6px;
    box-shadow: 0 16px 34px rgba(23, 60, 104, .14);
    color: #fff;
    display: grid;
    justify-items: center;
    overflow: hidden;
    padding: 10px;
    position: relative;
    text-align: center;
}

.theme-qrmenu-rest-demo .category-showcase a::after {
    background: linear-gradient(180deg, rgba(39, 84, 139, .04), rgba(39, 84, 139, .72));
    content: "";
    inset: 0;
    position: absolute;
}

.theme-qrmenu-rest-demo .category-showcase img {
    filter: saturate(.92) contrast(1.06);
    height: 100%;
    inset: 0;
    object-fit: cover;
    position: absolute;
    transition: transform .45s ease;
    width: 100%;
}

.theme-qrmenu-rest-demo .category-showcase a:hover img {
    transform: scale(1.08);
}

.theme-qrmenu-rest-demo .category-showcase a > span {
    align-items: center;
    background: rgba(255, 255, 255, .18);
    border-radius: 999px;
    display: inline-flex;
    font-size: 34px;
    font-weight: 950;
    height: 62px;
    justify-content: center;
    position: relative;
    width: 62px;
    z-index: 1;
}

.theme-qrmenu-rest-demo .category-showcase strong {
    font-size: 16px;
    font-weight: 950;
    line-height: 1.15;
    position: relative;
    text-shadow: 0 8px 20px rgba(0, 0, 0, .34);
    z-index: 1;
}

.theme-qrmenu-rest-demo .menu-content {
    max-width: 1120px;
    padding-top: 18px;
}

.theme-qrmenu-rest-demo .pro-back-bar {
    align-items: center;
    display: flex;
    gap: 12px;
    margin-bottom: 16px;
}

.theme-qrmenu-rest-demo .pro-back-bar .button {
    background: #fff;
    border: 0;
    box-shadow: 0 12px 28px rgba(23, 60, 104, .12);
    color: var(--rest-blue);
}

.theme-qrmenu-rest-demo .pro-back-bar strong {
    color: #234667;
    font-size: 18px;
}

.theme-qrmenu-rest-demo .menu-category h2 {
    color: #234667;
    font-size: 24px;
}

.theme-qrmenu-rest-demo .product-grid-public {
    gap: 16px;
}

.theme-qrmenu-rest-demo .menu-product {
    background: #fff;
    border: 0;
    border-radius: 12px;
    box-shadow: 0 16px 34px rgba(23, 60, 104, .12);
}

.theme-qrmenu-rest-demo .product-media {
    aspect-ratio: 16 / 10;
    background:
        radial-gradient(circle at 50% 34%, rgba(255, 255, 255, .82), transparent 24%),
        linear-gradient(135deg, #dceaf7, #a9c8e9);
}

.theme-qrmenu-rest-demo .product-info {
    padding: 13px;
}

.theme-qrmenu-rest-demo .product-title-row h3 {
    color: #17365f;
    font-size: 17px;
}

.theme-qrmenu-rest-demo .price-stack strong {
    color: var(--rest-blue);
}

.theme-qrmenu-rest-demo .product-description-short,
.theme-qrmenu-rest-demo .product-description-trigger,
.theme-qrmenu-rest-demo .ingredients-line {
    color: #5a7189;
}

.theme-qrmenu-rest-demo .product-action-row .button {
    background: var(--rest-blue);
    border: 0;
    color: #fff;
}

.theme-qrmenu-rest-demo .product-comments summary {
    background: #eef5fc;
    color: var(--rest-blue);
}

.theme-qrmenu-rest-demo .menu-footer {
    background: linear-gradient(135deg, var(--rest-blue-dark), var(--rest-blue));
    border-radius: 24px 24px 0 0;
}

.theme-menum-classic {
    background: #f7f7f5;
    color: #18181b;
}

.classic-topbar {
    align-items: center;
    background: rgba(255, 255, 255, .96);
    border-bottom: 1px solid #ebebeb;
    box-shadow: 0 8px 22px rgba(0, 0, 0, .06);
    display: grid;
    gap: 8px;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    padding: 10px 14px;
    position: sticky;
    top: 0;
    z-index: 20;
}

.classic-topbar a,
.classic-topbar button {
    background: transparent;
    border: 0;
    color: #18181b;
    cursor: pointer;
    font-size: 12px;
    font-weight: 850;
    min-height: 34px;
    padding: 0;
    text-align: center;
}

.classic-topbar a:hover,
.classic-topbar button:hover {
    color: #8a5a2b;
}

.classic-language-modal {
    align-items: center;
    display: grid;
    inset: 0;
    justify-items: center;
    max-width: 100vw;
    overflow: hidden;
    padding: 22px;
    position: fixed;
    width: 100vw;
    z-index: 60;
}

.classic-language-backdrop {
    backdrop-filter: blur(6px);
    background: rgba(0, 0, 0, .76);
    inset: 0;
    position: absolute;
}

.classic-language-card {
    align-items: center;
    background: #fff;
    border-radius: 24px;
    box-shadow: 0 28px 80px rgba(0, 0, 0, .34);
    display: grid;
    gap: 17px;
    justify-self: center;
    left: 50%;
    max-width: none;
    padding: 30px 28px 28px;
    position: fixed;
    right: auto;
    text-align: center;
    top: 50%;
    transform: translate(-50%, -50%);
    width: min(270px, calc(100vw - 32px));
}

.classic-language-card img,
.classic-language-card > span {
    align-items: center;
    background: #fff;
    border: 1px solid #e8e8e8;
    border-radius: 999px;
    box-shadow: 0 10px 24px rgba(0, 0, 0, .12);
    color: #18181b;
    display: flex;
    font-size: 18px;
    font-weight: 950;
    height: 72px;
    justify-content: center;
    object-fit: contain;
    padding: 8px;
    width: 72px;
}

.classic-language-card h2 {
    font-size: 20px;
    margin: 0;
}

.classic-language-card select {
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    min-height: 48px;
    padding: 0 13px;
    width: 100%;
    max-width: 100%;
}

.classic-language-card .button.dark {
    background: #1b1b1b;
    border: 0;
    border-radius: 12px;
    color: #fff;
    min-height: 46px;
    width: 100%;
}

.classic-language-close {
    align-items: center;
    background: #f7f7f7;
    border: 0;
    border-radius: 999px;
    color: #6b7280;
    display: inline-flex;
    font-size: 24px;
    height: 34px;
    justify-content: center;
    min-height: 0;
    padding: 0;
    position: absolute;
    right: 16px;
    top: 16px;
    width: 34px;
}

.theme-menum-classic .menu-hero {
    align-items: center;
    background:
        linear-gradient(180deg, rgba(0, 0, 0, .52), rgba(0, 0, 0, .7)),
        linear-gradient(135deg, #232323, #0f0f0f);
    display: grid;
    min-height: 300px;
    padding: 28px 18px;
    text-align: center;
}

.theme-menum-classic .menu-hero-content {
    align-items: center;
    justify-items: center;
    margin: 0 auto;
    max-width: 560px;
    padding-top: 18px;
}

.theme-menum-classic .menu-logo {
    background: #fff;
    border: 0;
    border-radius: 999px;
    box-shadow: 0 14px 30px rgba(0, 0, 0, .24);
    height: 92px;
    padding: 8px;
    width: 92px;
}

.theme-menum-classic .text-logo {
    color: #18181b;
}

.theme-menum-classic .menu-hero .eyebrow {
    display: none;
}

.theme-menum-classic .menu-hero h1 {
    font-size: clamp(30px, 8vw, 48px);
}

.theme-menum-classic .menu-hero p {
    color: rgba(255, 255, 255, .8);
}

.theme-menum-classic .hero-contact-row,
.theme-menum-classic .hero-social-row {
    display: none;
}

.theme-menum-classic .locale-switcher {
    display: none;
}

.theme-menum-classic .menu-announcement {
    background: #fff8ed;
    border: 1px solid #f4d7aa;
    color: #7c3f11;
}

.theme-menum-classic .menu-toolbar {
    background: #fff;
    border-bottom: 1px solid #ececec;
    box-shadow: 0 10px 24px rgba(0, 0, 0, .05);
    top: 54px;
}

.theme-menum-classic .menu-search input {
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    min-height: 46px;
}

.theme-menum-classic .category-tabs {
    gap: 8px;
    scrollbar-width: none;
}

.theme-menum-classic .category-tabs::-webkit-scrollbar {
    display: none;
}

.theme-menum-classic .category-tabs a {
    background: #f4f4f4;
    border: 0;
    border-radius: 999px;
    color: #1f1f1f;
    font-size: 13px;
    min-height: 38px;
    padding: 9px 13px;
}

.theme-menum-classic .category-tabs a:hover {
    background: #1f1f1f;
    color: #fff;
}

.theme-menum-classic .category-showcase {
    display: none;
}

.theme-menum-classic .menu-content {
    max-width: 1040px;
    padding-top: 20px;
}

.theme-menum-classic .menu-category {
    scroll-margin-top: 148px;
}

.theme-menum-classic .menu-category h2 {
    align-items: center;
    color: #18181b;
    display: flex;
    font-size: 24px;
    gap: 10px;
    margin: 20px 0 12px;
}

.theme-menum-classic .menu-category h2::before {
    background: #9a6a37;
    border-radius: 999px;
    content: "";
    height: 28px;
    width: 5px;
}

.theme-menum-classic .product-grid-public {
    gap: 14px;
    grid-template-columns: 1fr;
}

.theme-menum-classic .menu-product {
    background: #fff;
    border: 1px solid #ededed;
    border-radius: 14px;
    box-shadow: 0 12px 28px rgba(0, 0, 0, .06);
    display: grid;
    grid-template-columns: 148px minmax(0, 1fr);
    min-height: 156px;
}

.theme-menum-classic .product-media {
    aspect-ratio: auto;
    min-height: 100%;
}

.theme-menum-classic .product-media img {
    transition: transform .35s ease;
}

.theme-menum-classic .menu-product:hover .product-media img {
    transform: scale(1.05);
}

.theme-menum-classic .logo-placeholder {
    padding: 18px;
}

.theme-menum-classic .logo-placeholder::before {
    border-radius: 12px;
    inset: 14px;
}

.theme-menum-classic .product-info {
    gap: 7px;
    grid-template-rows: auto auto auto auto auto 1fr;
    padding: 13px;
}

.theme-menum-classic .product-title-row {
    align-items: flex-start;
    gap: 10px;
}

.theme-menum-classic .product-title-row h3 {
    color: #18181b;
    font-size: 18px;
    line-height: 1.2;
}

.theme-menum-classic .price-stack {
    align-items: flex-end;
}

.theme-menum-classic .price-stack strong {
    background: #9a6a37;
    border-radius: 999px;
    color: #fff;
    font-size: 13px;
    padding: 6px 9px;
    white-space: nowrap;
}

.theme-menum-classic .product-description-short,
.theme-menum-classic .product-description-trigger,
.theme-menum-classic .ingredients-line {
    color: #5f6268;
    font-size: 13px;
}

.theme-menum-classic .pill-row span {
    background: #f4f4f4;
    color: #4b5563;
}

.theme-menum-classic .pill-row .allergen {
    background: #fff3dd;
    color: #9a3412;
}

.theme-menum-classic .goes-with {
    border-top-color: #ededed;
}

.theme-menum-classic .goes-with a {
    background: #fafafa;
    border-color: #ededed;
}

.theme-menum-classic .product-action-row {
    align-items: center;
    display: flex;
    gap: 8px;
    justify-content: flex-end;
    margin-top: 2px;
}

.theme-menum-classic .product-action-row .button {
    background: #1f1f1f;
    border: 0;
    border-radius: 999px;
    color: #fff;
    min-height: 34px;
    padding: 7px 13px;
}

.theme-menum-classic .product-comments summary {
    background: #f4f4f4;
    border-color: #ededed;
    color: #1f1f1f;
}

.theme-menum-classic .approved-comments article,
.theme-menum-classic .public-comment-form {
    background: #fafafa;
    border-color: #ededed;
}

.theme-menum-classic .menu-footer {
    background: #18181b;
    border-radius: 0;
}

.theme-menum-classic .wifi-card {
    background: rgba(255, 255, 255, .1);
}

.theme-menum-classic.display-visual-price .menu-product {
    display: block;
    min-height: auto;
}

.theme-menum-classic.display-visual-price .product-media {
    aspect-ratio: 1 / .8;
}

.menu-shell-bar {
    align-items: center;
    backdrop-filter: blur(18px);
    background: rgba(255, 255, 255, .82);
    border-bottom: 1px solid rgba(31, 41, 51, .08);
    display: grid;
    gap: 10px;
    grid-template-columns: minmax(54px, auto) minmax(0, 1fr) minmax(54px, auto);
    left: 0;
    min-height: 56px;
    padding: 8px 12px;
    position: sticky;
    right: 0;
    top: 0;
    z-index: 30;
}

.menu-shell-bar strong {
    font-size: 14px;
    font-weight: 950;
    overflow: hidden;
    text-align: center;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.shell-action,
.menu-mode-toggle {
    background: rgba(31, 41, 51, .08);
    border: 1px solid rgba(31, 41, 51, .08);
    border-radius: 999px;
    color: #1f2933;
    font-size: 11px;
    font-weight: 900;
    min-height: 36px;
    padding: 0 12px;
}

.menu-mode-toggle {
    justify-self: end;
}

.qr-menu[data-view-mode="dark"] .menu-shell-bar {
    background: rgba(18, 24, 30, .86);
    border-bottom-color: rgba(255, 255, 255, .08);
    color: #f5f0e8;
}

.qr-menu[data-view-mode="dark"] .shell-action,
.qr-menu[data-view-mode="dark"] .menu-mode-toggle {
    background: rgba(255, 255, 255, .1);
    border-color: rgba(255, 255, 255, .1);
    color: #f5f0e8;
}

.theme-signature-grid {
    --sig-bg: #f6f1ea;
    --sig-ink: #1f2933;
    --sig-muted: #66736f;
    --sig-card: rgba(255, 255, 255, .92);
    --sig-line: rgba(31, 41, 51, .1);
    --sig-accent: #9b7a4a;
    background: var(--sig-bg);
    color: var(--sig-ink);
}

.theme-signature-grid[data-view-mode="dark"] {
    --sig-bg: #12181e;
    --sig-ink: #f7f0e6;
    --sig-muted: #b8c0bb;
    --sig-card: rgba(28, 36, 43, .94);
    --sig-line: rgba(255, 255, 255, .1);
    --sig-accent: #c7a56b;
    background: var(--sig-bg);
    color: var(--sig-ink);
}

.theme-signature-grid .menu-hero {
    background:
        linear-gradient(180deg, rgba(15, 18, 22, .28), rgba(15, 18, 22, .72)),
        radial-gradient(circle at 18% 0, rgba(255, 255, 255, .22), transparent 28%),
        linear-gradient(135deg, #34312b, #13181d);
    border-radius: 0 0 28px 28px;
    min-height: 260px;
    padding: 18px 16px 22px;
}

.theme-signature-grid .menu-hero-content {
    align-items: center;
    justify-items: center;
    margin: 0 auto;
    max-width: 620px;
    padding-top: 18px;
    text-align: center;
}

.theme-signature-grid .menu-logo {
    background: #fff;
    border: 3px solid rgba(255, 255, 255, .72);
    border-radius: 18px;
    box-shadow: 0 18px 38px rgba(0, 0, 0, .24);
    height: 76px;
    width: 76px;
}

.theme-signature-grid .text-logo {
    background: #fff;
    color: #1f2933;
}

.theme-signature-grid .menu-hero .eyebrow {
    background: rgba(255, 255, 255, .12);
    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: 999px;
    color: #fff;
    padding: 6px 12px;
}

.theme-signature-grid .menu-hero h1 {
    font-size: clamp(28px, 8vw, 42px);
    line-height: 1.05;
    text-shadow: 0 10px 24px rgba(0, 0, 0, .28);
}

.theme-signature-grid .menu-hero p {
    color: rgba(255, 255, 255, .78);
}

.theme-signature-grid .locale-switcher {
    bottom: 14px;
    justify-content: center;
    left: 16px;
    right: 16px;
    top: auto;
}

.theme-signature-grid .locale-switcher a {
    background: rgba(255, 255, 255, .14);
    border-color: rgba(255, 255, 255, .16);
}

.theme-signature-grid .locale-switcher a.active {
    background: #fff;
    color: #1f2933;
}

.theme-signature-grid .hero-contact-row,
.theme-signature-grid .hero-social-row {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: center;
    margin-top: 6px;
    max-width: 100%;
}

.theme-signature-grid .hero-contact-row a,
.theme-signature-grid .hero-contact-row span,
.theme-signature-grid .hero-social-row a {
    align-items: center;
    background: rgba(255, 255, 255, .12);
    border: 1px solid rgba(255, 255, 255, .14);
    border-radius: 999px;
    color: #fff;
    display: inline-flex;
    font-size: 12px;
    font-weight: 900;
    gap: 7px;
    max-width: calc(100vw - 28px);
    min-height: 34px;
    overflow: hidden;
    padding: 6px 10px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.theme-signature-grid .hero-contact-row b {
    align-items: center;
    background: rgba(255, 255, 255, .16);
    border-radius: 999px;
    display: inline-flex;
    font-size: 10px;
    height: 22px;
    justify-content: center;
    min-width: 22px;
    padding: 0 5px;
}

.theme-signature-grid .menu-toolbar {
    background: transparent;
    border: 0;
    padding: 14px 12px 0;
    position: relative;
    top: auto;
}

.theme-signature-grid .menu-search input {
    background: var(--sig-card);
    border: 1px solid var(--sig-line);
    border-radius: 14px;
    box-shadow: 0 12px 28px rgba(31, 41, 51, .08);
    min-height: 44px;
}

.theme-signature-grid .category-tabs {
    display: none;
}

.theme-signature-grid .category-showcase {
    display: block;
    margin: 0 auto;
    max-width: 1080px;
    padding: 18px 12px 6px;
}

.theme-signature-grid .category-showcase h2 {
    color: var(--sig-muted);
    font-size: 13px;
    letter-spacing: .08em;
    margin: 0 0 12px;
    text-transform: uppercase;
}

.theme-signature-grid .category-showcase > div {
    display: grid;
    gap: 10px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.theme-signature-grid .category-showcase a {
    align-items: end;
    aspect-ratio: 1 / .72;
    background:
        linear-gradient(180deg, rgba(31, 41, 51, .12), rgba(31, 41, 51, .72)),
        linear-gradient(135deg, #d7c8b4, #4a4035);
    border: 1px solid var(--sig-line);
    border-radius: 16px;
    box-shadow: 0 16px 34px rgba(31, 41, 51, .12);
    color: #fff;
    display: grid;
    overflow: hidden;
    padding: 12px;
    position: relative;
}

.theme-signature-grid .category-showcase a::after {
    background: linear-gradient(180deg, rgba(0, 0, 0, .04), rgba(0, 0, 0, .56));
    content: "";
    inset: 0;
    position: absolute;
}

.theme-signature-grid .category-showcase img {
    height: 100%;
    inset: 0;
    object-fit: cover;
    position: absolute;
    width: 100%;
}

.theme-signature-grid .category-showcase a > span {
    align-items: center;
    background: rgba(255, 255, 255, .16);
    border-radius: 16px;
    display: inline-flex;
    font-size: 34px;
    font-weight: 950;
    height: 100%;
    justify-content: center;
    width: 100%;
}

.theme-signature-grid .category-showcase strong {
    font-size: 15px;
    position: relative;
    text-shadow: 0 8px 18px rgba(0, 0, 0, .34);
    z-index: 1;
}

.theme-signature-grid .menu-content {
    max-width: 1080px;
    padding: 16px 12px 60px;
}

.theme-signature-grid .pro-back-bar {
    align-items: center;
    display: flex;
    gap: 10px;
    margin-bottom: 12px;
}

.theme-signature-grid .pro-back-bar .button {
    background: var(--sig-card);
    border: 1px solid var(--sig-line);
    color: var(--sig-ink);
    min-height: 38px;
}

.theme-signature-grid .pro-back-bar strong {
    color: var(--sig-muted);
    font-size: 14px;
}

.theme-signature-grid .menu-category h2 {
    color: var(--sig-ink);
    font-size: 22px;
    margin: 12px 0;
}

.theme-signature-grid .product-grid-public {
    display: grid;
    gap: 10px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.theme-signature-grid .menu-product {
    background: var(--sig-card);
    border: 1px solid var(--sig-line);
    border-radius: 16px;
    box-shadow: 0 14px 28px rgba(31, 41, 51, .1);
}

.theme-signature-grid .product-media {
    aspect-ratio: auto;
    height: 116px;
    min-height: 116px;
}

.theme-signature-grid .product-media img,
.theme-signature-grid .image-placeholder,
.theme-signature-grid .logo-placeholder {
    height: 116px;
    object-fit: cover;
}

.theme-signature-grid .product-info {
    gap: 7px;
    padding: 9px;
}

.theme-signature-grid .product-title-row {
    flex-direction: column;
    gap: 5px;
}

.theme-signature-grid .product-title-row h3 {
    color: var(--sig-ink);
    display: -webkit-box;
    font-size: 14px;
    line-height: 1.18;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.theme-signature-grid .price-stack strong {
    background: var(--sig-accent);
    border-radius: 999px;
    color: #fff;
    font-size: 12px;
    padding: 5px 8px;
}

.theme-signature-grid .product-description-short,
.theme-signature-grid .product-description-trigger,
.theme-signature-grid .ingredients-line,
.theme-signature-grid .pill-row,
.theme-signature-grid .goes-with {
    display: none;
}

.theme-signature-grid .product-action-row .button {
    background: var(--sig-ink);
    border: 0;
    color: var(--sig-bg);
    font-size: 11px;
    min-height: 30px;
    padding: 6px 9px;
}

.theme-signature-grid .product-comments summary {
    background: rgba(155, 122, 74, .12);
    border-color: rgba(155, 122, 74, .16);
    color: var(--sig-ink);
    height: 30px;
    min-width: 34px;
}

.theme-bistro-list {
    --bis-bg: #f4f7f5;
    --bis-ink: #20312d;
    --bis-muted: #66736e;
    --bis-card: #ffffff;
    --bis-line: #dde7e2;
    --bis-accent: #60746b;
    background: var(--bis-bg);
    color: var(--bis-ink);
}

.theme-bistro-list[data-view-mode="dark"] {
    --bis-bg: #121817;
    --bis-ink: #eef5f0;
    --bis-muted: #b2beb8;
    --bis-card: #1b2421;
    --bis-line: rgba(255, 255, 255, .1);
    --bis-accent: #9eb0a6;
}

.theme-bistro-list .menu-hero {
    background:
        linear-gradient(180deg, rgba(20, 28, 25, .26), rgba(20, 28, 25, .62)),
        linear-gradient(135deg, #3c5149, #17201d);
    border-radius: 0;
    min-height: 210px;
    padding: 18px 14px;
}

.theme-bistro-list .menu-hero-content {
    align-items: center;
    display: grid;
    gap: 8px 12px;
    grid-template-columns: auto minmax(0, 1fr);
    max-width: 780px;
    padding-top: 18px;
}

.theme-bistro-list .menu-logo {
    background: #fff;
    border: 0;
    border-radius: 14px;
    grid-row: 1 / 4;
    height: 66px;
    width: 66px;
}

.theme-bistro-list .menu-hero .eyebrow {
    color: rgba(255, 255, 255, .72);
    font-size: 11px;
}

.theme-bistro-list .menu-hero h1 {
    font-size: clamp(24px, 7vw, 36px);
    line-height: 1.08;
}

.theme-bistro-list .menu-hero p {
    color: rgba(255, 255, 255, .76);
    font-size: 13px;
}

.theme-bistro-list .hero-contact-row,
.theme-bistro-list .hero-social-row {
    display: none;
}

.theme-bistro-list .locale-switcher {
    display: none;
}

.theme-bistro-list .menu-toolbar {
    background: rgba(244, 247, 245, .92);
    border-bottom: 1px solid var(--bis-line);
    gap: 10px;
    padding: 10px 12px;
    top: 56px;
}

.theme-bistro-list[data-view-mode="dark"] .menu-toolbar {
    background: rgba(18, 24, 23, .92);
}

.theme-bistro-list .menu-search input {
    background: var(--bis-card);
    border: 1px solid var(--bis-line);
    border-radius: 12px;
    min-height: 42px;
}

.theme-bistro-list .category-tabs {
    gap: 8px;
    scrollbar-width: none;
}

.theme-bistro-list .category-tabs::-webkit-scrollbar {
    display: none;
}

.theme-bistro-list .category-tabs a {
    background: var(--bis-card);
    border: 1px solid var(--bis-line);
    border-radius: 999px;
    color: var(--bis-ink);
    font-size: 12px;
    min-height: 34px;
    padding: 8px 12px;
}

.theme-bistro-list .category-showcase {
    display: none;
}

.theme-bistro-list .menu-content {
    max-width: 900px;
    padding: 14px 12px 60px;
}

.theme-bistro-list .menu-category {
    scroll-margin-top: 132px;
}

.theme-bistro-list .menu-category h2 {
    align-items: center;
    color: var(--bis-ink);
    display: flex;
    font-size: 19px;
    gap: 9px;
    margin: 16px 0 10px;
}

.theme-bistro-list .menu-category h2::before {
    background: var(--bis-accent);
    border-radius: 999px;
    content: "";
    height: 22px;
    width: 4px;
}

.theme-bistro-list .product-grid-public {
    display: grid;
    gap: 9px;
    grid-template-columns: 1fr;
}

.theme-bistro-list .menu-product {
    background: var(--bis-card);
    border: 1px solid var(--bis-line);
    border-radius: 14px;
    box-shadow: 0 10px 22px rgba(32, 49, 45, .08);
    display: grid;
    grid-template-columns: 86px minmax(0, 1fr);
    min-height: 96px;
}

.theme-bistro-list .product-media {
    aspect-ratio: auto;
    height: 96px;
    min-height: 96px;
}

.theme-bistro-list .product-media img,
.theme-bistro-list .image-placeholder,
.theme-bistro-list .logo-placeholder {
    height: 96px;
    object-fit: cover;
}

.theme-bistro-list .logo-placeholder {
    padding: 10px;
}

.theme-bistro-list .logo-placeholder::before {
    border-radius: 10px;
    inset: 10px;
}

.theme-bistro-list .product-info {
    gap: 5px;
    grid-template-rows: none;
    min-width: 0;
    padding: 8px 10px;
}

.theme-bistro-list .product-title-row {
    align-items: flex-start;
    flex-direction: column;
    gap: 4px;
}

.theme-bistro-list .product-title-row h3 {
    color: var(--bis-ink);
    display: -webkit-box;
    font-size: 14px;
    line-height: 1.18;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.theme-bistro-list .price-stack strong {
    color: var(--bis-accent);
    font-size: 13px;
}

.theme-bistro-list .product-description-short,
.theme-bistro-list .product-description-trigger {
    color: var(--bis-muted);
    display: -webkit-box;
    font-size: 11px;
    line-height: 1.28;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
}

.theme-bistro-list .ingredients-line,
.theme-bistro-list .pill-row,
.theme-bistro-list .goes-with {
    display: none;
}

.theme-bistro-list .product-action-row {
    gap: 6px;
    justify-content: flex-start;
}

.theme-bistro-list .product-action-row .button {
    background: var(--bis-ink);
    border: 0;
    border-radius: 999px;
    color: var(--bis-bg);
    font-size: 11px;
    min-height: 30px;
    padding: 6px 10px;
}

.theme-bistro-list .product-comments summary {
    background: rgba(96, 116, 107, .12);
    border-color: rgba(96, 116, 107, .16);
    color: var(--bis-ink);
    height: 30px;
    min-width: 34px;
}

.theme-signature-grid .menu-footer,
.theme-bistro-list .menu-footer {
    background: #1f2933;
    border-radius: 22px 22px 0 0;
}

.theme-signature-grid[data-view-mode="dark"] .menu-footer,
.theme-bistro-list[data-view-mode="dark"] .menu-footer {
    background: #0c1115;
}

.pricing-admin-form {
    display: grid;
    gap: 18px;
}

.pricing-admin-grid {
    display: grid;
    gap: 16px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.pricing-admin-card {
    align-content: start;
}

.plan-active-check {
    align-self: end;
    min-height: 44px;
}

.sticky-save-bar {
    align-items: center;
    background: rgba(255, 255, 255, .94);
    border: 1px solid var(--line);
    border-radius: 12px;
    bottom: 18px;
    box-shadow: var(--shadow);
    display: flex;
    gap: 16px;
    justify-content: space-between;
    padding: 14px;
    position: sticky;
    z-index: 20;
}

.sticky-save-bar span {
    color: var(--muted);
    font-size: 13px;
    font-weight: 750;
}

.landing-pricing {
    background:
        radial-gradient(circle at top left, rgba(15, 118, 110, .12), transparent 32%),
        #f8faf9;
    padding: 78px max(24px, calc((100vw - 1180px) / 2));
}

.pricing-heading {
    margin: 0 auto 28px;
    max-width: 760px;
    text-align: center;
}

.pricing-heading h2 {
    font-size: clamp(32px, 4vw, 54px);
    line-height: 1.05;
    margin: 12px 0;
}

.pricing-heading p {
    color: #667085;
    line-height: 1.65;
    margin: 0;
}

.pricing-grid-public {
    display: grid;
    gap: 18px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.pricing-card-public {
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 22px;
    box-shadow: 0 18px 54px rgba(16, 24, 40, .07);
    display: grid;
    gap: 14px;
    padding: 24px;
    position: relative;
}

.pricing-card-public::before {
    background: linear-gradient(90deg, var(--primary), var(--accent));
    border-radius: 999px;
    content: "";
    height: 5px;
    left: 24px;
    position: absolute;
    right: 24px;
    top: 16px;
}

.pricing-card-public span {
    color: var(--primary);
    font-size: 12px;
    font-weight: 950;
    margin-top: 14px;
    text-transform: uppercase;
}

.pricing-card-public h3 {
    font-size: 24px;
    line-height: 1.18;
    margin: 0;
}

.pricing-card-public > strong {
    color: #101828;
    font-size: 34px;
}

.pricing-card-public p {
    color: #667085;
    line-height: 1.6;
    margin: 0;
    min-height: 78px;
}

.pricing-card-public.trial {
    border-color: rgba(15, 118, 110, .3);
    transform: translateY(-8px);
}

.signup-page {
    align-items: center;
    background:
        radial-gradient(circle at 20% 10%, rgba(15, 118, 110, .14), transparent 30%),
        linear-gradient(135deg, #f8fbfa, #eef4f3);
    display: grid;
    min-height: 100vh;
    padding: 24px;
}

.signup-card,
.signup-success-card {
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 22px;
    box-shadow: var(--shadow);
    margin: auto;
    max-width: 1040px;
    overflow: hidden;
    width: 100%;
}

.signup-card {
    display: grid;
    grid-template-columns: .9fr 1.1fr;
}

.signup-summary {
    background:
        linear-gradient(145deg, rgba(11, 95, 89, .96), rgba(16, 24, 40, .94)),
        radial-gradient(circle at top right, rgba(245, 158, 11, .42), transparent 38%);
    color: #fff;
    display: grid;
    gap: 16px;
    padding: 40px;
}

.signup-summary .eyebrow {
    color: #baf2eb;
}

.signup-summary h1 {
    font-size: 42px;
    line-height: 1.05;
    margin: 0;
}

.signup-summary > strong {
    color: #a7f3d0;
    font-size: 34px;
}

.signup-summary strong small {
    color: rgba(255, 255, 255, .7);
    font-size: 14px;
}

.signup-summary p,
.signup-summary li {
    color: rgba(255, 255, 255, .78);
    line-height: 1.55;
}

.signup-summary ul {
    display: grid;
    gap: 9px;
    margin: 0;
    padding-left: 18px;
}

.signup-form {
    display: grid;
    gap: 16px;
    padding: 40px;
}

.signup-form h2 {
    font-size: 26px;
    margin: 0;
}

.signup-success-card {
    display: grid;
    gap: 18px;
    max-width: 860px;
    padding: 42px;
}

.signup-success-card h1 {
    font-size: 44px;
    line-height: 1.05;
    margin: 0;
}

.signup-success-card p {
    color: #667085;
    line-height: 1.6;
    margin: 0;
}

.credential-grid {
    display: grid;
    gap: 12px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.credential-grid article {
    background: #f8faf9;
    border: 1px solid var(--line);
    border-radius: 12px;
    display: grid;
    gap: 7px;
    padding: 15px;
}

.credential-grid span {
    color: var(--muted);
    font-size: 12px;
    font-weight: 850;
    text-transform: uppercase;
}

.credential-grid strong {
    overflow-wrap: anywhere;
}

@keyframes float-card {
    0%,
    100% {
        transform: translateY(0) rotate(-8deg);
    }

    50% {
        transform: translateY(18px) rotate(-4deg);
    }
}

/* v278 theme 2 day/night button aligned with business title */
body.public-body > main.qr-menu.theme-noir-catalog button.hero-mode-toggle,
body.public-body > main.qr-menu.theme-noir-catalog.has-view-mode-toggle button.hero-mode-toggle,
body.public-body > main.qr-menu.theme-noir-catalog .menu-hero button.hero-mode-toggle,
body.public-body > main.qr-menu.theme-noir-catalog.has-view-mode-toggle .menu-hero button.hero-mode-toggle {
    align-items: center !important;
    clip: auto !important;
    display: inline-flex !important;
    height: 42px !important;
    inset: 48px 22px auto auto !important;
    justify-content: center !important;
    margin: 0 !important;
    min-height: 42px !important;
    min-width: 42px !important;
    opacity: 1 !important;
    overflow: visible !important;
    pointer-events: auto !important;
    position: absolute !important;
    transform: none !important;
    visibility: visible !important;
    width: 42px !important;
    z-index: 999 !important;
}

body.public-body > main.qr-menu.theme-noir-catalog[data-view-mode="light"] button.hero-mode-toggle {
    background: #111111 !important;
    border: 1px solid #111111 !important;
    color: #ffffff !important;
}

body.public-body > main.qr-menu.theme-noir-catalog[data-view-mode="dark"] button.hero-mode-toggle {
    background: #ffffff !important;
    border: 1px solid #ffffff !important;
    color: #111111 !important;
}

body.public-body > main.qr-menu.theme-noir-catalog button.hero-mode-toggle .mode-icon {
    align-items: center !important;
    color: currentColor !important;
    font-size: 18px !important;
    height: 1em !important;
    justify-content: center !important;
    line-height: 1 !important;
    width: 1em !important;
}

body.public-body > main.qr-menu.theme-noir-catalog[data-view-mode="light"] button.hero-mode-toggle .mode-icon-moon,
body.public-body > main.qr-menu.theme-noir-catalog[data-view-mode="dark"] button.hero-mode-toggle .mode-icon-sun {
    display: none !important;
}

body.public-body > main.qr-menu.theme-noir-catalog[data-view-mode="light"] button.hero-mode-toggle .mode-icon-sun,
body.public-body > main.qr-menu.theme-noir-catalog[data-view-mode="dark"] button.hero-mode-toggle .mode-icon-moon {
    display: inline-flex !important;
}

@media (max-width: 759px) {
    body.public-body > main.qr-menu.theme-noir-catalog button.hero-mode-toggle,
    body.public-body > main.qr-menu.theme-noir-catalog.has-view-mode-toggle button.hero-mode-toggle,
    body.public-body > main.qr-menu.theme-noir-catalog .menu-hero button.hero-mode-toggle,
    body.public-body > main.qr-menu.theme-noir-catalog.has-view-mode-toggle .menu-hero button.hero-mode-toggle {
        height: 40px !important;
        inset: 42px 12px auto auto !important;
        min-height: 40px !important;
        min-width: 40px !important;
        width: 40px !important;
    }
}

/* v285 theme 2 mobile-only sticky categories and top-right mode button */
@media (max-width: 759px) {
    body.public-body > main.qr-menu.theme-noir-catalog .menu-hero,
    body.public-body > main.qr-menu.theme-noir-catalog.has-cover .menu-hero,
    body.public-body > main.qr-menu.theme-noir-catalog:has(.menu-category:target) .menu-hero,
    body.public-body > main.qr-menu.theme-noir-catalog:has(.menu-product:target) .menu-hero {
        padding-right: 58px !important;
        position: relative !important;
    }

    body.public-body > main.qr-menu.theme-noir-catalog .theme2-title-row {
        padding-right: 0 !important;
    }

    body.public-body > main.qr-menu.theme-noir-catalog .theme2-title-row .menu-mode-toggle.hero-mode-toggle[data-mode-toggle],
    body.public-body > main.qr-menu.theme-noir-catalog .menu-hero .menu-mode-toggle.hero-mode-toggle[data-mode-toggle],
    body.public-body > main.qr-menu.theme-noir-catalog button.hero-mode-toggle {
        align-items: center !important;
        background: #111111 !important;
        border: 1px solid #111111 !important;
        border-radius: 999px !important;
        box-shadow: 0 10px 24px rgba(16, 17, 20, .18) !important;
        box-sizing: border-box !important;
        color: #ffffff !important;
        cursor: pointer !important;
        display: inline-flex !important;
        height: 38px !important;
        inset: 10px 10px auto auto !important;
        justify-content: center !important;
        margin: 0 !important;
        min-height: 38px !important;
        min-width: 38px !important;
        opacity: 1 !important;
        overflow: visible !important;
        padding: 0 !important;
        pointer-events: auto !important;
        position: absolute !important;
        transform: none !important;
        visibility: visible !important;
        width: 38px !important;
        z-index: 10000 !important;
    }

    body.public-body > main.qr-menu.theme-noir-catalog[data-view-mode="dark"] .theme2-title-row .menu-mode-toggle.hero-mode-toggle[data-mode-toggle],
    body.public-body > main.qr-menu.theme-noir-catalog[data-view-mode="dark"] .menu-hero .menu-mode-toggle.hero-mode-toggle[data-mode-toggle],
    body.public-body > main.qr-menu.theme-noir-catalog[data-view-mode="dark"] button.hero-mode-toggle {
        background: #ffffff !important;
        border-color: #ffffff !important;
        color: #111111 !important;
    }

    body.public-body > main.qr-menu.theme-noir-catalog .menu-toolbar,
    body.public-body > main.qr-menu.theme-noir-catalog.noir-toolbar-fixed .menu-toolbar,
    body.public-body > main.qr-menu.theme-noir-catalog.is-noir-deep-link .menu-toolbar,
    body.public-body > main.qr-menu.theme-noir-catalog:has(.menu-category:target) .menu-toolbar,
    body.public-body > main.qr-menu.theme-noir-catalog:has(.menu-product:target) .menu-toolbar,
    html.has-menu-deep-link body.public-body > main.qr-menu.theme-noir-catalog .menu-toolbar,
    html.is-menu-deep-link-booting body.public-body > main.qr-menu.theme-noir-catalog .menu-toolbar {
        box-sizing: border-box !important;
        display: grid !important;
        gap: 8px !important;
        grid-template-columns: 1fr !important;
        inset: auto !important;
        left: auto !important;
        margin: 0 !important;
        max-width: none !important;
        padding: 10px !important;
        position: sticky !important;
        right: auto !important;
        top: 0 !important;
        transform: none !important;
        width: 100% !important;
        z-index: 1200 !important;
    }

    body.public-body > main.qr-menu.theme-noir-catalog .menu-content,
    body.public-body > main.qr-menu.theme-noir-catalog.noir-toolbar-fixed .menu-content,
    body.public-body > main.qr-menu.theme-noir-catalog.is-noir-deep-link .menu-content,
    body.public-body > main.qr-menu.theme-noir-catalog:has(.menu-category:target) .menu-content,
    body.public-body > main.qr-menu.theme-noir-catalog:has(.menu-product:target) .menu-content,
    html.has-menu-deep-link body.public-body > main.qr-menu.theme-noir-catalog .menu-content,
    html.is-menu-deep-link-booting body.public-body > main.qr-menu.theme-noir-catalog .menu-content {
        padding-top: 12px !important;
    }

    body.public-body > main.qr-menu.theme-noir-catalog .menu-category,
    body.public-body > main.qr-menu.theme-noir-catalog .menu-product {
        scroll-margin-top: calc(var(--noir-toolbar-height, 94px) + 12px) !important;
    }
}

/* v285 final mobile-only rules for theme 2 */
@media (max-width: 759px) {
    body.public-body > main.qr-menu.theme-noir-catalog .menu-hero {
        padding-right: 58px !important;
        position: relative !important;
    }

    body.public-body > main.qr-menu.theme-noir-catalog .theme2-title-row .menu-mode-toggle.hero-mode-toggle[data-mode-toggle],
    body.public-body > main.qr-menu.theme-noir-catalog .menu-hero .menu-mode-toggle.hero-mode-toggle[data-mode-toggle],
    body.public-body > main.qr-menu.theme-noir-catalog button.hero-mode-toggle {
        background: #111111 !important;
        border: 1px solid #111111 !important;
        border-radius: 999px !important;
        box-shadow: 0 10px 24px rgba(16, 17, 20, .18) !important;
        color: #ffffff !important;
        display: inline-flex !important;
        height: 38px !important;
        inset: 10px 10px auto auto !important;
        margin: 0 !important;
        min-height: 38px !important;
        min-width: 38px !important;
        opacity: 1 !important;
        position: absolute !important;
        transform: none !important;
        visibility: visible !important;
        width: 38px !important;
        z-index: 10000 !important;
    }

    body.public-body > main.qr-menu.theme-noir-catalog[data-view-mode="dark"] .theme2-title-row .menu-mode-toggle.hero-mode-toggle[data-mode-toggle],
    body.public-body > main.qr-menu.theme-noir-catalog[data-view-mode="dark"] .menu-hero .menu-mode-toggle.hero-mode-toggle[data-mode-toggle],
    body.public-body > main.qr-menu.theme-noir-catalog[data-view-mode="dark"] button.hero-mode-toggle {
        background: #ffffff !important;
        border-color: #ffffff !important;
        color: #111111 !important;
    }

    body.public-body > main.qr-menu.theme-noir-catalog .menu-toolbar,
    body.public-body > main.qr-menu.theme-noir-catalog.noir-toolbar-fixed .menu-toolbar,
    body.public-body > main.qr-menu.theme-noir-catalog.is-noir-deep-link .menu-toolbar,
    body.public-body > main.qr-menu.theme-noir-catalog:has(.menu-category:target) .menu-toolbar,
    body.public-body > main.qr-menu.theme-noir-catalog:has(.menu-product:target) .menu-toolbar,
    html.has-menu-deep-link body.public-body > main.qr-menu.theme-noir-catalog .menu-toolbar,
    html.is-menu-deep-link-booting body.public-body > main.qr-menu.theme-noir-catalog .menu-toolbar {
        inset: auto !important;
        left: auto !important;
        margin: 0 !important;
        padding: 10px !important;
        position: sticky !important;
        right: auto !important;
        top: 0 !important;
        transform: none !important;
        width: 100% !important;
        z-index: 1200 !important;
    }

    body.public-body > main.qr-menu.theme-noir-catalog .menu-content,
    body.public-body > main.qr-menu.theme-noir-catalog.noir-toolbar-fixed .menu-content,
    body.public-body > main.qr-menu.theme-noir-catalog.is-noir-deep-link .menu-content,
    body.public-body > main.qr-menu.theme-noir-catalog:has(.menu-category:target) .menu-content,
    body.public-body > main.qr-menu.theme-noir-catalog:has(.menu-product:target) .menu-content {
        padding-top: 12px !important;
    }
}

/* v284 theme 2 mobile-only sticky categories and top-right mode button */
@media (max-width: 759px) {
    body.public-body > main.qr-menu.theme-noir-catalog .menu-hero,
    body.public-body > main.qr-menu.theme-noir-catalog.has-cover .menu-hero,
    body.public-body > main.qr-menu.theme-noir-catalog:has(.menu-category:target) .menu-hero,
    body.public-body > main.qr-menu.theme-noir-catalog:has(.menu-product:target) .menu-hero {
        padding-right: 58px !important;
        position: relative !important;
    }

    body.public-body > main.qr-menu.theme-noir-catalog .theme2-title-row {
        padding-right: 0 !important;
    }

    body.public-body > main.qr-menu.theme-noir-catalog .theme2-title-row .menu-mode-toggle.hero-mode-toggle[data-mode-toggle],
    body.public-body > main.qr-menu.theme-noir-catalog .menu-hero .menu-mode-toggle.hero-mode-toggle[data-mode-toggle],
    body.public-body > main.qr-menu.theme-noir-catalog button.hero-mode-toggle {
        align-items: center !important;
        background: #111111 !important;
        border: 1px solid #111111 !important;
        border-radius: 999px !important;
        box-shadow: 0 10px 24px rgba(16, 17, 20, .18) !important;
        box-sizing: border-box !important;
        color: #ffffff !important;
        display: inline-flex !important;
        height: 38px !important;
        inset: 10px 10px auto auto !important;
        justify-content: center !important;
        margin: 0 !important;
        min-height: 38px !important;
        min-width: 38px !important;
        opacity: 1 !important;
        overflow: visible !important;
        pointer-events: auto !important;
        position: absolute !important;
        transform: none !important;
        visibility: visible !important;
        width: 38px !important;
        z-index: 10000 !important;
    }

    body.public-body > main.qr-menu.theme-noir-catalog[data-view-mode="dark"] .theme2-title-row .menu-mode-toggle.hero-mode-toggle[data-mode-toggle],
    body.public-body > main.qr-menu.theme-noir-catalog[data-view-mode="dark"] .menu-hero .menu-mode-toggle.hero-mode-toggle[data-mode-toggle],
    body.public-body > main.qr-menu.theme-noir-catalog[data-view-mode="dark"] button.hero-mode-toggle {
        background: #ffffff !important;
        border-color: #ffffff !important;
        color: #111111 !important;
    }

    body.public-body > main.qr-menu.theme-noir-catalog .menu-toolbar,
    body.public-body > main.qr-menu.theme-noir-catalog.noir-toolbar-fixed .menu-toolbar,
    body.public-body > main.qr-menu.theme-noir-catalog.is-noir-deep-link .menu-toolbar,
    body.public-body > main.qr-menu.theme-noir-catalog:has(.menu-category:target) .menu-toolbar,
    body.public-body > main.qr-menu.theme-noir-catalog:has(.menu-product:target) .menu-toolbar,
    html.has-menu-deep-link body.public-body > main.qr-menu.theme-noir-catalog .menu-toolbar,
    html.is-menu-deep-link-booting body.public-body > main.qr-menu.theme-noir-catalog .menu-toolbar {
        box-sizing: border-box !important;
        display: grid !important;
        gap: 8px !important;
        grid-template-columns: 1fr !important;
        inset: auto !important;
        left: auto !important;
        margin: 0 !important;
        max-width: none !important;
        padding: 10px !important;
        position: sticky !important;
        right: auto !important;
        top: 0 !important;
        transform: none !important;
        width: 100% !important;
        z-index: 1200 !important;
    }

    body.public-body > main.qr-menu.theme-noir-catalog .menu-content,
    body.public-body > main.qr-menu.theme-noir-catalog.noir-toolbar-fixed .menu-content,
    body.public-body > main.qr-menu.theme-noir-catalog.is-noir-deep-link .menu-content,
    body.public-body > main.qr-menu.theme-noir-catalog:has(.menu-category:target) .menu-content,
    body.public-body > main.qr-menu.theme-noir-catalog:has(.menu-product:target) .menu-content,
    html.has-menu-deep-link body.public-body > main.qr-menu.theme-noir-catalog .menu-content,
    html.is-menu-deep-link-booting body.public-body > main.qr-menu.theme-noir-catalog .menu-content {
        padding-top: 12px !important;
    }

    body.public-body > main.qr-menu.theme-noir-catalog .menu-category,
    body.public-body > main.qr-menu.theme-noir-catalog .menu-product {
        scroll-margin-top: calc(var(--noir-toolbar-height, 94px) + 12px) !important;
    }
}

/* v281 final hard reset for theme 2 day/night button */
body.public-body > main.qr-menu.theme-noir-catalog .menu-hero .menu-mode-toggle.hero-mode-toggle[data-mode-toggle] {
    all: unset !important;
    align-items: center !important;
    background: #111111 !important;
    border: 1px solid #111111 !important;
    border-radius: 999px !important;
    box-shadow: 0 12px 28px rgba(16, 17, 20, .18) !important;
    box-sizing: border-box !important;
    color: #ffffff !important;
    cursor: pointer !important;
    display: inline-flex !important;
    height: 42px !important;
    justify-content: center !important;
    opacity: 1 !important;
    overflow: visible !important;
    pointer-events: auto !important;
    position: absolute !important;
    right: 22px !important;
    top: 48px !important;
    visibility: visible !important;
    width: 42px !important;
    z-index: 9999 !important;
}

body.public-body > main.qr-menu.theme-noir-catalog[data-view-mode="dark"] .menu-hero .menu-mode-toggle.hero-mode-toggle[data-mode-toggle] {
    background: #ffffff !important;
    border-color: #ffffff !important;
    color: #111111 !important;
}

body.public-body > main.qr-menu.theme-noir-catalog .menu-hero .menu-mode-toggle.hero-mode-toggle[data-mode-toggle] .mode-icon {
    align-items: center !important;
    color: currentColor !important;
    display: inline-flex !important;
    font-size: 18px !important;
    height: 18px !important;
    justify-content: center !important;
    line-height: 1 !important;
    width: 18px !important;
}

body.public-body > main.qr-menu.theme-noir-catalog[data-view-mode="light"] .menu-hero .menu-mode-toggle.hero-mode-toggle[data-mode-toggle] .mode-icon-moon,
body.public-body > main.qr-menu.theme-noir-catalog[data-view-mode="dark"] .menu-hero .menu-mode-toggle.hero-mode-toggle[data-mode-toggle] .mode-icon-sun,
body.public-body > main.qr-menu.theme-noir-catalog .menu-hero .menu-mode-toggle.hero-mode-toggle[data-mode-toggle] .sr-only {
    display: none !important;
}

@media (max-width: 759px) {
    body.public-body > main.qr-menu.theme-noir-catalog .menu-hero .menu-mode-toggle.hero-mode-toggle[data-mode-toggle] {
        height: 40px !important;
        right: 12px !important;
        top: 42px !important;
        width: 40px !important;
    }
}

/* v283 theme 2 title-row mode button */
body.public-body > main.qr-menu.theme-noir-catalog .theme2-title-row {
    align-items: center !important;
    display: flex !important;
    gap: 10px !important;
    min-width: 0 !important;
}

body.public-body > main.qr-menu.theme-noir-catalog .theme2-title-row h1 {
    flex: 0 1 auto !important;
    min-width: 0 !important;
}

body.public-body > main.qr-menu.theme-noir-catalog .theme2-title-row .menu-mode-toggle.hero-mode-toggle[data-mode-toggle] {
    all: unset !important;
    align-items: center !important;
    background: #111111 !important;
    border: 1px solid #111111 !important;
    border-radius: 999px !important;
    box-shadow: 0 10px 24px rgba(16, 17, 20, .16) !important;
    box-sizing: border-box !important;
    color: #ffffff !important;
    cursor: pointer !important;
    display: inline-flex !important;
    flex: 0 0 auto !important;
    height: 38px !important;
    justify-content: center !important;
    opacity: 1 !important;
    overflow: visible !important;
    position: static !important;
    visibility: visible !important;
    width: 38px !important;
}

body.public-body > main.qr-menu.theme-noir-catalog[data-view-mode="dark"] .theme2-title-row .menu-mode-toggle.hero-mode-toggle[data-mode-toggle] {
    background: #ffffff !important;
    border-color: #ffffff !important;
    color: #111111 !important;
}

body.public-body > main.qr-menu.theme-noir-catalog .theme2-title-row .menu-mode-toggle.hero-mode-toggle[data-mode-toggle] .mode-icon {
    color: currentColor !important;
    display: inline-flex !important;
    font-size: 17px !important;
    line-height: 1 !important;
}

body.public-body > main.qr-menu.theme-noir-catalog[data-view-mode="light"] .theme2-title-row .menu-mode-toggle.hero-mode-toggle[data-mode-toggle] .mode-icon-moon,
body.public-body > main.qr-menu.theme-noir-catalog[data-view-mode="dark"] .theme2-title-row .menu-mode-toggle.hero-mode-toggle[data-mode-toggle] .mode-icon-sun,
body.public-body > main.qr-menu.theme-noir-catalog .theme2-title-row .menu-mode-toggle.hero-mode-toggle[data-mode-toggle] .sr-only {
    display: none !important;
}

@media (max-width: 759px) {
    body.public-body > main.qr-menu.theme-noir-catalog .theme2-title-row {
        gap: 8px !important;
    }

    body.public-body > main.qr-menu.theme-noir-catalog .theme2-title-row .menu-mode-toggle.hero-mode-toggle[data-mode-toggle] {
        height: 34px !important;
        width: 34px !important;
    }
}

/* v280 hard reset for theme 2 day/night button */
body.public-body > main.qr-menu.theme-noir-catalog .menu-hero .menu-mode-toggle.hero-mode-toggle[data-mode-toggle] {
    all: unset !important;
    align-items: center !important;
    background: #111111 !important;
    border: 1px solid #111111 !important;
    border-radius: 999px !important;
    box-shadow: 0 12px 28px rgba(16, 17, 20, .18) !important;
    box-sizing: border-box !important;
    color: #ffffff !important;
    cursor: pointer !important;
    display: inline-flex !important;
    height: 42px !important;
    justify-content: center !important;
    opacity: 1 !important;
    overflow: visible !important;
    position: absolute !important;
    right: 22px !important;
    top: 48px !important;
    visibility: visible !important;
    width: 42px !important;
    z-index: 9999 !important;
}

body.public-body > main.qr-menu.theme-noir-catalog[data-view-mode="dark"] .menu-hero .menu-mode-toggle.hero-mode-toggle[data-mode-toggle] {
    background: #ffffff !important;
    border-color: #ffffff !important;
    color: #111111 !important;
}

body.public-body > main.qr-menu.theme-noir-catalog .menu-hero .menu-mode-toggle.hero-mode-toggle[data-mode-toggle] .mode-icon {
    align-items: center !important;
    color: currentColor !important;
    display: inline-flex !important;
    font-size: 18px !important;
    height: 18px !important;
    justify-content: center !important;
    line-height: 1 !important;
    width: 18px !important;
}

body.public-body > main.qr-menu.theme-noir-catalog[data-view-mode="light"] .menu-hero .menu-mode-toggle.hero-mode-toggle[data-mode-toggle] .mode-icon-moon,
body.public-body > main.qr-menu.theme-noir-catalog[data-view-mode="dark"] .menu-hero .menu-mode-toggle.hero-mode-toggle[data-mode-toggle] .mode-icon-sun,
body.public-body > main.qr-menu.theme-noir-catalog .menu-hero .menu-mode-toggle.hero-mode-toggle[data-mode-toggle] .sr-only {
    display: none !important;
}

@media (max-width: 759px) {
    body.public-body > main.qr-menu.theme-noir-catalog .menu-hero .menu-mode-toggle.hero-mode-toggle[data-mode-toggle] {
        height: 40px !important;
        right: 12px !important;
        top: 42px !important;
        width: 40px !important;
    }
}

@keyframes scan-move {
    0%,
    100% {
        transform: translateY(0);
        opacity: .2;
    }

    50% {
        transform: translateY(220px);
        opacity: 1;
    }
}

@media (max-width: 1020px) {
    .panel-body {
        grid-template-columns: 1fr;
    }

    .sidebar {
        min-height: auto;
        position: static;
    }

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

    .panel-form.two-column,
    .stat-grid,
    .quick-actions,
    .info-grid,
    .theme-preview-grid,
    .qr-page,
    .landing-features {
        grid-template-columns: 1fr 1fr;
    }

    .landing-stage,
    .landing-showcase {
        grid-template-columns: 1fr;
    }

    .landing-feature-band,
    .showcase-themes,
    .pricing-admin-grid,
    .pricing-grid-public {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 720px) {
    .auth-shell,
    .install-page {
        padding: 12px;
    }

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

    .login-hero {
        min-height: 300px;
        padding: 32px;
    }

    .login-hero h1,
    .landing-hero h1,
    .menu-hero h1 {
        font-size: 38px;
    }

    .login-form,
    .install-card,
    .panel-main {
        padding: 20px;
    }

    .page-header {
        align-items: flex-start;
        flex-direction: column;
    }

    .header-actions,
    .language-adder {
        width: 100%;
    }

    .language-adder {
        grid-template-columns: 1fr;
    }

    .panel-form.two-column,
    .stat-grid,
    .quick-actions,
    .info-grid,
    .field-grid,
    .check-grid,
    .theme-preview-grid,
    .qr-page,
    .landing-features {
        grid-template-columns: 1fr;
    }

    .nav-list {
        grid-template-columns: 1fr;
    }

    .menu-hero {
        min-height: 300px;
    }

    .menu-hero-content {
        padding-top: 64px;
    }

    .locale-switcher {
        left: 18px;
        right: auto;
    }

    .menu-toolbar {
        padding: 12px;
    }

    .menu-content {
        padding: 16px 12px 54px;
    }

    .menu-footer {
        align-items: flex-start;
        flex-direction: column;
    }

    .qr-menu.layout-two-column .product-grid-public {
        gap: 10px;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .qr-menu.layout-two-column .product-title-row {
        align-items: start;
        flex-direction: column;
        gap: 6px;
    }

    .qr-menu.layout-two-column .product-info {
        padding: 11px;
    }

    .qr-menu.layout-two-column .product-title-row h3 {
        font-size: 16px;
    }

    .qr-menu.layout-horizontal .product-grid-public,
    .theme-fast-casual .product-grid-public {
        grid-template-columns: 1fr;
    }

    .qr-menu.layout-horizontal .menu-product,
    .theme-fast-casual .menu-product {
        display: grid;
        grid-template-columns: 118px minmax(0, 1fr);
        min-height: 128px;
    }

    .qr-menu.layout-horizontal .product-media,
    .theme-fast-casual .product-media {
        aspect-ratio: auto;
        min-height: 100%;
    }

    .qr-menu.layout-horizontal .logo-placeholder,
    .theme-fast-casual .logo-placeholder {
        padding: 16px;
    }

    .qr-menu.layout-horizontal .logo-placeholder::before,
    .theme-fast-casual .logo-placeholder::before {
        border-radius: 12px;
        inset: 12px;
    }

    .qr-menu.layout-horizontal .product-info,
    .theme-fast-casual .product-info {
        padding: 12px;
    }

    .qr-menu.layout-two-column .product-description-trigger span {
        line-clamp: 2;
        -webkit-line-clamp: 2;
    }

    .qr-menu.layout-horizontal .product-title-row,
    .theme-fast-casual .product-title-row {
        flex-direction: column;
        gap: 5px;
    }

    .filter-bar,
    .comment-admin-card,
    .landing-stage,
    .landing-showcase,
    .showcase-themes,
    .landing-feature-band,
    .pricing-admin-grid,
    .pricing-grid-public,
    .signup-card,
    .credential-grid {
        grid-template-columns: 1fr;
    }

    .landing-stage {
        gap: 24px;
        min-height: auto;
        padding: 42px 16px;
    }

    .landing-copy h1 {
        font-size: 40px;
    }

    .landing-copy p {
        font-size: 16px;
    }

    .landing-stats {
        grid-template-columns: auto minmax(0, 1fr);
    }

    .landing-visual {
        min-height: 520px;
    }

    .phone-preview {
        left: 62px;
        right: auto;
        width: 260px;
    }

    .qr-demo-card {
        left: 0;
        top: 52px;
        width: 156px;
    }

    .qr-pattern {
        grid-template-columns: repeat(3, 27px);
    }

    .qr-pattern i {
        height: 27px;
    }

    .landing-feature-band,
    .landing-showcase {
        padding-left: 16px;
        padding-right: 16px;
    }

    .bulk-toolbar,
    .filter-actions,
    .comment-actions,
    .sticky-save-bar {
        align-items: stretch;
        flex-direction: column;
    }

    .landing-pricing,
    .signup-page {
        padding-left: 16px;
        padding-right: 16px;
    }

    .signup-summary,
    .signup-form,
    .signup-success-card {
        padding: 24px;
    }

    .signup-summary h1,
    .signup-success-card h1 {
        font-size: 34px;
    }

    .pricing-card-public.trial {
        transform: none;
    }

    .comment-field-grid {
        grid-template-columns: 1fr;
    }

    .qr-menu.layout-two-column .product-media {
        aspect-ratio: 1 / 1;
    }

    .qr-menu.layout-two-column .product-description-short,
    .qr-menu.layout-two-column .product-description-trigger,
    .qr-menu.layout-two-column .ingredients-line,
    .qr-menu.layout-two-column .pill-row span {
        font-size: 11px;
    }

    .qr-menu.layout-two-column .pill-row {
        gap: 5px;
    }

    .qr-menu.layout-two-column .pill-row span {
        padding: 5px 7px;
    }

    .qr-menu.layout-two-column .goes-with,
    .qr-menu.layout-two-column .product-comments {
        font-size: 12px;
    }

    .theme-pro-showcase .menu-hero {
        border-radius: 0 0 24px 24px;
        min-height: 330px;
        padding: 16px;
    }

    .theme-pro-showcase .menu-hero-content {
        padding-top: 64px;
    }

    .theme-pro-showcase .menu-logo {
        height: 72px;
        width: 72px;
    }

    .theme-pro-showcase .menu-hero h1 {
        font-size: 32px;
    }

    .theme-pro-showcase .hero-contact-row {
        gap: 8px;
        max-width: 100%;
    }

    .theme-pro-showcase .hero-contact-row a,
    .theme-pro-showcase .hero-contact-row span {
        font-size: 12px;
        max-width: calc(100vw - 28px);
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
        min-height: 38px;
        padding: 7px 10px;
    }

    .theme-pro-showcase .menu-toolbar {
        gap: 10px;
        padding: 12px;
    }

    .theme-pro-showcase .category-tabs a {
        font-size: 12px;
        padding: 9px 12px;
    }

    .theme-pro-showcase .category-showcase {
        padding: 22px 12px 0;
    }

    .theme-pro-showcase .category-showcase > div {
        gap: 12px;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .theme-pro-showcase .category-showcase a {
        aspect-ratio: 1 / .78;
        border-radius: 14px;
        padding: 12px;
    }

    .theme-pro-showcase .category-showcase strong {
        font-size: 15px;
    }

    .theme-pro-showcase .menu-content {
        padding-left: 12px;
        padding-right: 12px;
        overflow: hidden;
    }

    .theme-pro-showcase .pro-back-bar {
        justify-content: flex-start;
    }

    .theme-pro-showcase .pro-back-bar strong {
        display: none;
    }

    .theme-pro-showcase .product-grid-public {
        gap: 14px;
    }

    .theme-pro-showcase .menu-product {
        border-radius: 18px;
    }

    .theme-pro-showcase .product-media {
        aspect-ratio: 16 / 10;
    }

    .theme-pro-showcase .product-title-row h3 {
        font-size: 17px;
    }

    .theme-pro-showcase .price-stack strong {
        font-size: 14px;
        padding: 5px 8px;
    }

    .theme-pro-showcase.layout-two-column .product-grid-public {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .theme-pro-showcase.layout-two-column .product-info {
        padding: 10px;
    }

    .theme-pro-showcase.layout-two-column .product-title-row {
        flex-direction: column;
    }

    .theme-pro-showcase.layout-two-column .product-title-row h3 {
        font-size: 14px;
    }

    .theme-pro-showcase.layout-two-column .price-stack {
        justify-items: start;
    }

    .theme-pro-showcase.layout-two-column .product-description-short,
    .theme-pro-showcase.layout-two-column .product-description-trigger,
    .theme-pro-showcase.layout-two-column .ingredients-line,
    .theme-pro-showcase.layout-two-column .pill-row span {
        font-size: 10px;
    }

    .theme-qrmenu-rest-demo {
        padding-top: 56px;
    }

    .rest-appbar {
        padding: 0 10px;
    }

    .rest-appbar strong {
        font-size: 14px;
    }

    .theme-qrmenu-rest-demo .menu-hero {
        border-radius: 0 0 22px 22px;
        min-height: 292px;
        padding: 14px;
    }

    .theme-qrmenu-rest-demo .menu-logo {
        height: 78px;
        width: 78px;
    }

    .theme-qrmenu-rest-demo .menu-hero h1 {
        font-size: 28px;
    }

    .theme-qrmenu-rest-demo .hero-contact-row a,
    .theme-qrmenu-rest-demo .hero-contact-row span {
        font-size: 11px;
        max-width: calc(100vw - 28px);
        min-height: 34px;
        padding: 6px 9px;
    }

    .rest-recommendations,
    .rest-popular,
    .theme-qrmenu-rest-demo .category-showcase {
        padding-left: 12px;
        padding-right: 12px;
    }

    .rest-recommendations a,
    .rest-popular a {
        flex-basis: 92px;
    }

    .theme-qrmenu-rest-demo .category-showcase > div {
        gap: 10px;
    }

    .theme-qrmenu-rest-demo .category-showcase a {
        aspect-ratio: 1 / .64;
        min-height: 108px;
    }

    .theme-qrmenu-rest-demo .category-showcase strong {
        font-size: 14px;
    }

    .theme-qrmenu-rest-demo .menu-content {
        padding-left: 12px;
        padding-right: 12px;
    }

    .theme-qrmenu-rest-demo .pro-back-bar strong {
        display: none;
    }

    .theme-qrmenu-rest-demo .product-grid-public {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .classic-topbar {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        padding: 8px 10px;
    }

    .theme-menum-classic .menu-toolbar {
        top: 82px;
    }

    .theme-menum-classic .menu-hero {
        min-height: 268px;
    }

    .theme-menum-classic .menu-logo {
        height: 76px;
        width: 76px;
    }

    .theme-menum-classic .menu-content {
        padding-left: 12px;
        padding-right: 12px;
    }

    .theme-menum-classic .menu-product {
        grid-template-columns: 116px minmax(0, 1fr);
        min-height: 134px;
    }

    .theme-menum-classic .product-info {
        padding: 10px;
    }

    .theme-menum-classic .product-title-row {
        align-items: flex-start;
        flex-direction: column;
        gap: 5px;
    }

    .theme-menum-classic .product-title-row h3 {
        font-size: 15px;
    }

    .theme-menum-classic .price-stack {
        align-items: flex-start;
    }

    .theme-menum-classic .product-description-short,
    .theme-menum-classic .product-description-trigger,
    .theme-menum-classic .ingredients-line,
    .theme-menum-classic .pill-row span {
        font-size: 11px;
    }

    .theme-menum-classic .goes-with {
        display: none;
    }

    .classic-language-card {
        border-radius: 22px;
        padding: 28px 24px 24px;
    }

    .qr-menu .product-grid-public {
        gap: 10px;
        grid-auto-rows: auto;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .qr-menu .menu-product {
        border-radius: 12px;
        min-height: auto;
    }

    .qr-menu .product-media {
        aspect-ratio: auto !important;
        flex: 0 0 auto;
        height: 112px;
        max-height: 112px;
        min-height: 112px;
        overflow: hidden;
    }

    .qr-menu .product-media img,
    .qr-menu .image-placeholder {
        flex: 0 0 auto;
        height: 112px;
        object-fit: cover;
        width: 100%;
    }

    .qr-menu .logo-placeholder {
        flex: 0 0 auto;
        height: 112px;
        padding: 12px;
    }

    .qr-menu .logo-placeholder::before {
        border-radius: 12px;
        inset: 12px;
    }

    .qr-menu .logo-placeholder img {
        max-height: 68%;
        max-width: 68%;
    }

    .qr-menu .product-info {
        gap: 6px;
        grid-template-rows: none;
        min-width: 0;
        padding: 9px;
    }

    .qr-menu .product-title-row {
        align-items: flex-start;
        flex-direction: column;
        gap: 4px;
    }

    .qr-menu .product-title-row h3 {
        display: -webkit-box;
        font-size: 14px;
        line-height: 1.18;
        overflow: hidden;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
    }

    .qr-menu .price-stack {
        align-items: flex-start;
        justify-items: start;
    }

    .qr-menu .price-stack strong {
        font-size: 12px;
        line-height: 1;
        padding: 5px 7px;
    }

    .qr-menu .product-description-short,
    .qr-menu .product-description-trigger {
        display: -webkit-box;
        font-size: 11px;
        line-height: 1.28;
        overflow: hidden;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
    }

    .qr-menu .product-description-trigger small {
        font-size: 10px;
    }

    .qr-menu .ingredients-line,
    .qr-menu .pill-row,
    .qr-menu .goes-with {
        display: none;
    }

    .qr-menu .product-action-row {
        gap: 6px;
        margin-top: 2px;
    }

    .qr-menu .product-detail-button {
        font-size: 11px;
        min-height: 30px;
        padding: 6px 8px;
    }

    .qr-menu .product-comments summary {
        height: 30px;
        min-width: 34px;
        width: auto;
    }

    .qr-menu.display-visual-price .product-media {
        height: 132px;
        max-height: 132px;
        min-height: 132px;
    }

    .qr-menu.display-visual-price .product-media img,
    .qr-menu.display-visual-price .image-placeholder,
    .qr-menu.display-visual-price .logo-placeholder {
        height: 132px;
        max-height: 132px;
        min-height: 132px;
    }

    .theme-pro-showcase .menu-hero,
    .theme-qrmenu-rest-demo .menu-hero {
        min-height: 256px;
    }

    .theme-pro-showcase .menu-logo,
    .theme-qrmenu-rest-demo .menu-logo {
        height: 68px;
        width: 68px;
    }

    .theme-pro-showcase .product-grid-public,
    .theme-qrmenu-rest-demo .product-grid-public {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .theme-pro-showcase .product-media,
    .theme-qrmenu-rest-demo .product-media {
        height: 108px;
        max-height: 108px;
        min-height: 108px;
    }

    .theme-pro-showcase .product-media img,
    .theme-pro-showcase .image-placeholder,
    .theme-qrmenu-rest-demo .product-media img,
    .theme-qrmenu-rest-demo .image-placeholder,
    .theme-pro-showcase .logo-placeholder,
    .theme-qrmenu-rest-demo .logo-placeholder {
        height: 108px;
    }

    .theme-pro-showcase .menu-product {
        border-radius: 14px;
    }

    .theme-qrmenu-rest-demo .menu-product {
        border-radius: 10px;
    }

    .theme-menum-classic .menu-hero {
        min-height: 220px;
    }

    .theme-menum-classic .product-grid-public {
        gap: 9px;
        grid-template-columns: 1fr;
    }

    .theme-menum-classic .menu-product {
        grid-template-columns: 92px minmax(0, 1fr);
        min-height: 104px;
    }

    .theme-menum-classic .product-media,
    .theme-menum-classic .product-media img,
    .theme-menum-classic .image-placeholder,
    .theme-menum-classic .logo-placeholder {
        height: 104px;
        max-height: 104px;
        min-height: 104px;
    }

    .theme-menum-classic .logo-placeholder {
        padding: 10px;
    }

    .theme-menum-classic .product-info {
        gap: 5px;
        padding: 8px 9px;
    }

    .theme-menum-classic .product-title-row h3 {
        font-size: 14px;
    }

    .theme-menum-classic .price-stack strong {
        font-size: 12px;
        padding: 5px 8px;
    }

    .theme-menum-classic .product-action-row {
        justify-content: flex-start;
    }
}

@media (max-width: 420px) {
    .classic-language-modal {
        padding: 14px;
    }

    .classic-language-card {
        border-radius: 20px;
        max-width: calc(100vw - 24px);
        padding: 26px 20px 22px;
    }

    .qr-menu .product-grid-public {
        gap: 8px;
    }

    .qr-menu .product-media,
    .qr-menu .product-media img,
    .qr-menu .image-placeholder,
    .qr-menu .logo-placeholder {
        height: 96px;
        max-height: 96px;
        min-height: 96px;
    }

    .qr-menu .product-info {
        padding: 8px;
    }

    .qr-menu .product-title-row h3 {
        font-size: 13px;
    }

    .theme-pro-showcase .product-media,
    .theme-pro-showcase .product-media img,
    .theme-pro-showcase .image-placeholder,
    .theme-pro-showcase .logo-placeholder,
    .theme-qrmenu-rest-demo .product-media,
    .theme-qrmenu-rest-demo .product-media img,
    .theme-qrmenu-rest-demo .image-placeholder,
    .theme-qrmenu-rest-demo .logo-placeholder {
        height: 92px;
        max-height: 92px;
        min-height: 92px;
    }

    .theme-pro-showcase .category-showcase a,
    .theme-qrmenu-rest-demo .category-showcase a {
        min-height: 96px;
    }

    .rest-recommendations a,
    .rest-popular a {
        flex-basis: 82px;
    }

    .qr-menu:not(.theme-menum-classic) .product-description-short,
    .qr-menu:not(.theme-menum-classic) .product-description-trigger {
        -webkit-line-clamp: 1;
    }

    .theme-menum-classic .menu-product {
        grid-template-columns: 84px minmax(0, 1fr);
        min-height: 96px;
    }

    .theme-menum-classic .product-media,
    .theme-menum-classic .product-media img,
    .theme-menum-classic .image-placeholder,
    .theme-menum-classic .logo-placeholder {
        height: 96px;
        max-height: 96px;
        min-height: 96px;
    }

    .qr-menu.display-visual-price .product-media,
    .qr-menu.display-visual-price .product-media img,
    .qr-menu.display-visual-price .image-placeholder,
    .qr-menu.display-visual-price .logo-placeholder {
        height: 118px;
        max-height: 118px;
        min-height: 118px;
    }
}

/* hide empty mobile dock when cart, bell and valet/order actions are off */
.public-body .qr-menu:not(.has-cart-action):not(.has-service-action) .mobile-actions {
    display: none !important;
}

@media (max-width: 760px) {
    .public-body .qr-menu:not(.has-cart-action):not(.has-service-action) {
        padding-bottom: 0 !important;
    }
}

/* final QR menu compact phones: iPhone 15 / 393px viewport */
@media (max-width: 420px) {
    html,
    body.public-body,
    body.public-body > main.qr-menu {
        max-width: 100vw !important;
        overflow-x: hidden !important;
    }

    body.public-body > main.qr-menu {
        --compact-inline-pad: 10px;
    }

    body.public-body > main.qr-menu .menu-main-flow,
    body.public-body > main.qr-menu .menu-hero,
    body.public-body > main.qr-menu .menu-toolbar,
    body.public-body > main.qr-menu .menu-content,
    body.public-body > main.qr-menu .menu-category,
    body.public-body > main.qr-menu .product-grid-public {
        box-sizing: border-box !important;
        max-width: 100vw !important;
        min-width: 0 !important;
        overflow-x: hidden !important;
        width: 100% !important;
    }

    body.public-body > main.qr-menu .menu-hero,
    body.public-body > main.qr-menu.theme-menutje-mono .menu-hero,
    body.public-body > main.qr-menu.theme-noir-catalog .menu-hero {
        border-radius: 0 !important;
        min-height: auto !important;
        padding-left: var(--compact-inline-pad) !important;
        padding-right: var(--compact-inline-pad) !important;
    }

    body.public-body > main.qr-menu .menu-hero-content,
    body.public-body > main.qr-menu .menu-hero-content.menu-cover-layout,
    body.public-body > main.qr-menu .menu-cover-brand,
    body.public-body > main.qr-menu .theme2-title-row {
        align-items: center !important;
        display: grid !important;
        gap: 8px !important;
        grid-template-columns: 44px minmax(0, 1fr) auto !important;
        max-width: 100% !important;
        min-width: 0 !important;
    }

    body.public-body > main.qr-menu .menu-logo {
        height: 44px !important;
        min-height: 44px !important;
        min-width: 44px !important;
        width: 44px !important;
    }

    body.public-body > main.qr-menu .menu-cover-business,
    body.public-body > main.qr-menu .menu-cover-business h1,
    body.public-body > main.qr-menu .menu-cover-subtitle,
    body.public-body > main.qr-menu .theme2-title-row h1 {
        max-width: 100% !important;
        min-width: 0 !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
    }

    body.public-body > main.qr-menu .menu-cover-business h1,
    body.public-body > main.qr-menu .theme2-title-row h1 {
        font-size: clamp(18px, 5.4vw, 22px) !important;
        line-height: 1.12 !important;
        margin: 0 !important;
        white-space: nowrap !important;
    }

    body.public-body > main.qr-menu .menu-cover-subtitle {
        font-size: 12px !important;
        line-height: 1.25 !important;
        white-space: nowrap !important;
    }

    body.public-body > main.qr-menu .menu-toolbar,
    html body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog > .menu-main-flow > section.menu-toolbar {
        gap: 8px !important;
        padding-left: var(--compact-inline-pad) !important;
        padding-right: var(--compact-inline-pad) !important;
    }

    body.public-body > main.qr-menu .menu-search,
    body.public-body > main.qr-menu .menu-search input {
        max-width: 100% !important;
        min-width: 0 !important;
        width: 100% !important;
    }

    body.public-body > main.qr-menu .menu-search input {
        font-size: 16px !important;
        min-height: 42px !important;
    }

    body.public-body > main.qr-menu .category-tabs,
    body.public-body > main.qr-menu .category-showcase {
        max-width: 100% !important;
        min-width: 0 !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        padding-inline: 0 !important;
        scrollbar-width: none !important;
        width: 100% !important;
    }

    body.public-body > main.qr-menu .category-tabs::-webkit-scrollbar {
        display: none !important;
    }

    body.public-body > main.qr-menu .category-tabs a,
    body.public-body > main.qr-menu .category-tabs a.with-image {
        flex: 0 0 auto !important;
        max-width: 132px !important;
        min-width: 84px !important;
        padding: 7px 9px !important;
        white-space: nowrap !important;
    }

    body.public-body > main.qr-menu .category-tabs a span,
    body.public-body > main.qr-menu .category-tabs a.with-image span {
        display: block !important;
        max-width: 100% !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
    }

    body.public-body > main.qr-menu .menu-content {
        padding-left: var(--compact-inline-pad) !important;
        padding-right: var(--compact-inline-pad) !important;
    }

    body.public-body > main.qr-menu .menu-category h2 {
        align-items: center !important;
        display: flex !important;
        font-size: 18px !important;
        gap: 8px !important;
        line-height: 1.2 !important;
        max-width: 100% !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
    }

    body.public-body > main.qr-menu .product-grid-public {
        display: grid !important;
        gap: 9px !important;
        grid-template-columns: 1fr !important;
    }

    body.public-body > main.qr-menu .menu-product {
        align-items: stretch !important;
        display: grid !important;
        gap: 9px !important;
        grid-template-columns: 76px minmax(0, 1fr) !important;
        min-height: 104px !important;
        padding: 9px !important;
        width: 100% !important;
    }

    body.public-body > main.qr-menu .menu-product .product-media {
        align-self: start !important;
        aspect-ratio: 1 / 1 !important;
        height: 76px !important;
        min-height: 76px !important;
        min-width: 76px !important;
        width: 76px !important;
    }

    body.public-body > main.qr-menu .menu-product .product-media img {
        height: 100% !important;
        object-fit: cover !important;
        width: 100% !important;
    }

    body.public-body > main.qr-menu .menu-product .product-info {
        display: grid !important;
        gap: 5px !important;
        grid-template-rows: auto minmax(14px, auto) auto !important;
        min-width: 0 !important;
    }

    body.public-body > main.qr-menu .menu-product .product-title-row {
        align-items: start !important;
        display: grid !important;
        gap: 4px !important;
        grid-template-columns: minmax(0, 1fr) !important;
        min-width: 0 !important;
    }

    body.public-body > main.qr-menu .menu-product .product-title-row h3 {
        -webkit-box-orient: vertical !important;
        -webkit-line-clamp: 2 !important;
        display: -webkit-box !important;
        font-size: 14px !important;
        line-height: 1.18 !important;
        max-height: 34px !important;
        max-width: 100% !important;
        min-width: 0 !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        white-space: normal !important;
    }

    body.public-body > main.qr-menu .menu-product .product-description-short,
    body.public-body > main.qr-menu .menu-product .product-description-trigger {
        -webkit-box-orient: vertical !important;
        -webkit-line-clamp: 1 !important;
        display: -webkit-box !important;
        font-size: 11.5px !important;
        line-height: 1.25 !important;
        max-width: 100% !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        white-space: normal !important;
    }

    body.public-body > main.qr-menu .menu-product .price-stack {
        align-items: start !important;
        display: flex !important;
        flex-direction: column !important;
        gap: 4px !important;
        justify-content: end !important;
        min-width: 0 !important;
    }

    body.public-body > main.qr-menu .menu-product .price-calorie-line {
        align-items: center !important;
        display: flex !important;
        flex-wrap: wrap !important;
        gap: 5px !important;
        min-width: 0 !important;
    }

    body.public-body > main.qr-menu .menu-product .price-stack strong {
        font-size: 14px !important;
        line-height: 1.1 !important;
        white-space: nowrap !important;
    }

    body.public-body > main.qr-menu .product-calorie-chip,
    body.public-body > main.qr-menu .cooking-time-badge {
        font-size: 10px !important;
        line-height: 1 !important;
        max-width: 86px !important;
        overflow: hidden !important;
        padding: 4px 5px !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
    }

    body.public-body > main.qr-menu .menu-product .product-action-row {
        align-items: end !important;
        display: flex !important;
        flex-wrap: wrap !important;
        gap: 6px !important;
        justify-content: flex-end !important;
        margin-top: 2px !important;
        min-width: 0 !important;
    }

    body.public-body > main.qr-menu .menu-product .menu-cart-add,
    body.public-body > main.qr-menu .menu-product .product-detail-button {
        border-radius: 9px !important;
        font-size: 11px !important;
        min-height: 32px !important;
        min-width: 58px !important;
        padding: 7px 9px !important;
        white-space: nowrap !important;
    }

    body.public-body > main.qr-menu .menu-product .product-comments {
        max-width: 42px !important;
    }

    body.public-body > main.qr-menu .pill-row,
    body.public-body > main.qr-menu .goes-with,
    body.public-body > main.qr-menu .ingredients-line,
    body.public-body > main.qr-menu .product-meta-row {
        max-width: 100% !important;
        min-width: 0 !important;
        overflow: hidden !important;
    }

    body.public-body .description-modal {
        align-items: end !important;
        padding: 0 !important;
    }

    body.public-body .description-dialog {
        border-radius: 18px 18px 0 0 !important;
        display: grid !important;
        grid-template-rows: minmax(160px, 34dvh) minmax(0, 1fr) !important;
        max-height: 96dvh !important;
        max-width: 100vw !important;
        min-height: 0 !important;
        overflow: hidden !important;
        width: 100vw !important;
    }

    body.public-body .description-visual {
        min-height: 0 !important;
        overflow: hidden !important;
    }

    body.public-body .description-visual img {
        height: 100% !important;
        object-fit: contain !important;
        width: 100% !important;
    }

    body.public-body .description-visual-caption {
        gap: 5px !important;
        padding: 10px !important;
    }

    body.public-body .description-visual-caption h2 {
        -webkit-box-orient: vertical !important;
        -webkit-line-clamp: 2 !important;
        display: -webkit-box !important;
        font-size: 19px !important;
        line-height: 1.1 !important;
        overflow: hidden !important;
    }

    body.public-body .description-copy {
        max-height: none !important;
        min-height: 0 !important;
        overflow-y: auto !important;
        padding: 14px 12px calc(14px + env(safe-area-inset-bottom)) !important;
    }

    body.public-body .description-detail-list {
        gap: 8px !important;
        grid-template-columns: 1fr !important;
    }

    body.public-body .description-extras,
    body.public-body .description-goes-with,
    body.public-body .description-comments {
        max-width: 100% !important;
        overflow-x: hidden !important;
    }

    body.public-body .cart-panel,
    body.public-body .service-dialog,
    body.public-body .service-table-dialog,
    body.public-body .unit-choice-dialog,
    body.public-body .extra-choice-dialog {
        max-height: 92dvh !important;
        max-width: calc(100vw - 18px) !important;
        overflow-y: auto !important;
        width: calc(100vw - 18px) !important;
    }

    body.public-body > main.qr-menu .mobile-actions {
        bottom: max(8px, env(safe-area-inset-bottom)) !important;
        max-width: calc(100vw - 16px) !important;
        min-width: 0 !important;
        width: calc(100vw - 16px) !important;
    }
}

@media (max-width: 374px) {
    body.public-body > main.qr-menu .menu-product {
        grid-template-columns: 68px minmax(0, 1fr) !important;
        padding: 8px !important;
    }

    body.public-body > main.qr-menu .menu-product .product-media {
        height: 68px !important;
        min-height: 68px !important;
        min-width: 68px !important;
        width: 68px !important;
    }

    body.public-body > main.qr-menu .menu-product .menu-cart-add,
    body.public-body > main.qr-menu .menu-product .product-detail-button {
        min-width: 52px !important;
        padding-inline: 7px !important;
    }
}

/* v341 opened category screens use their own category image header, not the main cover */
body.public-body > main.qr-menu.theme-menutje-mono.is-category-open > .menu-main-flow > .menu-hero,
body.public-body > main.qr-menu.theme-signature-grid.is-category-open > .menu-main-flow > .menu-hero {
    display: none !important;
}

/* v342 shorter full-width category image header */
body.public-body > main.qr-menu.theme-menutje-mono .pro-back-bar.has-category-image,
body.public-body > main.qr-menu.theme-signature-grid .pro-back-bar.has-category-image {
    border-radius: 14px !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    min-height: clamp(74px, 18vw, 104px) !important;
    padding: 11px 12px !important;
    width: 100% !important;
}

@media (min-width: 992px) {
    body.public-body > main.qr-menu.theme-menutje-mono .pro-back-bar.has-category-image,
    body.public-body > main.qr-menu.theme-signature-grid .pro-back-bar.has-category-image {
        border-radius: 16px !important;
        min-height: 112px !important;
        padding: 14px 16px !important;
    }
}

@media (max-width: 480px) {
    body.public-body > main.qr-menu.theme-menutje-mono .pro-back-bar.has-category-image,
    body.public-body > main.qr-menu.theme-signature-grid .pro-back-bar.has-category-image {
        border-radius: 12px !important;
        min-height: 76px !important;
        padding: 10px !important;
    }
}

/* v343 mobile category header mirrors the compact AKINSOFT-style image bar */
@media (max-width: 991px) {
    body.public-body > main.qr-menu.theme-menutje-mono.is-category-open .menu-content,
    body.public-body > main.qr-menu.theme-signature-grid.is-category-open .menu-content {
        border-radius: 0 !important;
        margin-top: 0 !important;
        padding-top: 0 !important;
    }

    body.public-body > main.qr-menu.theme-menutje-mono .pro-back-bar.has-category-image,
    body.public-body > main.qr-menu.theme-signature-grid .pro-back-bar.has-category-image {
        align-items: flex-end !important;
        background-position: center !important;
        background-size: cover !important;
        border: 0 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        gap: 0 !important;
        margin: 0 0 10px calc(50% - 50vw) !important;
        min-height: 55px !important;
        padding: 0 !important;
        top: 0 !important;
        width: 100vw !important;
    }

    body.public-body > main.qr-menu.theme-menutje-mono .pro-back-bar.has-category-image::after,
    body.public-body > main.qr-menu.theme-signature-grid .pro-back-bar.has-category-image::after {
        background: linear-gradient(180deg, transparent 0%, rgba(0, 0, 0, .8) 80%, #000 100%) !important;
        bottom: 0 !important;
        content: "" !important;
        height: 57px !important;
        left: 0 !important;
        pointer-events: none !important;
        position: absolute !important;
        width: 100% !important;
        z-index: 0 !important;
    }

    body.public-body > main.qr-menu.theme-menutje-mono .pro-back-bar.has-category-image .button,
    body.public-body > main.qr-menu.theme-signature-grid .pro-back-bar.has-category-image .button {
        align-self: stretch !important;
        background: transparent !important;
        border: 0 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        color: #fff !important;
        flex: 0 0 60px !important;
        height: 55px !important;
        min-height: 55px !important;
        position: relative !important;
        width: 60px !important;
        z-index: 1 !important;
    }

    body.public-body > main.qr-menu.theme-menutje-mono .pro-back-bar.has-category-image strong,
    body.public-body > main.qr-menu.theme-signature-grid .pro-back-bar.has-category-image strong {
        align-self: flex-end !important;
        color: #fff !important;
        font-size: 14px !important;
        font-weight: 700 !important;
        line-height: 1.2 !important;
        padding: 0 12px 14px 0 !important;
        position: relative !important;
        text-transform: none !important;
        z-index: 1 !important;
    }

    body.public-body > main.qr-menu.theme-menutje-mono .pro-back-bar.has-category-image strong::before,
    body.public-body > main.qr-menu.theme-signature-grid .pro-back-bar.has-category-image strong::before {
        content: none !important;
        display: none !important;
    }
}

/* v341 opened category screens use their own category image header, not the main cover */
body.public-body > main.qr-menu.theme-menutje-mono.is-category-open > .menu-main-flow > .menu-hero,
body.public-body > main.qr-menu.theme-signature-grid.is-category-open > .menu-main-flow > .menu-hero {
    display: none !important;
}

/* v340 final override: compact sticky image header inside opened categories */
body.public-body .qr-menu.theme-menutje-mono .pro-back-bar.has-category-image,
body.public-body .qr-menu.theme-signature-grid .pro-back-bar.has-category-image {
    align-items: flex-end !important;
    background-image:
        linear-gradient(180deg, rgba(15, 23, 42, .18) 0%, rgba(15, 23, 42, .68) 100%),
        var(--active-category-image) !important;
    background-position: center !important;
    background-size: cover !important;
    border: 1px solid rgba(255, 255, 255, .18) !important;
    border-radius: 18px !important;
    box-shadow: 0 14px 30px rgba(15, 23, 42, .16) !important;
    box-sizing: border-box !important;
    display: flex !important;
    gap: 12px !important;
    margin: 0 0 14px !important;
    min-height: clamp(92px, 23vw, 132px) !important;
    overflow: hidden !important;
    padding: 14px !important;
    position: sticky !important;
    top: max(0px, env(safe-area-inset-top)) !important;
    width: 100% !important;
    z-index: 42 !important;
}

body.public-body .qr-menu.theme-menutje-mono .pro-back-bar.has-category-image .button,
body.public-body .qr-menu.theme-signature-grid .pro-back-bar.has-category-image .button {
    align-self: flex-end !important;
    background: rgba(255, 255, 255, .92) !important;
    border-color: rgba(255, 255, 255, .55) !important;
    box-shadow: 0 10px 22px rgba(0, 0, 0, .18) !important;
    color: #111827 !important;
}

body.public-body .qr-menu.theme-menutje-mono .pro-back-bar.has-category-image strong,
body.public-body .qr-menu.theme-signature-grid .pro-back-bar.has-category-image strong {
    align-self: flex-end !important;
    color: #fff !important;
    font-size: clamp(21px, 6vw, 30px) !important;
    line-height: 1.04 !important;
    overflow: hidden !important;
    text-shadow: 0 8px 20px rgba(0, 0, 0, .42) !important;
    text-overflow: ellipsis !important;
}

body.public-body .qr-menu.theme-menutje-mono .pro-back-bar.has-category-image strong::before,
body.public-body .qr-menu.theme-signature-grid .pro-back-bar.has-category-image strong::before {
    background: #fff !important;
    box-shadow: 0 8px 18px rgba(0, 0, 0, .22) !important;
}

@media (min-width: 992px) {
    body.public-body .qr-menu.theme-menutje-mono .pro-back-bar.has-category-image,
    body.public-body .qr-menu.theme-signature-grid .pro-back-bar.has-category-image {
        border-radius: 20px !important;
        min-height: 148px !important;
        padding: 18px !important;
        top: 12px !important;
    }
}

/* QR menu compact phones: iPhone 15 and similar */
@media (max-width: 420px) {
    html,
    body.public-body,
    body.public-body > main.qr-menu {
        max-width: 100vw !important;
        overflow-x: hidden !important;
    }

    body.public-body > main.qr-menu {
        --compact-inline-pad: 10px;
    }

    body.public-body > main.qr-menu .menu-main-flow,
    body.public-body > main.qr-menu .menu-hero,
    body.public-body > main.qr-menu .menu-toolbar,
    body.public-body > main.qr-menu .menu-content,
    body.public-body > main.qr-menu .menu-category,
    body.public-body > main.qr-menu .product-grid-public {
        box-sizing: border-box !important;
        max-width: 100vw !important;
        min-width: 0 !important;
        overflow-x: hidden !important;
        width: 100% !important;
    }

    body.public-body > main.qr-menu .menu-hero,
    body.public-body > main.qr-menu.theme-menutje-mono .menu-hero,
    body.public-body > main.qr-menu.theme-noir-catalog .menu-hero {
        border-radius: 0 !important;
        min-height: auto !important;
        padding-left: var(--compact-inline-pad) !important;
        padding-right: var(--compact-inline-pad) !important;
    }

    body.public-body > main.qr-menu .menu-hero-content,
    body.public-body > main.qr-menu .menu-hero-content.menu-cover-layout,
    body.public-body > main.qr-menu .menu-cover-brand,
    body.public-body > main.qr-menu .theme2-title-row {
        align-items: center !important;
        display: grid !important;
        gap: 8px !important;
        grid-template-columns: 44px minmax(0, 1fr) auto !important;
        max-width: 100% !important;
        min-width: 0 !important;
    }

    body.public-body > main.qr-menu .menu-logo {
        height: 44px !important;
        min-height: 44px !important;
        min-width: 44px !important;
        width: 44px !important;
    }

    body.public-body > main.qr-menu .menu-cover-business,
    body.public-body > main.qr-menu .menu-cover-business h1,
    body.public-body > main.qr-menu .menu-cover-subtitle,
    body.public-body > main.qr-menu .theme2-title-row h1 {
        max-width: 100% !important;
        min-width: 0 !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
    }

    body.public-body > main.qr-menu .menu-cover-business h1,
    body.public-body > main.qr-menu .theme2-title-row h1 {
        font-size: clamp(18px, 5.4vw, 22px) !important;
        line-height: 1.12 !important;
        margin: 0 !important;
        white-space: nowrap !important;
    }

    body.public-body > main.qr-menu .menu-cover-subtitle {
        font-size: 12px !important;
        line-height: 1.25 !important;
        white-space: nowrap !important;
    }

    body.public-body > main.qr-menu .menu-cover-hours,
    body.public-body > main.qr-menu .menu-cover-actions,
    body.public-body > main.qr-menu .promenu-social-row,
    body.public-body > main.qr-menu .locale-switcher {
        max-width: 100% !important;
        min-width: 0 !important;
    }

    body.public-body > main.qr-menu .menu-toolbar,
    html body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog > .menu-main-flow > section.menu-toolbar {
        gap: 8px !important;
        padding-left: var(--compact-inline-pad) !important;
        padding-right: var(--compact-inline-pad) !important;
    }

    body.public-body > main.qr-menu .menu-search {
        max-width: 100% !important;
        min-width: 0 !important;
        width: 100% !important;
    }

    body.public-body > main.qr-menu .menu-search input {
        font-size: 16px !important;
        min-height: 42px !important;
        width: 100% !important;
    }

    body.public-body > main.qr-menu .category-tabs,
    body.public-body > main.qr-menu .category-showcase {
        max-width: 100% !important;
        min-width: 0 !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        padding-inline: 0 !important;
        scrollbar-width: none !important;
        width: 100% !important;
    }

    body.public-body > main.qr-menu .category-tabs::-webkit-scrollbar {
        display: none !important;
    }

    body.public-body > main.qr-menu .category-tabs a,
    body.public-body > main.qr-menu .category-tabs a.with-image {
        flex: 0 0 auto !important;
        max-width: 132px !important;
        min-width: 84px !important;
        padding: 7px 9px !important;
        white-space: nowrap !important;
    }

    body.public-body > main.qr-menu .category-tabs a span,
    body.public-body > main.qr-menu .category-tabs a.with-image span {
        display: block !important;
        max-width: 100% !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
    }

    body.public-body > main.qr-menu .menu-content {
        padding-left: var(--compact-inline-pad) !important;
        padding-right: var(--compact-inline-pad) !important;
    }

    body.public-body > main.qr-menu .menu-category h2 {
        align-items: center !important;
        display: flex !important;
        font-size: 18px !important;
        gap: 8px !important;
        line-height: 1.2 !important;
        max-width: 100% !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
    }

    body.public-body > main.qr-menu .product-grid-public {
        display: grid !important;
        gap: 9px !important;
        grid-template-columns: 1fr !important;
    }

    body.public-body > main.qr-menu .menu-product {
        align-items: stretch !important;
        display: grid !important;
        gap: 9px !important;
        grid-template-columns: 76px minmax(0, 1fr) !important;
        min-height: 104px !important;
        padding: 9px !important;
        width: 100% !important;
    }

    body.public-body > main.qr-menu .menu-product .product-media {
        align-self: start !important;
        aspect-ratio: 1 / 1 !important;
        height: 76px !important;
        min-height: 76px !important;
        min-width: 76px !important;
        width: 76px !important;
    }

    body.public-body > main.qr-menu .menu-product .product-media img {
        height: 100% !important;
        object-fit: cover !important;
        width: 100% !important;
    }

    body.public-body > main.qr-menu .menu-product .product-info {
        display: grid !important;
        gap: 5px !important;
        grid-template-rows: auto minmax(14px, auto) auto !important;
        min-width: 0 !important;
    }

    body.public-body > main.qr-menu .menu-product .product-title-row {
        align-items: start !important;
        display: grid !important;
        gap: 4px !important;
        grid-template-columns: minmax(0, 1fr) !important;
        min-width: 0 !important;
    }

    body.public-body > main.qr-menu .menu-product .product-title-row h3 {
        -webkit-box-orient: vertical !important;
        -webkit-line-clamp: 2 !important;
        display: -webkit-box !important;
        font-size: 14px !important;
        line-height: 1.18 !important;
        max-height: 34px !important;
        max-width: 100% !important;
        min-width: 0 !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        white-space: normal !important;
    }

    body.public-body > main.qr-menu .menu-product .product-description-short,
    body.public-body > main.qr-menu .menu-product .product-description-trigger {
        -webkit-box-orient: vertical !important;
        -webkit-line-clamp: 1 !important;
        display: -webkit-box !important;
        font-size: 11.5px !important;
        line-height: 1.25 !important;
        max-width: 100% !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        white-space: normal !important;
    }

    body.public-body > main.qr-menu .menu-product .price-stack {
        align-items: start !important;
        display: flex !important;
        flex-direction: column !important;
        gap: 4px !important;
        justify-content: end !important;
        min-width: 0 !important;
    }

    body.public-body > main.qr-menu .menu-product .price-calorie-line {
        align-items: center !important;
        display: flex !important;
        flex-wrap: wrap !important;
        gap: 5px !important;
        min-width: 0 !important;
    }

    body.public-body > main.qr-menu .menu-product .price-stack strong {
        font-size: 14px !important;
        line-height: 1.1 !important;
        white-space: nowrap !important;
    }

    body.public-body > main.qr-menu .product-calorie-chip,
    body.public-body > main.qr-menu .cooking-time-badge {
        font-size: 10px !important;
        line-height: 1 !important;
        max-width: 86px !important;
        overflow: hidden !important;
        padding: 4px 5px !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
    }

    body.public-body > main.qr-menu .menu-product .product-action-row {
        align-items: end !important;
        display: flex !important;
        flex-wrap: wrap !important;
        gap: 6px !important;
        justify-content: flex-end !important;
        margin-top: 2px !important;
        min-width: 0 !important;
    }

    body.public-body > main.qr-menu .menu-product .menu-cart-add,
    body.public-body > main.qr-menu .menu-product .product-detail-button {
        border-radius: 9px !important;
        font-size: 11px !important;
        min-height: 32px !important;
        min-width: 58px !important;
        padding: 7px 9px !important;
        white-space: nowrap !important;
    }

    body.public-body > main.qr-menu .menu-product .product-comments {
        max-width: 42px !important;
    }

    body.public-body > main.qr-menu .pill-row,
    body.public-body > main.qr-menu .goes-with,
    body.public-body > main.qr-menu .ingredients-line,
    body.public-body > main.qr-menu .product-meta-row {
        max-width: 100% !important;
        min-width: 0 !important;
        overflow: hidden !important;
    }

    body.public-body .description-modal {
        align-items: end !important;
        padding: 0 !important;
    }

    body.public-body .description-dialog {
        border-radius: 18px 18px 0 0 !important;
        display: grid !important;
        grid-template-rows: minmax(160px, 34dvh) minmax(0, 1fr) !important;
        max-height: 96dvh !important;
        max-width: 100vw !important;
        min-height: 0 !important;
        overflow: hidden !important;
        width: 100vw !important;
    }

    body.public-body .description-visual {
        min-height: 0 !important;
        overflow: hidden !important;
    }

    body.public-body .description-visual img {
        height: 100% !important;
        object-fit: contain !important;
        width: 100% !important;
    }

    body.public-body .description-visual-caption {
        gap: 5px !important;
        padding: 10px !important;
    }

    body.public-body .description-visual-caption h2 {
        -webkit-box-orient: vertical !important;
        -webkit-line-clamp: 2 !important;
        display: -webkit-box !important;
        font-size: 19px !important;
        line-height: 1.1 !important;
        overflow: hidden !important;
    }

    body.public-body .description-copy {
        max-height: none !important;
        min-height: 0 !important;
        overflow-y: auto !important;
        padding: 14px 12px calc(14px + env(safe-area-inset-bottom)) !important;
    }

    body.public-body .description-detail-list {
        gap: 8px !important;
        grid-template-columns: 1fr !important;
    }

    body.public-body .description-extras,
    body.public-body .description-goes-with,
    body.public-body .description-comments {
        max-width: 100% !important;
        overflow-x: hidden !important;
    }

    body.public-body .cart-panel,
    body.public-body .service-dialog,
    body.public-body .service-table-dialog,
    body.public-body .unit-choice-dialog,
    body.public-body .extra-choice-dialog {
        max-height: 92dvh !important;
        max-width: calc(100vw - 18px) !important;
        overflow-y: auto !important;
        width: calc(100vw - 18px) !important;
    }

    body.public-body > main.qr-menu .mobile-actions {
        bottom: max(8px, env(safe-area-inset-bottom)) !important;
        max-width: calc(100vw - 16px) !important;
        min-width: 0 !important;
        width: calc(100vw - 16px) !important;
    }
}

@media (max-width: 374px) {
    body.public-body > main.qr-menu .menu-product {
        grid-template-columns: 68px minmax(0, 1fr) !important;
        padding: 8px !important;
    }

    body.public-body > main.qr-menu .menu-product .product-media {
        height: 68px !important;
        min-height: 68px !important;
        min-width: 68px !important;
        width: 68px !important;
    }

    body.public-body > main.qr-menu .menu-product .menu-cart-add,
    body.public-body > main.qr-menu .menu-product .product-detail-button {
        min-width: 52px !important;
        padding-inline: 7px !important;
    }
}

/* v199 exact compact product cards, optional extras and hidden menu scrollbars */
html,
body.public-body {
    max-width: 100%;
    overflow-x: hidden !important;
}

body.public-body,
.public-body .qr-menu,
.public-body .menu-content,
.public-body .product-grid-public,
.public-body .category-tabs {
    scrollbar-width: none !important;
}

body.public-body::-webkit-scrollbar,
.public-body .qr-menu::-webkit-scrollbar,
.public-body .menu-content::-webkit-scrollbar,
.public-body .product-grid-public::-webkit-scrollbar,
.public-body .category-tabs::-webkit-scrollbar {
    display: none !important;
    height: 0 !important;
    width: 0 !important;
}

.public-body .qr-menu .menu-content,
.public-body .qr-menu .product-grid-public,
.public-body .qr-menu .menu-category {
    box-sizing: border-box !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
}

.public-body .qr-menu .menu-product {
    box-sizing: border-box !important;
    gap: 12px !important;
    grid-template-columns: 96px minmax(0, 1fr) !important;
    overflow: hidden !important;
    width: 100% !important;
}

.public-body .qr-menu .menu-product .product-info {
    align-content: center !important;
    grid-template-areas:
        "title title"
        "desc desc"
        "price action" !important;
    grid-template-columns: minmax(0, 1fr) max-content !important;
    grid-template-rows: auto auto auto !important;
}

.public-body .qr-menu .menu-product .product-title-row h3 {
    align-self: end !important;
    letter-spacing: 0 !important;
}

.public-body .qr-menu .menu-product .product-description-short,
.public-body .qr-menu .menu-product .product-description-trigger,
.public-body .qr-menu .menu-product .product-description-trigger span {
    letter-spacing: 0 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

.public-body .qr-menu .menu-product .price-stack,
.public-body .qr-menu .menu-product .product-action-row {
    align-self: center !important;
}

.public-body .qr-menu .menu-product .price-calorie-line {
    justify-content: flex-start !important;
}

.public-body .qr-menu .menu-product .product-comments {
    display: none !important;
}

.public-body .qr-menu .menu-product .menu-cart-add {
    align-items: center !important;
    display: inline-flex !important;
    justify-content: center !important;
}

.extra-choice-modal[hidden],
.public-body > .extra-choice-modal[hidden] {
    display: none !important;
}

.public-body > .extra-choice-modal,
.public-body .extra-choice-modal {
    align-items: center;
    display: grid;
    inset: 0;
    justify-items: center;
    padding: max(18px, env(safe-area-inset-top)) 16px max(18px, env(safe-area-inset-bottom));
    position: fixed;
    z-index: 275;
}

.public-body .extra-choice-backdrop {
    background: rgba(15, 23, 42, .54);
    backdrop-filter: blur(8px);
    border: 0;
    inset: 0;
    position: absolute;
}

.public-body .extra-choice-dialog {
    background: #fff;
    border-radius: 18px;
    box-shadow: 0 28px 80px rgba(15, 23, 42, .3);
    color: #111827;
    display: grid;
    gap: 10px;
    max-width: 390px;
    padding: 20px;
    position: relative;
    width: min(390px, calc(100vw - 32px));
}

.public-body .extra-choice-dialog > span {
    color: var(--primary, #111827);
    font-size: 12px;
    font-weight: 950;
}

.public-body .extra-choice-dialog h2 {
    font-size: 20px;
    line-height: 1.2;
    margin: 0;
}

.public-body .extra-choice-dialog p {
    color: #667085;
    font-size: 13px;
    font-weight: 700;
    margin: 0 0 4px;
}

.public-body .extra-choice-close {
    align-items: center;
    background: #f2f4f7;
    border: 0;
    border-radius: 999px;
    color: #344054;
    display: inline-flex;
    font-size: 22px;
    height: 34px;
    justify-content: center;
    position: absolute;
    right: 12px;
    top: 12px;
    width: 34px;
}

.public-body .extra-choice-list {
    display: grid;
    gap: 9px;
}

.public-body .extra-choice-list button {
    align-items: center;
    background: #fff;
    border: 1px solid #d0d5dd;
    border-radius: 10px;
    color: #111827;
    display: flex;
    justify-content: space-between;
    min-height: 48px;
    padding: 10px 12px;
    text-align: left;
}

.public-body .extra-choice-list button strong {
    font-size: 13.5px;
    font-weight: 900;
}

.public-body .extra-choice-list button small {
    color: #667085;
    font-size: 12px;
    font-weight: 850;
}

.public-body .extra-choice-list .extra-choice-skip {
    background: #f8fafc;
}

@media (max-width: 420px) {
    .public-body .qr-menu .menu-product {
        grid-template-columns: 92px minmax(0, 1fr) !important;
    }

    .public-body .extra-choice-dialog {
        border-radius: 16px;
        padding: 18px;
    }
}

.theme-signature-grid,
.theme-bistro-list {
    -webkit-tap-highlight-color: transparent;
}

.theme-signature-grid .menu-product,
.theme-bistro-list .menu-product {
    transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

.theme-signature-grid .menu-product:hover,
.theme-bistro-list .menu-product:hover {
    transform: translateY(-2px);
}

.theme-signature-grid .product-media,
.theme-bistro-list .product-media {
    overflow: hidden;
}

.theme-signature-grid .product-media img,
.theme-bistro-list .product-media img,
.theme-signature-grid .image-placeholder,
.theme-bistro-list .image-placeholder,
.theme-signature-grid .logo-placeholder,
.theme-bistro-list .logo-placeholder {
    max-height: none;
    min-height: 0;
    width: 100%;
}

.theme-signature-grid .logo-placeholder,
.theme-bistro-list .logo-placeholder {
    background:
        radial-gradient(circle at 50% 42%, rgba(255, 255, 255, .86), rgba(255, 255, 255, .48) 42%, transparent 43%),
        linear-gradient(135deg, rgba(155, 122, 74, .18), rgba(31, 41, 51, .12));
}

.theme-signature-grid[data-view-mode="dark"] .logo-placeholder,
.theme-bistro-list[data-view-mode="dark"] .logo-placeholder {
    background:
        radial-gradient(circle at 50% 42%, rgba(255, 255, 255, .12), rgba(255, 255, 255, .06) 42%, transparent 43%),
        linear-gradient(135deg, rgba(199, 165, 107, .22), rgba(255, 255, 255, .06));
}

.theme-signature-grid[data-view-mode="dark"] .menu-announcement,
.theme-bistro-list[data-view-mode="dark"] .menu-announcement,
.theme-signature-grid[data-view-mode="dark"] .approved-comments article,
.theme-bistro-list[data-view-mode="dark"] .approved-comments article,
.theme-signature-grid[data-view-mode="dark"] .public-comment-form,
.theme-bistro-list[data-view-mode="dark"] .public-comment-form {
    background: rgba(255, 255, 255, .06);
    border-color: rgba(255, 255, 255, .1);
    color: inherit;
}

.theme-signature-grid[data-view-mode="dark"] .menu-announcement span,
.theme-bistro-list[data-view-mode="dark"] .menu-announcement span,
.theme-signature-grid[data-view-mode="dark"] .approved-comments p,
.theme-bistro-list[data-view-mode="dark"] .approved-comments p,
.theme-signature-grid[data-view-mode="dark"] .product-comments-panel small,
.theme-bistro-list[data-view-mode="dark"] .product-comments-panel small {
    color: rgba(255, 255, 255, .7);
}

.theme-signature-grid[data-view-mode="dark"] input,
.theme-signature-grid[data-view-mode="dark"] textarea,
.theme-bistro-list[data-view-mode="dark"] input,
.theme-bistro-list[data-view-mode="dark"] textarea {
    background: rgba(255, 255, 255, .07);
    border-color: rgba(255, 255, 255, .12);
    color: inherit;
}

.theme-signature-grid[data-view-mode="dark"] input::placeholder,
.theme-signature-grid[data-view-mode="dark"] textarea::placeholder,
.theme-bistro-list[data-view-mode="dark"] input::placeholder,
.theme-bistro-list[data-view-mode="dark"] textarea::placeholder {
    color: rgba(255, 255, 255, .46);
}

.theme-signature-grid .menu-search input,
.theme-bistro-list .menu-search input {
    color: inherit;
}

.theme-signature-grid .product-comments-panel,
.theme-bistro-list .product-comments-panel {
    min-width: min(320px, calc(100vw - 32px));
}

.theme-signature-grid .product-action-row,
.theme-bistro-list .product-action-row {
    align-items: center;
    display: flex;
    flex-wrap: nowrap;
    gap: 7px;
    justify-content: flex-start;
    width: 100%;
}

.theme-signature-grid .product-detail-button,
.theme-bistro-list .product-detail-button {
    flex: 0 0 auto;
}

.theme-signature-grid .product-comments,
.theme-bistro-list .product-comments {
    display: block;
    flex: 0 0 auto;
    margin-left: 0;
}

.theme-signature-grid .product-comments summary,
.theme-bistro-list .product-comments summary {
    display: inline-flex;
    height: 30px;
    min-width: 38px;
    padding: 0 7px;
    width: auto;
}

@media (min-width: 721px) {
    .theme-signature-grid .product-grid-public {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .theme-signature-grid .product-media,
    .theme-signature-grid .product-media img,
    .theme-signature-grid .image-placeholder,
    .theme-signature-grid .logo-placeholder {
        height: 150px;
    }

    .theme-bistro-list .menu-product {
        grid-template-columns: 132px minmax(0, 1fr);
        min-height: 132px;
    }

    .theme-bistro-list .product-media,
    .theme-bistro-list .product-media img,
    .theme-bistro-list .image-placeholder,
    .theme-bistro-list .logo-placeholder {
        height: 132px;
    }
}

@media (max-width: 720px) {
    .theme-signature-grid .menu-shell-bar,
    .theme-bistro-list .menu-shell-bar {
        min-height: 52px;
        padding: 7px 10px;
    }

    .theme-signature-grid .shell-action,
    .theme-signature-grid .menu-mode-toggle,
    .theme-bistro-list .shell-action,
    .theme-bistro-list .menu-mode-toggle {
        font-size: 10px;
        min-height: 32px;
        padding: 0 9px;
    }

    .theme-signature-grid .menu-hero {
        min-height: 236px;
        padding: 14px 12px 20px;
    }

    .theme-signature-grid .menu-hero-content {
        padding-top: 12px;
    }

    .theme-signature-grid .menu-logo {
        height: 68px;
        width: 68px;
    }

    .theme-signature-grid .category-showcase {
        padding: 16px 10px 4px;
    }

    .theme-signature-grid .category-showcase > div {
        gap: 9px;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .theme-signature-grid .category-showcase a {
        aspect-ratio: auto;
        min-height: 112px;
    }

    .theme-signature-grid .menu-content {
        padding: 14px 10px 54px;
    }

    .theme-signature-grid .product-grid-public {
        gap: 9px;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .theme-signature-grid .menu-product {
        border-radius: 14px;
    }

    .theme-signature-grid .product-media,
    .theme-signature-grid .product-media img,
    .theme-signature-grid .image-placeholder,
    .theme-signature-grid .logo-placeholder {
        height: 104px;
        max-height: 104px;
        min-height: 104px;
    }

    .theme-signature-grid .product-title-row h3,
    .theme-bistro-list .product-title-row h3 {
        font-size: 13px;
    }

    .theme-signature-grid .product-detail-button,
    .theme-bistro-list .product-detail-button {
        min-height: 28px;
        padding: 5px 8px;
    }

    .theme-bistro-list .menu-hero {
        min-height: 186px;
        padding: 14px 12px;
    }

    .theme-bistro-list .menu-hero-content {
        padding-top: 12px;
    }

    .theme-bistro-list .menu-toolbar {
        top: 52px;
    }

    .theme-bistro-list .product-grid-public {
        gap: 8px;
        grid-template-columns: 1fr;
    }

    .theme-bistro-list .menu-product {
        border-radius: 13px;
        display: grid;
        grid-template-columns: 82px minmax(0, 1fr);
        min-height: 92px;
    }

    .theme-bistro-list .product-media,
    .theme-bistro-list .product-media img,
    .theme-bistro-list .image-placeholder,
    .theme-bistro-list .logo-placeholder {
        height: 92px;
        max-height: 92px;
        min-height: 92px;
    }

    .theme-bistro-list .product-description-short,
    .theme-bistro-list .product-description-trigger {
        -webkit-line-clamp: 1;
    }
}

@media (max-width: 420px) {
    .theme-signature-grid .product-grid-public {
        gap: 8px;
    }

    .theme-signature-grid .product-media,
    .theme-signature-grid .product-media img,
    .theme-signature-grid .image-placeholder,
    .theme-signature-grid .logo-placeholder {
        height: 94px;
        max-height: 94px;
        min-height: 94px;
    }

    .theme-signature-grid .product-info {
        padding: 7px;
    }

    .theme-bistro-list .menu-product {
        grid-template-columns: 78px minmax(0, 1fr);
        min-height: 88px;
    }

    .theme-bistro-list .product-media,
    .theme-bistro-list .product-media img,
    .theme-bistro-list .image-placeholder,
    .theme-bistro-list .logo-placeholder {
        height: 88px;
        max-height: 88px;
        min-height: 88px;
    }

    .theme-bistro-list .product-info {
        padding: 7px 8px;
    }

    .theme-bistro-list .price-stack strong {
        font-size: 12px;
    }
}

@media print {
    .sidebar,
    .panel-main > :not(.qr-page),
    .qr-page aside {
        display: none !important;
    }

    .panel-body,
    .qr-page {
        display: block;
    }

    .qr-card-print {
        border: 0;
        box-shadow: none;
        margin: 0 auto;
        max-width: 520px;
    }
}

.customer-panel,
.admin-panel {
    background:
        radial-gradient(circle at 18% 0, rgba(20, 184, 166, .14), transparent 28%),
        radial-gradient(circle at 85% 8%, rgba(245, 158, 11, .12), transparent 24%),
        linear-gradient(180deg, #f4f8fb 0%, #eef3f6 100%);
}

.customer-panel .sidebar,
.admin-panel .sidebar {
    background:
        radial-gradient(circle at 18% 4%, rgba(45, 212, 191, .24), transparent 27%),
        radial-gradient(circle at 88% 2%, rgba(251, 191, 36, .18), transparent 25%),
        linear-gradient(180deg, #0a1918 0%, #0f172a 100%);
    box-shadow: 18px 0 46px rgba(15, 23, 42, .16);
    overflow: hidden;
    position: sticky;
}

.customer-panel .sidebar::before,
.admin-panel .sidebar::before {
    background:
        linear-gradient(90deg, rgba(255, 255, 255, .08) 1px, transparent 1px),
        linear-gradient(180deg, rgba(255, 255, 255, .06) 1px, transparent 1px);
    background-size: 22px 22px;
    content: "";
    inset: 0;
    opacity: .36;
    pointer-events: none;
    position: absolute;
}

.customer-panel .sidebar > *,
.admin-panel .sidebar > * {
    position: relative;
    z-index: 1;
}

.customer-panel .brand,
.admin-panel .brand {
    background: rgba(255, 255, 255, .08);
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: 18px;
    padding: 12px;
}

.customer-panel .brand-mark,
.admin-panel .brand-mark {
    background: linear-gradient(135deg, #14b8a6, #f59e0b);
    box-shadow: 0 14px 30px rgba(20, 184, 166, .22);
}

.customer-panel .nav-list,
.admin-panel .nav-list {
    gap: 8px;
}

.customer-panel .nav-list a,
.admin-panel .nav-list a {
    align-items: center;
    border: 1px solid transparent;
    display: flex;
    gap: 10px;
    justify-content: space-between;
    min-height: 44px;
    transition: background .18s ease, border-color .18s ease, color .18s ease, transform .18s ease;
}

.customer-panel .nav-list a:hover,
.admin-panel .nav-list a:hover {
    border-color: rgba(255, 255, 255, .12);
    transform: translateX(2px);
}

.customer-panel .nav-list a.active,
.admin-panel .nav-list a.active {
    background: linear-gradient(135deg, rgba(20, 184, 166, .26), rgba(245, 158, 11, .18));
    border-color: rgba(255, 255, 255, .18);
    box-shadow: inset 3px 0 0 #facc15, 0 14px 30px rgba(0, 0, 0, .16);
}

.customer-panel .panel-main,
.admin-panel .panel-main {
    background:
        radial-gradient(circle at 22% 0, rgba(20, 184, 166, .12), transparent 28%),
        radial-gradient(circle at 90% 0, rgba(96, 165, 250, .12), transparent 24%),
        linear-gradient(180deg, rgba(255, 255, 255, .82), rgba(244, 248, 251, .92));
    min-height: 100vh;
}

.customer-panel .page-header,
.admin-panel .page-header {
    background:
        linear-gradient(135deg, rgba(255, 255, 255, .96), rgba(255, 255, 255, .78)),
        radial-gradient(circle at 92% 12%, rgba(245, 158, 11, .18), transparent 25%);
    border: 1px solid rgba(226, 232, 240, .92);
    border-radius: 20px;
    box-shadow: 0 22px 54px rgba(15, 23, 42, .08);
    padding: 22px;
}

.customer-panel .page-header h1,
.admin-panel .page-header h1 {
    font-size: clamp(26px, 3vw, 38px);
}

.customer-panel .form-panel,
.customer-panel .panel-section,
.customer-panel .stat-card,
.admin-panel .form-panel,
.admin-panel .panel-section,
.admin-panel .stat-card {
    border-color: rgba(226, 232, 240, .92);
    border-radius: 18px;
    box-shadow: 0 18px 46px rgba(15, 23, 42, .07);
}

.customer-panel input,
.customer-panel select,
.customer-panel textarea,
.admin-panel input,
.admin-panel select,
.admin-panel textarea {
    border-radius: 12px;
}

.customer-panel .button,
.customer-panel button,
.admin-panel .button,
.admin-panel button {
    border-radius: 12px;
}

.customer-panel .button.primary,
.customer-panel button.primary,
.admin-panel .button.primary,
.admin-panel button.primary {
    background: linear-gradient(135deg, #0f766e, #2563eb);
    box-shadow: 0 16px 34px rgba(37, 99, 235, .22);
}

.customer-panel .quick-actions a,
.admin-panel .quick-actions a {
    border-radius: 18px;
    box-shadow: 0 16px 38px rgba(15, 23, 42, .06);
    overflow: hidden;
    position: relative;
    transition: transform .2s ease, box-shadow .2s ease;
}

.customer-panel .quick-actions a::before,
.admin-panel .quick-actions a::before {
    background: linear-gradient(90deg, #14b8a6, #f59e0b, #2563eb);
    content: "";
    height: 4px;
    left: 0;
    position: absolute;
    right: 0;
    top: 0;
}

.customer-panel .quick-actions a:hover,
.admin-panel .quick-actions a:hover {
    box-shadow: 0 22px 48px rgba(15, 23, 42, .1);
    transform: translateY(-3px);
}

.welcome-panel-guide {
    display: grid;
    gap: 16px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-bottom: 24px;
}

.welcome-panel-guide article {
    background:
        linear-gradient(180deg, rgba(255, 255, 255, .96), rgba(255, 255, 255, .86)),
        radial-gradient(circle at 88% 10%, rgba(20, 184, 166, .16), transparent 32%);
    border: 1px solid rgba(226, 232, 240, .92);
    border-radius: 18px;
    box-shadow: 0 18px 42px rgba(15, 23, 42, .06);
    display: grid;
    gap: 8px;
    min-height: 150px;
    padding: 18px;
}

.welcome-panel-guide article:nth-child(2) {
    background:
        linear-gradient(180deg, rgba(255, 255, 255, .96), rgba(255, 255, 255, .86)),
        radial-gradient(circle at 88% 10%, rgba(245, 158, 11, .18), transparent 32%);
}

.welcome-panel-guide article:nth-child(3) {
    background:
        linear-gradient(180deg, rgba(255, 255, 255, .96), rgba(255, 255, 255, .86)),
        radial-gradient(circle at 88% 10%, rgba(96, 165, 250, .18), transparent 32%);
}

.welcome-panel-guide span,
.panel-card-title span {
    color: #0f766e;
    font-size: 11px;
    font-weight: 950;
    text-transform: uppercase;
}

.welcome-panel-guide strong {
    color: #101828;
    font-size: 18px;
}

.welcome-panel-guide p {
    color: var(--muted);
    line-height: 1.5;
    margin: 0;
}

.panel-card-title {
    display: grid;
    gap: 5px;
}

.panel-card-title h2 {
    font-size: 21px;
}

.welcome-settings-card {
    align-content: start;
}

.welcome-settings-card .form-help,
.showcase-editor .form-help {
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    color: #475569;
    line-height: 1.5;
    margin: 0;
    padding: 12px;
}

.featured-picker {
    gap: 12px;
    grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
    max-height: 430px;
    padding-right: 4px;
}

.featured-picker .recommendation-option {
    background: #fff;
    border-radius: 14px;
    grid-template-columns: auto 58px minmax(0, 1fr);
    padding: 10px;
    transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.featured-picker .recommendation-option:hover {
    border-color: rgba(20, 184, 166, .36);
    box-shadow: 0 14px 28px rgba(15, 23, 42, .07);
    transform: translateY(-2px);
}

.featured-picker .recommendation-option img,
.featured-picker .mini-placeholder {
    border-radius: 12px;
    height: 58px;
    width: 58px;
}

.slide-admin-card {
    background: linear-gradient(180deg, #ffffff, #f8fafc);
    border-radius: 16px;
}

.launch-hero {
    grid-template-columns: minmax(0, .92fr) minmax(420px, .78fr);
}

.launch-demo-stage {
    min-height: 740px;
}

.launch-iphone {
    animation: launchIphoneFloat 6s ease-in-out infinite;
    background:
        linear-gradient(145deg, #1f2937 0%, #030712 54%, #111827 100%);
    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: 58px;
    box-shadow:
        0 44px 120px rgba(2, 6, 23, .54),
        0 0 0 1px rgba(255, 255, 255, .08),
        inset 0 0 0 8px rgba(255, 255, 255, .08),
        inset 0 0 0 11px rgba(0, 0, 0, .7);
    gap: 12px;
    padding: 16px 12px 18px;
    transform: none;
    width: min(100%, 430px);
}

.launch-iphone::after {
    background: rgba(255, 255, 255, .14);
    border-radius: 999px;
    content: "";
    height: 86px;
    position: absolute;
    right: -5px;
    top: 142px;
    width: 3px;
}

.launch-iphone .launch-phone-bar {
    background: #020617;
    border: 1px solid rgba(255, 255, 255, .08);
    border-radius: 999px;
    box-shadow: 0 8px 18px rgba(0, 0, 0, .42);
    height: 29px;
    left: 50%;
    margin: 0;
    position: absolute;
    top: 23px;
    transform: translateX(-50%);
    width: 118px;
    z-index: 5;
}

.launch-iphone .launch-phone-screen {
    background: #fff;
    border: 2px solid rgba(255, 255, 255, .12);
    border-radius: 44px;
    height: min(72vh, 690px);
    min-height: 620px;
    overflow: hidden;
}

.launch-iphone .launch-demo-frame {
    border-radius: 40px;
}

.launch-iphone .launch-phone-actions {
    color: rgba(255, 255, 255, .78);
    font-size: 12px;
    padding: 0 10px;
}

.launch-articles {
    background:
        radial-gradient(circle at 12% 0, rgba(20, 184, 166, .16), transparent 28%),
        radial-gradient(circle at 90% 8%, rgba(245, 158, 11, .16), transparent 24%),
        linear-gradient(180deg, #ffffff 0%, #f4f8fb 100%);
    color: #101828;
    padding: 82px max(18px, calc((100vw - 1180px) / 2));
}

.launch-articles .launch-section-title {
    align-items: start;
    display: grid;
    gap: 12px;
    max-width: 860px;
}

.launch-articles .launch-kicker {
    background: none;
    color: #0f766e;
}

.launch-article-grid {
    display: grid;
    gap: 18px;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.launch-article-grid article {
    background: rgba(255, 255, 255, .94);
    border: 1px solid rgba(226, 232, 240, .92);
    border-radius: 24px;
    box-shadow: 0 22px 52px rgba(15, 23, 42, .08);
    display: grid;
    gap: 12px;
    min-height: 270px;
    padding: 24px;
    transition: transform .2s ease, box-shadow .2s ease;
}

.launch-article-grid article:hover {
    box-shadow: 0 28px 68px rgba(15, 23, 42, .12);
    transform: translateY(-4px);
}

.launch-article-grid span {
    align-items: center;
    background: linear-gradient(135deg, #ccfbf1, #dbeafe);
    border-radius: 999px;
    color: #0f766e;
    display: inline-flex;
    font-size: 12px;
    font-weight: 950;
    height: 34px;
    justify-content: center;
    width: 48px;
}

.launch-article-grid strong {
    color: #101828;
    font-size: 21px;
    line-height: 1.12;
}

.launch-article-grid p {
    color: #475569;
    line-height: 1.58;
    margin: 0;
}

@keyframes launchIphoneFloat {
    0%,
    100% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-12px);
    }
}

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

    .launch-hero {
        grid-template-columns: minmax(0, 1fr) minmax(360px, .82fr);
    }
}

@media (max-width: 980px) {
    .welcome-panel-guide,
    .launch-hero {
        grid-template-columns: 1fr;
    }

    .customer-panel .sidebar,
    .admin-panel .sidebar {
        position: relative;
    }

    .launch-demo-stage {
        min-height: 680px;
    }
}

@media (max-width: 720px) {
    .customer-panel .page-header,
    .admin-panel .page-header {
        padding: 18px;
    }

    .featured-picker,
    .launch-article-grid {
        grid-template-columns: 1fr;
    }

    .welcome-panel-guide article,
    .launch-article-grid article {
        min-height: auto;
    }
}

@media (max-width: 620px) {
    .launch-demo-stage {
        min-height: 620px;
    }

    .launch-iphone {
        border-radius: 42px;
        max-width: 360px;
        padding: 11px 9px 13px;
        width: 100%;
    }

    .launch-iphone .launch-phone-bar {
        height: 24px;
        top: 17px;
        width: 98px;
    }

    .launch-iphone .launch-phone-screen {
        border-radius: 32px;
        height: 552px;
        min-height: 552px;
    }

    .launch-iphone .launch-demo-frame {
        border-radius: 30px;
    }

    .launch-articles {
        padding-bottom: 58px;
        padding-top: 58px;
    }
}

.theme-preview.menutje-mono {
    background:
        linear-gradient(90deg, #050505 0 46%, #ffffff 46% 100%);
    color: #111;
}

.theme-preview.menutje-mono::after {
    background:
        linear-gradient(90deg, transparent 0 44%, #f4f4f0 44% 52%, transparent 52%),
        repeating-linear-gradient(0deg, rgba(255, 255, 255, .9) 0 10px, rgba(255, 255, 255, .2) 10px 18px);
}

.theme-preview.noir-catalog {
    background:
        linear-gradient(135deg, #000, #171717 58%, #f3f3f3 58% 100%);
    color: #fff;
}

.theme-preview.noir-catalog::after {
    background:
        radial-gradient(circle at 75% 28%, #f4f4f0 0 12px, transparent 13px),
        linear-gradient(90deg, rgba(255,255,255,.94), rgba(255,255,255,.16));
}

.theme-menutje-mono,
.theme-noir-catalog {
    --menu-radius: 0;
    --mono-ink: var(--primary, #111111);
    --mono-accent: var(--accent, #f4f4f0);
    -webkit-tap-highlight-color: transparent;
    background: #050505;
    color: #f6f6f1;
    font-family: var(--menu-font), "Manrope", "DM Sans", ui-sans-serif, sans-serif;
    min-height: 100vh;
}

.theme-menutje-mono.bg-studio {
    background:
        radial-gradient(circle at 18% -8%, rgba(255,255,255,.18), transparent 24%),
        linear-gradient(180deg, #030303 0%, #0d0d0d 48%, #050505 100%);
}

.theme-menutje-mono.bg-charcoal,
.theme-menutje-mono[data-view-mode="dark"],
.theme-noir-catalog {
    background:
        linear-gradient(180deg, #050505, #141414 58%, #080808);
    color: #f6f6f1;
}

.theme-menutje-mono.bg-paper {
    background:
        linear-gradient(90deg, rgba(17,17,17,.05) 1px, transparent 1px),
        linear-gradient(180deg, #ffffff, #f6f6f3);
    background-size: 28px 28px, auto;
    color: #111;
}

.theme-menutje-mono .menu-shell-bar,
.theme-noir-catalog .menu-shell-bar {
    backdrop-filter: blur(18px);
    background: rgba(255, 255, 255, .94);
    border-bottom: 1px solid rgba(0,0,0,.1);
    color: #111;
    min-height: 52px;
    padding: 7px 12px;
}

.theme-menutje-mono[data-view-mode="dark"] .menu-shell-bar,
.theme-menutje-mono.bg-charcoal .menu-shell-bar,
.theme-noir-catalog .menu-shell-bar {
    background: rgba(7, 7, 7, .9);
    border-bottom-color: rgba(255,255,255,.14);
    color: #fff;
}

.theme-menutje-mono .shell-action,
.theme-menutje-mono .menu-mode-toggle,
.theme-noir-catalog .shell-action,
.theme-noir-catalog .menu-mode-toggle {
    background: #f1f1f1;
    border: 1px solid #d9d9d9;
    border-radius: 999px;
    color: #101010;
    font-size: 11px;
    font-weight: 950;
    min-height: 34px;
}

.theme-menutje-mono[data-view-mode="dark"] .shell-action,
.theme-menutje-mono[data-view-mode="dark"] .menu-mode-toggle,
.theme-menutje-mono.bg-charcoal .shell-action,
.theme-menutje-mono.bg-charcoal .menu-mode-toggle,
.theme-noir-catalog .shell-action,
.theme-noir-catalog .menu-mode-toggle {
    background: rgba(255,255,255,.12);
    border-color: rgba(255,255,255,.18);
    color: #fff;
}

.theme-menutje-mono .menu-hero,
.theme-noir-catalog .menu-hero {
    background-image: none !important;
    border-radius: 0;
    box-shadow: none;
    min-height: 220px;
    overflow: hidden;
    padding: 22px 18px 18px;
    position: relative;
}

.theme-menutje-mono .menu-hero {
    background:
        linear-gradient(90deg, #fff 0 58%, #090909 58% 100%);
    color: #111;
}

.theme-menutje-mono.bg-charcoal .menu-hero,
.theme-menutje-mono[data-view-mode="dark"] .menu-hero {
    background:
        linear-gradient(90deg, #050505 0 62%, #f6f6f1 62% 100%);
    color: #fff;
}

.theme-noir-catalog .menu-hero {
    background:
        radial-gradient(circle at 78% 10%, rgba(215,255,63,.3), transparent 20%),
        linear-gradient(140deg, #020202 0 70%, #f3f3ef 70% 100%);
}

.theme-menutje-mono .menu-hero::before,
.theme-noir-catalog .menu-hero::before {
    background: repeating-linear-gradient(90deg, rgba(0,0,0,.08) 0 1px, transparent 1px 14px);
    content: "";
    inset: 0;
    opacity: .42;
    pointer-events: none;
    position: absolute;
}

.theme-menutje-mono[data-view-mode="dark"] .menu-hero::before,
.theme-menutje-mono.bg-charcoal .menu-hero::before,
.theme-noir-catalog .menu-hero::before {
    background: repeating-linear-gradient(90deg, rgba(255,255,255,.12) 0 1px, transparent 1px 16px);
}

.theme-menutje-mono .menu-hero-content,
.theme-noir-catalog .menu-hero-content {
    align-items: center;
    display: grid;
    gap: 9px 14px;
    grid-template-columns: auto minmax(0, 1fr);
    margin: 0 auto;
    max-width: 760px;
    min-width: 0;
    padding-top: 8px;
    position: relative;
    text-align: left;
    z-index: 1;
}

.theme-menutje-mono .menu-hero-content > *,
.theme-noir-catalog .menu-hero-content > * {
    min-width: 0;
}

.theme-menutje-mono.hero-center-logo .menu-hero-content,
.theme-noir-catalog.hero-center-logo .menu-hero-content {
    grid-template-columns: 1fr;
    justify-items: center;
    text-align: center;
}

.theme-menutje-mono .menu-logo,
.theme-noir-catalog .menu-logo {
    background: #fff;
    border: 2px solid #111;
    border-radius: 10px;
    box-shadow: 8px 8px 0 #111;
    grid-row: 1 / 4;
    height: 72px;
    object-fit: contain;
    padding: 5px;
    width: 72px;
}

.theme-noir-catalog .menu-logo,
.theme-menutje-mono[data-view-mode="dark"] .menu-logo,
.theme-menutje-mono.bg-charcoal .menu-logo {
    border-color: rgba(255,255,255,.8);
    box-shadow: 8px 8px 0 rgba(215,255,63,.9);
}

.theme-menutje-mono .menu-hero .eyebrow,
.theme-noir-catalog .menu-hero .eyebrow {
    background: #111;
    border: 0;
    border-radius: 999px;
    color: #fff;
    display: inline-flex;
    font-size: 11px;
    font-weight: 950;
    padding: 6px 11px;
    width: max-content;
}

.theme-menutje-mono[data-view-mode="dark"] .menu-hero .eyebrow,
.theme-menutje-mono.bg-charcoal .menu-hero .eyebrow,
.theme-noir-catalog .menu-hero .eyebrow {
    background: var(--mono-accent);
    color: #050505;
}

.theme-menutje-mono .menu-hero h1,
.theme-noir-catalog .menu-hero h1 {
    color: inherit;
    font-size: 34px;
    line-height: 1;
    margin: 0;
    max-width: 100%;
    overflow-wrap: anywhere;
    text-shadow: none;
}

.theme-menutje-mono .menu-hero p,
.theme-noir-catalog .menu-hero p {
    color: currentColor;
    font-size: 13px;
    line-height: 1.35;
    margin: 0;
    opacity: .76;
}

.theme-menutje-mono .hero-contact-row,
.theme-menutje-mono .hero-social-row,
.theme-noir-catalog .hero-contact-row,
.theme-noir-catalog .hero-social-row {
    display: none;
}

.theme-menutje-mono .locale-switcher,
.theme-noir-catalog .locale-switcher {
    bottom: 14px;
    display: flex;
    gap: 7px;
    justify-content: flex-end;
    left: auto;
    right: 14px;
    top: auto;
    z-index: 2;
}

.theme-menutje-mono .locale-switcher a,
.theme-noir-catalog .locale-switcher a {
    background: #fff;
    border: 1px solid #111;
    border-radius: 999px;
    color: #111;
    font-size: 11px;
    min-width: 34px;
    padding: 8px 9px;
}

.theme-menutje-mono .locale-switcher a.active,
.theme-noir-catalog .locale-switcher a.active {
    background: var(--mono-accent);
    border-color: var(--mono-accent);
}

.theme-menutje-mono .menu-toolbar,
.theme-noir-catalog .menu-toolbar {
    background: rgba(255,255,255,.95);
    border: 0;
    border-bottom: 1px solid rgba(0,0,0,.1);
    gap: 12px;
    padding: 12px;
    position: sticky;
    top: 52px;
    z-index: 20;
}

.theme-menutje-mono[data-view-mode="dark"] .menu-toolbar,
.theme-menutje-mono.bg-charcoal .menu-toolbar,
.theme-noir-catalog .menu-toolbar {
    background: rgba(8,8,8,.94);
    border-bottom-color: rgba(255,255,255,.12);
}

.theme-menutje-mono .menu-search input,
.theme-noir-catalog .menu-search input {
    background: #fff;
    border: 1px solid #cfcfcf;
    border-radius: 0;
    box-shadow: none;
    color: #111;
    min-height: 44px;
}

.theme-menutje-mono[data-view-mode="dark"] .menu-search input,
.theme-menutje-mono.bg-charcoal .menu-search input,
.theme-noir-catalog .menu-search input {
    background: #141414;
    border-color: rgba(255,255,255,.16);
    color: #fff;
}

.theme-menutje-mono .category-tabs,
.theme-noir-catalog .category-tabs {
    gap: 8px;
    scrollbar-width: none;
}

.theme-menutje-mono .category-tabs::-webkit-scrollbar,
.theme-noir-catalog .category-tabs::-webkit-scrollbar {
    display: none;
}

.theme-menutje-mono .category-tabs a,
.theme-noir-catalog .category-tabs a {
    background: #111;
    border: 1px solid #111;
    border-radius: 999px;
    color: #fff;
    font-size: 12px;
    min-height: 38px;
    padding: 8px 13px;
}

.theme-menutje-mono .category-tabs a.with-image,
.theme-noir-catalog .category-tabs a.with-image {
    padding-left: 6px;
}

.theme-menutje-mono .category-tabs img,
.theme-noir-catalog .category-tabs img {
    height: 28px;
    width: 28px;
}

.theme-menutje-mono.nav-minimal_tabs .category-tabs a,
.theme-noir-catalog.nav-minimal_tabs .category-tabs a {
    background: transparent;
    border-color: transparent;
    color: inherit;
    padding-inline: 4px;
}

.theme-menutje-mono.nav-category_grid .category-showcase,
.theme-noir-catalog.nav-category_grid .category-showcase {
    display: block;
}

.theme-menutje-mono.nav-sticky_pills .category-showcase,
.theme-menutje-mono.nav-minimal_tabs .category-showcase,
.theme-noir-catalog.nav-sticky_pills .category-showcase,
.theme-noir-catalog.nav-minimal_tabs .category-showcase {
    display: none;
}

.theme-menutje-mono .category-showcase,
.theme-noir-catalog .category-showcase {
    margin: 0 auto;
    max-width: 980px;
    padding: 18px 12px 8px;
}

.theme-menutje-mono .category-showcase h2,
.theme-noir-catalog .category-showcase h2 {
    color: inherit;
    font-size: 22px;
    margin: 0 0 12px;
}

.theme-menutje-mono .category-showcase > div,
.theme-noir-catalog .category-showcase > div {
    display: grid;
    gap: 10px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.theme-menutje-mono .category-showcase a,
.theme-noir-catalog .category-showcase a {
    align-items: end;
    background: #111;
    border: 1px solid #111;
    border-radius: 0;
    box-shadow: none;
    color: #fff;
    display: grid;
    min-height: 126px;
    overflow: hidden;
    padding: 12px;
    position: relative;
}

.theme-menutje-mono .category-showcase a::after,
.theme-noir-catalog .category-showcase a::after {
    background: linear-gradient(180deg, rgba(0,0,0,.04), rgba(0,0,0,.72));
    content: "";
    inset: 0;
    position: absolute;
}

.theme-menutje-mono .category-showcase img,
.theme-noir-catalog .category-showcase img {
    filter: grayscale(.18) contrast(1.06);
    height: 100%;
    inset: 0;
    object-fit: cover;
    position: absolute;
    transition: transform .42s ease;
    width: 100%;
}

.theme-menutje-mono .category-showcase a:hover img,
.theme-noir-catalog .category-showcase a:hover img {
    transform: scale(1.06);
}

.theme-menutje-mono .category-showcase a > span,
.theme-noir-catalog .category-showcase a > span {
    align-items: center;
    background: linear-gradient(135deg, #f1f1f1, #bdbdbd);
    color: #111;
    display: inline-flex;
    font-size: 36px;
    font-weight: 950;
    height: 100%;
    justify-content: center;
    width: 100%;
}

.theme-menutje-mono .category-showcase strong,
.theme-noir-catalog .category-showcase strong {
    font-size: 17px;
    line-height: 1.08;
    position: relative;
    text-shadow: 0 10px 24px rgba(0,0,0,.48);
    z-index: 1;
}

.theme-menutje-mono .menu-content,
.theme-noir-catalog .menu-content {
    margin: 0 auto;
    max-width: 980px;
    padding: 16px 12px 58px;
}

.theme-menutje-mono .menu-category,
.theme-noir-catalog .menu-category {
    scroll-margin-top: 126px;
}

.theme-menutje-mono .menu-category h2,
.theme-noir-catalog .menu-category h2 {
    align-items: center;
    color: inherit;
    display: flex;
    font-size: 24px;
    gap: 10px;
    margin: 20px 0 12px;
}

.theme-menutje-mono .menu-category h2::before,
.theme-noir-catalog .menu-category h2::before {
    background: var(--mono-accent);
    content: "";
    display: inline-flex;
    height: 28px;
    width: 5px;
}

.theme-menutje-mono .product-grid-public,
.theme-noir-catalog .product-grid-public {
    display: grid;
    gap: 10px;
    grid-template-columns: 1fr;
}

.theme-menutje-mono .menu-product,
.theme-noir-catalog .menu-product {
    background: #fff;
    border: 1px solid #dedede;
    border-radius: 0;
    box-shadow: 0 14px 30px rgba(0,0,0,.08);
    color: #111;
    display: grid;
    grid-template-columns: 94px minmax(0, 1fr);
    min-height: 110px;
    overflow: hidden;
    transition: transform .25s ease, border-color .25s ease;
}

.theme-menutje-mono[data-view-mode="dark"] .menu-product,
.theme-menutje-mono.bg-charcoal .menu-product,
.theme-noir-catalog .menu-product {
    background: #121212;
    border-color: rgba(255,255,255,.14);
    color: #fff;
}

.theme-menutje-mono .menu-product:hover,
.theme-noir-catalog .menu-product:hover {
    border-color: var(--mono-accent);
    transform: translateY(-2px);
}

.theme-menutje-mono .product-media,
.theme-noir-catalog .product-media {
    aspect-ratio: auto !important;
    background: #e7e3dc;
    height: 110px;
    max-height: 110px;
    min-height: 110px;
    overflow: hidden;
}

.theme-menutje-mono .product-media img,
.theme-noir-catalog .product-media img,
.theme-menutje-mono .image-placeholder,
.theme-noir-catalog .image-placeholder,
.theme-menutje-mono .logo-placeholder,
.theme-noir-catalog .logo-placeholder {
    height: 110px;
    max-height: 110px;
    min-height: 110px;
    object-fit: cover;
    width: 100%;
}

.theme-menutje-mono .logo-placeholder,
.theme-noir-catalog .logo-placeholder {
    background: #e8e3da;
    padding: 10px;
}

.theme-menutje-mono .logo-placeholder::before,
.theme-noir-catalog .logo-placeholder::before {
    background: rgba(255,255,255,.72);
    border: 1px solid rgba(0,0,0,.08);
    border-radius: 0;
    inset: 10px;
}

.theme-menutje-mono .product-info,
.theme-noir-catalog .product-info {
    align-content: center;
    display: grid;
    gap: 6px;
    grid-template-rows: none;
    min-width: 0;
    padding: 10px 12px;
}

.theme-menutje-mono .product-title-row,
.theme-noir-catalog .product-title-row {
    align-items: flex-start;
    display: grid;
    gap: 4px;
}

.theme-menutje-mono .product-title-row h3,
.theme-noir-catalog .product-title-row h3 {
    color: inherit;
    display: -webkit-box;
    font-size: 16px;
    line-height: 1.15;
    margin: 0;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.theme-menutje-mono .price-stack,
.theme-noir-catalog .price-stack {
    justify-items: start;
}

.theme-menutje-mono .price-stack strong,
.theme-noir-catalog .price-stack strong {
    background: transparent;
    color: inherit;
    font-size: 13px;
    padding: 0;
}

.theme-menutje-mono .product-description-short,
.theme-noir-catalog .product-description-short,
.theme-menutje-mono .product-description-trigger,
.theme-noir-catalog .product-description-trigger {
    color: currentColor;
    display: -webkit-box;
    font-size: 12px;
    line-height: 1.25;
    opacity: .72;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
}

.theme-menutje-mono.density-compact .product-description-short,
.theme-menutje-mono.density-compact .product-description-trigger,
.theme-noir-catalog.density-compact .product-description-short,
.theme-noir-catalog.density-compact .product-description-trigger,
.theme-menutje-mono .ingredients-line,
.theme-noir-catalog .ingredients-line,
.theme-menutje-mono .goes-with,
.theme-noir-catalog .goes-with {
    display: none;
}

.theme-menutje-mono .pill-row,
.theme-noir-catalog .pill-row {
    gap: 5px;
}

.theme-menutje-mono .pill-row span,
.theme-noir-catalog .pill-row span {
    background: #f3f3f3;
    border: 1px solid #dedede;
    border-radius: 999px;
    color: #111;
    font-size: 10px;
    padding: 4px 7px;
}

.theme-menutje-mono[data-view-mode="dark"] .pill-row span,
.theme-menutje-mono.bg-charcoal .pill-row span,
.theme-noir-catalog .pill-row span {
    background: rgba(255,255,255,.1);
    border-color: rgba(255,255,255,.14);
    color: #fff;
}

.theme-menutje-mono .product-action-row,
.theme-noir-catalog .product-action-row {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    justify-content: flex-start;
}

.theme-menutje-mono .product-action-row .button,
.theme-noir-catalog .product-action-row .button {
    background: #111;
    border: 0;
    border-radius: 999px;
    color: #fff;
    font-size: 11px;
    min-height: 30px;
    padding: 6px 10px;
}

.theme-menutje-mono[data-view-mode="dark"] .product-action-row .button,
.theme-menutje-mono.bg-charcoal .product-action-row .button,
.theme-noir-catalog .product-action-row .button {
    background: var(--mono-accent);
    color: #050505;
}

.theme-menutje-mono .product-comments,
.theme-noir-catalog .product-comments {
    flex: 0 0 auto;
    margin-left: 0;
}

.theme-menutje-mono .product-comments[open],
.theme-noir-catalog .product-comments[open] {
    flex: 1 0 100%;
}

.theme-menutje-mono .product-comments summary,
.theme-noir-catalog .product-comments summary {
    background: #f0f0f0;
    border: 1px solid #d8d8d8;
    border-radius: 999px;
    color: #111;
    display: inline-flex;
    height: 30px;
    min-width: 38px;
    padding: 0 7px;
}

.theme-menutje-mono .product-calorie-chip,
.theme-noir-catalog .product-calorie-chip {
    background: #fff7ed;
    border-color: #fed7aa;
    color: #9a3412;
    height: 30px;
    min-height: 30px;
    padding-inline: 8px;
}

.theme-menutje-mono[data-view-mode="dark"] .product-comments summary,
.theme-menutje-mono.bg-charcoal .product-comments summary,
.theme-noir-catalog .product-comments summary {
    background: rgba(255,255,255,.11);
    border-color: rgba(255,255,255,.15);
    color: #fff;
}

.theme-menutje-mono[data-view-mode="dark"] .product-calorie-chip,
.theme-menutje-mono.bg-charcoal .product-calorie-chip,
.theme-noir-catalog .product-calorie-chip {
    background: rgba(255, 122, 0, .14);
    border-color: rgba(255, 180, 90, .3);
    color: #ffd7a3;
}

.theme-menutje-mono .approved-comments article,
.theme-menutje-mono .public-comment-form,
.theme-noir-catalog .approved-comments article,
.theme-noir-catalog .public-comment-form {
    background: #f7f7f7;
    border-radius: 0;
}

.theme-menutje-mono[data-view-mode="dark"] .approved-comments article,
.theme-menutje-mono[data-view-mode="dark"] .public-comment-form,
.theme-noir-catalog .approved-comments article,
.theme-noir-catalog .public-comment-form {
    background: rgba(255,255,255,.08);
    border-color: rgba(255,255,255,.12);
}

.theme-menutje-mono.layout-two-column .product-grid-public,
.theme-noir-catalog.layout-two-column .product-grid-public {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.theme-menutje-mono.layout-two-column .menu-product,
.theme-noir-catalog.layout-two-column .menu-product {
    display: flex;
    flex-direction: column;
}

.theme-menutje-mono.layout-two-column .product-media,
.theme-menutje-mono.layout-two-column .product-media img,
.theme-menutje-mono.layout-two-column .image-placeholder,
.theme-menutje-mono.layout-two-column .logo-placeholder,
.theme-noir-catalog.layout-two-column .product-media,
.theme-noir-catalog.layout-two-column .product-media img,
.theme-noir-catalog.layout-two-column .image-placeholder,
.theme-noir-catalog.layout-two-column .logo-placeholder {
    height: 108px;
    max-height: 108px;
    min-height: 108px;
}

.theme-menutje-mono.display-visual-price .product-grid-public,
.theme-noir-catalog.display-visual-price .product-grid-public {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.theme-menutje-mono.display-visual-price .menu-product,
.theme-noir-catalog.display-visual-price .menu-product {
    display: block;
}

.theme-menutje-mono.display-visual-price .product-media,
.theme-menutje-mono.display-visual-price .product-media img,
.theme-menutje-mono.display-visual-price .image-placeholder,
.theme-menutje-mono.display-visual-price .logo-placeholder,
.theme-noir-catalog.display-visual-price .product-media,
.theme-noir-catalog.display-visual-price .product-media img,
.theme-noir-catalog.display-visual-price .image-placeholder,
.theme-noir-catalog.display-visual-price .logo-placeholder {
    height: 146px;
    max-height: 146px;
    min-height: 146px;
}

.theme-menutje-mono .menu-footer,
.theme-noir-catalog .menu-footer {
    background: #050505;
    border-radius: 0;
    color: #fff;
}

.theme-menutje-mono.motion-rich .menu-hero-content,
.theme-menutje-mono.motion-rich .category-showcase a,
.theme-menutje-mono.motion-rich .menu-product,
.theme-noir-catalog.motion-rich .menu-hero-content,
.theme-noir-catalog.motion-rich .category-showcase a,
.theme-noir-catalog.motion-rich .menu-product {
    animation: qrReveal .55s ease both;
}

.theme-menutje-mono.motion-none *,
.theme-noir-catalog.motion-none * {
    animation: none !important;
    transition: none !important;
}

@keyframes qrReveal {
    from {
        opacity: 0;
        transform: translateY(14px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@media (min-width: 760px) {
    .theme-menutje-mono .category-showcase > div,
    .theme-noir-catalog .category-showcase > div {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .theme-menutje-mono .product-grid-public,
    .theme-noir-catalog .product-grid-public {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 420px) {
    .theme-menutje-mono .menu-hero,
    .theme-noir-catalog .menu-hero {
        min-height: 210px;
        padding: 18px 12px;
    }

    .theme-menutje-mono .menu-logo,
    .theme-noir-catalog .menu-logo {
        height: 60px;
        grid-row: auto;
        width: 60px;
    }

    .theme-menutje-mono .menu-hero-content,
    .theme-noir-catalog .menu-hero-content {
        gap: 8px;
        grid-template-columns: 1fr;
        justify-items: center;
        text-align: center;
    }

    .theme-menutje-mono .menu-hero h1,
    .theme-noir-catalog .menu-hero h1 {
        font-size: 24px;
        line-height: 1.08;
        max-width: 320px;
        white-space: normal;
        word-break: break-word;
    }

    .theme-menutje-mono .menu-hero .eyebrow,
    .theme-noir-catalog .menu-hero .eyebrow {
        width: auto;
    }

    .theme-menutje-mono .locale-switcher,
    .theme-noir-catalog .locale-switcher {
        bottom: 10px;
        justify-content: center;
        left: 12px;
        right: 12px;
    }

    .theme-menutje-mono .category-showcase a,
    .theme-noir-catalog .category-showcase a {
        min-height: 112px;
    }

    .theme-menutje-mono .menu-product,
    .theme-noir-catalog .menu-product {
        grid-template-columns: 86px minmax(0, 1fr);
        min-height: 102px;
    }

    .theme-menutje-mono .product-media,
    .theme-menutje-mono .product-media img,
    .theme-menutje-mono .image-placeholder,
    .theme-menutje-mono .logo-placeholder,
    .theme-noir-catalog .product-media,
    .theme-noir-catalog .product-media img,
    .theme-noir-catalog .image-placeholder,
    .theme-noir-catalog .logo-placeholder {
        height: 102px;
        max-height: 102px;
        min-height: 102px;
    }

    .theme-menutje-mono.layout-two-column .product-media,
    .theme-menutje-mono.layout-two-column .product-media img,
    .theme-menutje-mono.layout-two-column .image-placeholder,
    .theme-menutje-mono.layout-two-column .logo-placeholder,
    .theme-noir-catalog.layout-two-column .product-media,
    .theme-noir-catalog.layout-two-column .product-media img,
    .theme-noir-catalog.layout-two-column .image-placeholder,
    .theme-noir-catalog.layout-two-column .logo-placeholder {
        height: 92px;
        max-height: 92px;
        min-height: 92px;
    }
}

.theme-menutje-mono.nav-category_grid .category-tabs,
.theme-noir-catalog.nav-category_grid .category-tabs {
    display: none;
}

.theme-menutje-mono.nav-category_grid .menu-toolbar,
.theme-noir-catalog.nav-category_grid .menu-toolbar {
    background: transparent;
    border: 0;
    padding: 12px;
    position: relative;
    top: auto;
}

.theme-menutje-mono.nav-category_grid .menu-search,
.theme-noir-catalog.nav-category_grid .menu-search {
    margin: 0 auto;
    max-width: 980px;
    width: 100%;
}

.theme-menutje-mono.bg-paper .menu-shell-bar,
.theme-menutje-mono.bg-paper .menu-toolbar {
    background: rgba(255,255,255,.94);
    color: #111;
}

.theme-menutje-mono.bg-paper .menu-search input {
    background: #fff;
    border-color: #d6d6d0;
    color: #111;
}

.theme-menutje-mono .menu-hero {
    background:
        linear-gradient(90deg, #f6f6f1 0 58%, #080808 58% 100%) !important;
    color: #111 !important;
}

.theme-menutje-mono.bg-studio .menu-hero {
    background:
        linear-gradient(90deg, #f6f6f1 0 57%, #080808 57% 100%) !important;
}

.theme-menutje-mono.bg-paper .menu-hero {
    background:
        linear-gradient(135deg, #ffffff 0 64%, #111111 64% 100%) !important;
    color: #111 !important;
}

.theme-menutje-mono.bg-charcoal .menu-hero,
.theme-menutje-mono[data-view-mode="dark"] .menu-hero {
    background:
        linear-gradient(90deg, #050505 0 62%, #f6f6f1 62% 100%) !important;
    color: #fff !important;
}

.theme-noir-catalog {
    --mono-accent: var(--accent, #cfc7b4);
}

.theme-noir-catalog .menu-hero {
    background:
        radial-gradient(circle at 78% 10%, rgba(244,244,240,.24), transparent 20%),
        linear-gradient(140deg, #020202 0 70%, #f3f3ef 70% 100%) !important;
    color: #fff !important;
    min-height: 300px;
}

.theme-noir-catalog .menu-hero-content {
    grid-template-columns: 1fr;
    justify-items: center;
    max-width: 620px;
    text-align: center;
}

.theme-noir-catalog .menu-logo {
    border-radius: 50%;
    box-shadow: 0 18px 44px rgba(0,0,0,.45);
    grid-row: auto;
    height: 92px;
    width: 92px;
}

.theme-noir-catalog .category-showcase > div {
    display: flex;
    gap: 10px;
    overflow-x: auto;
    padding-bottom: 4px;
    scroll-snap-type: x mandatory;
}

.theme-noir-catalog .category-showcase a {
    border-radius: 24px;
    flex: 0 0 174px;
    min-height: 160px;
    scroll-snap-align: start;
}

.theme-noir-catalog .menu-product {
    border-radius: 22px;
    grid-template-columns: 116px minmax(0, 1fr);
}

.theme-noir-catalog .product-media,
.theme-noir-catalog .product-media img,
.theme-noir-catalog .image-placeholder,
.theme-noir-catalog .logo-placeholder {
    height: 124px;
    max-height: 124px;
    min-height: 124px;
}

@media (max-width: 860px) {
    .theme-menutje-mono .menu-hero {
        background: #f6f6f1 !important;
        color: #111 !important;
    }

    .theme-menutje-mono.bg-charcoal .menu-hero,
    .theme-menutje-mono[data-view-mode="dark"] .menu-hero,
    .theme-noir-catalog .menu-hero {
        background: #050505 !important;
        color: #fff !important;
    }

    .theme-menutje-mono .category-showcase,
    .theme-noir-catalog .category-showcase,
    .theme-menutje-mono .menu-content,
    .theme-noir-catalog .menu-content {
        max-width: none !important;
        width: 100% !important;
    }

    .theme-menutje-mono .category-showcase > div {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .theme-menutje-mono .product-grid-public,
    .theme-noir-catalog .product-grid-public {
        grid-template-columns: 1fr !important;
    }
}

.theme-menutje-mono .menu-hero,
.theme-menutje-mono.bg-studio .menu-hero,
.theme-menutje-mono.bg-paper .menu-hero {
    background: #f6f6f1 !important;
    color: #111 !important;
}

.theme-menutje-mono.bg-charcoal .menu-hero,
.theme-menutje-mono[data-view-mode="dark"] .menu-hero {
    background: #050505 !important;
    color: #fff !important;
}

.theme-menutje-mono .category-showcase > div {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

.theme-menutje-mono .product-grid-public {
    grid-template-columns: 1fr !important;
}

@media (min-width: 1024px) {
    .theme-menutje-mono .category-showcase > div {
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    }

    .theme-menutje-mono .product-grid-public {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

.theme-menutje-mono .category-showcase > div {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

.theme-menutje-mono .product-grid-public {
    grid-template-columns: 1fr !important;
}

@media (max-width: 760px) {
    .theme-menutje-mono .menu-hero,
    .theme-noir-catalog .menu-hero {
        min-height: 218px !important;
        padding: 18px 12px 48px !important;
    }

    .theme-menutje-mono .menu-hero-content,
    .theme-noir-catalog .menu-hero-content {
        gap: 8px !important;
        grid-template-columns: 1fr !important;
        justify-items: center !important;
        max-width: min(330px, calc(100vw - 28px)) !important;
        text-align: center !important;
    }

    .theme-menutje-mono .menu-logo,
    .theme-noir-catalog .menu-logo {
        grid-row: auto !important;
        height: 62px !important;
        width: 62px !important;
    }

    .theme-menutje-mono .menu-hero h1,
    .theme-noir-catalog .menu-hero h1 {
        font-size: 24px !important;
        line-height: 1.08 !important;
        max-width: min(320px, calc(100vw - 34px)) !important;
        overflow-wrap: anywhere !important;
        white-space: normal !important;
    }

    .theme-menutje-mono .locale-switcher,
    .theme-noir-catalog .locale-switcher {
        bottom: 10px !important;
        justify-content: center !important;
        left: 12px !important;
        right: 12px !important;
    }

    .theme-noir-catalog .category-showcase a {
        flex-basis: 148px;
        min-height: 136px;
    }

    .theme-noir-catalog .menu-product {
        grid-template-columns: 96px minmax(0, 1fr);
    }

    .theme-noir-catalog .product-media,
    .theme-noir-catalog .product-media img,
    .theme-noir-catalog .image-placeholder,
    .theme-noir-catalog .logo-placeholder {
        height: 108px;
        max-height: 108px;
        min-height: 108px;
    }
}

.launch-landing {
    background: #050505;
    color: #f8f8f2;
    font-family: "Space Grotesk", "Manrope", ui-sans-serif, sans-serif;
    overflow: hidden;
}

.launch-hero {
    align-items: center;
    background:
        linear-gradient(90deg, rgba(255,255,255,.08) 1px, transparent 1px),
        radial-gradient(circle at 72% 22%, rgba(244,244,240,.22), transparent 20%),
        linear-gradient(135deg, #050505 0 68%, #f7f7ee 68% 100%);
    background-size: 32px 32px, auto, auto;
    display: grid;
    gap: 32px;
    grid-template-columns: minmax(0, 1.05fr) minmax(280px, .75fr);
    min-height: 720px;
    padding: 72px max(18px, calc((100vw - 1180px) / 2));
    position: relative;
}

.launch-hero::after {
    animation: launchScan 5s linear infinite;
    background: linear-gradient(90deg, transparent, rgba(244,244,240,.42), transparent);
    content: "";
    height: 2px;
    left: 0;
    position: absolute;
    right: 0;
    top: 18%;
}

.launch-kicker {
    color: #f4f4f0;
    display: inline-flex;
    font-size: 12px;
    font-weight: 950;
    letter-spacing: 0;
    margin-bottom: 14px;
    text-transform: uppercase;
}

.launch-copy h1,
.launch-about h2,
.launch-section-title h2,
.launch-contact h2 {
    font-size: 56px;
    letter-spacing: 0;
    line-height: .98;
    margin: 0;
    max-width: 780px;
}

.launch-copy p {
    color: rgba(255,255,255,.76);
    font-size: 19px;
    line-height: 1.55;
    max-width: 680px;
}

.launch-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 26px;
}

.launch-actions .button,
.launch-pricing .button {
    border-radius: 999px;
}

.launch-phone {
    background: #f8f8f2;
    border: 1px solid rgba(255,255,255,.22);
    border-radius: 34px;
    box-shadow: 0 34px 90px rgba(0,0,0,.45);
    color: #111;
    display: grid;
    gap: 14px;
    max-width: 360px;
    padding: 18px;
    transform: rotate(2deg);
}

.launch-phone-bar {
    background: #111;
    border-radius: 999px;
    height: 8px;
    margin: 0 auto 4px;
    width: 82px;
}

.launch-menu-head {
    align-items: center;
    display: flex;
    justify-content: space-between;
}

.launch-menu-head span,
.launch-category-row i {
    background: #111;
    border-radius: 999px;
    color: #fff;
    font-size: 11px;
    font-style: normal;
    font-weight: 900;
    padding: 7px 10px;
}

.launch-category-row {
    display: flex;
    gap: 8px;
    overflow: hidden;
}

.launch-phone article {
    align-items: center;
    background: #fff;
    border: 1px solid #dfdfd8;
    display: grid;
    gap: 12px;
    grid-template-columns: 62px minmax(0, 1fr) auto;
    padding: 10px;
}

.launch-phone article span {
    background:
        radial-gradient(circle at 42% 36%, #f4f4f0 0 16px, transparent 17px),
        linear-gradient(135deg, #111, #777);
    height: 62px;
}

.launch-phone article strong,
.launch-phone article small {
    display: block;
}

.launch-phone article small {
    color: #666;
    line-height: 1.35;
}

.launch-phone article b {
    white-space: nowrap;
}

.launch-strip,
.launch-about,
.launch-seo-block,
.launch-pricing,
.launch-contact {
    padding: 74px max(18px, calc((100vw - 1180px) / 2));
}

.launch-strip {
    background: #f7f7ee;
    color: #111;
    display: grid;
    gap: 1px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    padding-top: 1px;
    padding-bottom: 1px;
}

.launch-strip article {
    background: #fff;
    display: grid;
    gap: 12px;
    min-height: 230px;
    padding: 28px;
}

.launch-strip article span {
    color: #777;
    font-weight: 950;
}

.launch-strip article strong {
    font-size: 24px;
    line-height: 1.1;
}

.launch-strip article p,
.launch-about p {
    color: #555;
    line-height: 1.65;
}

.launch-about {
    align-items: start;
    background: #fff;
    color: #111;
    display: grid;
    gap: 32px;
    grid-template-columns: minmax(0, .9fr) minmax(0, .8fr);
}

.launch-seo-block {
    background: #f2f6f4;
    color: #111;
}

.launch-seo-block .launch-section-title {
    align-items: flex-start;
    gap: 24px;
}

.launch-seo-block .launch-section-title p {
    color: #4f5b57;
    max-width: 560px;
}

.launch-keyword-cloud {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.launch-keyword-cloud span {
    background: #fff;
    border: 1px solid rgba(17, 17, 17, .12);
    border-radius: 999px;
    color: #25312d;
    font-size: 13px;
    font-weight: 800;
    padding: 9px 13px;
}

.launch-about .launch-kicker,
.launch-pricing .launch-kicker,
.launch-contact .launch-kicker {
    color: #111;
}

.launch-pricing {
    background: #050505;
}

.launch-section-title {
    align-items: end;
    display: flex;
    justify-content: space-between;
    margin-bottom: 28px;
}

.launch-pricing .pricing-card-public {
    background: #f7f7ee;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    color: #111;
}

.launch-pricing .pricing-card-public::before {
    background: #111;
    border-radius: 0;
    left: 0;
    right: 0;
    top: 0;
}

.launch-pricing .pricing-card-public.trial::before {
    background: #f4f4f0;
}

.launch-contact {
    align-items: start;
    background: #f4f4f0;
    color: #111;
    display: grid;
    gap: 24px;
    grid-template-columns: .85fr 1fr;
}

.launch-contact address {
    display: grid;
    font-style: normal;
    gap: 10px;
}

.launch-contact a,
.launch-contact span {
    background: rgba(255,255,255,.55);
    color: #111;
    display: block;
    font-weight: 850;
    padding: 14px 16px;
}

@keyframes launchScan {
    0% {
        transform: translateY(0);
        opacity: .2;
    }

    50% {
        opacity: 1;
    }

    100% {
        transform: translateY(460px);
        opacity: .2;
    }
}

@media (max-width: 860px) {
    .launch-hero,
    .launch-about,
    .launch-contact {
        grid-template-columns: 1fr;
    }

    .launch-seo-block .launch-section-title {
        display: grid;
    }

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

    .launch-copy h1,
    .launch-about h2,
    .launch-section-title h2,
    .launch-contact h2 {
        font-size: 34px;
        line-height: 1.04;
    }

    .launch-phone {
        max-width: none;
        transform: none;
    }

    .launch-strip,
    .launch-pricing .pricing-grid-public {
        grid-template-columns: 1fr;
    }

    .launch-section-title {
        align-items: flex-start;
        display: grid;
        gap: 12px;
    }
}

.public-body .qr-menu.theme-menutje-mono.nav-category_grid .category-showcase,
.public-body .qr-menu.theme-menutje-mono .menu-content {
    max-width: 100% !important;
    overflow: hidden !important;
    width: 100% !important;
}

.public-body .qr-menu.theme-menutje-mono.nav-category_grid .category-showcase > div {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

.public-body .qr-menu.theme-menutje-mono .product-grid-public {
    grid-template-columns: 1fr !important;
}

.public-body .qr-menu.theme-menutje-mono.nav-category_grid .category-tabs,
.public-body .qr-menu.theme-noir-catalog.nav-category_grid .category-tabs {
    display: none !important;
}

.public-body .qr-menu.theme-menutje-mono.nav-category_grid .menu-toolbar,
.public-body .qr-menu.theme-noir-catalog.nav-category_grid .menu-toolbar {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    padding: 12px !important;
    position: relative !important;
    top: auto !important;
    z-index: auto !important;
}

.public-body .qr-menu.theme-menutje-mono .menu-category,
.public-body .qr-menu.theme-noir-catalog .menu-category {
    scroll-margin-top: 112px !important;
}

.public-body .qr-menu.theme-menutje-mono.nav-category_grid.category-showcase-stuck .category-showcase,
.public-body .qr-menu.theme-noir-catalog.nav-category_grid.category-showcase-stuck .category-showcase {
    backdrop-filter: blur(18px);
    background: rgba(8, 8, 8, .95) !important;
    border-bottom: 1px solid rgba(255,255,255,.12);
    box-shadow: 0 14px 34px rgba(0,0,0,.24);
    left: 0;
    max-width: none !important;
    padding: 10px 12px !important;
    position: fixed;
    right: 0;
    top: 0;
    top: env(safe-area-inset-top, 0px);
    width: 100% !important;
    z-index: 42;
}

.public-body .qr-menu.theme-menutje-mono.bg-paper.nav-category_grid.category-showcase-stuck .category-showcase {
    background: rgba(255,255,255,.95) !important;
    border-bottom-color: rgba(0,0,0,.1);
    box-shadow: 0 12px 28px rgba(0,0,0,.08);
}

.public-body .qr-menu.theme-menutje-mono.nav-category_grid.category-showcase-stuck .category-showcase h2,
.public-body .qr-menu.theme-noir-catalog.nav-category_grid.category-showcase-stuck .category-showcase h2 {
    display: none;
}

.public-body .qr-menu.theme-menutje-mono.nav-category_grid.category-showcase-stuck .category-showcase > div,
.public-body .qr-menu.theme-noir-catalog.nav-category_grid.category-showcase-stuck .category-showcase > div {
    display: flex !important;
    gap: 10px;
    grid-template-columns: none !important;
    justify-content: center;
    margin: 0 auto;
    max-width: 980px;
    overflow-x: auto;
    padding: 0;
    scrollbar-width: none;
    width: 100%;
}

.public-body .qr-menu.theme-menutje-mono.nav-category_grid.category-showcase-stuck .category-showcase > div::-webkit-scrollbar,
.public-body .qr-menu.theme-noir-catalog.nav-category_grid.category-showcase-stuck .category-showcase > div::-webkit-scrollbar {
    display: none;
}

.public-body .qr-menu.theme-menutje-mono.nav-category_grid.category-showcase-stuck .category-showcase a,
.public-body .qr-menu.theme-noir-catalog.nav-category_grid.category-showcase-stuck .category-showcase a {
    align-items: center;
    background: rgba(255,255,255,.1) !important;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 999px;
    color: #fff;
    display: inline-flex !important;
    flex: 0 0 auto;
    gap: 9px;
    min-height: 46px !important;
    min-width: 0;
    padding: 6px 14px 6px 7px !important;
}

.public-body .qr-menu.theme-menutje-mono.bg-paper.nav-category_grid.category-showcase-stuck .category-showcase a {
    background: #111 !important;
    border-color: #111;
    color: #fff;
}

.public-body .qr-menu.theme-menutje-mono.nav-category_grid.category-showcase-stuck .category-showcase a::after,
.public-body .qr-menu.theme-noir-catalog.nav-category_grid.category-showcase-stuck .category-showcase a::after {
    display: none;
}

.public-body .qr-menu.theme-menutje-mono.nav-category_grid.category-showcase-stuck .category-showcase img,
.public-body .qr-menu.theme-noir-catalog.nav-category_grid.category-showcase-stuck .category-showcase img {
    border-radius: 999px;
    filter: none;
    flex: 0 0 auto;
    height: 34px;
    inset: auto;
    object-fit: cover;
    position: relative;
    width: 34px;
}

.public-body .qr-menu.theme-menutje-mono.nav-category_grid.category-showcase-stuck .category-showcase a > span,
.public-body .qr-menu.theme-noir-catalog.nav-category_grid.category-showcase-stuck .category-showcase a > span {
    border-radius: 999px;
    flex: 0 0 auto;
    font-size: 14px;
    height: 34px;
    width: 34px;
}

.public-body .qr-menu.theme-menutje-mono.nav-category_grid.category-showcase-stuck .category-showcase strong,
.public-body .qr-menu.theme-noir-catalog.nav-category_grid.category-showcase-stuck .category-showcase strong {
    font-size: 13px;
    line-height: 1;
    max-width: 148px;
    overflow: hidden;
    position: relative;
    text-shadow: none;
    text-overflow: ellipsis;
    white-space: nowrap;
    z-index: 1;
}

.public-body .qr-menu.theme-menutje-mono.nav-category_grid.category-showcase-stuck .menu-content,
.public-body .qr-menu.theme-noir-catalog.nav-category_grid.category-showcase-stuck .menu-content {
    padding-top: 84px !important;
}

@media (max-width: 560px) {
    .public-body .qr-menu.theme-menutje-mono.nav-category_grid.category-showcase-stuck .category-showcase > div,
    .public-body .qr-menu.theme-noir-catalog.nav-category_grid.category-showcase-stuck .category-showcase > div {
        justify-content: flex-start;
    }
}

.sr-only {
    clip: rect(0 0 0 0);
    border: 0;
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    white-space: nowrap;
    width: 1px;
}

.menu-mode-toggle {
    align-items: center;
    display: inline-flex;
    gap: 6px;
    justify-content: center;
}

.mode-icon {
    align-items: center;
    display: inline-block;
    flex: 0 0 auto;
    font-size: 15px;
    font-weight: 950;
    height: 17px;
    justify-content: center;
    line-height: 17px;
    position: relative;
    text-align: center;
    width: 17px;
}

.mode-icon-sun {
    background: transparent;
    border-radius: 0;
    box-shadow: none;
}

.mode-icon-moon {
    border-radius: 0;
    box-shadow: none;
}

.qr-menu[data-view-mode="light"] .mode-icon-moon,
.qr-menu[data-view-mode="dark"] .mode-icon-sun {
    opacity: .38;
}

.qr-menu[data-view-mode="light"] .mode-icon-sun,
.qr-menu[data-view-mode="dark"] .mode-icon-moon {
    opacity: 1;
}

.comment-icon {
    border: 2px solid currentColor;
    border-radius: 999px;
    display: inline-block;
    height: 13px;
    position: relative;
    width: 15px;
}

.comment-icon::after {
    background: currentColor;
    bottom: -4px;
    content: "";
    height: 6px;
    left: 3px;
    position: absolute;
    transform: rotate(42deg);
    width: 6px;
}

.description-modal {
    animation: modalFadeIn .18s ease both;
}

.description-backdrop {
    backdrop-filter: blur(12px);
    background: rgba(5, 5, 5, .62);
}

.description-dialog {
    animation: modalLiftIn .24s cubic-bezier(.2, .8, .2, 1) both;
    background: #fff;
    border: 1px solid rgba(17, 24, 39, .08);
    border-radius: 24px;
    box-shadow: 0 30px 90px rgba(0,0,0,.3);
    color: #111827;
    display: grid;
    gap: 12px;
    max-height: min(84vh, 720px);
    overflow: auto;
    padding: 16px;
}

.description-visual {
    aspect-ratio: 16 / 10;
    background: #f4f4f0;
    border-radius: 18px;
    overflow: hidden;
    position: relative;
}

.description-visual[hidden],
.description-price[hidden] {
    display: none !important;
}

.description-visual::after {
    background: linear-gradient(180deg, transparent 28%, rgba(0,0,0,.72));
    content: "";
    inset: 0;
    pointer-events: none;
    position: absolute;
}

.description-visual.is-empty {
    background:
        radial-gradient(circle at 80% 18%, rgba(255,255,255,.18), transparent 24%),
        linear-gradient(135deg, #111, #2b2b2b);
}

.description-visual.is-empty img {
    display: none;
}

.description-visual img {
    display: block;
    height: 100%;
    object-fit: cover;
    width: 100%;
}

.description-copy {
    display: grid;
    gap: 0;
    padding: 0 6px 8px;
}

.description-visual-caption {
    bottom: 14px;
    display: grid;
    gap: 7px;
    left: 14px;
    max-width: calc(100% - 86px);
    position: absolute;
    z-index: 2;
}

.description-dialog h2 {
    color: #fff;
    font-size: clamp(23px, 5vw, 34px);
    letter-spacing: 0;
    line-height: 1.05;
    margin: 0;
    text-shadow: 0 12px 28px rgba(0,0,0,.36);
}

.description-price {
    align-items: center;
    background: #fff;
    border: 1px solid rgba(255,255,255,.38);
    border-radius: 999px;
    color: #111;
    display: inline-flex;
    font-size: 15px;
    font-weight: 950;
    justify-self: start;
    padding: 8px 12px;
}

.description-dialog p {
    color: #293241;
    font-size: 14px;
    line-height: 1.42;
    margin: 0;
    white-space: pre-line;
}

.description-close {
    background: #111827;
    border: 2px solid #fff;
    box-shadow: 0 12px 24px rgba(0,0,0,.22);
    color: #fff;
    position: absolute;
    right: 18px;
    top: 18px;
    z-index: 6;
}

@keyframes modalFadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
}

@keyframes modalLiftIn {
    from {
        opacity: 0;
        transform: translateY(14px) scale(.98);
    }
    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

.theme-noir-catalog .menu-search input {
    font-size: 16px;
}

.theme-noir-catalog .menu-mode-toggle {
    align-items: center;
    background: #111 !important;
    border-radius: 999px;
    color: #fff !important;
    display: inline-flex !important;
    justify-self: end;
    min-height: 38px;
    min-width: 64px;
    opacity: 1 !important;
    padding: 0 10px;
    position: absolute;
    right: 12px;
    top: 7px;
    visibility: visible !important;
    z-index: 4;
}

.theme-noir-catalog .menu-shell-bar::after {
    align-items: center;
    background: #111;
    border-radius: 999px;
    color: #fff;
    content: "\2600  \263E";
    display: inline-flex;
    font-size: 15px;
    font-weight: 950;
    height: 38px;
    justify-content: center;
    letter-spacing: 1px;
    pointer-events: none;
    position: absolute;
    right: 12px;
    top: 7px;
    width: 64px;
    z-index: 5;
}

.theme-noir-catalog .mode-toggle-visual {
    align-items: center;
    background: #111;
    border-radius: 999px;
    color: #fff;
    display: inline-flex;
    font-size: 15px;
    font-weight: 950;
    height: 38px;
    justify-content: center;
    letter-spacing: 1px;
    pointer-events: none;
    position: fixed;
    right: 12px;
    top: 7px;
    width: 64px;
    z-index: 60;
}

.theme-noir-catalog[data-view-mode="dark"] .mode-toggle-visual {
    color: #fff;
}

.theme-noir-catalog[data-view-mode="dark"] .menu-shell-bar::after {
    content: "\263E  \2600";
}

.theme-noir-catalog .menu-shell-bar > strong {
    display: none;
}

.theme-noir-catalog[data-view-mode="light"] {
    --mono-accent: #111;
    background: #fff !important;
    color: #111 !important;
}

.theme-noir-catalog[data-view-mode="light"] .menu-shell-bar,
.theme-noir-catalog[data-view-mode="light"] .menu-toolbar,
.theme-noir-catalog[data-view-mode="light"].nav-category_grid.category-showcase-stuck .category-showcase {
    background: rgba(255,255,255,.96) !important;
    border-color: rgba(0,0,0,.14) !important;
    color: #111 !important;
}

.theme-noir-catalog[data-view-mode="light"] .shell-action,
.theme-noir-catalog[data-view-mode="light"] .menu-mode-toggle {
    background: #111 !important;
    border-color: #111 !important;
    color: #fff !important;
}

.theme-noir-catalog[data-view-mode="light"] .menu-hero {
    background: #fff !important;
    color: #111 !important;
}

.theme-noir-catalog[data-view-mode="light"] .menu-hero::before {
    background:
        linear-gradient(90deg, rgba(0,0,0,.08) 1px, transparent 1px),
        linear-gradient(180deg, transparent, rgba(0,0,0,.03));
    background-size: 24px 24px, auto;
}

.theme-noir-catalog[data-view-mode="light"] .menu-logo {
    border-color: #111 !important;
    box-shadow: 8px 8px 0 #111 !important;
}

.theme-noir-catalog[data-view-mode="light"] .menu-hero .eyebrow,
.theme-noir-catalog[data-view-mode="light"] .locale-switcher a.active {
    background: #111 !important;
    border-color: #111 !important;
    color: #fff !important;
}

.theme-noir-catalog[data-view-mode="light"] .locale-switcher a,
.theme-noir-catalog[data-view-mode="light"] .menu-search input {
    background: #fff !important;
    border-color: #111 !important;
    color: #111 !important;
}

.theme-noir-catalog[data-view-mode="light"] .category-showcase a {
    background: #111 !important;
    border-color: #111 !important;
    color: #fff !important;
}

.theme-noir-catalog[data-view-mode="light"].nav-category_grid.category-showcase-stuck .category-showcase a {
    background: #111 !important;
    border-color: #111 !important;
    color: #fff !important;
}

.theme-noir-catalog[data-view-mode="light"] .menu-category h2,
.theme-noir-catalog[data-view-mode="light"] .product-title-row h3,
.theme-noir-catalog[data-view-mode="light"] .price-stack strong {
    color: #111 !important;
}

.theme-noir-catalog[data-view-mode="light"] .menu-product,
.theme-noir-catalog[data-view-mode="light"] .approved-comments article,
.theme-noir-catalog[data-view-mode="light"] .public-comment-form {
    background: #fff !important;
    border: 1px solid rgba(0,0,0,.16) !important;
    color: #111 !important;
}

.theme-noir-catalog[data-view-mode="light"] .product-description-short,
.theme-noir-catalog[data-view-mode="light"] .product-description-trigger,
.theme-noir-catalog[data-view-mode="light"] .ingredients-line,
.theme-noir-catalog[data-view-mode="light"] .approved-comments p {
    color: #3a3a3a !important;
}

.theme-noir-catalog[data-view-mode="light"] .pill-row span,
.theme-noir-catalog[data-view-mode="light"] .product-comments summary,
.theme-noir-catalog[data-view-mode="light"] .product-calorie-chip {
    background: #f5f5f5 !important;
    border-color: #d8d8d8 !important;
    color: #111 !important;
}

.theme-noir-catalog[data-view-mode="light"] .product-action-row .button {
    background: #111 !important;
    color: #fff !important;
}

.theme-noir-catalog[data-view-mode="light"] .menu-footer {
    background: #fff !important;
    border-top: 1px solid rgba(0,0,0,.14);
    color: #111 !important;
}

.theme-noir-catalog .menu-footer {
    align-items: stretch;
    background:
        radial-gradient(circle at 12% 0, rgba(255,255,255,.12), transparent 30%),
        #050505;
    border-top: 1px solid rgba(255,255,255,.12);
    display: grid;
    gap: 16px;
    grid-template-columns: minmax(0, .9fr) minmax(0, 1.4fr);
    padding: 24px 16px calc(24px + env(safe-area-inset-bottom, 0px));
}

.menu-footer-brand {
    display: grid;
    gap: 8px;
}

.menu-footer-brand > strong {
    font-size: 20px;
    font-weight: 950;
}

.menu-footer-brand p {
    color: currentColor;
    line-height: 1.55;
    margin: 0;
    opacity: .74;
}

.theme-noir-catalog .menu-footer-links {
    display: grid;
    gap: 10px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.footer-contact-card {
    align-items: center;
    background: rgba(255,255,255,.08);
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 18px;
    color: inherit;
    display: grid;
    gap: 2px 10px;
    grid-template-columns: 42px minmax(0, 1fr);
    min-height: 70px;
    padding: 10px;
    text-decoration: none;
    transition: transform .18s ease, border-color .18s ease, background .18s ease;
}

.theme-noir-catalog .footer-contact-card {
    color: inherit !important;
}

.footer-contact-card:hover {
    transform: translateY(-2px);
}

.footer-contact-card .footer-icon {
    align-items: center;
    background: #f4f4f0;
    border-radius: 999px;
    color: #111;
    display: inline-flex;
    font-size: 10px;
    font-weight: 950;
    grid-row: 1 / 3;
    height: 42px;
    justify-content: center;
    letter-spacing: 0;
    width: 42px;
}

.footer-contact-card .footer-icon svg {
    display: block;
    height: 23px;
    overflow: visible;
    width: 23px;
}

.footer-contact-card .footer-icon svg * {
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.9;
}

.footer-contact-card.whatsapp .footer-icon svg path:last-child,
.footer-contact-card.location .footer-icon svg circle,
.footer-contact-card.instagram .footer-icon svg circle:last-child {
    fill: currentColor;
    stroke: none;
}

.footer-contact-card.whatsapp .footer-icon svg {
    height: 24px;
    width: 24px;
}

.footer-contact-card strong {
    color: inherit;
    font-size: 13px;
    font-weight: 950;
    line-height: 1.1;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.footer-contact-card small {
    color: inherit;
    font-size: 11px;
    line-height: 1.2;
    opacity: .7;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.theme-noir-catalog[data-view-mode="light"] .footer-contact-card {
    background: #fff !important;
    border-color: rgba(0,0,0,.16) !important;
    box-shadow: 0 12px 28px rgba(0,0,0,.07);
}

.theme-noir-catalog[data-view-mode="light"] .footer-contact-card .footer-icon {
    background: #111 !important;
    color: #fff !important;
}

@media (max-width: 760px) {
    .theme-noir-catalog .menu-footer {
        grid-template-columns: 1fr;
    }

    .theme-noir-catalog .menu-footer-links {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 860px) {
    .launch-copy {
        max-width: 360px;
    }

    .launch-copy p {
        font-size: 17px;
        max-width: 100%;
        overflow-wrap: anywhere;
    }

    .launch-actions {
        display: grid;
        grid-template-columns: 1fr;
        max-width: 340px;
    }

    .launch-actions .button {
        width: 100%;
    }

    .launch-phone {
        justify-self: center;
        max-width: 330px !important;
        width: min(100%, 330px);
    }

    .launch-phone article {
        grid-template-columns: 56px minmax(0, 1fr) auto;
    }
}

.theme-menutje-mono {
    --mt-bg: #fff7ed;
    --mt-card: rgba(255, 255, 255, .9);
    --mt-ink: #2a1b15;
    --mt-muted: #7d6258;
    --mt-coral: #ef6a4d;
    --mt-teal: #0f766e;
    --mt-sun: #f59e0b;
    --mt-plum: #7c3aed;
    background:
        radial-gradient(circle at 15% 4%, rgba(239, 106, 77, .24), transparent 26%),
        radial-gradient(circle at 90% 12%, rgba(15, 118, 110, .2), transparent 24%),
        linear-gradient(180deg, #fff7ed 0%, #fffaf4 48%, #f8ede4 100%) !important;
    color: var(--mt-ink) !important;
}

.theme-menutje-mono .menu-shell-bar {
    display: none !important;
}

.theme-menutje-mono .shell-action {
    display: none !important;
}

.theme-menutje-mono .menu-shell-bar > strong {
    font-size: 15px;
    text-align: left;
}

.theme-menutje-mono .menu-mode-toggle {
    background: #ffffff !important;
    border: 1px solid rgba(239, 106, 77, .24) !important;
    box-shadow: 0 10px 24px rgba(239, 106, 77, .16);
    color: var(--mt-coral) !important;
}

.theme-menutje-mono .menu-hero,
.theme-menutje-mono.bg-studio .menu-hero,
.theme-menutje-mono.bg-paper .menu-hero,
.theme-menutje-mono.bg-charcoal .menu-hero,
.theme-menutje-mono[data-view-mode="dark"] .menu-hero {
    background:
        radial-gradient(circle at 82% 18%, rgba(255,255,255,.55), transparent 18%),
        linear-gradient(135deg, rgba(239,106,77,.96), rgba(245,158,11,.78) 52%, rgba(15,118,110,.9)) !important;
    color: #fff !important;
    min-height: 250px !important;
    padding: 26px 18px 54px !important;
}

.theme-menutje-mono.has-cover .menu-hero {
    background:
        linear-gradient(180deg, rgba(42, 27, 21, .38), rgba(42, 27, 21, .66)),
        var(--cover-image) center/cover no-repeat !important;
}

.theme-menutje-mono .menu-hero::before {
    background:
        radial-gradient(circle at 22% 30%, rgba(255,255,255,.28), transparent 16%),
        linear-gradient(120deg, transparent, rgba(255,255,255,.18), transparent) !important;
    opacity: 1 !important;
}

.theme-menutje-mono .menu-hero-content {
    grid-template-columns: 1fr !important;
    justify-items: center;
    max-width: 520px !important;
    text-align: center;
}

.theme-menutje-mono .menu-logo {
    border: 4px solid rgba(255,255,255,.88) !important;
    border-radius: 28px !important;
    box-shadow: 0 18px 36px rgba(42,27,21,.22) !important;
    grid-row: auto !important;
    height: 86px !important;
    width: 86px !important;
}

.theme-menutje-mono .menu-hero .eyebrow {
    background: rgba(255,255,255,.22) !important;
    color: #fff !important;
}

.theme-menutje-mono .menu-hero h1 {
    font-size: clamp(28px, 8vw, 44px) !important;
    letter-spacing: 0;
    line-height: 1.05 !important;
    max-width: min(100%, calc(100vw - 34px)) !important;
    overflow-wrap: anywhere !important;
    text-align: center;
    text-shadow: 0 14px 32px rgba(42,27,21,.18);
    white-space: normal !important;
}

.theme-menutje-mono .menu-hero p {
    color: #fff !important;
    opacity: .9 !important;
}

.theme-menutje-mono .locale-switcher a {
    background: rgba(255,255,255,.2) !important;
    border-color: rgba(255,255,255,.44) !important;
    color: #fff !important;
}

.theme-menutje-mono .locale-switcher a.active {
    background: #fff !important;
    border-color: #fff !important;
    color: var(--mt-coral) !important;
}

.theme-menutje-mono .menu-toolbar {
    display: none !important;
}

.theme-menutje-mono .category-showcase {
    margin: 22px auto 0 !important;
    max-width: 1080px !important;
    overflow: visible !important;
    padding: 0 16px 28px !important;
    position: relative;
    z-index: 4;
}

.theme-menutje-mono .category-showcase h2 {
    color: var(--mt-ink) !important;
    font-size: 26px !important;
    margin: 0 0 14px !important;
    text-align: center;
}

.theme-menutje-mono .category-showcase h2::after {
    background: linear-gradient(90deg, var(--mt-coral), var(--mt-sun), var(--mt-teal));
    border-radius: 999px;
    content: "";
    display: block;
    height: 4px;
    margin: 10px auto 0;
    width: 92px;
}

.theme-menutje-mono .category-showcase > div,
.public-body .qr-menu.theme-menutje-mono.nav-category_grid .category-showcase > div {
    display: grid !important;
    gap: 14px !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

.theme-menutje-mono .category-showcase a {
    border: 0 !important;
    border-radius: 30px !important;
    box-shadow: 0 18px 38px rgba(42,27,21,.16);
    min-height: 178px !important;
    padding: 16px !important;
    transform: translateZ(0);
}

.theme-menutje-mono .category-showcase a:nth-child(4n + 1) {
    background: linear-gradient(135deg, #ef6a4d, #f59e0b) !important;
}

.theme-menutje-mono .category-showcase a:nth-child(4n + 2) {
    background: linear-gradient(135deg, #0f766e, #22c55e) !important;
}

.theme-menutje-mono .category-showcase a:nth-child(4n + 3) {
    background: linear-gradient(135deg, #7c3aed, #ec4899) !important;
}

.theme-menutje-mono .category-showcase a:nth-child(4n + 4) {
    background: linear-gradient(135deg, #2563eb, #06b6d4) !important;
}

.theme-menutje-mono .category-showcase a::after {
    background:
        linear-gradient(180deg, rgba(0,0,0,.02), rgba(42,27,21,.6)),
        radial-gradient(circle at 84% 18%, rgba(255,255,255,.3), transparent 22%) !important;
}

.theme-menutje-mono .category-showcase img {
    filter: saturate(1.12) contrast(1.02) !important;
    opacity: .82;
}

.theme-menutje-mono .category-showcase a > span {
    background: rgba(255,255,255,.24) !important;
    color: #fff !important;
}

.theme-menutje-mono .category-showcase strong {
    color: #fff !important;
    font-size: 20px !important;
    line-height: 1.05 !important;
    text-shadow: 0 14px 30px rgba(0,0,0,.32) !important;
}

.theme-menutje-mono .menu-content {
    max-width: 980px !important;
    padding: 18px 14px 68px !important;
}

.theme-menutje-mono .pro-back-bar {
    align-items: center;
    background: rgba(255,255,255,.92);
    border: 1px solid rgba(239,106,77,.16);
    border-radius: 22px;
    box-shadow: 0 16px 34px rgba(42,27,21,.1);
    color: var(--mt-ink);
    display: flex;
    gap: 12px;
    justify-content: space-between;
    margin: 0 0 16px;
    padding: 10px;
    position: sticky;
    top: 10px;
    z-index: 25;
}

.theme-menutje-mono .pro-back-bar .button {
    background: var(--mt-coral) !important;
    border: 0 !important;
    border-radius: 999px !important;
    color: #fff !important;
    min-height: 38px;
}

.theme-menutje-mono .pro-back-bar strong {
    color: var(--mt-ink);
    font-size: 15px;
    font-weight: 950;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.theme-menutje-mono .menu-category h2 {
    color: var(--mt-ink) !important;
    font-size: 28px !important;
    margin-top: 8px !important;
}

.theme-menutje-mono .menu-category h2::before {
    background: linear-gradient(180deg, var(--mt-coral), var(--mt-sun)) !important;
    border-radius: 999px;
    height: 32px !important;
}

.theme-menutje-mono .menu-product {
    background: rgba(255,255,255,.92) !important;
    border: 1px solid rgba(239,106,77,.14) !important;
    border-radius: 28px !important;
    box-shadow: 0 16px 34px rgba(42,27,21,.09) !important;
    color: var(--mt-ink) !important;
    grid-template-columns: 112px minmax(0, 1fr) !important;
}

.theme-menutje-mono .product-media,
.theme-menutje-mono .product-media img,
.theme-menutje-mono .image-placeholder,
.theme-menutje-mono .logo-placeholder {
    border-radius: 22px !important;
    height: 118px !important;
    max-height: 118px !important;
    min-height: 118px !important;
}

.theme-menutje-mono .product-title-row h3,
.theme-menutje-mono .price-stack strong {
    color: var(--mt-ink) !important;
}

.theme-menutje-mono .product-description-short,
.theme-menutje-mono .product-description-trigger,
.theme-menutje-mono .ingredients-line {
    color: var(--mt-muted) !important;
}

.theme-menutje-mono .product-action-row .button {
    background: var(--mt-teal) !important;
    color: #fff !important;
}

.theme-menutje-mono .product-comments summary {
    background: #fff4e8 !important;
    border-color: rgba(239,106,77,.22) !important;
    color: var(--mt-coral) !important;
}

.theme-menutje-mono .product-calorie-chip {
    background: #fff7ed !important;
    border-color: #fed7aa !important;
    color: #9a3412 !important;
}

.theme-menutje-mono .menu-footer {
    background: #2a1b15 !important;
    color: #fff7ed !important;
}

@media (min-width: 860px) {
    .theme-menutje-mono .category-showcase > div,
    .public-body .qr-menu.theme-menutje-mono.nav-category_grid .category-showcase > div {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }

    .theme-menutje-mono .category-showcase a {
        min-height: 220px !important;
    }
}

@media (max-width: 540px) {
    .theme-menutje-mono .menu-hero h1 {
        font-size: clamp(28px, 9vw, 36px) !important;
    }

    .theme-menutje-mono .category-showcase {
        padding-inline: 12px !important;
    }

    .theme-menutje-mono .category-showcase a {
        border-radius: 24px !important;
        min-height: 152px !important;
    }

    .theme-menutje-mono .category-showcase strong {
        font-size: 17px !important;
    }

    .theme-menutje-mono .menu-product {
        grid-template-columns: 94px minmax(0, 1fr) !important;
    }

    .theme-menutje-mono .product-media,
    .theme-menutje-mono .product-media img,
    .theme-menutje-mono .image-placeholder,
    .theme-menutje-mono .logo-placeholder {
        height: 104px !important;
        max-height: 104px !important;
        min-height: 104px !important;
    }
}

.public-flash.success:not(.thank-you) {
    animation: publicThankToast 3.4s ease forwards;
}

.public-flash.thank-you {
    align-items: center;
    animation: publicCenterThanks 2.8s ease forwards;
    background: #fff;
    border: 1px solid rgba(17, 24, 39, .08);
    border-radius: 18px;
    box-shadow: 0 18px 54px rgba(17, 24, 39, .18);
    color: #111827;
    display: inline-flex;
    font-size: clamp(20px, 5.4vw, 28px);
    font-weight: 900;
    gap: 10px;
    justify-content: center;
    left: 50%;
    letter-spacing: 0;
    min-width: 0;
    overflow: visible;
    padding: 16px 20px;
    pointer-events: none;
    text-align: center;
    top: 50%;
    transform: translate(-50%, -50%) scale(.96);
    white-space: nowrap;
    z-index: 500;
}

.public-flash.thank-you::before {
    align-items: center;
    background: #ecfdf3;
    border-radius: 999px;
    color: #027a48;
    content: "✓";
    display: inline-flex;
    flex: 0 0 auto;
    font-size: 15px;
    font-weight: 950;
    height: 28px;
    justify-content: center;
    width: 28px;
}

@keyframes publicThankToast {
    0% {
        opacity: 0;
        transform: translateX(-50%) translateY(-14px) scale(.96);
    }

    12%,
    72% {
        opacity: 1;
        transform: translateX(-50%) translateY(0) scale(1);
    }

    100% {
        opacity: 0;
        transform: translateX(-50%) translateY(-12px) scale(.98);
        visibility: hidden;
    }
}

@keyframes publicCenterThanks {
    0% {
        opacity: 0;
        transform: translate(-50%, -46%) scale(.94);
    }

    16%,
    72% {
        opacity: 1;
        transform: translate(-50%, -50%) scale(1);
    }

    100% {
        opacity: 0;
        transform: translate(-50%, -54%) scale(.98);
        visibility: hidden;
    }
}

@media (max-width: 760px) {
    .public-flash {
        font-size: 13px;
        padding: 10px 13px;
        top: calc(10px + env(safe-area-inset-top, 0px));
    }

    .product-comments[open],
    .theme-menutje-mono .product-comments[open],
    .theme-noir-catalog .product-comments[open] {
        flex: 1 0 100% !important;
        width: 100%;
    }

    .theme-menutje-mono .product-comments-panel,
    .theme-noir-catalog .product-comments-panel {
        gap: 7px;
        padding-top: 7px;
    }

    .public-comment-form {
        gap: 7px;
        padding: 8px;
    }

    .theme-menutje-mono .menu-footer,
    .theme-noir-catalog .menu-footer {
        display: grid;
        gap: 10px;
        grid-template-columns: 1fr;
        padding: 14px 10px calc(14px + env(safe-area-inset-bottom, 0px));
    }

    .theme-menutje-mono .menu-footer-brand,
    .theme-noir-catalog .menu-footer-brand {
        display: grid;
        gap: 4px;
    }

    .theme-menutje-mono .menu-footer-brand > strong,
    .theme-noir-catalog .menu-footer-brand > strong {
        font-size: 14px;
    }

    .theme-menutje-mono .menu-footer-brand p,
    .theme-noir-catalog .menu-footer-brand p {
        font-size: 11px;
        line-height: 1.35;
    }

    .theme-menutje-mono .menu-footer-links,
    .theme-noir-catalog .menu-footer-links {
        display: grid;
        gap: 6px;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .theme-menutje-mono .footer-contact-card,
    .theme-noir-catalog .footer-contact-card {
        border-radius: 12px;
        gap: 1px 5px;
        grid-template-columns: 26px minmax(0, 1fr);
        min-height: 42px;
        padding: 5px 6px;
    }

    .theme-menutje-mono .footer-contact-card .footer-icon,
    .theme-noir-catalog .footer-contact-card .footer-icon {
        font-size: 7px;
        grid-row: 1 / 3;
        height: 26px;
        width: 26px;
    }

    .theme-menutje-mono .footer-contact-card .footer-icon svg,
    .theme-noir-catalog .footer-contact-card .footer-icon svg {
        height: 15px;
        width: 15px;
    }

    .theme-menutje-mono .footer-contact-card.whatsapp .footer-icon svg,
    .theme-noir-catalog .footer-contact-card.whatsapp .footer-icon svg {
        height: 16px;
        width: 16px;
    }

    .theme-menutje-mono .footer-contact-card strong,
    .theme-noir-catalog .footer-contact-card strong {
        font-size: 10px;
    }

    .theme-menutje-mono .footer-contact-card small,
    .theme-noir-catalog .footer-contact-card small {
        font-size: 9px;
    }
}

@media (min-width: 360px) and (max-width: 760px) {
    .theme-menutje-mono .menu-footer-links,
    .theme-noir-catalog .menu-footer-links {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .theme-menutje-mono .footer-contact-card,
    .theme-noir-catalog .footer-contact-card {
        align-content: center;
        gap: 3px;
        grid-template-columns: 1fr;
        justify-items: center;
        min-height: 56px;
        padding: 6px 4px;
        text-align: center;
    }

    .theme-menutje-mono .footer-contact-card .footer-icon,
    .theme-noir-catalog .footer-contact-card .footer-icon {
        grid-row: auto;
        height: 24px;
        width: 24px;
    }

    .theme-menutje-mono .footer-contact-card strong,
    .theme-noir-catalog .footer-contact-card strong {
        font-size: 9.5px;
        max-width: 100%;
    }

    .theme-menutje-mono .footer-contact-card small,
    .theme-noir-catalog .footer-contact-card small {
        font-size: 8px;
        max-width: 100%;
    }
}

.theme-menutje-mono:not(.display-visual-price) .goes-with,
.theme-noir-catalog:not(.display-visual-price) .goes-with {
    border-top: 1px solid rgba(17, 24, 39, .1);
    display: grid !important;
    gap: 6px;
    margin-top: 2px;
    padding-top: 7px;
}

.theme-menutje-mono[data-view-mode="dark"]:not(.display-visual-price) .goes-with,
.theme-menutje-mono.bg-charcoal:not(.display-visual-price) .goes-with,
.theme-noir-catalog:not(.display-visual-price) .goes-with {
    border-top-color: rgba(255, 255, 255, .14);
}

.theme-noir-catalog[data-view-mode="light"]:not(.display-visual-price) .goes-with {
    border-top-color: rgba(0, 0, 0, .1);
}

.theme-menutje-mono:not(.display-visual-price) .goes-with > strong,
.theme-noir-catalog:not(.display-visual-price) .goes-with > strong {
    color: currentColor;
    font-size: 10px;
    font-weight: 950;
    letter-spacing: 0;
    opacity: .72;
}

.theme-menutje-mono:not(.display-visual-price) .goes-with > div,
.theme-noir-catalog:not(.display-visual-price) .goes-with > div {
    display: flex;
    gap: 6px;
    overflow-x: auto;
    padding-bottom: 1px;
    scrollbar-width: none;
}

.theme-menutje-mono:not(.display-visual-price) .goes-with > div::-webkit-scrollbar,
.theme-noir-catalog:not(.display-visual-price) .goes-with > div::-webkit-scrollbar {
    display: none;
}

.theme-menutje-mono:not(.display-visual-price) .goes-with a,
.theme-noir-catalog:not(.display-visual-price) .goes-with a {
    align-items: center;
    background: rgba(255, 255, 255, .72);
    border: 1px solid rgba(17, 24, 39, .1);
    border-radius: 999px;
    color: inherit;
    display: inline-flex;
    flex: 0 0 auto;
    gap: 6px;
    max-width: 170px;
    min-height: 31px;
    padding: 4px 8px 4px 4px;
    text-decoration: none;
}

.theme-menutje-mono[data-view-mode="dark"]:not(.display-visual-price) .goes-with a,
.theme-menutje-mono.bg-charcoal:not(.display-visual-price) .goes-with a,
.theme-noir-catalog:not(.display-visual-price) .goes-with a {
    background: rgba(255, 255, 255, .08);
    border-color: rgba(255, 255, 255, .14);
}

.theme-noir-catalog[data-view-mode="light"]:not(.display-visual-price) .goes-with a {
    background: #fff;
    border-color: rgba(0, 0, 0, .12);
}

.theme-menutje-mono:not(.display-visual-price) .goes-with img,
.theme-noir-catalog:not(.display-visual-price) .goes-with img,
.theme-menutje-mono:not(.display-visual-price) .goes-with-placeholder,
.theme-noir-catalog:not(.display-visual-price) .goes-with-placeholder {
    align-items: center;
    background: rgba(17, 24, 39, .08);
    border-radius: 999px;
    color: currentColor;
    display: inline-flex;
    flex: 0 0 auto;
    font-size: 10px;
    font-weight: 950;
    height: 24px;
    justify-content: center;
    object-fit: cover;
    width: 24px;
}

.theme-menutje-mono:not(.display-visual-price) .goes-with span:not(.goes-with-placeholder),
.theme-noir-catalog:not(.display-visual-price) .goes-with span:not(.goes-with-placeholder) {
    display: grid;
    font-size: 10px;
    font-weight: 900;
    line-height: 1.1;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.theme-menutje-mono:not(.display-visual-price) .goes-with small,
.theme-noir-catalog:not(.display-visual-price) .goes-with small {
    color: currentColor;
    font-size: 9px;
    font-weight: 850;
    opacity: .66;
}

@media (max-width: 540px) {
    .theme-menutje-mono:not(.display-visual-price) .goes-with,
    .theme-noir-catalog:not(.display-visual-price) .goes-with {
        gap: 5px;
        padding-top: 6px;
    }

    .theme-menutje-mono:not(.display-visual-price) .goes-with a,
    .theme-noir-catalog:not(.display-visual-price) .goes-with a {
        max-width: 138px;
        min-height: 28px;
        padding: 3px 7px 3px 3px;
    }

    .theme-menutje-mono:not(.display-visual-price) .goes-with img,
    .theme-noir-catalog:not(.display-visual-price) .goes-with img,
    .theme-menutje-mono:not(.display-visual-price) .goes-with-placeholder,
    .theme-noir-catalog:not(.display-visual-price) .goes-with-placeholder {
        height: 21px;
        width: 21px;
    }
}

.qr-menu .product-description-trigger {
    gap: 0;
    line-height: 1.25;
}

.qr-menu .product-description-short {
    line-height: 1.25;
}

.qr-menu .product-description-trigger small {
    display: none !important;
}

.theme-menutje-mono .product-description-short,
.theme-menutje-mono .product-description-trigger,
.theme-noir-catalog .product-description-short,
.theme-noir-catalog .product-description-trigger {
    line-height: 1.16 !important;
}

.qr-maintenance {
    align-items: center;
    background:
        radial-gradient(circle at 18% 12%, rgba(255, 255, 255, .84), transparent 28%),
        radial-gradient(circle at 88% 18%, rgba(244, 200, 128, .22), transparent 24%),
        linear-gradient(145deg, #f7f3ea 0%, #ffffff 52%, #ece7dc 100%);
    color: #181512;
    display: grid;
    font-family: var(--menu-font), Inter, system-ui, sans-serif;
    min-height: 100svh;
    overflow: hidden;
    padding: 28px 16px;
}

.qr-maintenance.theme-noir-catalog,
.qr-maintenance.bg-charcoal,
.qr-maintenance[data-view-mode="dark"] {
    background:
        radial-gradient(circle at 20% 12%, rgba(255, 255, 255, .12), transparent 25%),
        radial-gradient(circle at 85% 18%, rgba(246, 202, 128, .16), transparent 24%),
        linear-gradient(145deg, #070707 0%, #151515 56%, #050505 100%);
    color: #f8f5ec;
}

.maintenance-stage {
    align-items: center;
    display: grid;
    gap: 12px;
    justify-items: center;
    margin: 0 auto;
    max-width: 560px;
    text-align: center;
}

.maintenance-stage .eyebrow {
    background: rgba(17, 24, 39, .08);
    border: 1px solid rgba(17, 24, 39, .1);
    border-radius: 999px;
    color: currentColor;
    font-size: 11px;
    font-weight: 950;
    letter-spacing: 0;
    padding: 7px 12px;
}

.qr-maintenance.theme-noir-catalog .maintenance-stage .eyebrow,
.qr-maintenance.bg-charcoal .maintenance-stage .eyebrow,
.qr-maintenance[data-view-mode="dark"] .maintenance-stage .eyebrow {
    background: rgba(255, 255, 255, .1);
    border-color: rgba(255, 255, 255, .16);
}

.maintenance-stage h1 {
    font-size: clamp(28px, 8vw, 48px);
    line-height: 1.02;
    margin: 4px 0 0;
}

.maintenance-stage p {
    color: currentColor;
    font-size: 15px;
    line-height: 1.55;
    margin: 0;
    max-width: 420px;
    opacity: .72;
}

.maintenance-scene {
    height: 210px;
    margin-bottom: 8px;
    position: relative;
    width: min(100%, 330px);
}

.kitchen-counter {
    background: linear-gradient(180deg, #3f352b, #211a15);
    border-radius: 18px 18px 30px 30px;
    bottom: 24px;
    box-shadow: 0 24px 50px rgba(31, 25, 20, .22);
    height: 72px;
    left: 50%;
    position: absolute;
    transform: translateX(-50%);
    width: 224px;
}

.kitchen-counter::before {
    background: #f1dfc3;
    border-radius: 999px;
    content: "";
    height: 12px;
    left: 16px;
    position: absolute;
    right: 16px;
    top: -7px;
}

.pot {
    background: linear-gradient(180deg, #d9dde4, #8d96a6);
    border-radius: 10px 10px 22px 22px;
    bottom: 44px;
    box-shadow: inset 0 -8px 0 rgba(0, 0, 0, .08);
    height: 42px;
    left: 50%;
    position: absolute;
    transform: translateX(-50%);
    width: 86px;
}

.pot::before,
.pot::after {
    background: #8d96a6;
    border-radius: 999px;
    content: "";
    height: 10px;
    position: absolute;
    top: 13px;
    width: 18px;
}

.pot::before {
    left: -12px;
}

.pot::after {
    right: -12px;
}

.pot i {
    animation: potBubble 1.8s ease-in-out infinite;
    background: rgba(255, 255, 255, .72);
    border-radius: 999px;
    display: block;
    height: 7px;
    position: absolute;
    top: 9px;
    width: 7px;
}

.pot i:nth-child(1) {
    left: 25px;
}

.pot i:nth-child(2) {
    animation-delay: .28s;
    left: 43px;
}

.pot i:nth-child(3) {
    animation-delay: .56s;
    left: 60px;
}

.steam {
    animation: steamRise 2.4s ease-in-out infinite;
    background: rgba(255, 255, 255, .72);
    border-radius: 999px;
    filter: blur(.5px);
    height: 34px;
    left: 50%;
    position: absolute;
    top: 46px;
    width: 10px;
}

.steam-one {
    margin-left: -26px;
}

.steam-two {
    animation-delay: .32s;
    margin-left: -3px;
}

.steam-three {
    animation-delay: .64s;
    margin-left: 22px;
}

.mini-cook {
    animation: cookBounce 1.7s ease-in-out infinite;
    bottom: 58px;
    height: 108px;
    position: absolute;
    width: 76px;
}

.cook-left {
    left: 18px;
}

.cook-right {
    animation-delay: .24s;
    right: 18px;
}

.cook-hat {
    background: #fff;
    border-radius: 16px 16px 10px 10px;
    height: 25px;
    left: 17px;
    position: absolute;
    top: 2px;
    width: 40px;
}

.cook-hat::before,
.cook-hat::after {
    background: #fff;
    border-radius: 999px;
    content: "";
    height: 22px;
    position: absolute;
    top: -10px;
    width: 22px;
}

.cook-hat::before {
    left: -6px;
}

.cook-hat::after {
    right: -6px;
}

.cook-head {
    background: #f0c19d;
    border-radius: 50%;
    height: 34px;
    left: 21px;
    position: absolute;
    top: 24px;
    width: 34px;
}

.cook-body {
    background: linear-gradient(180deg, #fff, #e9edf3);
    border-radius: 18px 18px 14px 14px;
    height: 48px;
    left: 16px;
    position: absolute;
    top: 55px;
    width: 44px;
}

.cook-arm {
    animation: stirMove 1.1s ease-in-out infinite;
    background: #f0c19d;
    border-radius: 999px;
    height: 10px;
    position: absolute;
    top: 66px;
    transform-origin: 8px center;
    width: 44px;
}

.cook-left .cook-arm {
    right: -13px;
}

.cook-right .cook-arm {
    left: -13px;
    transform-origin: 36px center;
}

@keyframes cookBounce {
    0%,
    100% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-5px);
    }
}

@keyframes stirMove {
    0%,
    100% {
        transform: rotate(-12deg);
    }

    50% {
        transform: rotate(18deg);
    }
}

@keyframes steamRise {
    0% {
        opacity: 0;
        transform: translateY(20px) scale(.8);
    }

    38% {
        opacity: .72;
    }

    100% {
        opacity: 0;
        transform: translateY(-34px) scale(1.18);
    }
}

@keyframes potBubble {
    0%,
    100% {
        opacity: .45;
        transform: translateY(3px) scale(.75);
    }

    50% {
        opacity: 1;
        transform: translateY(-3px) scale(1);
    }
}

@media (max-width: 420px) {
    .maintenance-scene {
        height: 185px;
        transform: scale(.88);
        transform-origin: center bottom;
    }

    .maintenance-stage {
        gap: 9px;
    }
}

.launch-landing {
    background:
        radial-gradient(circle at 18% 7%, rgba(241, 211, 144, .28), transparent 26%),
        radial-gradient(circle at 88% 12%, rgba(125, 211, 252, .18), transparent 24%),
        linear-gradient(180deg, #080806 0%, #13110d 48%, #f7f3ea 48%, #ffffff 100%);
}

.launch-hero {
    background:
        linear-gradient(90deg, rgba(255, 255, 255, .055) 1px, transparent 1px),
        linear-gradient(180deg, rgba(255, 255, 255, .05) 1px, transparent 1px),
        radial-gradient(circle at 70% 22%, rgba(250, 204, 21, .22), transparent 22%),
        radial-gradient(circle at 88% 66%, rgba(20, 184, 166, .2), transparent 24%),
        linear-gradient(135deg, #060606 0 62%, #f4efe4 62% 100%);
    background-size: 34px 34px, 34px 34px, auto, auto, auto;
    gap: 48px;
    grid-template-columns: minmax(0, 1fr) minmax(330px, 430px);
    min-height: 820px;
}

.launch-hero::before {
    animation: launchGlowDrift 9s ease-in-out infinite alternate;
    background:
        radial-gradient(circle, rgba(255, 255, 255, .16), transparent 58%);
    content: "";
    height: 420px;
    pointer-events: none;
    position: absolute;
    right: 8%;
    top: 8%;
    width: 420px;
}

.launch-hero::after {
    opacity: .55;
}

.launch-copy {
    position: relative;
    z-index: 2;
}

.launch-copy h1 {
    font-size: clamp(48px, 6vw, 82px);
    max-width: 860px;
}

.launch-copy p {
    font-size: clamp(17px, 2vw, 21px);
}

.launch-proof-row {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 22px;
}

.launch-proof-row span {
    background: rgba(255, 255, 255, .1);
    border: 1px solid rgba(255, 255, 255, .15);
    border-radius: 999px;
    color: rgba(255, 255, 255, .88);
    font-size: 12px;
    font-weight: 900;
    padding: 8px 11px;
}

.launch-demo-stage {
    align-items: center;
    display: grid;
    justify-items: center;
    min-height: 690px;
    position: relative;
    z-index: 2;
}

.launch-phone-live {
    animation: launchPhoneFloat 5.5s ease-in-out infinite;
    background: linear-gradient(160deg, #1b1b1b, #050505);
    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: 42px;
    box-shadow:
        0 36px 100px rgba(0, 0, 0, .42),
        inset 0 0 0 7px #111;
    color: #111;
    display: grid;
    gap: 10px;
    max-width: none;
    padding: 14px;
    position: relative;
    transform: rotate(2deg);
    width: min(100%, 388px);
}

.launch-phone-live::before {
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .2), transparent);
    border-radius: inherit;
    content: "";
    inset: 1px;
    pointer-events: none;
    position: absolute;
}

.launch-phone-live .launch-phone-bar {
    background: #050505;
    height: 7px;
    margin-bottom: 0;
    position: relative;
    width: 86px;
    z-index: 2;
}

.launch-phone-screen {
    background: #f8f8f2;
    border-radius: 30px;
    height: min(68vh, 640px);
    min-height: 560px;
    overflow: hidden;
    position: relative;
    z-index: 2;
}

.launch-demo-frame {
    background: #fff;
    border: 0;
    display: block;
    height: 100%;
    width: 100%;
}

.launch-demo-overlay {
    align-items: center;
    background:
        radial-gradient(circle at 20% 15%, rgba(255, 255, 255, .92), transparent 24%),
        linear-gradient(180deg, rgba(5, 5, 5, .42), rgba(5, 5, 5, .82));
    color: #fff;
    display: grid;
    gap: 10px;
    inset: 0;
    justify-items: center;
    padding: 28px;
    position: absolute;
    text-align: center;
    transition: opacity .24s ease, visibility .24s ease;
    z-index: 4;
}

.launch-demo-stage.is-playing .launch-demo-overlay {
    opacity: 0;
    pointer-events: none;
    visibility: hidden;
}

.launch-demo-overlay span {
    background: rgba(255, 255, 255, .14);
    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: 999px;
    font-size: 11px;
    font-weight: 950;
    padding: 7px 11px;
}

.launch-demo-overlay strong {
    font-size: 24px;
    line-height: 1.08;
    max-width: 250px;
}

.launch-demo-overlay .button {
    box-shadow: 0 16px 36px rgba(0, 0, 0, .24);
    margin-top: 4px;
}

.launch-phone-actions {
    align-items: center;
    color: rgba(255, 255, 255, .72);
    display: flex;
    font-size: 11px;
    font-weight: 850;
    gap: 8px;
    justify-content: space-between;
    padding: 2px 6px 0;
    position: relative;
    z-index: 2;
}

.launch-phone-actions a {
    color: #facc15;
    font-weight: 950;
    text-decoration: none;
    white-space: nowrap;
}

.launch-orbit-card {
    animation: launchCardFloat 5s ease-in-out infinite;
    backdrop-filter: blur(14px);
    background: rgba(255, 255, 255, .8);
    border: 1px solid rgba(255, 255, 255, .62);
    border-radius: 18px;
    box-shadow: 0 22px 52px rgba(0, 0, 0, .16);
    color: #16130f;
    display: grid;
    gap: 4px;
    padding: 13px 15px;
    position: absolute;
    z-index: 3;
}

.launch-orbit-card span {
    color: #6b5b43;
    font-size: 10px;
    font-weight: 950;
    text-transform: uppercase;
}

.launch-orbit-card strong {
    font-size: 13px;
    line-height: 1.15;
}

.orbit-one {
    left: -22px;
    top: 86px;
}

.orbit-two {
    animation-delay: .35s;
    right: -34px;
    top: 260px;
}

.orbit-three {
    animation-delay: .7s;
    bottom: 88px;
    left: -4px;
}

.launch-metrics {
    background: #f7f3ea;
    color: #111;
    display: grid;
    gap: 1px;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    padding: 1px max(18px, calc((100vw - 1180px) / 2));
}

.launch-metrics article {
    background: #fff;
    display: grid;
    gap: 8px;
    min-height: 142px;
    padding: 24px;
}

.launch-metrics strong {
    font-size: 34px;
    line-height: 1;
}

.launch-metrics span {
    color: #665f52;
    line-height: 1.35;
}

.launch-strip article {
    position: relative;
    transition: transform .22s ease, box-shadow .22s ease;
}

.launch-strip article::after {
    background: linear-gradient(90deg, #111, #d7b46a);
    bottom: 0;
    content: "";
    height: 3px;
    left: 0;
    position: absolute;
    right: 100%;
    transition: right .28s ease;
}

.launch-strip article:hover {
    box-shadow: 0 24px 58px rgba(15, 23, 42, .12);
    transform: translateY(-5px);
    z-index: 2;
}

.launch-strip article:hover::after {
    right: 0;
}

.launch-experience {
    background:
        radial-gradient(circle at 10% 12%, rgba(215, 180, 106, .16), transparent 24%),
        #0b0b0a;
    color: #f8f5ec;
    padding: 82px max(18px, calc((100vw - 1180px) / 2));
}

.launch-experience .launch-section-title {
    align-items: start;
    display: grid;
    gap: 10px;
    margin-bottom: 28px;
}

.launch-experience .launch-kicker {
    color: #f8f5ec;
}

.experience-grid {
    display: grid;
    gap: 14px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.experience-grid article {
    background: rgba(255, 255, 255, .08);
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: 22px;
    display: grid;
    gap: 12px;
    min-height: 230px;
    padding: 24px;
    transition: background .22s ease, transform .22s ease;
}

.experience-grid article:hover {
    background: rgba(255, 255, 255, .12);
    transform: translateY(-4px);
}

.experience-grid span {
    color: #d7b46a;
    font-size: 12px;
    font-weight: 950;
}

.experience-grid strong {
    font-size: 23px;
    line-height: 1.08;
}

.experience-grid p {
    color: rgba(255, 255, 255, .68);
    line-height: 1.6;
    margin: 0;
}

.launch-pricing {
    background:
        radial-gradient(circle at 84% 16%, rgba(215, 180, 106, .22), transparent 24%),
        #050505;
}

.launch-contact {
    background:
        radial-gradient(circle at 88% 8%, rgba(20, 184, 166, .14), transparent 22%),
        #f4f0e7;
}

@keyframes launchGlowDrift {
    from {
        opacity: .72;
        transform: translate3d(0, 0, 0) scale(.95);
    }

    to {
        opacity: 1;
        transform: translate3d(-40px, 34px, 0) scale(1.1);
    }
}

@keyframes launchPhoneFloat {
    0%,
    100% {
        transform: rotate(2deg) translateY(0);
    }

    50% {
        transform: rotate(-1deg) translateY(-12px);
    }
}

@keyframes launchCardFloat {
    0%,
    100% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-10px);
    }
}

@media (max-width: 980px) {
    .launch-hero {
        grid-template-columns: 1fr;
        min-height: auto;
    }

    .launch-demo-stage {
        min-height: 640px;
    }

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

    .orbit-two {
        right: 4px;
    }
}

@media (max-width: 620px) {
    .launch-hero {
        padding-bottom: 52px;
    }

    .launch-copy h1 {
        font-size: clamp(36px, 11vw, 52px);
    }

    .launch-proof-row span {
        font-size: 11px;
        padding: 7px 9px;
    }

    .launch-demo-stage {
        min-height: 600px;
    }

    .launch-phone-live {
        border-radius: 34px;
        max-width: 360px;
        padding: 10px;
        transform: none;
        width: 100%;
    }

    .launch-phone-screen {
        border-radius: 24px;
        height: 540px;
        min-height: 540px;
    }

    .launch-phone-actions {
        align-items: flex-start;
        display: grid;
    }

    .launch-orbit-card {
        display: none;
    }

    .launch-metrics,
    .experience-grid {
        grid-template-columns: 1fr;
    }

    .launch-metrics article {
        min-height: auto;
    }
}

.launch-landing {
    background:
        radial-gradient(circle at 12% 5%, rgba(20, 184, 166, .28), transparent 27%),
        radial-gradient(circle at 88% 9%, rgba(245, 158, 11, .26), transparent 25%),
        radial-gradient(circle at 70% 42%, rgba(79, 70, 229, .18), transparent 28%),
        linear-gradient(180deg, #071312 0%, #0f172a 44%, #f7fbff 44%, #ffffff 100%);
}

.launch-hero {
    background:
        linear-gradient(90deg, rgba(255, 255, 255, .07) 1px, transparent 1px),
        linear-gradient(180deg, rgba(255, 255, 255, .055) 1px, transparent 1px),
        radial-gradient(circle at 17% 18%, rgba(45, 212, 191, .35), transparent 24%),
        radial-gradient(circle at 58% 16%, rgba(251, 191, 36, .28), transparent 22%),
        radial-gradient(circle at 88% 70%, rgba(96, 165, 250, .34), transparent 24%),
        linear-gradient(135deg, #062724 0%, #111827 56%, #fff4d7 56%, #e0f2fe 100%);
}

.launch-kicker {
    background: linear-gradient(90deg, #5eead4, #facc15, #fb7185);
    background-clip: text;
    color: transparent;
}

.launch-proof-row span {
    background: rgba(255, 255, 255, .13);
    border-color: rgba(255, 255, 255, .2);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .14);
}

.launch-actions .button.primary {
    background: linear-gradient(135deg, #14b8a6, #2563eb);
    box-shadow: 0 18px 42px rgba(37, 99, 235, .26);
}

.launch-actions .button.ghost {
    background: rgba(255, 255, 255, .1);
    border-color: rgba(255, 255, 255, .22);
    color: #fff;
}

.launch-phone-live {
    background: linear-gradient(160deg, #0f172a, #020617);
    box-shadow:
        0 38px 105px rgba(15, 23, 42, .48),
        0 0 0 1px rgba(45, 212, 191, .16),
        inset 0 0 0 7px rgba(255, 255, 255, .08);
}

.launch-orbit-card {
    background: rgba(255, 255, 255, .84);
    border-color: rgba(255, 255, 255, .7);
}

.orbit-one {
    box-shadow: 0 22px 52px rgba(20, 184, 166, .2);
}

.orbit-two {
    box-shadow: 0 22px 52px rgba(37, 99, 235, .18);
}

.orbit-three {
    box-shadow: 0 22px 52px rgba(245, 158, 11, .2);
}

.launch-metrics {
    background: linear-gradient(90deg, #ccfbf1, #dbeafe, #fef3c7, #ffe4e6);
    gap: 0;
}

.launch-metrics article {
    background:
        linear-gradient(180deg, rgba(255, 255, 255, .92), rgba(255, 255, 255, .78));
    border-right: 1px solid rgba(15, 23, 42, .08);
}

.launch-metrics article:nth-child(1) strong {
    color: #0f766e;
}

.launch-metrics article:nth-child(2) strong {
    color: #2563eb;
}

.launch-metrics article:nth-child(3) strong {
    color: #d97706;
}

.launch-metrics article:nth-child(4) strong {
    color: #e11d48;
}

.launch-strip {
    background: #eef8fb;
}

.launch-strip article:nth-child(1)::after {
    background: linear-gradient(90deg, #14b8a6, #2dd4bf);
}

.launch-strip article:nth-child(2)::after {
    background: linear-gradient(90deg, #2563eb, #60a5fa);
}

.launch-strip article:nth-child(3)::after {
    background: linear-gradient(90deg, #f59e0b, #fb7185);
}

.launch-experience {
    background:
        radial-gradient(circle at 10% 12%, rgba(45, 212, 191, .22), transparent 24%),
        radial-gradient(circle at 82% 18%, rgba(251, 191, 36, .2), transparent 24%),
        linear-gradient(135deg, #0f172a, #062724 62%, #111827);
}

.experience-grid article:nth-child(1) {
    border-color: rgba(45, 212, 191, .28);
}

.experience-grid article:nth-child(1) span {
    color: #5eead4;
}

.experience-grid article:nth-child(2) {
    border-color: rgba(96, 165, 250, .28);
}

.experience-grid article:nth-child(2) span {
    color: #93c5fd;
}

.experience-grid article:nth-child(3) {
    border-color: rgba(251, 191, 36, .28);
}

.experience-grid article:nth-child(3) span {
    color: #facc15;
}

.launch-about {
    background:
        radial-gradient(circle at 88% 10%, rgba(20, 184, 166, .12), transparent 26%),
        #ffffff;
}

.launch-pricing {
    background:
        radial-gradient(circle at 14% 12%, rgba(45, 212, 191, .22), transparent 25%),
        radial-gradient(circle at 86% 16%, rgba(251, 191, 36, .26), transparent 24%),
        linear-gradient(180deg, #0f172a 0%, #102f35 100%);
    color: #fff;
}

.launch-pricing .launch-kicker {
    color: #5eead4;
    background: none;
}

.launch-pricing .launch-section-title {
    align-items: flex-start;
    display: grid;
    gap: 12px;
    max-width: 780px;
}

.launch-pricing .pricing-grid-public {
    align-items: stretch;
    gap: 18px;
}

.launch-pricing .pricing-card-public {
    background:
        linear-gradient(180deg, rgba(255, 255, 255, .98), rgba(255, 255, 255, .9));
    border: 1px solid rgba(255, 255, 255, .32);
    border-radius: 28px;
    box-shadow: 0 28px 70px rgba(0, 0, 0, .22);
    color: #101828;
    display: flex;
    flex-direction: column;
    min-height: 460px;
    overflow: hidden;
    padding: 0;
    position: relative;
    transform: translateY(0);
    transition: transform .24s ease, box-shadow .24s ease;
}

.launch-pricing .pricing-card-public:hover {
    box-shadow: 0 34px 90px rgba(0, 0, 0, .28);
    transform: translateY(-8px);
}

.launch-pricing .pricing-card-public::before {
    background:
        linear-gradient(135deg, #14b8a6, #2563eb);
    border-radius: 0;
    height: 11px;
    inset: 0 0 auto;
}

.launch-pricing .pricing-card-public:nth-child(2)::before {
    background: linear-gradient(135deg, #2563eb, #7c3aed);
}

.launch-pricing .pricing-card-public:nth-child(3)::before {
    background: linear-gradient(135deg, #f59e0b, #fb7185);
}

.launch-pricing .pricing-card-public.trial::before {
    background: linear-gradient(135deg, #22c55e, #14b8a6);
}

.plan-topline {
    align-items: center;
    display: flex;
    gap: 8px;
    justify-content: space-between;
    padding: 28px 24px 4px;
}

.plan-topline span,
.plan-topline small {
    border-radius: 999px;
    font-size: 11px;
    font-weight: 950;
    line-height: 1;
    padding: 8px 10px;
}

.plan-topline span {
    background: #eef6ff;
    color: #175cd3;
}

.plan-topline small {
    background: #fff7ed;
    color: #c2410c;
}

.launch-pricing .pricing-card-public h3 {
    font-size: 25px;
    margin: 16px 24px 4px;
}

.launch-pricing .pricing-card-public > strong {
    color: #0f172a;
    font-size: 40px;
    margin: 4px 24px 10px;
}

.launch-pricing .pricing-card-public p {
    color: #667085;
    margin: 0 24px 18px;
}

.launch-pricing .pricing-card-public ul {
    display: grid;
    gap: 10px;
    list-style: none;
    margin: 0 24px 22px;
    padding: 0;
}

.launch-pricing .pricing-card-public li {
    align-items: center;
    color: #344054;
    display: flex;
    font-size: 13px;
    font-weight: 850;
    gap: 8px;
}

.launch-pricing .pricing-card-public li::before {
    align-items: center;
    background: #dcfce7;
    border-radius: 999px;
    color: #15803d;
    content: "✓";
    display: inline-flex;
    flex: 0 0 auto;
    font-size: 11px;
    font-weight: 950;
    height: 20px;
    justify-content: center;
    width: 20px;
}

.launch-pricing .pricing-card-public .button {
    align-self: stretch;
    background: linear-gradient(135deg, #0f766e, #2563eb);
    margin: auto 24px 24px;
    min-height: 48px;
}

.launch-pricing .pricing-card-public:nth-child(2) .button {
    background: linear-gradient(135deg, #2563eb, #7c3aed);
}

.launch-pricing .pricing-card-public:nth-child(3) .button {
    background: linear-gradient(135deg, #f59e0b, #e11d48);
}

.launch-contact {
    background:
        radial-gradient(circle at 14% 20%, rgba(20, 184, 166, .16), transparent 24%),
        radial-gradient(circle at 90% 10%, rgba(251, 191, 36, .16), transparent 24%),
        #f8fbff;
}

.launch-contact a,
.launch-contact span {
    background: #fff;
    border: 1px solid rgba(15, 23, 42, .08);
    border-radius: 16px;
    box-shadow: 0 14px 34px rgba(15, 23, 42, .06);
}

.launch-footer {
    align-items: start;
    background:
        radial-gradient(circle at 10% 10%, rgba(45, 212, 191, .16), transparent 24%),
        linear-gradient(135deg, #061412, #0f172a);
    color: #fff;
    display: grid;
    gap: 26px;
    grid-template-columns: 1.1fr .9fr .9fr;
    padding: 46px max(18px, calc((100vw - 1180px) / 2));
}

.launch-footer-brand {
    display: grid;
    gap: 8px;
}

.launch-footer-brand span {
    color: #5eead4;
    font-size: 11px;
    font-weight: 950;
    text-transform: uppercase;
}

.launch-footer-brand strong {
    font-size: 28px;
}

.launch-footer-brand p {
    color: rgba(255, 255, 255, .68);
    line-height: 1.6;
    margin: 0;
    max-width: 420px;
}

.launch-footer-menu,
.launch-footer-contact {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
}

.launch-footer-menu a,
.launch-footer-contact a {
    background: rgba(255, 255, 255, .08);
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: 999px;
    color: #fff;
    font-size: 13px;
    font-weight: 900;
    padding: 10px 13px;
    text-decoration: none;
    transition: background .18s ease, transform .18s ease;
}

.launch-footer-menu a:hover,
.launch-footer-contact a:hover {
    background: rgba(45, 212, 191, .18);
    transform: translateY(-2px);
}

@media (max-width: 980px) {
    .launch-footer {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 620px) {
    .launch-pricing .pricing-card-public {
        border-radius: 22px;
        min-height: auto;
    }

    .plan-topline {
        padding: 24px 20px 2px;
    }

    .launch-pricing .pricing-card-public h3,
    .launch-pricing .pricing-card-public > strong,
    .launch-pricing .pricing-card-public p,
    .launch-pricing .pricing-card-public ul {
        margin-left: 20px;
        margin-right: 20px;
    }

    .launch-pricing .pricing-card-public .button {
        margin-left: 20px;
        margin-right: 20px;
    }
}

.launch-landing {
    scroll-behavior: smooth;
}

.launch-nav {
    align-items: center;
    backdrop-filter: blur(18px);
    background: rgba(6, 19, 18, .74);
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: 999px;
    box-shadow: 0 18px 52px rgba(2, 6, 23, .22);
    display: grid;
    gap: 14px;
    grid-template-columns: auto minmax(0, 1fr) auto;
    left: 50%;
    max-width: min(1180px, calc(100% - 28px));
    padding: 10px;
    position: fixed;
    top: 14px;
    transform: translateX(-50%);
    width: 100%;
    z-index: 120;
}

.launch-nav-brand {
    align-items: center;
    color: #fff;
    display: inline-flex;
    gap: 9px;
    padding-left: 4px;
    text-decoration: none;
    white-space: nowrap;
}

.launch-nav-brand span {
    align-items: center;
    background: linear-gradient(135deg, #14b8a6, #facc15);
    border-radius: 999px;
    color: #062724;
    display: inline-flex;
    font-size: 12px;
    font-weight: 950;
    height: 36px;
    justify-content: center;
    width: 36px;
}

.launch-nav-brand strong {
    font-size: 14px;
}

.launch-nav-links {
    display: flex;
    gap: 5px;
    justify-content: center;
    min-width: 0;
}

.launch-nav-links a {
    border-radius: 999px;
    color: rgba(255, 255, 255, .76);
    font-size: 13px;
    font-weight: 900;
    padding: 10px 12px;
    text-decoration: none;
    transition: background .18s ease, color .18s ease;
    white-space: nowrap;
}

.launch-nav-links a:hover {
    background: rgba(255, 255, 255, .12);
    color: #fff;
}

.launch-nav-actions {
    align-items: center;
    display: flex;
    gap: 8px;
}

.launch-nav-actions .button {
    border-radius: 999px;
    min-height: 38px;
    padding: 9px 13px;
    white-space: nowrap;
}

.launch-nav-actions .button.primary {
    background: linear-gradient(135deg, #14b8a6, #2563eb);
    color: #fff;
}

.launch-nav-actions .button.ghost {
    background: rgba(255, 255, 255, .1);
    border-color: rgba(255, 255, 255, .18);
    color: #fff;
}

.launch-hero {
    padding-top: 112px;
}

#features,
#pricing,
#contact {
    scroll-margin-top: 92px;
}

@media (max-width: 980px) {
    .launch-nav {
        border-radius: 24px;
        grid-template-columns: 1fr;
        justify-items: stretch;
    }

    .launch-nav-brand {
        justify-content: center;
    }

    .launch-nav-links,
    .launch-nav-actions {
        justify-content: center;
    }

    .launch-hero {
        padding-top: 190px;
    }
}

@media (max-width: 620px) {
    .launch-nav {
        max-width: calc(100% - 18px);
        top: 8px;
    }

    .launch-nav-links {
        flex-wrap: wrap;
    }

    .launch-nav-links a {
        font-size: 12px;
        padding: 8px 9px;
    }

    .launch-nav-actions {
        display: grid;
        grid-template-columns: 1fr 1fr;
    }

    .launch-nav-actions .button {
        font-size: 12px;
        justify-content: center;
        padding: 9px 8px;
    }

    .launch-hero {
        padding-top: 230px;
    }
}

.menu-main-flow[hidden] {
    display: none;
}

.qr-menu .home-experience,
.qr-menu .home-slider.direct-slider,
.qr-menu .home-survey-card.direct-survey {
    margin: 0 auto;
    max-width: 1120px;
    padding: 18px;
    width: 100%;
}

.qr-menu .home-slider {
    border-radius: 18px;
    min-height: 260px;
    overflow: hidden;
    position: relative;
}

.qr-menu .home-slide {
    background:
        linear-gradient(135deg, rgba(17, 24, 39, .94), rgba(15, 23, 42, .74)),
        #111827;
    color: #fff;
    display: none;
    min-height: 260px;
    padding: 24px;
    position: relative;
}

.qr-menu .home-slide.is-active {
    align-items: end;
    display: grid;
}

.qr-menu .home-slide img,
.qr-menu .home-slide video {
    height: 100%;
    inset: 0;
    object-fit: cover;
    position: absolute;
    width: 100%;
}

.qr-menu .home-slide::after {
    background: linear-gradient(180deg, rgba(0, 0, 0, .08), rgba(0, 0, 0, .72));
    content: "";
    inset: 0;
    position: absolute;
}

.qr-menu .home-slide > div {
    display: grid;
    gap: 8px;
    max-width: 580px;
    position: relative;
    z-index: 1;
}

.qr-menu .home-slide span,
.qr-menu .home-survey-card > span,
.qr-menu .home-welcome-panel > span {
    color: #f8d477;
    font-size: 12px;
    font-weight: 950;
    letter-spacing: 0;
    text-transform: uppercase;
}

.qr-menu .home-slide strong {
    font-size: 28px;
    line-height: 1.08;
}

.qr-menu .home-slide p {
    color: rgba(255, 255, 255, .82);
    line-height: 1.45;
    margin: 0;
}

.qr-menu .home-slide a {
    align-items: center;
    background: #fff;
    border-radius: 8px;
    color: #111827;
    display: inline-flex;
    font-weight: 900;
    justify-content: center;
    margin-top: 6px;
    min-height: 40px;
    padding: 9px 13px;
    width: max-content;
}

.home-slide-dots {
    bottom: 14px;
    display: flex;
    gap: 7px;
    position: absolute;
    right: 16px;
    z-index: 2;
}

.home-slide-dots button {
    background: rgba(255, 255, 255, .45);
    border-radius: 999px;
    height: 9px;
    min-height: 9px;
    padding: 0;
    width: 9px;
}

.home-slide-dots button.is-active {
    background: #fff;
    width: 24px;
}

.qr-menu .home-welcome-panel {
    align-items: center;
    display: grid;
    gap: 12px;
    justify-items: center;
    padding: 28px 10px 22px;
    text-align: center;
}

.qr-menu .home-welcome-logo {
    border-radius: 14px;
    height: 82px;
    object-fit: contain;
    width: 82px;
}

.qr-menu .home-welcome-panel h1 {
    color: inherit;
    font-size: clamp(32px, 8vw, 58px);
    line-height: 1;
    margin: 0;
}

.qr-menu .home-menu-button {
    background: #111;
    color: #fff;
    min-height: 52px;
    min-width: 180px;
}

.qr-menu .home-featured-section {
    display: grid;
    gap: 14px;
    padding: 8px 0 18px;
}

.qr-menu .home-featured-section h2,
.qr-menu .home-survey-card h2 {
    font-size: 22px;
    margin: 0;
}

.home-featured-strip {
    display: grid;
    gap: 12px;
    grid-auto-columns: minmax(156px, 190px);
    grid-auto-flow: column;
    overflow-x: auto;
    padding-bottom: 4px;
}

.home-featured-strip a {
    background: #fff;
    border: 1px solid rgba(17, 24, 39, .1);
    border-radius: 12px;
    box-shadow: 0 14px 36px rgba(15, 23, 42, .08);
    color: #111827;
    display: grid;
    gap: 8px;
    padding: 10px;
}

.home-featured-strip img,
.home-featured-placeholder {
    aspect-ratio: 1;
    background: #f3f4f6;
    border-radius: 10px;
    display: grid;
    font-size: 28px;
    font-weight: 950;
    object-fit: cover;
    overflow: hidden;
    place-items: center;
    width: 100%;
}

.home-featured-placeholder img {
    height: 58%;
    object-fit: contain;
    width: 58%;
}

.home-featured-strip strong {
    font-size: 14px;
    line-height: 1.2;
}

.home-featured-strip small {
    color: var(--primary);
    font-weight: 950;
}

.qr-menu .home-survey-card {
    background: #fff;
    border: 1px solid rgba(17, 24, 39, .1);
    border-radius: 16px;
    box-shadow: 0 16px 42px rgba(15, 23, 42, .08);
    color: #111827;
    display: grid;
    gap: 12px;
    margin-top: 8px;
    padding: 18px;
}

.qr-menu .home-survey-card p {
    color: #667085;
    line-height: 1.5;
    margin: 0;
}

.qr-menu .home-survey-card form {
    display: grid;
    gap: 14px;
}

.survey-question {
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    display: grid;
    gap: 10px;
    margin: 0;
    padding: 14px;
}

.survey-question legend {
    font-weight: 900;
    padding: 0 6px;
}

.public-rating-group,
.public-option-group {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.public-rating-group label,
.public-option-group label {
    cursor: pointer;
    display: inline-flex;
}

.public-rating-group input,
.public-option-group input {
    height: 1px;
    opacity: 0;
    position: absolute;
    width: 1px;
}

.public-rating-group span,
.public-option-group span {
    align-items: center;
    background: #f8fafc;
    border: 1px solid #e5e7eb;
    border-radius: 999px;
    color: #111827;
    display: inline-flex;
    font-weight: 850;
    min-height: 38px;
    padding: 8px 13px;
}

.public-rating-group input:checked + span,
.public-option-group input:checked + span {
    background: #111827;
    border-color: #111827;
    color: #fff;
}

.showcase-editor {
    margin-top: 24px;
}

.slide-admin-list {
    display: grid;
    gap: 14px;
}

.slide-admin-card {
    border: 1px solid var(--line);
    border-radius: 12px;
    display: grid;
    gap: 10px;
    padding: 14px;
}

.slide-admin-card form {
    display: grid;
    gap: 12px;
}

.existing-media video {
    border-radius: 8px;
    height: 72px;
    object-fit: cover;
    width: 118px;
}

.survey-builder {
    margin-bottom: 24px;
}

.survey-question-list {
    display: grid;
    gap: 14px;
}

.survey-question-editor {
    background: #f8faf9;
    border: 1px solid var(--line);
    border-radius: 12px;
    display: grid;
    gap: 12px;
    padding: 14px;
}

.survey-discount-settings {
    align-items: end;
    background: linear-gradient(135deg, #fff7ed, #fff);
    border: 1px solid rgba(245, 158, 11, .28);
    border-radius: 14px;
    display: grid;
    gap: 12px;
    grid-template-columns: minmax(0, 1.4fr) minmax(140px, .6fr);
    padding: 14px;
}

.survey-discount-settings.is-disabled {
    background: #f8fafc;
    border-color: var(--line);
}

.survey-discount-settings input[disabled] {
    cursor: not-allowed;
    opacity: .58;
}

.survey-report + .survey-report {
    margin-top: 24px;
}

.survey-summary-grid {
    display: grid;
    gap: 14px;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
}

.survey-summary-card {
    background: #f8faf9;
    border: 1px solid var(--line);
    border-radius: 12px;
    display: grid;
    gap: 12px;
    padding: 16px;
}

.survey-score {
    color: var(--primary);
    font-size: 32px;
    font-weight: 950;
}

.survey-option-bars {
    display: grid;
    gap: 9px;
}

.survey-option-bars span {
    align-items: center;
    display: grid;
    gap: 8px;
    grid-template-columns: minmax(0, 1fr) 92px auto;
}

.survey-option-bars i {
    background: #e5e7eb;
    border-radius: 999px;
    height: 8px;
    overflow: hidden;
    position: relative;
}

.survey-option-bars i::before {
    background: var(--primary);
    content: "";
    inset: 0 calc(100% - var(--bar)) 0 0;
    position: absolute;
}

.survey-option-bars em {
    color: var(--muted);
    font-style: normal;
    font-weight: 850;
}

.survey-text-answers,
.survey-response-list {
    display: grid;
    gap: 10px;
}

.survey-text-answers p,
.survey-response-list article {
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 10px;
    margin: 0;
    padding: 10px;
}

.survey-response-list p {
    color: var(--muted);
    line-height: 1.45;
    margin: 8px 0 0;
}

@media (max-width: 760px) {
    .qr-menu .home-experience,
    .qr-menu .home-slider.direct-slider,
    .qr-menu .home-survey-card.direct-survey {
        padding: 12px;
    }

    .qr-menu .home-slider,
    .qr-menu .home-slide {
        border-radius: 14px;
        min-height: 230px;
    }

    .qr-menu .home-slide strong {
        font-size: 23px;
    }

    .home-featured-strip {
        grid-auto-columns: minmax(138px, 44vw);
    }

    .survey-option-bars span {
        grid-template-columns: 1fr auto;
    }

    .survey-option-bars i {
        grid-column: 1 / -1;
    }
}

.nav-section {
    border-left: 1px solid rgba(255, 255, 255, .1);
    display: grid;
    gap: 4px;
    padding: 6px 0 6px 10px;
}

.nav-section > span {
    color: rgba(255, 255, 255, .44);
    font-size: 11px;
    font-weight: 900;
    letter-spacing: 0;
    padding: 7px 13px 3px;
    text-transform: uppercase;
}

.nav-list a.active,
.nav-list a.nav-preview-link {
    background: rgba(255, 255, 255, .1);
    color: #fff;
}

.nav-list a.active {
    box-shadow: inset 3px 0 0 #f8d477;
}

.nav-list a.nav-preview-link {
    border: 1px solid rgba(248, 212, 119, .26);
    margin-top: 6px;
}

.customer-panel .sidebar {
    background:
        linear-gradient(180deg, rgba(11, 23, 22, .98), rgba(8, 18, 24, .98)),
        repeating-linear-gradient(135deg, rgba(255, 255, 255, .04) 0 1px, transparent 1px 10px);
}

.customer-panel .panel-main {
    background:
        linear-gradient(180deg, rgba(255, 255, 255, .66), rgba(246, 248, 247, 0) 220px),
        #f5f7f6;
}

.qr-welcome-page {
    background:
        linear-gradient(140deg, rgba(7, 17, 24, .92), rgba(20, 83, 91, .78)),
        repeating-linear-gradient(135deg, rgba(255, 255, 255, .05) 0 1px, transparent 1px 18px);
    color: #fff;
    display: grid;
    font-family: var(--menu-font), Inter, sans-serif;
    gap: 22px;
    min-height: 100vh;
    overflow: hidden;
    padding: clamp(16px, 3vw, 34px);
    position: relative;
}

.qr-welcome-page::before {
    animation: welcomeSweep 12s ease-in-out infinite alternate;
    background:
        linear-gradient(105deg, transparent 0 18%, rgba(248, 212, 119, .16) 18% 30%, transparent 30% 54%, rgba(14, 165, 233, .14) 54% 66%, transparent 66% 100%);
    content: "";
    inset: -18% -12%;
    pointer-events: none;
    position: absolute;
}

.welcome-stage,
.welcome-featured-section,
.qr-welcome-page .home-survey-card {
    margin: 0 auto;
    max-width: 1180px;
    position: relative;
    width: 100%;
    z-index: 1;
}

.welcome-stage {
    align-items: stretch;
    display: grid;
    gap: clamp(18px, 3vw, 32px);
    grid-template-columns: minmax(0, 1.08fr) minmax(280px, .72fr);
    min-height: min(720px, calc(100vh - 68px));
}

.welcome-visual {
    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: 8px;
    box-shadow: 0 34px 90px rgba(0, 0, 0, .32);
    min-height: 520px;
    overflow: hidden;
    position: relative;
}

.welcome-slide {
    background:
        linear-gradient(180deg, rgba(7, 17, 24, .16), rgba(7, 17, 24, .78)),
        var(--cover-image, linear-gradient(135deg, #134e4a, #111827 58%, #b45309));
    background-position: center;
    background-size: cover;
    display: none;
    height: 100%;
    inset: 0;
    min-height: 520px;
    padding: clamp(20px, 4vw, 42px);
    position: absolute;
}

.welcome-slide.is-active {
    animation: welcomeSlideIn .7s ease both;
    display: grid;
}

.welcome-slide img,
.welcome-slide video {
    height: 100%;
    inset: 0;
    object-fit: cover;
    position: absolute;
    width: 100%;
}

.welcome-slide::after {
    background: linear-gradient(180deg, rgba(7, 17, 24, .04), rgba(7, 17, 24, .76));
    content: "";
    inset: 0;
    position: absolute;
}

.welcome-slide-copy {
    align-self: end;
    display: grid;
    gap: 10px;
    max-width: 620px;
    position: relative;
    z-index: 1;
}

.welcome-slide-copy span,
.welcome-greeting,
.qr-welcome-page .home-survey-card > span {
    color: #f8d477;
    font-size: 12px;
    font-weight: 950;
    letter-spacing: 0;
    text-transform: uppercase;
}

.welcome-slide-copy strong {
    color: #fff;
    font-size: clamp(30px, 5vw, 62px);
    line-height: .98;
    text-shadow: 0 3px 18px rgba(0, 0, 0, .36);
}

.welcome-slide-copy p,
.welcome-copy p {
    color: rgba(255, 255, 255, .82);
    font-size: 17px;
    line-height: 1.55;
    margin: 0;
}

.welcome-copy p {
    text-shadow: 0 3px 16px rgba(0, 0, 0, .24);
}

.welcome-slide-copy a {
    align-items: center;
    background: #fff;
    border-radius: 8px;
    color: #111827;
    display: inline-flex;
    font-weight: 950;
    justify-content: center;
    min-height: 42px;
    padding: 10px 14px;
    width: max-content;
}

.welcome-copy {
    align-content: center;
    animation: welcomeRise .7s ease both;
    display: grid;
    gap: 16px;
    justify-items: start;
    min-width: 0;
    padding: clamp(8px, 2vw, 22px) 0;
    width: 100%;
}

.welcome-logo {
    background: rgba(255, 255, 255, .94);
    border: 1px solid rgba(255, 255, 255, .28);
    border-radius: 8px;
    box-shadow: 0 18px 54px rgba(0, 0, 0, .2);
    height: 92px;
    object-fit: contain;
    padding: 10px;
    width: 92px;
}

.welcome-logo.text-logo {
    align-items: center;
    color: #111827;
    display: inline-flex;
    font-size: 28px;
    font-weight: 950;
    justify-content: center;
}

.welcome-copy h1 {
    color: #fff;
    font-size: clamp(44px, 8vw, 86px);
    line-height: .92;
    margin: 0;
    max-width: 100%;
    overflow-wrap: anywhere;
    text-shadow: 0 4px 22px rgba(0, 0, 0, .28);
    text-wrap: balance;
}

.welcome-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 8px;
}

.welcome-actions .button {
    border-radius: 8px;
    min-height: 52px;
    min-width: 154px;
}

.welcome-actions .button.primary {
    background: linear-gradient(135deg, #f8d477, #ef4444);
    box-shadow: 0 18px 42px rgba(239, 68, 68, .24);
    color: #111827;
}

.welcome-actions .button.ghost {
    background: rgba(255, 255, 255, .1);
    border-color: rgba(255, 255, 255, .24);
    color: #fff;
}

.welcome-featured-section {
    display: grid;
    gap: 14px;
}

.welcome-featured-section h2 {
    color: #111827;
    margin: 0;
}

.welcome-featured-strip a {
    background: rgba(255, 255, 255, .94);
}

.qr-welcome-page .home-survey-card {
    background: rgba(255, 255, 255, .96);
    border: 1px solid rgba(255, 255, 255, .42);
    border-radius: 8px;
    box-shadow: 0 24px 72px rgba(0, 0, 0, .24);
    color: #111827;
    display: grid;
    gap: 14px;
    padding: clamp(16px, 3vw, 24px);
}

.qr-welcome-page .home-survey-card h2,
.qr-welcome-page .home-survey-card p {
    margin: 0;
}

.qr-welcome-page .home-survey-card form {
    display: grid;
    gap: 14px;
}

.welcome-dots {
    bottom: 18px;
    right: 18px;
}

.qr-menu.has-cover .menu-hero {
    background-image: linear-gradient(180deg, rgba(0, 0, 0, .46), rgba(0, 0, 0, .7)), var(--cover-image) !important;
    background-position: center !important;
    background-size: cover !important;
}

.qr-menu .ingredients-line {
    color: #475467;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.45;
}

.qr-menu .ingredients-line b {
    color: #1f2937;
}

.qr-menu .pill-row span {
    background: #eef4f3 !important;
    border: 1px solid rgba(15, 118, 110, .18);
    color: #1f2937 !important;
}

.qr-menu .pill-row .allergen {
    background: #fff1e6 !important;
    border-color: #fed7aa;
    color: #7c2d12 !important;
}

.qr-menu[data-view-mode="dark"] .ingredients-line,
.qr-menu.bg-charcoal .ingredients-line,
.theme-noir-catalog .ingredients-line {
    color: rgba(255, 255, 255, .78);
}

.qr-menu[data-view-mode="dark"] .ingredients-line b,
.qr-menu.bg-charcoal .ingredients-line b,
.theme-noir-catalog .ingredients-line b {
    color: #fff;
}

.qr-menu[data-view-mode="dark"] .pill-row span,
.qr-menu.bg-charcoal .pill-row span,
.theme-noir-catalog .pill-row span {
    background: rgba(255, 255, 255, .12) !important;
    border-color: rgba(255, 255, 255, .18);
    color: #fff !important;
}

.qr-menu[data-view-mode="dark"] .pill-row .allergen,
.qr-menu.bg-charcoal .pill-row .allergen,
.theme-noir-catalog .pill-row .allergen {
    background: rgba(251, 146, 60, .22) !important;
    border-color: rgba(251, 146, 60, .4);
    color: #ffedd5 !important;
}

.qr-menu.display-visual-price .product-info {
    align-items: stretch;
    background: #fff;
    border-top: 1px solid var(--line);
    bottom: auto;
    display: grid;
    gap: 8px;
    justify-content: stretch;
    min-height: 0;
    padding: 12px;
    pointer-events: auto;
    position: static;
    right: auto;
}

.qr-menu.display-visual-price[data-view-mode="dark"] .product-info,
.qr-menu.display-visual-price.bg-charcoal .product-info,
.theme-noir-catalog.display-visual-price .product-info {
    background: rgba(17, 24, 39, .96);
    border-top-color: rgba(255, 255, 255, .12);
}

.qr-menu.display-visual-price .product-title-row {
    display: flex;
}

.qr-menu.display-visual-price .ingredients-line {
    display: -webkit-box;
}

.qr-menu.display-visual-price .pill-row {
    display: flex;
}

.qr-menu.display-visual-price .product-action-row {
    justify-content: space-between;
    margin-top: 2px;
    min-height: 32px;
}

.qr-menu.display-visual-price .product-detail-button {
    pointer-events: auto;
}

@keyframes welcomeSweep {
    from {
        transform: translate3d(-4%, -2%, 0);
    }

    to {
        transform: translate3d(4%, 2%, 0);
    }
}

@keyframes welcomeRise {
    from {
        opacity: 0;
        transform: translateY(18px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes welcomeSlideIn {
    from {
        opacity: .74;
        transform: scale(1.018);
    }

    to {
        opacity: 1;
        transform: scale(1);
    }
}

@media (max-width: 980px) {
    .panel-body {
        grid-template-columns: 1fr;
    }

    .sidebar {
        min-height: auto;
        position: relative;
    }

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

    .nav-section {
        border-left: 0;
        border-top: 1px solid rgba(255, 255, 255, .1);
        padding-left: 0;
    }

    .welcome-stage {
        grid-template-columns: 1fr;
        min-height: auto;
    }

    .welcome-visual,
    .welcome-slide {
        min-height: 430px;
    }

    .welcome-copy {
        justify-items: center;
        text-align: center;
    }

    .welcome-actions {
        justify-content: center;
    }
}

@media (max-width: 640px) {
    .panel-main {
        padding: 18px;
    }

    .nav-list {
        grid-template-columns: 1fr;
    }

    .welcome-visual,
    .welcome-slide {
        min-height: 360px;
    }

    .welcome-slide-copy strong {
        font-size: 30px;
    }

    .welcome-copy h1 {
        font-size: 36px;
    }

    .welcome-actions,
    .welcome-actions .button {
        width: 100%;
    }
}

@media (prefers-reduced-motion: reduce) {
    .qr-welcome-page::before,
    .welcome-copy,
    .welcome-slide.is-active {
        animation: none;
    }
}

.qr-welcome-page {
    background: #111827 !important;
    height: 100svh;
    min-height: 620px;
    overflow: hidden;
    padding: 0 !important;
}

.welcome-fit-shell {
    display: grid;
    grid-template-rows: auto minmax(0, 1fr) auto;
    height: 100%;
    isolation: isolate;
    overflow: hidden;
    padding: clamp(14px, 2.5vw, 28px);
    position: relative;
}

.welcome-bg-media,
.welcome-bg-media::after,
.welcome-motion-grid {
    inset: 0;
    position: absolute;
}

.welcome-bg-media {
    background:
        linear-gradient(135deg, #152825, #1f2937 48%, #7c2d12);
    z-index: -3;
}

.welcome-bg-media img,
.welcome-bg-media video {
    filter: saturate(1.08) contrast(1.04);
    height: 100%;
    object-fit: cover;
    transform: scale(1.04);
    width: 100%;
}

.welcome-bg-media::after {
    background:
        linear-gradient(90deg, rgba(9, 14, 18, .84) 0%, rgba(9, 14, 18, .46) 48%, rgba(9, 14, 18, .68) 100%),
        linear-gradient(180deg, rgba(9, 14, 18, .26), rgba(9, 14, 18, .9));
    content: "";
}

.welcome-motion-grid {
    overflow: hidden;
    pointer-events: none;
    z-index: -1;
}

.welcome-motion-grid span {
    animation: welcomeBeam 9s ease-in-out infinite alternate;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .22), transparent);
    height: 160%;
    position: absolute;
    top: -30%;
    transform: rotate(18deg);
    width: 18%;
}

.welcome-motion-grid span:nth-child(1) {
    left: 8%;
}

.welcome-motion-grid span:nth-child(2) {
    animation-delay: -2.4s;
    left: 44%;
    opacity: .7;
}

.welcome-motion-grid span:nth-child(3) {
    animation-delay: -4.8s;
    left: 74%;
    opacity: .52;
}

.welcome-topbar {
    align-items: center;
    display: flex;
    gap: 12px;
    justify-content: space-between;
    min-height: 54px;
    position: relative;
    z-index: 2;
}

.welcome-brand-chip {
    align-items: center;
    background: rgba(255, 255, 255, .12);
    backdrop-filter: blur(18px);
    border: 1px solid rgba(255, 255, 255, .22);
    border-radius: 999px;
    color: #fff;
    display: inline-flex;
    gap: 10px;
    max-width: min(430px, 72vw);
    min-width: 0;
    padding: 7px 13px 7px 7px;
}

.welcome-brand-chip img,
.welcome-brand-chip span {
    background: #fff;
    border-radius: 999px;
    color: #111827;
    flex: 0 0 auto;
    height: 38px;
    object-fit: contain;
    padding: 5px;
    width: 38px;
}

.welcome-brand-chip span {
    align-items: center;
    display: inline-flex;
    font-size: 12px;
    font-weight: 950;
    justify-content: center;
}

.welcome-brand-chip strong {
    font-size: 14px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.welcome-locale-pills {
    align-items: center;
    display: inline-flex;
    gap: 6px;
}

.welcome-locale-pills a {
    align-items: center;
    background: rgba(255, 255, 255, .12);
    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: 999px;
    color: #fff;
    display: inline-flex;
    font-size: 12px;
    font-weight: 950;
    height: 36px;
    justify-content: center;
    width: 42px;
}

.welcome-locale-pills a.active {
    background: #fff;
    color: #111827;
}

.welcome-hero-copy {
    align-self: center;
    display: grid;
    gap: clamp(12px, 2vw, 18px);
    max-width: min(760px, 100%);
    min-width: 0;
    position: relative;
    width: 100%;
    z-index: 2;
}

.welcome-hero-copy .welcome-greeting {
    color: #f8d477;
    font-size: clamp(13px, 2vw, 16px);
    font-weight: 950;
    text-shadow: 0 2px 18px rgba(0, 0, 0, .42);
}

.welcome-hero-copy h1 {
    color: #fff;
    font-size: clamp(44px, 8vw, 92px);
    line-height: .88;
    margin: 0;
    max-width: 880px;
    overflow-wrap: anywhere;
    text-shadow: 0 18px 58px rgba(0, 0, 0, .36);
    text-wrap: balance;
    word-break: break-word;
}

.welcome-hero-copy p {
    color: rgba(255, 255, 255, .86);
    font-size: clamp(15px, 2vw, 19px);
    line-height: 1.45;
    margin: 0;
    max-width: 600px;
}

.welcome-action-row {
    align-items: stretch;
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 4px;
}

.welcome-menu-visual {
    align-items: center;
    background: #fff;
    border: 1px solid rgba(255, 255, 255, .6);
    border-radius: 12px;
    box-shadow: 0 24px 68px rgba(0, 0, 0, .26);
    color: #111827;
    display: grid;
    gap: 12px;
    grid-template-columns: 78px minmax(0, 1fr) auto;
    min-height: 86px;
    min-width: min(100%, 360px);
    overflow: hidden;
    padding: 8px 14px 8px 8px;
}

.welcome-menu-visual img,
.welcome-menu-pattern {
    background:
        linear-gradient(135deg, #f8d477, #ef4444);
    border-radius: 10px;
    height: 70px;
    object-fit: cover;
    width: 78px;
}

.welcome-menu-visual b {
    display: block;
    font-size: 24px;
    font-weight: 950;
    letter-spacing: 0;
}

.welcome-menu-visual small,
.welcome-survey-button small {
    color: #667085;
    display: block;
    font-size: 12px;
    font-weight: 850;
    margin-top: 2px;
}

.welcome-menu-visual i {
    align-items: center;
    background: #111827;
    border-radius: 999px;
    color: #fff;
    display: inline-flex;
    font-size: 30px;
    font-style: normal;
    height: 40px;
    justify-content: center;
    line-height: 1;
    width: 40px;
}

.welcome-survey-button {
    align-content: center;
    background: rgba(255, 255, 255, .12);
    backdrop-filter: blur(18px);
    border: 1px solid rgba(255, 255, 255, .28);
    border-radius: 12px;
    color: #fff;
    display: grid;
    min-height: 86px;
    min-width: 190px;
    padding: 12px 18px;
    text-align: left;
}

.welcome-survey-button span {
    font-size: 18px;
    font-weight: 950;
}

.welcome-survey-button small {
    color: rgba(255, 255, 255, .72);
}

.welcome-news-pill {
    background: rgba(255, 255, 255, .13);
    backdrop-filter: blur(20px);
    border: 1px solid rgba(255, 255, 255, .2);
    border-radius: 12px;
    color: #fff;
    display: grid;
    gap: 5px;
    max-width: 280px;
    padding: 14px 16px;
    position: absolute;
    right: clamp(14px, 2.5vw, 28px);
    top: 94px;
    z-index: 2;
}

.welcome-news-pill span,
.welcome-picked-rail > span {
    color: #f8d477;
    font-size: 11px;
    font-weight: 950;
    text-transform: uppercase;
}

.welcome-news-pill strong {
    font-size: 16px;
    line-height: 1.16;
}

.welcome-picked-rail {
    align-self: end;
    display: grid;
    gap: 10px;
    position: relative;
    z-index: 2;
}

.welcome-picked-rail > div {
    display: grid;
    gap: 10px;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    max-width: 760px;
}

.welcome-picked-rail a {
    align-items: center;
    background: rgba(255, 255, 255, .9);
    border: 1px solid rgba(255, 255, 255, .6);
    border-radius: 10px;
    color: #111827;
    display: grid;
    gap: 8px;
    grid-template-columns: 54px minmax(0, 1fr);
    min-height: 66px;
    padding: 7px;
}

.welcome-picked-rail img,
.welcome-picked-rail b {
    background: #f2f4f7;
    border-radius: 8px;
    height: 52px;
    object-fit: cover;
    width: 54px;
}

.welcome-picked-rail b {
    align-items: center;
    display: inline-flex;
    justify-content: center;
}

.welcome-picked-rail strong {
    display: -webkit-box;
    font-size: 13px;
    line-height: 1.15;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.public-survey-modal[hidden] {
    display: none;
}

.public-survey-modal {
    align-items: center;
    display: grid;
    inset: 0;
    justify-items: center;
    padding: 18px;
    position: fixed;
    z-index: 700;
}

.public-survey-backdrop {
    background: rgba(5, 10, 16, .72);
    backdrop-filter: blur(12px);
    border-radius: 0;
    inset: 0;
    min-height: 0;
    padding: 0;
    position: absolute;
    transform: none;
}

.public-survey-dialog {
    background: #fff;
    border: 1px solid rgba(255, 255, 255, .78);
    border-radius: 14px;
    box-shadow: 0 34px 100px rgba(0, 0, 0, .28);
    color: #111827;
    display: grid;
    gap: 12px;
    max-height: min(720px, calc(100svh - 36px));
    max-width: 620px;
    overflow: auto;
    padding: clamp(18px, 3vw, 28px);
    position: relative;
    width: min(100%, 620px);
}

.public-survey-dialog > span {
    color: var(--primary);
    font-size: 12px;
    font-weight: 950;
    text-transform: uppercase;
}

.public-survey-dialog h2,
.public-survey-dialog p {
    margin: 0;
}

.public-survey-dialog form {
    display: grid;
    gap: 12px;
}

.public-survey-close {
    background: #111827;
    border-radius: 999px;
    color: #fff;
    height: 36px;
    min-height: 36px;
    padding: 0;
    position: absolute;
    right: 14px;
    top: 14px;
    width: 36px;
}

.survey-reward-dialog {
    overflow: hidden;
}

.survey-reward-dialog::before {
    background:
        radial-gradient(circle at 12% 18%, rgba(250, 204, 21, .32), transparent 28%),
        radial-gradient(circle at 86% 14%, rgba(34, 197, 94, .2), transparent 30%),
        linear-gradient(135deg, rgba(255, 247, 237, .9), rgba(255, 255, 255, 0));
    content: "";
    inset: 0;
    pointer-events: none;
    position: absolute;
}

.survey-reward-dialog > * {
    position: relative;
    z-index: 1;
}

.survey-reward-badge {
    align-items: center;
    background: #111827;
    border-radius: 999px;
    color: #fff !important;
    display: inline-flex;
    font-size: 12px !important;
    justify-self: start;
    letter-spacing: 0 !important;
    min-height: 34px;
    padding: 0 14px;
    text-transform: none !important;
}

.survey-reward-dialog h2 {
    color: #0f172a;
    font-size: clamp(28px, 5vw, 42px);
    line-height: .95;
}

.survey-reward-dialog p {
    color: #334155;
    font-size: 15px;
    line-height: 1.5;
    max-width: 440px;
}

.survey-reward-form {
    background: rgba(255, 255, 255, .82);
    border: 1px solid rgba(15, 23, 42, .08);
    border-radius: 14px;
    padding: 12px;
}

.survey-reward-form .button.primary {
    min-height: 46px;
}

.public-flash.thank-you {
    animation: publicCenterThanks 3.1s ease forwards !important;
    background:
        linear-gradient(135deg, rgba(255, 255, 255, .98), rgba(236, 253, 243, .98)) !important;
    border-radius: 22px !important;
    box-shadow: 0 28px 90px rgba(2, 6, 23, .26) !important;
    font-size: clamp(18px, 4.6vw, 26px) !important;
    padding: 18px 22px !important;
}

.theme-menutje-mono,
.theme-menutje-mono.bg-studio,
.theme-menutje-mono.bg-paper,
.public-body .qr-menu.theme-menutje-mono {
    background: #fff !important;
}

.public-body .qr-menu.theme-menutje-mono .category-showcase,
.public-body .qr-menu.theme-menutje-mono .menu-content,
.public-body .qr-menu.theme-menutje-mono .menu-category {
    background: #fff !important;
}

.survey-question-editor-head {
    align-items: center;
    display: flex;
    gap: 10px;
    justify-content: space-between;
}

.survey-question-editor-head strong {
    font-size: 14px;
}

.survey-question-editor-head .button {
    min-height: 34px;
    padding: 7px 10px;
}

@keyframes welcomeBeam {
    from {
        opacity: .16;
        transform: translateX(-12vw) rotate(18deg);
    }

    to {
        opacity: .72;
        transform: translateX(12vw) rotate(18deg);
    }
}

@media (max-width: 920px) {
    .welcome-news-pill {
        display: none;
    }

    .welcome-picked-rail > div {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        max-width: 100%;
    }
}

@media (max-width: 620px) {
    .qr-welcome-page {
        min-height: 560px;
    }

    .welcome-fit-shell {
        padding: 14px;
    }

    .welcome-topbar {
        align-items: flex-start;
    }

    .welcome-locale-pills {
        display: none;
    }

    .welcome-hero-copy {
        align-self: center;
        gap: 11px;
    }

    .welcome-hero-copy h1 {
        font-size: clamp(34px, 10.5vw, 44px);
        line-height: .94;
    }

    .welcome-hero-copy p {
        font-size: 14px;
        max-width: 340px;
    }

    .welcome-action-row {
        display: grid;
        gap: 10px;
        grid-template-columns: 1fr;
        width: 100%;
    }

    .welcome-menu-visual,
    .welcome-survey-button {
        min-height: 76px;
        min-width: 0;
        width: 100%;
    }

    .welcome-menu-visual {
        grid-template-columns: 66px minmax(0, 1fr) auto;
    }

    .welcome-menu-visual img,
    .welcome-menu-pattern {
        height: 60px;
        width: 66px;
    }

    .welcome-picked-rail {
        gap: 7px;
    }

    .welcome-picked-rail > div {
        display: flex;
        gap: 8px;
        overflow: hidden;
    }

    .welcome-picked-rail a {
        flex: 0 0 calc(50% - 4px);
        grid-template-columns: 42px minmax(0, 1fr);
        min-height: 54px;
    }

    .welcome-picked-rail img,
    .welcome-picked-rail b {
        height: 40px;
        width: 42px;
    }
}

@media (max-height: 700px) {
    .welcome-picked-rail {
        display: none;
    }

    .welcome-hero-copy h1 {
        font-size: clamp(34px, 9vw, 68px);
    }
}

@media (prefers-reduced-motion: reduce) {
    .welcome-motion-grid span {
        animation: none;
    }
}

.qr-welcome-page {
    height: auto;
    min-height: 100svh;
    overflow-x: hidden;
    overflow-y: auto;
}

.welcome-fit-shell {
    min-height: 100svh;
}

.welcome-hero-copy {
    align-self: start;
    margin-top: clamp(20px, 8vh, 86px);
    max-width: 720px;
}

.welcome-hero-copy h1 {
    font-size: clamp(34px, 5.5vw, 62px);
}

.welcome-action-row {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 170px));
    max-width: 360px;
    width: min(100%, 360px);
}

.welcome-menu-visual,
.welcome-survey-button {
    aspect-ratio: 1 / 1;
    border-radius: 18px;
    display: grid;
    grid-template-rows: minmax(0, 1fr) auto;
    min-height: 0;
    min-width: 0 !important;
    overflow: hidden;
    padding: 12px;
}

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

.welcome-menu-visual img,
.welcome-menu-pattern,
.welcome-survey-button img,
.welcome-survey-pattern {
    background: linear-gradient(135deg, #fff7ed, #ecfeff);
    border-radius: 14px;
    box-shadow: inset 0 0 0 1px rgba(17, 24, 39, .06);
    height: 100%;
    min-height: 0;
    object-fit: cover;
    padding: 0;
    width: 100%;
}

.welcome-survey-button img,
.welcome-survey-pattern {
    object-fit: contain;
    padding: 10px;
}

.welcome-survey-button {
    justify-items: stretch;
    text-align: left;
}

.welcome-survey-button > span {
    display: block;
}

.welcome-menu-visual > span,
.welcome-survey-button > span {
    min-width: 0;
    padding-top: 9px;
}

.welcome-menu-visual small,
.welcome-survey-button small {
    overflow-wrap: anywhere;
    white-space: normal;
}

.welcome-survey-button b {
    display: block;
    font-size: 24px;
    font-weight: 950;
}

.welcome-menu-visual i {
    display: none;
}

.welcome-announcement-slider {
    border-radius: 16px;
    box-shadow: 0 22px 58px rgba(0, 0, 0, .22);
    height: 138px;
    margin-top: 6px;
    max-width: min(680px, calc(100vw - 28px));
    overflow: hidden;
    position: relative;
}

.welcome-announcement-slide {
    background:
        linear-gradient(135deg, rgba(17, 24, 39, .9), rgba(67, 56, 202, .62)),
        rgba(17, 24, 39, .84);
    color: #fff;
    display: none;
    height: 100%;
    min-height: 138px;
    overflow: hidden;
    position: relative;
}

.welcome-announcement-slide.is-active {
    display: grid;
}

.welcome-announcement-slide img,
.welcome-announcement-slide video {
    height: 100%;
    inset: 0;
    object-fit: cover;
    position: absolute;
    width: 100%;
}

.welcome-announcement-slide::after {
    background: linear-gradient(90deg, rgba(9, 14, 18, .74), rgba(9, 14, 18, .28));
    content: "";
    inset: 0;
    position: absolute;
}

.welcome-announcement-slide > div {
    align-self: end;
    display: grid;
    gap: 4px;
    max-width: 520px;
    padding: 18px 20px;
    position: relative;
    z-index: 1;
}

.welcome-announcement-slide span {
    color: #f8d477;
    font-size: 11px;
    font-weight: 950;
    text-transform: uppercase;
}

.welcome-announcement-slide strong {
    font-size: 22px;
    line-height: 1.1;
}

.welcome-announcement-slide p {
    color: rgba(255, 255, 255, .78);
    display: -webkit-box;
    font-size: 13px;
    line-height: 1.3;
    margin: 0;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.welcome-announcement-dots {
    bottom: 10px;
    right: 12px;
}

.welcome-picked-rail {
    margin-top: 14px;
    max-width: min(100%, 920px);
}

.welcome-picked-rail > div {
    display: grid;
    gap: 14px;
    grid-auto-columns: minmax(164px, 210px);
    grid-auto-flow: column;
    grid-template-columns: none;
    max-width: none;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    padding: 2px 2px 8px;
    scrollbar-width: thin;
}

.welcome-picked-rail a {
    align-content: start;
    border-radius: 16px;
    gap: 10px;
    grid-template-columns: 1fr;
    min-height: 194px;
    padding: 10px;
}

.welcome-picked-rail img,
.welcome-picked-rail b {
    aspect-ratio: 4 / 3;
    border-radius: 12px;
    height: auto;
    object-fit: cover;
    width: 100%;
}

.welcome-picked-rail strong {
    font-size: 15px;
    min-height: 34px;
}

.menu-product .logo-placeholder,
.theme-menutje-mono .logo-placeholder,
.qr-menu .logo-placeholder {
    align-items: center;
    background:
        linear-gradient(135deg, #ffffff, #f6f8fb) !important;
    border: 1px solid rgba(17, 24, 39, .08);
    display: grid !important;
    justify-items: center;
    padding: 18px;
}

.menu-product .logo-placeholder::before,
.theme-menutje-mono .logo-placeholder::before,
.qr-menu .logo-placeholder::before {
    display: none !important;
}

.menu-product .logo-placeholder img,
.theme-menutje-mono .logo-placeholder img,
.qr-menu .logo-placeholder img {
    filter: drop-shadow(0 8px 18px rgba(17, 24, 39, .12));
    height: 78% !important;
    max-height: 120px;
    object-fit: contain !important;
    opacity: .96;
    width: 78% !important;
}

@media (min-width: 920px) {
    .welcome-fit-shell {
        grid-template-rows: auto minmax(0, 1fr);
    }

    .welcome-picked-rail {
        align-self: end;
    }
}

/* v309 theme 2: keep compact cover visible during category navigation */
body.public-body > main.qr-menu.theme-noir-catalog.is-noir-deep-link .menu-hero,
body.public-body > main.qr-menu.theme-noir-catalog:has(.menu-category:target) .menu-hero,
body.public-body > main.qr-menu.theme-noir-catalog:has(.menu-product:target) .menu-hero,
html.has-menu-deep-link body.public-body > main.qr-menu.theme-noir-catalog .menu-hero,
html.is-menu-deep-link-booting body.public-body > main.qr-menu.theme-noir-catalog .menu-hero {
    display: block !important;
    min-height: 76px !important;
}

@media (min-width: 920px) {
    body.public-body > main.qr-menu.theme-noir-catalog.is-noir-deep-link .menu-hero,
    body.public-body > main.qr-menu.theme-noir-catalog:has(.menu-category:target) .menu-hero,
    body.public-body > main.qr-menu.theme-noir-catalog:has(.menu-product:target) .menu-hero,
    html.has-menu-deep-link body.public-body > main.qr-menu.theme-noir-catalog .menu-hero,
    html.is-menu-deep-link-booting body.public-body > main.qr-menu.theme-noir-catalog .menu-hero {
        display: block !important;
        min-height: 560px !important;
    }
}

@media (max-width: 620px) {
    .welcome-fit-shell {
        min-height: 100svh;
    }

    .welcome-hero-copy {
        margin-top: 26px;
    }

    .welcome-action-row {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        max-width: none;
        width: 100%;
    }

    .welcome-menu-visual,
    .welcome-survey-button {
        aspect-ratio: 1 / .92;
        border-radius: 16px;
        padding: 10px;
    }

    .welcome-menu-visual b,
    .welcome-survey-button b {
        font-size: 21px;
    }

    .welcome-announcement-slider {
        height: 118px;
        max-width: 100%;
    }

    .welcome-announcement-slide {
        min-height: 118px;
    }

    .welcome-announcement-slide > div {
        padding: 14px 16px;
    }

    .welcome-announcement-slide strong {
        font-size: 18px;
    }

    .welcome-picked-rail > div {
        display: grid;
        grid-auto-columns: minmax(138px, 44vw);
        grid-auto-flow: column;
        overflow-x: auto;
    }

    .welcome-picked-rail a {
        flex: none;
        min-height: 166px;
    }
}

@media (max-width: 620px) {
    .welcome-action-row {
        box-sizing: border-box;
        gap: 10px;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        max-width: calc(100vw - 28px);
        width: calc(100vw - 28px);
    }

    .welcome-menu-visual,
    .welcome-survey-button {
        aspect-ratio: 1 / 1;
        width: auto;
    }

    .welcome-menu-visual > span,
    .welcome-survey-button > span {
        padding-top: 7px;
    }

    .welcome-menu-visual small,
    .welcome-survey-button small {
        font-size: 11px;
        line-height: 1.15;
    }
}

.qr-welcome-page {
    --welcome-action-bg: #ffffff;
    --welcome-accent: #d9852f;
    --welcome-dark: #111827;
    --welcome-muted: rgba(255, 255, 255, .78);
    --welcome-text: #ffffff;
    background: #ffffff !important;
    height: 100svh;
    min-height: 100svh;
    overflow: hidden;
}

.qr-welcome-page.welcome-has-bg {
    background: #111827 !important;
}

.qr-welcome-page.welcome-no-bg {
    --welcome-muted: #5d6675;
    --welcome-text: #111827;
    color: #111827;
}

.qr-welcome-page .welcome-fit-shell {
    box-sizing: border-box;
    display: grid;
    gap: clamp(10px, 1.8vw, 18px);
    grid-template-rows: auto minmax(0, 1fr) auto;
    height: 100svh;
    min-height: 0;
    overflow: hidden;
    padding: clamp(14px, 2.2vw, 28px);
}

.qr-welcome-page .welcome-bg-media {
    background: #ffffff;
}

.qr-welcome-page.welcome-has-bg .welcome-bg-media {
    background: #111827;
}

.qr-welcome-page.welcome-no-bg .welcome-bg-media::after {
    background:
        linear-gradient(135deg, rgba(248, 212, 119, .16), transparent 34%),
        linear-gradient(315deg, rgba(14, 165, 233, .12), transparent 30%);
}

.qr-welcome-page.welcome-has-bg .welcome-bg-media::after {
    background:
        linear-gradient(90deg, rgba(8, 12, 18, .82) 0%, rgba(8, 12, 18, .44) 48%, rgba(8, 12, 18, .7) 100%),
        linear-gradient(180deg, rgba(8, 12, 18, .18), rgba(8, 12, 18, .84));
}

.qr-welcome-page .welcome-bg-media img,
.qr-welcome-page .welcome-bg-media video {
    height: 100%;
    object-fit: cover;
    transform: none;
    width: 100%;
}

.qr-welcome-page .welcome-motion-grid {
    opacity: .42;
}

.qr-welcome-page.welcome-no-bg .welcome-motion-grid {
    opacity: .18;
}

.qr-welcome-page .welcome-topbar {
    align-items: center;
    display: flex;
    flex-wrap: nowrap;
    gap: 10px;
    justify-content: space-between;
    min-width: 0;
}

.qr-welcome-page .welcome-brand-chip {
    background: rgba(255, 255, 255, .92);
    border: 1px solid rgba(17, 24, 39, .08);
    box-shadow: 0 16px 44px rgba(17, 24, 39, .13);
    color: #111827;
    min-width: 0;
}

.qr-welcome-page .welcome-hero-copy {
    align-self: center;
    display: grid;
    gap: clamp(10px, 1.4vw, 15px);
    margin: 0;
    max-width: min(100%, 720px);
    min-height: 0;
}

.qr-welcome-page .welcome-hero-copy .welcome-greeting {
    color: var(--welcome-accent);
    font-size: clamp(13px, 1.6vw, 16px);
    letter-spacing: 0;
}

.qr-welcome-page .welcome-hero-copy h1 {
    color: var(--welcome-text);
    font-size: clamp(34px, 5.4vw, 64px);
    line-height: .96;
    text-shadow: 0 14px 46px rgba(0, 0, 0, .2);
}

.qr-welcome-page.welcome-no-bg .welcome-hero-copy h1,
.qr-welcome-page.welcome-no-bg .welcome-hero-copy .welcome-greeting {
    text-shadow: none;
}

.qr-welcome-page .welcome-action-row {
    align-items: stretch;
    display: grid;
    gap: 12px;
    grid-template-columns: minmax(230px, 1.05fr) minmax(210px, .95fr);
    max-width: 620px;
    width: 100%;
}

.qr-welcome-page .welcome-menu-visual,
.qr-welcome-page .welcome-survey-button {
    box-sizing: border-box;
    min-height: 170px;
    min-width: 0 !important;
    overflow: hidden;
    width: 100%;
}

.qr-welcome-page .welcome-menu-visual {
    align-items: stretch;
    background:
        linear-gradient(180deg, #ffffff, #fff8ee);
    border: 1px solid rgba(17, 24, 39, .08);
    border-radius: 18px;
    box-shadow: 0 24px 60px rgba(17, 24, 39, .18);
    color: #111827;
    display: grid;
    gap: 12px;
    grid-template-columns: minmax(120px, 1fr) minmax(0, .9fr);
    grid-template-rows: 1fr;
    padding: 14px;
    position: relative;
}

.qr-welcome-page .welcome-menu-visual i {
    display: none;
}

.welcome-menu-illustration {
    background:
        linear-gradient(135deg, rgba(248, 212, 119, .55), rgba(239, 68, 68, .14)),
        #fff;
    border-radius: 14px;
    box-shadow: inset 0 0 0 1px rgba(17, 24, 39, .06);
    min-height: 0;
    overflow: hidden;
    position: relative;
}

.welcome-menu-board {
    background: #ffffff;
    border: 2px solid #172033;
    border-radius: 10px;
    box-shadow: 0 12px 26px rgba(17, 24, 39, .18);
    display: grid;
    gap: 9px;
    left: 15%;
    padding: 14px 12px;
    position: absolute;
    top: 14%;
    transform: rotate(-4deg);
    width: 48%;
}

.welcome-menu-board span {
    background: linear-gradient(90deg, #172033 0 32%, #d9852f 32% 100%);
    border-radius: 999px;
    display: block;
    height: 8px;
}

.welcome-menu-dish {
    background:
        radial-gradient(circle at 50% 50%, #ffffff 0 34%, transparent 35%),
        conic-gradient(from 20deg, #f97316, #f8d477, #16a34a, #f97316);
    border: 8px solid #172033;
    border-radius: 999px;
    bottom: 14%;
    box-shadow: 0 14px 24px rgba(17, 24, 39, .2);
    height: 54px;
    position: absolute;
    right: 12%;
    width: 54px;
}

.welcome-menu-spark {
    background: #d9852f;
    border-radius: 999px;
    height: 12px;
    position: absolute;
    right: 20%;
    top: 16%;
    width: 12px;
}

.qr-welcome-page .welcome-action-text {
    align-self: end;
    display: grid;
    gap: 4px;
    min-width: 0;
    padding: 0;
}

.qr-welcome-page .welcome-action-text b {
    display: block;
    font-size: clamp(22px, 2.4vw, 30px);
    font-weight: 950;
    line-height: 1.02;
}

.qr-welcome-page .welcome-action-text small {
    color: #667085;
    display: block;
    font-size: 12px;
    font-weight: 850;
    line-height: 1.2;
    margin: 0;
    overflow-wrap: anywhere;
}

.qr-welcome-page .welcome-survey-button {
    align-content: center;
    background: rgba(255, 255, 255, .14);
    backdrop-filter: blur(18px);
    border: 1px solid rgba(255, 255, 255, .28);
    border-radius: 18px;
    box-shadow: 0 22px 56px rgba(17, 24, 39, .18);
    color: #ffffff;
    display: grid;
    gap: 12px;
    justify-items: start;
    padding: 18px;
    text-align: left;
}

.qr-welcome-page.welcome-no-bg .welcome-survey-button {
    background: #111827;
    border-color: #111827;
}

.welcome-survey-icon {
    align-items: center;
    background: #ffffff;
    border-radius: 16px;
    box-shadow: inset 0 0 0 1px rgba(17, 24, 39, .08);
    display: inline-grid;
    height: 58px;
    justify-content: center;
    position: relative;
    width: 58px;
}

.welcome-survey-icon::before,
.welcome-survey-icon::after,
.welcome-survey-icon span {
    content: "";
    display: block;
    position: absolute;
}

.welcome-survey-icon::before {
    border: 3px solid #172033;
    border-radius: 8px;
    height: 30px;
    left: 13px;
    top: 15px;
    width: 30px;
}

.welcome-survey-icon::after {
    background: #22c55e;
    border-radius: 4px;
    height: 16px;
    left: 22px;
    top: 24px;
    transform: rotate(45deg);
    width: 8px;
}

.welcome-survey-icon span {
    border-bottom: 4px solid #172033;
    border-right: 4px solid #172033;
    height: 17px;
    left: 22px;
    top: 18px;
    transform: rotate(45deg);
    width: 9px;
}

.qr-welcome-page .welcome-survey-button .welcome-action-text b {
    color: #ffffff;
    font-size: clamp(18px, 2vw, 23px);
}

.qr-welcome-page .welcome-survey-button .welcome-action-text small {
    color: rgba(255, 255, 255, .72);
}

.qr-welcome-page .welcome-announcement-slider {
    border-radius: 16px;
    height: 158px;
    margin: 0;
    max-width: min(100%, 720px);
}

.qr-welcome-page .welcome-announcement-slide {
    min-height: 158px;
}

.qr-welcome-page .welcome-announcement-slide > div {
    padding: 18px 20px;
}

.qr-welcome-page .welcome-announcement-slide strong {
    font-size: clamp(20px, 2.2vw, 28px);
}

.qr-welcome-page .welcome-picked-rail {
    align-self: end;
    gap: 10px;
    margin: 0;
    max-width: 100%;
    min-width: 0;
}

.qr-welcome-page .welcome-picked-rail > span {
    color: var(--welcome-accent);
}

.qr-welcome-page .welcome-picked-rail > div {
    display: grid;
    gap: 12px;
    grid-auto-columns: minmax(160px, 190px);
    grid-auto-flow: column;
    max-width: 100%;
    overflow-x: auto;
    overflow-y: hidden;
    padding: 0 2px 4px;
    scrollbar-width: thin;
}

.qr-welcome-page .welcome-picked-rail a {
    align-content: start;
    background: rgba(255, 255, 255, .94);
    border: 1px solid rgba(17, 24, 39, .08);
    border-radius: 16px;
    box-shadow: 0 16px 36px rgba(17, 24, 39, .12);
    display: grid;
    gap: 8px;
    grid-template-columns: 1fr;
    min-height: 174px;
    padding: 10px;
}

.qr-welcome-page .welcome-picked-rail img,
.qr-welcome-page .welcome-picked-rail b {
    aspect-ratio: 4 / 3;
    border-radius: 12px;
    height: auto;
    object-fit: cover;
    width: 100%;
}

.qr-welcome-page .welcome-picked-rail strong {
    color: #111827;
    font-size: 15px;
    line-height: 1.15;
    min-height: 0;
}

.welcome-picked-price {
    color: #d9852f;
    display: block;
    font-size: 13px;
    font-weight: 950;
    line-height: 1;
}

@media (min-width: 900px) {
    .qr-welcome-page .welcome-fit-shell {
        column-gap: clamp(22px, 4vw, 64px);
        grid-template-columns: minmax(0, 720px) minmax(270px, 1fr);
        grid-template-rows: auto minmax(0, 1fr);
    }

    .qr-welcome-page .welcome-topbar {
        grid-column: 1 / -1;
    }

    .qr-welcome-page .welcome-hero-copy {
        grid-column: 1;
        grid-row: 2;
    }

    .qr-welcome-page .welcome-picked-rail {
        grid-column: 2;
        grid-row: 2;
        max-width: 430px;
    }

    .qr-welcome-page .welcome-picked-rail > div {
        grid-auto-columns: minmax(150px, 1fr);
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 899px) {
    .qr-welcome-page .welcome-fit-shell {
        gap: 10px;
        padding: 14px;
    }

    .qr-welcome-page .welcome-brand-chip {
        max-width: min(100%, 230px);
    }

    .qr-welcome-page .welcome-hero-copy {
        align-self: start;
        gap: 9px;
        margin: 0;
    }

    .qr-welcome-page .welcome-hero-copy h1 {
        font-size: clamp(32px, 10vw, 42px);
    }

    .qr-welcome-page .welcome-action-row {
        gap: 8px;
        grid-template-columns: 1fr;
        max-width: 100%;
        width: 100%;
    }

    .qr-welcome-page .welcome-menu-visual {
        gap: 10px;
        grid-template-columns: 112px minmax(0, 1fr);
        min-height: 124px;
        padding: 10px;
    }

    .qr-welcome-page .welcome-menu-illustration {
        min-height: 104px;
    }

    .qr-welcome-page .welcome-action-text b {
        font-size: 22px;
    }

    .qr-welcome-page .welcome-survey-button {
        align-items: center;
        grid-template-columns: 46px minmax(0, 1fr);
        min-height: 66px;
        padding: 10px 12px;
    }

    .welcome-survey-icon {
        border-radius: 13px;
        height: 46px;
        width: 46px;
    }

    .welcome-survey-icon::before {
        height: 25px;
        left: 10px;
        top: 12px;
        width: 25px;
    }

    .welcome-survey-icon::after {
        height: 13px;
        left: 18px;
        top: 20px;
        width: 7px;
    }

    .welcome-survey-icon span {
        height: 14px;
        left: 18px;
        top: 16px;
        width: 8px;
    }

    .qr-welcome-page .welcome-survey-button .welcome-action-text b {
        font-size: 17px;
        line-height: 1.08;
    }

    .qr-welcome-page .welcome-announcement-slider {
        height: 134px;
        max-width: 100%;
    }

    .qr-welcome-page .welcome-announcement-slide {
        min-height: 134px;
    }

    .qr-welcome-page .welcome-announcement-slide > div {
        padding: 14px 16px;
    }

    .qr-welcome-page .welcome-announcement-slide strong {
        font-size: 19px;
    }

    .qr-welcome-page .welcome-picked-rail {
        align-self: stretch;
        gap: 7px;
    }

    .qr-welcome-page .welcome-picked-rail > div {
        grid-auto-columns: minmax(132px, 42vw);
        padding-bottom: 3px;
    }

    .qr-welcome-page .welcome-picked-rail a {
        min-height: 152px;
        padding: 9px;
    }

    .qr-welcome-page .welcome-picked-rail strong {
        font-size: 14px;
    }
}

@media (max-height: 735px) and (max-width: 899px) {
    .qr-welcome-page .welcome-fit-shell {
        gap: 8px;
    }

    .qr-welcome-page .welcome-brand-chip {
        padding: 5px 10px 5px 5px;
    }

    .qr-welcome-page .welcome-hero-copy {
        gap: 7px;
    }

    .qr-welcome-page .welcome-hero-copy h1 {
        font-size: 31px;
    }

    .qr-welcome-page .welcome-menu-visual {
        min-height: 106px;
    }

    .qr-welcome-page .welcome-menu-illustration {
        min-height: 86px;
    }

    .qr-welcome-page .welcome-announcement-slider {
        height: 112px;
    }

    .qr-welcome-page .welcome-announcement-slide {
        min-height: 112px;
    }

    .qr-welcome-page .welcome-picked-rail a {
        min-height: 136px;
    }
}

.qr-welcome-page .welcome-menu-visual,
.qr-welcome-page .welcome-survey-button {
    aspect-ratio: auto !important;
}

.qr-welcome-page .welcome-menu-visual {
    grid-template-columns: 1fr;
    grid-template-rows: minmax(94px, 1fr) auto;
}

.qr-welcome-page .welcome-menu-illustration {
    min-height: 94px;
}

.qr-welcome-page .welcome-survey-button {
    grid-template-columns: 1fr;
    grid-template-rows: auto 1fr;
}

.qr-welcome-page .welcome-picked-rail > div {
    grid-template-columns: none !important;
}

@media (min-width: 900px) {
    .qr-welcome-page .welcome-fit-shell {
        grid-template-columns: minmax(0, 1fr);
        grid-template-rows: auto minmax(0, 1fr) auto;
    }

    .qr-welcome-page .welcome-topbar,
    .qr-welcome-page .welcome-hero-copy,
    .qr-welcome-page .welcome-picked-rail {
        grid-column: 1;
    }

    .qr-welcome-page .welcome-topbar {
        grid-row: 1;
    }

    .qr-welcome-page .welcome-hero-copy {
        grid-row: 2;
        justify-self: start;
    }

    .qr-welcome-page .welcome-picked-rail {
        grid-row: 3;
        justify-self: start;
        max-width: min(100%, 760px);
    }

    .qr-welcome-page .welcome-action-row {
        grid-template-columns: minmax(0, 320px) minmax(0, 290px);
    }

    .qr-welcome-page .welcome-menu-visual,
    .qr-welcome-page .welcome-survey-button {
        min-height: 164px;
    }

    .qr-welcome-page .welcome-picked-rail > div {
        grid-auto-columns: minmax(155px, 180px);
    }
}

@media (max-width: 899px) {
    .qr-welcome-page .welcome-menu-visual {
        grid-template-columns: 112px minmax(0, 1fr);
        grid-template-rows: 1fr;
        min-height: 124px;
    }

    .qr-welcome-page .welcome-menu-illustration {
        min-height: 104px;
    }

    .qr-welcome-page .welcome-survey-button {
        grid-template-columns: 46px minmax(0, 1fr);
        grid-template-rows: 1fr;
    }
}

.qr-welcome-page .welcome-survey-button .welcome-action-text {
    min-width: 0;
}

.qr-welcome-page .welcome-survey-button .welcome-action-text b {
    overflow-wrap: anywhere;
    white-space: normal;
}

@media (min-width: 900px) {
    .qr-welcome-page .welcome-fit-shell {
        align-content: start;
        grid-template-rows: auto auto auto !important;
    }

    .qr-welcome-page .welcome-hero-copy {
        align-self: start;
        padding-top: 26px;
    }

    .qr-welcome-page .welcome-picked-rail {
        margin-top: 8px;
    }

    .qr-welcome-page .welcome-picked-rail a {
        min-height: 160px;
    }
}

@media (max-width: 899px) {
    .qr-welcome-page .welcome-fit-shell {
        align-content: start;
        grid-template-rows: auto auto auto !important;
    }

    .qr-welcome-page .welcome-survey-button .welcome-action-text b {
        font-size: 15px;
        line-height: 1.08;
    }

    .qr-welcome-page .welcome-survey-button .welcome-action-text small {
        font-size: 11px;
    }

    .qr-welcome-page .welcome-picked-rail {
        margin-top: 0;
    }
}

.qr-welcome-page .welcome-hero-copy > .welcome-picked-rail {
    align-self: stretch;
    grid-column: auto !important;
    grid-row: auto !important;
    justify-self: stretch;
    max-width: min(100%, 760px);
}

@media (min-width: 900px) {
    .qr-welcome-page .welcome-hero-copy {
        gap: 10px;
        padding-top: 6px;
    }

    .qr-welcome-page .welcome-hero-copy h1 {
        font-size: clamp(48px, 4.8vw, 58px);
    }

    .qr-welcome-page .welcome-menu-visual,
    .qr-welcome-page .welcome-survey-button {
        min-height: 144px;
    }

    .qr-welcome-page .welcome-menu-illustration {
        min-height: 78px;
    }

    .qr-welcome-page .welcome-announcement-slider {
        height: 148px;
    }

    .qr-welcome-page .welcome-announcement-slide {
        min-height: 148px;
    }

    .qr-welcome-page .welcome-picked-rail > div {
        grid-auto-columns: minmax(146px, 168px);
    }

    .qr-welcome-page .welcome-picked-rail a {
        min-height: 138px;
        padding: 9px;
    }

    .qr-welcome-page .welcome-picked-rail img,
    .qr-welcome-page .welcome-picked-rail b {
        aspect-ratio: 16 / 9;
    }
}

.qr-welcome-page .welcome-menu-illustration {
    background:
        radial-gradient(circle at 50% 56%, rgba(255, 255, 255, .96) 0 31%, transparent 32%),
        radial-gradient(circle at 50% 56%, #172033 0 42%, transparent 43%),
        linear-gradient(135deg, #fff0c2, #ffe5d1 58%, #fdf2f8);
}

.qr-welcome-page .welcome-menu-board {
    background: #ffffff;
    border: 4px solid #172033;
    border-bottom-width: 8px;
    border-radius: 46px 46px 18px 18px;
    box-shadow: 0 12px 24px rgba(17, 24, 39, .16);
    display: block;
    height: 48px;
    left: 50%;
    padding: 0;
    top: 18%;
    transform: translateX(-50%);
    width: 92px;
}

.qr-welcome-page .welcome-menu-board::before {
    background: #172033;
    border-radius: 999px;
    content: "";
    height: 9px;
    left: 50%;
    position: absolute;
    top: -14px;
    transform: translateX(-50%);
    width: 34px;
}

.qr-welcome-page .welcome-menu-board::after {
    background:
        radial-gradient(circle at 28% 58%, #16a34a 0 9px, transparent 10px),
        radial-gradient(circle at 56% 47%, #f97316 0 11px, transparent 12px),
        radial-gradient(circle at 72% 62%, #f8d477 0 8px, transparent 9px);
    border-radius: 999px;
    content: "";
    height: 44px;
    left: 50%;
    position: absolute;
    top: 58px;
    transform: translateX(-50%);
    width: 58px;
}

.qr-welcome-page .welcome-menu-dish {
    display: none;
}

.welcome-menu-fork,
.welcome-menu-knife {
    background: #172033;
    border-radius: 999px;
    bottom: 20%;
    height: 58px;
    position: absolute;
    width: 7px;
}

.welcome-menu-fork {
    left: 22%;
}

.welcome-menu-fork::before {
    background:
        linear-gradient(90deg, #172033 0 5px, transparent 5px 8px, #172033 8px 13px, transparent 13px 16px, #172033 16px 21px);
    content: "";
    height: 18px;
    left: -7px;
    position: absolute;
    top: -13px;
    width: 21px;
}

.welcome-menu-knife {
    border-radius: 999px 999px 8px 8px;
    right: 22%;
}

.welcome-menu-knife::before {
    background: #172033;
    border-radius: 14px 14px 5px 5px;
    content: "";
    height: 32px;
    left: -5px;
    position: absolute;
    top: -22px;
    transform: skewX(-12deg);
    width: 16px;
}

.qr-welcome-page .welcome-menu-spark {
    background: #d9852f;
    box-shadow:
        -34px 22px 0 -3px #16a34a,
        32px 18px 0 -4px #f8d477;
}

@media (min-width: 900px) {
    .qr-welcome-page .welcome-fit-shell {
        align-content: center !important;
        grid-template-columns: minmax(0, 900px) !important;
        grid-template-rows: auto auto !important;
        justify-content: center;
        margin-inline: auto;
        max-width: 980px;
        width: 100%;
    }

    .qr-welcome-page .welcome-topbar {
        grid-column: 1 !important;
        grid-row: 1 !important;
        width: 100%;
    }

    .qr-welcome-page .welcome-hero-copy {
        align-self: center;
        grid-column: 1 !important;
        grid-row: 2 !important;
        justify-self: center !important;
        max-width: 820px;
        padding-top: 0;
        width: 100%;
    }

    .qr-welcome-page .welcome-action-row {
        grid-template-columns: minmax(0, 330px) minmax(0, 300px);
        justify-content: start;
        max-width: 660px;
    }

    .qr-welcome-page .welcome-announcement-slider {
        height: 176px;
        max-width: 820px;
    }

    .qr-welcome-page .welcome-announcement-slide {
        min-height: 176px;
    }

    .qr-welcome-page .welcome-picked-rail {
        max-width: 820px;
    }
}

@media (max-width: 899px) {
    .qr-welcome-page .welcome-announcement-slider {
        height: 150px;
    }

    .qr-welcome-page .welcome-announcement-slide {
        min-height: 150px;
    }
}

.qr-welcome-page .welcome-menu-board {
    height: 34px;
    top: 11%;
    width: 76px;
}

.qr-welcome-page .welcome-menu-board::after {
    display: none;
}

.qr-welcome-page .welcome-menu-dish {
    background:
        radial-gradient(circle at 34% 42%, #16a34a 0 7px, transparent 8px),
        radial-gradient(circle at 58% 40%, #f97316 0 8px, transparent 9px),
        radial-gradient(circle at 55% 66%, #f8d477 0 7px, transparent 8px),
        radial-gradient(circle at 50% 50%, #ffffff 0 54%, transparent 55%),
        #172033;
    border: 0;
    border-radius: 999px;
    bottom: 10%;
    box-shadow: 0 12px 22px rgba(17, 24, 39, .18);
    display: block;
    height: 52px;
    left: 50%;
    position: absolute;
    right: auto;
    transform: translateX(-50%);
    width: 52px;
}

.welcome-menu-fork,
.welcome-menu-knife {
    bottom: 15%;
    height: 44px;
}

.qr-welcome-page .welcome-menu-illustration {
    background: linear-gradient(135deg, #fff0c2, #ffe5d1 58%, #fdf2f8) !important;
}

.qr-welcome-page .welcome-menu-board {
    z-index: 3;
}

.qr-welcome-page .welcome-menu-dish {
    z-index: 2;
}

.welcome-menu-fork,
.welcome-menu-knife {
    z-index: 1;
}

.qr-welcome-page .welcome-menu-spark {
    z-index: 4;
}

.qr-welcome-page .welcome-announcement-slide > div {
    background: linear-gradient(180deg, transparent, rgba(8, 12, 18, .82));
    bottom: 0;
    box-sizing: border-box;
    height: 100%;
    left: 0;
    max-width: none;
    padding: 24px 28px 22px;
    position: absolute;
    right: 0;
    top: 0;
    z-index: 2;
}

.qr-welcome-page .welcome-announcement-slide span,
.qr-welcome-page .welcome-announcement-slide strong,
.qr-welcome-page .welcome-announcement-slide p {
    position: relative;
    z-index: 3;
}

.qr-welcome-page .welcome-announcement-slide span {
    left: 28px;
    position: absolute;
    top: 22px;
}

.qr-welcome-page .welcome-announcement-slide strong {
    bottom: 22px;
    left: 28px;
    position: absolute;
}

.qr-welcome-page .welcome-announcement-slide p {
    bottom: 18px;
    left: 28px;
    max-width: min(520px, calc(100% - 56px));
    position: absolute;
}

.qr-welcome-page .welcome-announcement-slide strong + p {
    bottom: 18px;
}

.qr-welcome-page .welcome-announcement-slide:has(p) strong {
    bottom: 58px;
}

@media (min-width: 900px) {
    .qr-welcome-page .welcome-fit-shell {
        align-content: center !important;
        gap: 14px;
        grid-template-columns: minmax(0, 1180px) !important;
        grid-template-rows: auto minmax(0, auto) !important;
        justify-content: center !important;
        max-width: 1220px !important;
        padding: 24px clamp(28px, 4vw, 54px);
    }

    .qr-welcome-page .welcome-topbar {
        margin-inline: auto;
        max-width: 1180px;
        width: 100%;
    }

    .qr-welcome-page .welcome-hero-copy {
        gap: 14px;
        justify-self: stretch !important;
        margin-inline: auto;
        max-width: 1180px !important;
        width: 100%;
    }

    .qr-welcome-page .welcome-hero-copy h1 {
        font-size: clamp(56px, 5vw, 74px);
    }

    .qr-welcome-page .welcome-action-row {
        display: grid;
        gap: 16px;
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
        max-width: 760px;
        width: min(100%, 760px);
    }

    .qr-welcome-page .welcome-menu-visual,
    .qr-welcome-page .welcome-survey-button {
        min-height: 166px;
    }

    .qr-welcome-page .welcome-announcement-slider {
        height: 220px;
        max-width: 100%;
        width: 100%;
    }

    .qr-welcome-page .welcome-announcement-slide {
        min-height: 220px;
    }

    .qr-welcome-page .welcome-announcement-slide strong {
        font-size: clamp(26px, 2.6vw, 36px);
    }

    .qr-welcome-page .welcome-picked-rail,
    .qr-welcome-page .welcome-hero-copy > .welcome-picked-rail {
        max-width: 100%;
        width: 100%;
    }

    .qr-welcome-page .welcome-picked-rail > div {
        grid-auto-columns: minmax(180px, 220px);
    }

    .qr-welcome-page .welcome-picked-rail a {
        min-height: 166px;
    }
}

@media (min-width: 900px) {
    .qr-welcome-page .welcome-fit-shell {
        align-items: center !important;
        display: flex !important;
        flex-direction: column;
        gap: 16px;
        height: 100svh;
        justify-content: center !important;
        max-width: 1220px !important;
        padding: 22px clamp(28px, 4vw, 54px);
    }

    .qr-welcome-page .welcome-topbar {
        flex: 0 0 auto;
        margin: 0 auto;
        max-width: 1120px;
        width: 100%;
    }

    .qr-welcome-page .welcome-hero-copy {
        flex: 0 1 auto;
        gap: 13px;
        margin: 0 auto !important;
        max-width: 1120px !important;
        padding-top: 0 !important;
        width: 100%;
    }

    .qr-welcome-page .welcome-hero-copy h1 {
        font-size: clamp(52px, 4.8vw, 70px);
    }

    .qr-welcome-page .welcome-announcement-slider {
        height: 210px;
    }

    .qr-welcome-page .welcome-announcement-slide {
        min-height: 210px;
    }

    .qr-welcome-page .welcome-picked-rail > div {
        grid-auto-columns: minmax(176px, 210px);
    }
}

@media (min-width: 900px) {
    .qr-welcome-page .welcome-hero-copy {
        align-items: start;
        column-gap: 24px;
        display: grid !important;
        grid-template-areas:
            "greeting slider"
            "title slider"
            "actions slider"
            "picked picked";
        grid-template-columns: minmax(360px, 440px) minmax(0, 1fr);
        max-width: 1140px !important;
        row-gap: 12px;
    }

    .qr-welcome-page .welcome-hero-copy .welcome-greeting {
        grid-area: greeting;
    }

    .qr-welcome-page .welcome-hero-copy h1 {
        font-size: clamp(50px, 4.6vw, 66px);
        grid-area: title;
    }

    .qr-welcome-page .welcome-action-row {
        grid-area: actions;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        max-width: 100%;
        width: 100%;
    }

    .qr-welcome-page .welcome-menu-visual,
    .qr-welcome-page .welcome-survey-button {
        min-height: 150px;
    }

    .qr-welcome-page .welcome-menu-illustration {
        min-height: 76px;
    }

    .qr-welcome-page .welcome-announcement-slider {
        align-self: stretch;
        grid-area: slider;
        height: 100%;
        min-height: 318px;
        max-width: 100%;
    }

    .qr-welcome-page .welcome-announcement-slide {
        min-height: 318px;
    }

    .qr-welcome-page .welcome-picked-rail,
    .qr-welcome-page .welcome-hero-copy > .welcome-picked-rail {
        grid-area: picked;
    }

    .qr-welcome-page .welcome-picked-rail a {
        min-height: 142px;
    }

    .qr-welcome-page .welcome-picked-rail img,
    .qr-welcome-page .welcome-picked-rail b {
        aspect-ratio: 16 / 8.5;
    }

    .qr-welcome-page .welcome-hero-copy > .welcome-picked-rail {
        grid-column: 1 / -1 !important;
        grid-row: 4 !important;
        max-width: 100% !important;
        width: 100%;
    }
}

.qr-welcome-page .welcome-announcement-block {
    display: grid;
    gap: 8px;
    max-width: min(100%, 720px);
    min-width: 0;
    width: 100%;
}

.qr-welcome-page .welcome-announcement-block .welcome-announcement-slider {
    max-width: 100% !important;
    min-width: 0;
    width: 100% !important;
}

.qr-welcome-page .welcome-announcement-heading {
    color: var(--welcome-accent);
    display: block;
    font-size: 11px;
    font-weight: 950;
    letter-spacing: 0;
    line-height: 1.1;
    text-transform: uppercase;
}

@media (min-width: 900px) {
    .qr-welcome-page .welcome-announcement-block {
        align-self: stretch;
        display: grid;
        gap: 8px;
        grid-area: slider;
        grid-template-rows: auto minmax(0, 1fr);
        justify-self: stretch;
        max-width: 100%;
        min-height: 318px;
        width: 100%;
    }

    .qr-welcome-page .welcome-announcement-block .welcome-announcement-slider {
        height: 100%;
        min-height: 0;
    }
}

@media (max-width: 899px) {
    .qr-welcome-page .welcome-announcement-block {
        max-width: 100%;
    }
}

.qr-welcome-page .welcome-announcement-heading,
.qr-welcome-page .welcome-picked-rail > span {
    align-items: center;
    color: #9a4f16;
    display: inline-flex;
    font-size: clamp(13px, 1.3vw, 16px);
    font-weight: 950;
    gap: 8px;
    line-height: 1.1;
    padding-left: 12px;
    text-transform: uppercase;
}

.qr-welcome-page .welcome-announcement-heading::before,
.qr-welcome-page .welcome-picked-rail > span::before {
    background: #d9852f;
    border-radius: 999px;
    content: "";
    display: inline-block;
    height: 18px;
    width: 4px;
}

@media (min-width: 900px) {
    .qr-welcome-page .welcome-hero-copy {
        display: grid !important;
        grid-template-areas:
            "greeting"
            "title"
            "actions"
            "news"
            "picked" !important;
        grid-template-columns: minmax(0, 1fr) !important;
        max-width: 1140px !important;
        row-gap: 10px;
    }

    .qr-welcome-page .welcome-hero-copy .welcome-greeting {
        grid-area: greeting;
    }

    .qr-welcome-page .welcome-hero-copy h1 {
        grid-area: title;
    }

    .qr-welcome-page .welcome-action-row {
        grid-area: actions;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        max-width: 760px;
        width: min(100%, 760px);
    }

    .qr-welcome-page .welcome-menu-visual,
    .qr-welcome-page .welcome-survey-button {
        min-height: 132px;
    }

    .qr-welcome-page .welcome-menu-illustration {
        min-height: 72px;
    }

    .qr-welcome-page .welcome-announcement-block {
        grid-area: news !important;
        min-height: 0;
        width: 100%;
    }

    .qr-welcome-page .welcome-announcement-block .welcome-announcement-slider {
        grid-area: auto !important;
        height: 230px !important;
        max-width: none !important;
        min-height: 230px;
        width: 100% !important;
    }

    .qr-welcome-page .welcome-announcement-block .welcome-announcement-slide {
        height: 100%;
        min-height: 230px;
        width: 100%;
    }

    .qr-welcome-page .welcome-hero-copy > .welcome-picked-rail {
        grid-area: picked !important;
        grid-column: auto !important;
        grid-row: auto !important;
        max-width: 100% !important;
        width: 100%;
    }

    .qr-welcome-page .welcome-picked-rail a {
        min-height: 132px;
    }

    .qr-welcome-page .welcome-picked-rail img,
    .qr-welcome-page .welcome-picked-rail b {
        aspect-ratio: 16 / 8;
    }
}

@media (min-width: 900px) {
    .qr-welcome-page .welcome-hero-copy {
        row-gap: 8px;
    }

    .qr-welcome-page .welcome-announcement-block {
        height: 216px !important;
        min-height: 216px !important;
    }

    .qr-welcome-page .welcome-announcement-block .welcome-announcement-slider {
        height: 190px !important;
        min-height: 190px !important;
    }

    .qr-welcome-page .welcome-announcement-block .welcome-announcement-slide {
        min-height: 190px !important;
    }

    .qr-welcome-page .welcome-picked-rail a {
        min-height: 124px;
    }

    .qr-welcome-page .welcome-picked-rail img,
    .qr-welcome-page .welcome-picked-rail b {
        aspect-ratio: 16 / 7;
    }
}

.panel-body.customer-panel,
.panel-body.admin-panel {
    background:
        radial-gradient(circle at 18% 0, rgba(20, 184, 166, .14), transparent 28%),
        radial-gradient(circle at 85% 8%, rgba(245, 158, 11, .12), transparent 24%),
        linear-gradient(180deg, #f4f8fb 0%, #eef3f6 100%);
}

.panel-body.customer-panel .sidebar,
.panel-body.admin-panel .sidebar {
    background:
        radial-gradient(circle at 18% 4%, rgba(45, 212, 191, .24), transparent 27%),
        radial-gradient(circle at 88% 2%, rgba(251, 191, 36, .18), transparent 25%),
        linear-gradient(180deg, #0a1918 0%, #0f172a 100%);
    box-shadow: 18px 0 46px rgba(15, 23, 42, .16);
    overflow: hidden;
}

.panel-body.customer-panel .brand,
.panel-body.admin-panel .brand {
    background: rgba(255, 255, 255, .08);
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: 18px;
    padding: 12px;
}

.panel-body.customer-panel .brand-mark,
.panel-body.admin-panel .brand-mark {
    background: linear-gradient(135deg, #14b8a6, #f59e0b);
    box-shadow: 0 14px 30px rgba(20, 184, 166, .22);
}

.panel-body.customer-panel .nav-list a.active,
.panel-body.admin-panel .nav-list a.active {
    background: linear-gradient(135deg, rgba(20, 184, 166, .26), rgba(245, 158, 11, .18));
    border-color: rgba(255, 255, 255, .18);
    box-shadow: inset 3px 0 0 #facc15, 0 14px 30px rgba(0, 0, 0, .16);
}

.panel-body.customer-panel .panel-main,
.panel-body.admin-panel .panel-main {
    background:
        radial-gradient(circle at 22% 0, rgba(20, 184, 166, .12), transparent 28%),
        radial-gradient(circle at 90% 0, rgba(96, 165, 250, .12), transparent 24%),
        linear-gradient(180deg, rgba(255, 255, 255, .82), rgba(244, 248, 251, .92));
}

.panel-body.customer-panel .page-header,
.panel-body.admin-panel .page-header {
    background:
        linear-gradient(135deg, rgba(255, 255, 255, .96), rgba(255, 255, 255, .78)),
        radial-gradient(circle at 92% 12%, rgba(245, 158, 11, .18), transparent 25%);
    border: 1px solid rgba(226, 232, 240, .92);
    border-radius: 20px;
    box-shadow: 0 22px 54px rgba(15, 23, 42, .08);
    padding: 22px;
}

.panel-body.customer-panel .form-panel,
.panel-body.customer-panel .panel-section,
.panel-body.customer-panel .stat-card,
.panel-body.admin-panel .form-panel,
.panel-body.admin-panel .panel-section,
.panel-body.admin-panel .stat-card {
    border-color: rgba(226, 232, 240, .92);
    border-radius: 18px;
    box-shadow: 0 18px 46px rgba(15, 23, 42, .07);
}

.launch-landing .launch-hero {
    grid-template-columns: minmax(0, .92fr) minmax(420px, .78fr);
}

.launch-landing .launch-demo-stage {
    min-height: 740px;
}

.launch-landing .launch-iphone {
    animation: launchIphoneFloat 6s ease-in-out infinite;
    background:
        linear-gradient(145deg, #1f2937 0%, #030712 54%, #111827 100%);
    border-radius: 58px;
    box-shadow:
        0 44px 120px rgba(2, 6, 23, .54),
        0 0 0 1px rgba(255, 255, 255, .08),
        inset 0 0 0 8px rgba(255, 255, 255, .08),
        inset 0 0 0 11px rgba(0, 0, 0, .7);
    padding: 16px 12px 18px;
    transform: none;
    width: min(100%, 430px);
}

.launch-landing .launch-iphone .launch-phone-screen {
    background: #fff;
    border-radius: 44px;
    height: min(72vh, 690px);
    min-height: 620px;
}

.launch-landing .launch-iphone .launch-phone-bar {
    background: #020617;
    border-radius: 999px;
    height: 29px;
    left: 50%;
    margin: 0;
    position: absolute;
    top: 23px;
    transform: translateX(-50%);
    width: 118px;
    z-index: 5;
}

.launch-landing .launch-iphone .launch-demo-frame {
    border-radius: 40px;
}

#welcome-screen {
    scroll-margin-top: 100px;
}

@media (max-width: 1180px) {
    .launch-landing .launch-hero {
        grid-template-columns: minmax(0, 1fr) minmax(360px, .82fr);
    }
}

@media (max-width: 980px) {
    .launch-landing .launch-hero,
    .welcome-panel-guide {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 620px) {
    .launch-landing .launch-nav {
        border-radius: 24px;
        box-sizing: border-box;
        left: 9px;
        max-width: 372px;
        overflow: hidden;
        padding: 10px;
        right: auto;
        top: 8px;
        transform: none;
        width: min(372px, calc(100vw - 18px));
    }

    .launch-landing .launch-nav > *,
    .launch-landing .launch-nav-brand,
    .launch-landing .launch-nav-links,
    .launch-landing .launch-nav-actions {
        min-width: 0;
    }

    .launch-landing .launch-nav-links {
        display: none;
    }

    .launch-landing .launch-nav-links a {
        align-items: center;
        display: inline-flex;
        flex: 0 1 calc(50% - 4px);
        font-size: 11px;
        justify-content: center;
        max-width: calc(50% - 4px);
        min-height: 30px;
        overflow-wrap: anywhere;
        padding: 6px 4px;
        text-align: center;
        white-space: normal;
    }

    .launch-landing .launch-nav-actions {
        display: grid;
        gap: 8px;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        width: 100%;
    }

    .launch-landing .launch-nav-actions .button {
        font-size: 12px;
        line-height: 1.15;
        max-width: 100%;
        min-width: 0;
        overflow-wrap: anywhere;
        padding-left: 6px;
        padding-right: 6px;
        text-align: center;
        white-space: normal;
        width: 100%;
    }

    .launch-landing .launch-hero {
        padding-top: 158px;
    }

    #welcome-screen {
        scroll-margin-top: 132px;
    }

    .launch-landing .launch-iphone {
        border-radius: 42px;
        max-width: 360px;
        padding: 11px 9px 13px;
        width: 100%;
    }

    .launch-landing .launch-iphone .launch-phone-screen {
        border-radius: 32px;
        height: 552px;
        min-height: 552px;
    }

    .launch-landing .launch-iphone .launch-phone-bar {
        height: 24px;
        top: 17px;
        width: 98px;
    }
}

.launch-landing .launch-modern-phone {
    animation: launchModernPhoneFloat 6.5s ease-in-out infinite;
    background:
        linear-gradient(90deg, #202124 0 2px, #777b7f 2px 5px, #151617 5px 9px, transparent 9px calc(100% - 9px), #151617 calc(100% - 9px) calc(100% - 5px), #777b7f calc(100% - 5px) calc(100% - 2px), #202124 calc(100% - 2px)),
        linear-gradient(180deg, #f8fafc 0%, #b6bcc2 2.5%, #151617 4%, #050505 96%, #7a7f85 98%, #18191b 100%);
    border: 1px solid rgba(255, 255, 255, .58);
    border-radius: 58px;
    box-shadow:
        0 44px 120px rgba(2, 6, 23, .48),
        0 16px 38px rgba(15, 23, 42, .18),
        inset 0 0 0 4px rgba(255, 255, 255, .38),
        inset 0 0 0 8px rgba(0, 0, 0, .82);
    gap: 0;
    padding: 13px;
    transform: rotate(-1.2deg);
    width: min(100%, 390px);
}

.launch-landing .launch-modern-phone::before {
    background: linear-gradient(180deg, #767b80, #1b1d1f);
    border-radius: 999px;
    content: "";
    height: 34px;
    left: -5px;
    position: absolute;
    top: 124px;
    width: 4px;
    box-shadow:
        0 70px 0 #2a2d30,
        0 139px 0 #2a2d30;
    z-index: 1;
}

.launch-landing .launch-modern-phone::after {
    background: linear-gradient(180deg, #767b80, #1b1d1f);
    border-radius: 999px;
    content: "";
    height: 76px;
    position: absolute;
    right: -5px;
    top: 228px;
    width: 4px;
    z-index: 1;
}

.launch-landing .launch-modern-phone .launch-phone-bar {
    background:
        radial-gradient(circle at calc(100% - 18px) 50%, #1f2937 0 5px, #050505 6px 11px, transparent 12px),
        linear-gradient(90deg, #050505, #000);
    border-radius: 999px;
    box-shadow:
        inset 0 1px 1px rgba(255, 255, 255, .1),
        0 2px 8px rgba(0, 0, 0, .28);
    height: 34px;
    left: 50%;
    margin: 0;
    position: absolute;
    top: 26px;
    transform: translateX(-50%);
    width: 106px;
    z-index: 5;
}

.launch-landing .launch-modern-phone .launch-phone-screen {
    background: #fff;
    border: 1px solid rgba(255, 255, 255, .66);
    border-radius: 48px;
    box-shadow:
        inset 0 0 0 1px rgba(15, 23, 42, .1),
        inset 0 0 0 3px rgba(255, 255, 255, .5);
    height: min(72vh, 690px);
    min-height: 635px;
    overflow: hidden;
}

.launch-landing .launch-modern-phone .launch-demo-frame {
    border-radius: 46px;
}

.launch-landing .launch-modern-phone .launch-phone-actions {
    display: none;
}

.welcome-home-layout {
    align-items: start;
    display: grid;
    gap: 18px;
    grid-template-columns: minmax(320px, .9fr) minmax(0, 1.25fr);
}

.welcome-home-layout > .welcome-settings-form {
    display: contents;
}

.welcome-status-card {
    grid-column: 1;
    grid-row: 1;
}

.welcome-featured-card {
    grid-column: 2;
    grid-row: 1 / span 2;
}

.welcome-home-layout > .showcase-editor {
    display: grid;
    gap: 18px;
    grid-column: 1;
    grid-row: 2;
    grid-template-columns: 1fr;
    margin-top: 0;
}

.panel-body.customer-panel {
    background:
        linear-gradient(180deg, #f8fafc 0%, #eef6f5 100%);
    position: relative;
}

.panel-body.customer-panel::before {
    animation: customerPanelDrift 16s ease-in-out infinite alternate;
    background:
        radial-gradient(circle at 12% 14%, rgba(20, 184, 166, .18), transparent 28%),
        radial-gradient(circle at 86% 10%, rgba(59, 130, 246, .14), transparent 24%),
        radial-gradient(circle at 70% 86%, rgba(245, 158, 11, .12), transparent 26%);
    content: "";
    inset: 0;
    pointer-events: none;
    position: fixed;
    z-index: 0;
}

.panel-body.customer-panel .sidebar,
.panel-body.customer-panel .panel-main {
    position: relative;
    z-index: 1;
}

.panel-body.customer-panel .sidebar {
    background: rgba(255, 255, 255, .88);
    border-right: 1px solid rgba(226, 232, 240, .92);
    box-shadow: 18px 0 54px rgba(15, 23, 42, .08);
    color: #0f172a;
}

.panel-body.customer-panel .sidebar::before {
    animation: customerSidebarWash 10s ease-in-out infinite alternate;
    background:
        linear-gradient(135deg, rgba(20, 184, 166, .18), transparent 36%),
        linear-gradient(315deg, rgba(59, 130, 246, .12), transparent 34%);
    opacity: 1;
}

.panel-body.customer-panel .brand {
    background: rgba(248, 250, 252, .88);
    border-color: rgba(226, 232, 240, .94);
    box-shadow: 0 14px 34px rgba(15, 23, 42, .06);
    color: #0f172a;
}

.panel-body.customer-panel .brand small {
    color: #64748b;
}

.panel-body.customer-panel .brand-mark {
    animation: customerBrandPulse 3.8s ease-in-out infinite;
    background: linear-gradient(135deg, #0f766e, #38bdf8);
}

.panel-body.customer-panel .nav-section {
    border-left-color: rgba(15, 118, 110, .14);
}

.panel-body.customer-panel .nav-section > span {
    color: #0f766e;
}

.panel-body.customer-panel .nav-list a {
    color: #334155;
}

.panel-body.customer-panel .nav-list a:hover {
    background: rgba(14, 165, 233, .08);
    color: #0f172a;
}

.panel-body.customer-panel .nav-list a.active,
.panel-body.customer-panel .nav-list a.nav-preview-link {
    background: #ffffff;
    border-color: rgba(20, 184, 166, .22);
    box-shadow: inset 3px 0 0 #14b8a6, 0 12px 28px rgba(15, 23, 42, .08);
    color: #0f172a;
}

.panel-body.customer-panel .logout-form {
    border-top-color: rgba(15, 23, 42, .08);
}

.panel-body.customer-panel .logout-form span {
    color: #64748b;
}

.panel-body.customer-panel .logout-form button {
    background: #f1f5f9;
    color: #0f172a;
}

.panel-body.customer-panel .panel-main {
    background: transparent;
}

.panel-body.customer-panel .page-header {
    background:
        linear-gradient(135deg, rgba(255, 255, 255, .96), rgba(240, 253, 250, .86));
    border-color: rgba(226, 232, 240, .94);
    overflow: hidden;
    position: relative;
}

.panel-body.customer-panel .page-header::after {
    animation: customerAccentRun 5.5s linear infinite;
    background: linear-gradient(90deg, transparent, rgba(20, 184, 166, .52), rgba(59, 130, 246, .42), transparent);
    bottom: 0;
    content: "";
    height: 3px;
    left: -35%;
    position: absolute;
    width: 35%;
}

.panel-body.customer-panel .form-panel,
.panel-body.customer-panel .panel-section,
.panel-body.customer-panel .stat-card {
    background: rgba(255, 255, 255, .9);
    border-color: rgba(226, 232, 240, .94);
    box-shadow: 0 18px 42px rgba(15, 23, 42, .06);
}

.panel-body.customer-panel .form-panel {
    transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

.panel-body.customer-panel .form-panel:hover {
    border-color: rgba(20, 184, 166, .26);
    box-shadow: 0 22px 54px rgba(15, 23, 42, .09);
    transform: translateY(-2px);
}

.panel-body.customer-panel .button.primary,
.panel-body.customer-panel button.primary {
    background: linear-gradient(135deg, #0f766e, #0ea5e9);
    box-shadow: 0 14px 30px rgba(14, 165, 233, .2);
}

@keyframes launchModernPhoneFloat {
    0%,
    100% {
        transform: rotate(-1.5deg) translateY(0);
    }

    50% {
        transform: rotate(1deg) translateY(-12px);
    }
}

@keyframes customerPanelDrift {
    from {
        opacity: .72;
        transform: translate3d(-2%, -1%, 0) scale(1);
    }

    to {
        opacity: 1;
        transform: translate3d(2%, 1%, 0) scale(1.05);
    }
}

@keyframes customerSidebarWash {
    from {
        transform: translateY(-20px);
    }

    to {
        transform: translateY(20px);
    }
}

@keyframes customerBrandPulse {
    0%,
    100% {
        box-shadow: 0 12px 28px rgba(20, 184, 166, .2);
    }

    50% {
        box-shadow: 0 18px 38px rgba(14, 165, 233, .28);
    }
}

@keyframes customerAccentRun {
    from {
        left: -35%;
    }

    to {
        left: 100%;
    }
}

@media (max-width: 1120px) {
    .welcome-home-layout {
        grid-template-columns: 1fr;
    }

    .welcome-home-layout > .welcome-settings-form {
        display: grid;
        gap: 18px;
        grid-template-columns: 1fr;
    }

    .welcome-status-card,
    .welcome-featured-card,
    .welcome-home-layout > .showcase-editor {
        grid-column: auto;
        grid-row: auto;
    }
}

@media (max-width: 620px) {
    .launch-landing .launch-modern-phone {
        border-radius: 44px;
        max-width: 360px;
        padding: 10px;
        transform: none;
        width: 100%;
    }

    .launch-landing .launch-modern-phone::before {
        height: 30px;
        left: -4px;
        top: 104px;
        width: 3px;
        box-shadow:
            0 58px 0 #2a2d30,
            0 116px 0 #2a2d30;
    }

    .launch-landing .launch-modern-phone .launch-phone-bar {
        height: 28px;
        top: 18px;
        width: 88px;
    }

    .launch-landing .launch-modern-phone .launch-phone-screen {
        border-radius: 34px;
        height: 552px;
        min-height: 552px;
    }

    .launch-landing .launch-modern-phone .launch-demo-frame {
        border-radius: 32px;
    }
}

@media (min-width: 981px) {
    .panel-body.customer-panel {
        grid-template-columns: 238px minmax(0, 1fr);
        font-size: 14px;
    }

    .panel-body.customer-panel .sidebar {
        gap: 14px;
        padding: 16px;
    }

    .panel-body.customer-panel .brand {
        border-radius: 14px;
        gap: 10px;
        padding: 9px;
    }

    .panel-body.customer-panel .brand-mark {
        flex-basis: 36px;
        font-size: 13px;
        height: 36px;
    }

    .panel-body.customer-panel .brand strong {
        font-size: 14px;
        line-height: 1.15;
    }

    .panel-body.customer-panel .brand small {
        font-size: 11px;
    }

    .panel-body.customer-panel .nav-list {
        gap: 4px;
    }

    .panel-body.customer-panel .nav-list a {
        border-radius: 10px;
        font-size: 13px;
        min-height: 36px;
        padding: 8px 10px;
    }

    .panel-body.customer-panel .nav-section {
        gap: 2px;
        padding: 4px 0 4px 8px;
    }

    .panel-body.customer-panel .nav-section > span {
        font-size: 10px;
        padding: 5px 10px 2px;
    }

    .panel-body.customer-panel .logout-form {
        padding-top: 12px;
    }

    .panel-body.customer-panel .logout-form button {
        min-height: 32px;
        padding: 6px 10px;
    }

    .panel-body.customer-panel .panel-main {
        padding: clamp(20px, 1.7vw, 28px);
    }

    .panel-body.customer-panel .page-header {
        border-radius: 16px;
        margin-bottom: 18px;
        padding: 16px 18px;
    }

    .panel-body.customer-panel .page-header h1 {
        font-size: clamp(24px, 2vw, 30px);
        margin-top: 4px;
    }

    .panel-body.customer-panel .eyebrow {
        font-size: 11px;
    }

    .panel-body.customer-panel .alert {
        margin-bottom: 14px;
        padding: 10px 12px;
    }

    .panel-body.customer-panel .stat-grid,
    .panel-body.customer-panel .quick-actions,
    .panel-body.customer-panel .info-grid,
    .panel-body.customer-panel .panel-form,
    .panel-body.customer-panel .welcome-panel-guide,
    .panel-body.customer-panel .welcome-home-layout,
    .panel-body.customer-panel .showcase-editor {
        gap: 12px;
    }

    .panel-body.customer-panel .form-panel,
    .panel-body.customer-panel .panel-section,
    .panel-body.customer-panel .stat-card {
        border-radius: 14px;
        padding: 15px;
    }

    .panel-body.customer-panel .form-panel,
    .panel-body.customer-panel .panel-form {
        gap: 14px;
    }

    .panel-body.customer-panel .section-title h2,
    .panel-body.customer-panel .form-panel h2,
    .panel-body.customer-panel .panel-card-title h2 {
        font-size: 17px;
    }

    .panel-body.customer-panel label {
        font-size: 13px;
        gap: 6px;
    }

    .panel-body.customer-panel input,
    .panel-body.customer-panel select,
    .panel-body.customer-panel textarea {
        border-radius: 10px;
        padding: 9px 10px;
    }

    .panel-body.customer-panel .button,
    .panel-body.customer-panel button {
        border-radius: 10px;
        font-size: 13px;
        min-height: 38px;
        padding: 8px 13px;
    }

    .panel-body.customer-panel .stat-card span,
    .panel-body.customer-panel .quick-actions span,
    .panel-body.customer-panel .info-grid span,
    .panel-body.customer-panel .muted,
    .panel-body.customer-panel .form-help {
        font-size: 12px;
    }

    .panel-body.customer-panel .stat-card strong {
        font-size: 28px;
        margin-top: 8px;
    }

    .panel-body.customer-panel .quick-actions a {
        border-radius: 14px;
        gap: 6px;
        padding: 14px;
    }

    .panel-body.customer-panel .info-grid div {
        border-radius: 10px;
        padding: 12px;
    }

    .panel-body.customer-panel .welcome-panel-guide {
        margin-bottom: 18px;
    }

    .panel-body.customer-panel .welcome-panel-guide article {
        border-radius: 14px;
        gap: 6px;
        min-height: 118px;
        padding: 14px;
    }

    .panel-body.customer-panel .welcome-panel-guide strong {
        font-size: 16px;
    }

    .panel-body.customer-panel .welcome-panel-guide p {
        font-size: 12px;
        line-height: 1.42;
    }

    .panel-body.customer-panel .welcome-home-layout {
        grid-template-columns: minmax(280px, .82fr) minmax(0, 1.18fr);
    }

    .panel-body.customer-panel .featured-picker {
        gap: 9px;
        grid-template-columns: repeat(auto-fill, minmax(215px, 1fr));
        max-height: 340px;
    }

    .panel-body.customer-panel .featured-picker .recommendation-option {
        border-radius: 12px;
        grid-template-columns: auto 48px minmax(0, 1fr);
        padding: 8px;
    }

    .panel-body.customer-panel .featured-picker .recommendation-option img,
    .panel-body.customer-panel .featured-picker .mini-placeholder {
        border-radius: 10px;
        height: 48px;
        width: 48px;
    }

    .panel-body.customer-panel .existing-media {
        border-radius: 10px;
        padding: 8px;
    }

    .panel-body.customer-panel .existing-media.wide img,
    .panel-body.customer-panel .existing-media video {
        height: 58px;
        width: 96px;
    }

    .panel-body.customer-panel .slide-admin-list,
    .panel-body.customer-panel .slide-admin-card form {
        gap: 10px;
    }

    .panel-body.customer-panel .slide-admin-card {
        border-radius: 12px;
        padding: 12px;
    }

    .panel-body.admin-panel {
        grid-template-columns: 238px minmax(0, 1fr);
        font-size: 14px;
    }

    .panel-body.admin-panel .sidebar {
        gap: 14px;
        padding: 16px;
    }

    .panel-body.admin-panel .brand {
        border-radius: 14px;
        gap: 10px;
        padding: 9px;
    }

    .panel-body.admin-panel .brand-mark {
        flex-basis: 36px;
        font-size: 13px;
        height: 36px;
    }

    .panel-body.admin-panel .brand strong {
        font-size: 14px;
        line-height: 1.15;
    }

    .panel-body.admin-panel .brand small {
        font-size: 11px;
    }

    .panel-body.admin-panel .nav-list {
        gap: 5px;
    }

    .panel-body.admin-panel .nav-list a {
        border-radius: 10px;
        font-size: 13px;
        min-height: 36px;
        padding: 8px 10px;
    }

    .panel-body.admin-panel .logout-form {
        padding-top: 12px;
    }

    .panel-body.admin-panel .logout-form button {
        min-height: 32px;
        padding: 6px 10px;
    }

    .panel-body.admin-panel .panel-main {
        padding: clamp(20px, 1.7vw, 28px);
    }

    .panel-body.admin-panel .page-header {
        border-radius: 16px;
        margin-bottom: 18px;
        padding: 16px 18px;
    }

    .panel-body.admin-panel .page-header h1 {
        font-size: clamp(24px, 2vw, 30px);
        margin-top: 4px;
    }

    .panel-body.admin-panel .eyebrow {
        font-size: 11px;
    }

    .panel-body.admin-panel .alert {
        margin-bottom: 14px;
        padding: 10px 12px;
    }

    .panel-body.admin-panel .stat-grid,
    .panel-body.admin-panel .panel-form,
    .panel-body.admin-panel .pricing-admin-grid,
    .panel-body.admin-panel .field-grid,
    .panel-body.admin-panel .filter-bar {
        gap: 12px;
    }

    .panel-body.admin-panel .form-panel,
    .panel-body.admin-panel .panel-section,
    .panel-body.admin-panel .stat-card {
        border-radius: 14px;
        padding: 15px;
    }

    .panel-body.admin-panel .form-panel,
    .panel-body.admin-panel .panel-form {
        gap: 14px;
    }

    .panel-body.admin-panel .section-title {
        margin-bottom: 12px;
    }

    .panel-body.admin-panel .section-title h2,
    .panel-body.admin-panel .form-panel h2 {
        font-size: 17px;
    }

    .panel-body.admin-panel label {
        font-size: 13px;
        gap: 6px;
    }

    .panel-body.admin-panel input,
    .panel-body.admin-panel select,
    .panel-body.admin-panel textarea {
        border-radius: 10px;
        padding: 9px 10px;
    }

    .panel-body.admin-panel .button,
    .panel-body.admin-panel button {
        border-radius: 10px;
        font-size: 13px;
        min-height: 38px;
        padding: 8px 13px;
    }

    .panel-body.admin-panel .stat-card span,
    .panel-body.admin-panel .muted,
    .panel-body.admin-panel .form-help,
    .panel-body.admin-panel .section-title small,
    .panel-body.admin-panel table small {
        font-size: 12px;
    }

    .panel-body.admin-panel .stat-card strong {
        font-size: 28px;
        margin-top: 8px;
    }

    .panel-body.admin-panel table {
        font-size: 13px;
    }

    .panel-body.admin-panel th,
    .panel-body.admin-panel td {
        padding: 10px 11px;
    }

    .panel-body.admin-panel td strong {
        font-size: 13px;
    }

    .panel-body.admin-panel code {
        border-radius: 6px;
        font-size: 12px;
        padding: 2px 6px;
    }

    .panel-body.admin-panel .status {
        font-size: 11px;
        padding: 4px 8px;
    }

    .panel-body.admin-panel .table-actions {
        gap: 6px;
    }

    .panel-body.admin-panel .table-actions .button,
    .panel-body.admin-panel .table-actions button {
        min-height: 32px;
        padding: 6px 9px;
    }

    .panel-body.admin-panel .filter-bar {
        margin-bottom: 14px;
    }

    .panel-body.admin-panel .pricing-admin-card {
        border-radius: 14px;
    }
}

@media (min-width: 1500px) {
    .panel-body.customer-panel {
        grid-template-columns: 250px minmax(0, 1fr);
    }

    .panel-body.customer-panel .panel-main {
        padding: 28px;
    }

    .panel-body.admin-panel {
        grid-template-columns: 250px minmax(0, 1fr);
    }

    .panel-body.admin-panel .panel-main {
        padding: 28px;
    }
}

.auth-shell {
    background:
        radial-gradient(circle at 12% 12%, rgba(20, 184, 166, .2), transparent 26%),
        radial-gradient(circle at 90% 10%, rgba(37, 99, 235, .18), transparent 26%),
        linear-gradient(135deg, #eef7f6 0%, #f8fafc 52%, #eff6ff 100%);
    min-height: 100vh;
    padding: clamp(16px, 3vw, 34px);
}

.login-page-modern {
    background: rgba(255, 255, 255, .72);
    border: 1px solid rgba(255, 255, 255, .86);
    border-radius: 28px;
    box-shadow: 0 32px 90px rgba(15, 23, 42, .14);
    display: grid;
    grid-template-columns: minmax(0, 1.02fr) minmax(360px, .78fr);
    margin: auto;
    max-width: 1180px;
    min-height: min(720px, calc(100vh - 68px));
    overflow: hidden;
    position: relative;
    width: 100%;
}

.login-showcase {
    background:
        linear-gradient(135deg, rgba(5, 46, 43, .94), rgba(15, 23, 42, .94)),
        radial-gradient(circle at 18% 18%, rgba(45, 212, 191, .34), transparent 30%),
        radial-gradient(circle at 82% 14%, rgba(59, 130, 246, .24), transparent 26%);
    color: #fff;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    min-height: 640px;
    overflow: hidden;
    padding: clamp(28px, 4vw, 52px);
    position: relative;
}

.login-showcase::before {
    animation: loginGridDrift 16s ease-in-out infinite alternate;
    background:
        linear-gradient(90deg, rgba(255, 255, 255, .08) 1px, transparent 1px),
        linear-gradient(180deg, rgba(255, 255, 255, .07) 1px, transparent 1px);
    background-size: 34px 34px;
    content: "";
    inset: -10%;
    opacity: .5;
    position: absolute;
}

.login-showcase > * {
    position: relative;
    z-index: 1;
}

.login-brand {
    align-items: center;
    display: inline-flex;
    gap: 10px;
    width: fit-content;
}

.login-brand span {
    align-items: center;
    background: linear-gradient(135deg, #5eead4, #facc15);
    border-radius: 14px;
    color: #052e2b;
    display: inline-flex;
    font-size: 13px;
    font-weight: 950;
    height: 42px;
    justify-content: center;
    width: 42px;
}

.login-brand strong {
    color: #fff;
    font-size: 17px;
}

.login-showcase-copy {
    display: grid;
    gap: 15px;
    max-width: 650px;
}

.login-kicker,
.login-card-head span {
    color: #14b8a6;
    font-size: 12px;
    font-weight: 950;
    text-transform: uppercase;
}

.login-showcase-copy h1 {
    font-size: clamp(42px, 5vw, 68px);
    letter-spacing: 0;
    line-height: .96;
    margin: 0;
}

.login-showcase-copy p {
    color: rgba(255, 255, 255, .78);
    font-size: 17px;
    line-height: 1.6;
    margin: 0;
    max-width: 560px;
}

.login-feature-stack {
    display: grid;
    gap: 12px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.login-feature-stack article {
    backdrop-filter: blur(16px);
    background: rgba(255, 255, 255, .1);
    border: 1px solid rgba(255, 255, 255, .14);
    border-radius: 16px;
    display: grid;
    gap: 6px;
    min-height: 126px;
    padding: 14px;
}

.login-feature-stack article span {
    color: #facc15;
    font-size: 11px;
    font-weight: 950;
}

.login-feature-stack article strong {
    color: #fff;
    font-size: 16px;
}

.login-feature-stack article small {
    color: rgba(255, 255, 255, .72);
    line-height: 1.42;
}

.login-panel-modern {
    align-items: center;
    display: grid;
    justify-items: center;
    padding: clamp(24px, 4vw, 52px);
    position: relative;
}

.login-language-pills {
    display: flex;
    gap: 8px;
    justify-content: flex-end;
    position: absolute;
    right: clamp(20px, 3vw, 38px);
    top: clamp(18px, 3vw, 34px);
}

.login-language-pills span {
    align-items: center;
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 999px;
    color: #64748b;
    display: inline-flex;
    font-size: 11px;
    font-weight: 950;
    height: 32px;
    justify-content: center;
    width: 38px;
}

.login-language-pills .is-active {
    background: #0f766e;
    border-color: #0f766e;
    color: #fff;
}

.login-card-modern {
    background: rgba(255, 255, 255, .94);
    border: 1px solid rgba(226, 232, 240, .96);
    border-radius: 24px;
    box-shadow: 0 24px 58px rgba(15, 23, 42, .1);
    display: grid;
    gap: 18px;
    max-width: 430px;
    padding: clamp(24px, 3.2vw, 36px);
    width: 100%;
}

.login-card-head {
    display: grid;
    gap: 8px;
    text-align: center;
}

.login-card-head h2 {
    font-size: 32px;
    line-height: 1.08;
    margin: 0;
}

.login-card-head p {
    color: #64748b;
    line-height: 1.5;
    margin: 0;
}

.login-form-modern {
    display: grid;
    gap: 15px;
}

.login-form-modern label {
    color: #1e293b;
    font-size: 13px;
}

.login-form-modern input[type="email"],
.login-form-modern input[type="password"] {
    background: #f8fafc;
    border-color: #e2e8f0;
    border-radius: 14px;
    min-height: 48px;
    padding: 12px 14px;
}

.login-form-modern input:focus {
    background: #fff;
}

.login-form-row {
    align-items: center;
    display: flex;
    gap: 12px;
    justify-content: space-between;
}

.remember-check {
    align-items: center;
    display: inline-flex;
    flex-direction: row;
    gap: 8px;
    width: auto;
}

.remember-check input {
    accent-color: #0f766e;
    height: 16px;
    width: 16px;
}

.remember-check span,
.login-form-row a {
    color: #475569;
    font-size: 13px;
    font-weight: 800;
}

.login-form-row a {
    color: #0f766e;
}

.login-submit {
    min-height: 50px;
    width: 100%;
}

.login-card-footer {
    align-items: center;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 16px;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: center;
    padding: 12px;
}

.login-card-footer span {
    color: #64748b;
    font-size: 13px;
}

.login-card-footer a {
    color: #0f766e;
    font-size: 13px;
    font-weight: 900;
}

.login-copyright {
    bottom: 22px;
    color: #94a3b8;
    font-weight: 800;
    position: absolute;
}

@keyframes loginGridDrift {
    from {
        transform: translate3d(-2%, -2%, 0);
    }

    to {
        transform: translate3d(2%, 2%, 0);
    }
}

@media (max-width: 980px) {
    .login-page-modern {
        grid-template-columns: 1fr;
    }

    .login-showcase {
        min-height: auto;
        gap: 34px;
    }

    .login-panel-modern {
        min-height: 560px;
    }
}

@media (max-width: 640px) {
    .auth-shell {
        padding: 10px;
    }

    .login-page-modern {
        border-radius: 22px;
        max-width: 100%;
        min-width: 0;
    }

    .login-showcase {
        box-sizing: border-box;
        max-width: 100%;
        min-width: 0;
        padding: 24px;
        width: 100%;
    }

    .login-showcase > *,
    .login-showcase-copy,
    .login-panel-modern,
    .login-card-modern {
        max-width: 100%;
        min-width: 0;
    }

    .login-showcase-copy {
        width: 100%;
    }

    .login-showcase-copy h1 {
        font-size: 28px;
        line-height: 1.04;
        max-width: 100%;
        overflow-wrap: break-word;
    }

    .login-showcase-copy p {
        font-size: 14px;
        max-width: 100%;
        overflow-wrap: break-word;
    }

    .login-feature-stack {
        grid-template-columns: 1fr;
    }

    .login-feature-stack article {
        max-width: 100%;
        width: 100%;
    }

    .login-panel-modern {
        padding: 74px 18px 54px;
    }

    .login-language-pills {
        justify-content: center;
        left: 18px;
        right: 18px;
    }

    .login-card-head h2 {
        font-size: 28px;
    }
}

/* v68 welcome menu button: chef-touch food photo */
.qr-welcome-page .welcome-menu-visual {
    align-items: center !important;
    background:
        linear-gradient(180deg, rgba(10, 8, 6, .12), rgba(10, 8, 6, .66)),
        url("../img/welcome-menu-chef-touch.png") center 58% / cover no-repeat !important;
    border: 1px solid rgba(255, 255, 255, .32) !important;
    border-radius: 20px !important;
    box-shadow: 0 26px 70px rgba(15, 23, 42, .28) !important;
    color: #ffffff !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    grid-template-rows: 1fr !important;
    isolation: isolate;
    justify-items: center !important;
    min-height: 170px !important;
    overflow: hidden !important;
    padding: 0 !important;
    position: relative !important;
    text-align: center !important;
}

.qr-welcome-page .welcome-menu-visual::before {
    background:
        radial-gradient(circle at 50% 52%, rgba(255, 255, 255, .18), transparent 38%),
        linear-gradient(135deg, rgba(217, 133, 47, .22), transparent 42%),
        linear-gradient(180deg, rgba(0, 0, 0, .08), rgba(0, 0, 0, .34));
    content: "";
    inset: 0;
    pointer-events: none;
    position: absolute;
    transition: opacity .22s ease, transform .22s ease;
    z-index: 0;
}

.qr-welcome-page .welcome-menu-visual:hover::before,
.qr-welcome-page .welcome-menu-visual:focus-visible::before {
    opacity: .78;
}

.qr-welcome-page .welcome-menu-visual .welcome-menu-illustration,
.qr-welcome-page .welcome-menu-visual i,
.qr-welcome-page .welcome-menu-visual .welcome-action-text small {
    display: none !important;
}

.qr-welcome-page .welcome-menu-visual .welcome-action-text {
    align-self: center !important;
    display: grid !important;
    gap: 0 !important;
    justify-items: center !important;
    padding: 0 18px !important;
    position: relative;
    text-align: center !important;
    width: 100%;
    z-index: 1;
}

.qr-welcome-page .welcome-menu-visual .welcome-action-text b {
    color: #ffffff !important;
    display: grid !important;
    font-size: clamp(34px, 5.2vw, 54px) !important;
    font-weight: 950 !important;
    letter-spacing: 0 !important;
    line-height: .92 !important;
    text-shadow: 0 8px 28px rgba(0, 0, 0, .46);
    text-transform: uppercase;
}

.qr-welcome-page .welcome-menu-visual .welcome-action-text b::after {
    background: linear-gradient(90deg, transparent, #ffffff 16%, #f7c46b 50%, #ffffff 84%, transparent);
    border-radius: 999px;
    box-shadow: 0 0 20px rgba(247, 196, 107, .46);
    content: "";
    display: block;
    height: 3px;
    margin: 13px auto 0;
    width: 86px;
}

@media (max-width: 899px) {
    .qr-welcome-page .welcome-menu-visual {
        min-height: 138px !important;
    }

    .qr-welcome-page .welcome-menu-visual .welcome-action-text b {
        font-size: clamp(31px, 9vw, 43px) !important;
    }
}

/* v70 panel mobile hardening */
.panel-body.customer-panel,
.panel-body.admin-panel {
    overflow-x: hidden;
}

.panel-body.customer-panel *,
.panel-body.customer-panel *::before,
.panel-body.customer-panel *::after,
.panel-body.admin-panel *,
.panel-body.admin-panel *::before,
.panel-body.admin-panel *::after {
    box-sizing: border-box;
}

.panel-body.customer-panel .panel-main > *,
.panel-body.admin-panel .panel-main > * {
    max-width: 100%;
    min-width: 0;
}

.panel-body.customer-panel input,
.panel-body.customer-panel select,
.panel-body.customer-panel textarea,
.panel-body.admin-panel input,
.panel-body.admin-panel select,
.panel-body.admin-panel textarea {
    max-width: 100%;
    min-width: 0;
    width: 100%;
}

.panel-body.customer-panel .table-wrap,
.panel-body.admin-panel .table-wrap {
    max-width: 100%;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    -webkit-overflow-scrolling: touch;
}

.panel-body.customer-panel table,
.panel-body.admin-panel table {
    width: 100%;
}

.panel-body.customer-panel td,
.panel-body.customer-panel th,
.panel-body.admin-panel td,
.panel-body.admin-panel th {
    overflow-wrap: anywhere;
}

@media (max-width: 980px) {
    .panel-body.customer-panel,
    .panel-body.admin-panel {
        display: block !important;
        min-height: 100dvh;
        width: 100%;
    }

    .panel-body.customer-panel .sidebar,
    .panel-body.admin-panel .sidebar {
        border-bottom: 1px solid rgba(226, 232, 240, .92);
        border-right: 0;
        display: grid;
        gap: 10px;
        grid-template-columns: minmax(0, 1fr) auto;
        min-height: 0 !important;
        overflow: visible;
        padding: 10px;
        position: sticky;
        top: 0;
        width: 100%;
        z-index: 30;
    }

    .panel-body.customer-panel .brand,
    .panel-body.admin-panel .brand {
        border-radius: 14px;
        gap: 9px;
        grid-column: 1;
        min-width: 0;
        padding: 8px 10px;
    }

    .panel-body.customer-panel .brand-mark,
    .panel-body.admin-panel .brand-mark {
        flex: 0 0 36px;
        height: 36px;
        width: 36px;
    }

    .panel-body.customer-panel .brand strong,
    .panel-body.admin-panel .brand strong {
        font-size: 14px;
        line-height: 1.16;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .panel-body.customer-panel .brand small,
    .panel-body.admin-panel .brand small {
        font-size: 11px;
    }

    .panel-body.customer-panel .logout-form,
    .panel-body.admin-panel .logout-form {
        align-self: stretch;
        border-top: 0;
        gap: 8px;
        grid-column: 2;
        grid-row: 1;
        justify-self: end;
        margin: 0;
        padding: 0;
    }

    .panel-body.customer-panel .logout-form button,
    .panel-body.admin-panel .logout-form button {
        min-height: 38px;
        padding: 7px 10px;
        white-space: nowrap;
    }

    .panel-body.customer-panel .nav-list,
    .panel-body.admin-panel .nav-list {
        display: flex !important;
        gap: 8px;
        grid-column: 1 / -1;
        grid-template-columns: none !important;
        max-width: 100%;
        overflow-x: auto;
        padding: 2px 2px 7px;
        scrollbar-width: thin;
        -webkit-overflow-scrolling: touch;
    }

    .panel-body.customer-panel .nav-section,
    .panel-body.admin-panel .nav-section {
        display: contents;
    }

    .panel-body.customer-panel .nav-section > span,
    .panel-body.admin-panel .nav-section > span {
        display: none;
    }

    .panel-body.customer-panel .nav-list a,
    .panel-body.admin-panel .nav-list a {
        align-items: center;
        display: inline-flex;
        flex: 0 0 auto;
        font-size: 13px;
        justify-content: center;
        min-height: 40px;
        padding: 8px 12px;
        white-space: nowrap;
    }

    .panel-body.customer-panel .panel-main,
    .panel-body.admin-panel .panel-main {
        padding: clamp(14px, 3.8vw, 22px) !important;
        width: 100%;
    }

    .panel-body.customer-panel .page-header,
    .panel-body.admin-panel .page-header {
        align-items: stretch;
        border-radius: 16px;
        display: grid;
        gap: 14px;
        grid-template-columns: 1fr;
        margin-bottom: 16px;
        padding: 16px;
    }

    .panel-body.customer-panel .page-header h1,
    .panel-body.admin-panel .page-header h1 {
        font-size: clamp(24px, 6vw, 32px);
        line-height: 1.08;
        overflow-wrap: anywhere;
    }

    .panel-body.customer-panel .header-actions,
    .panel-body.admin-panel .header-actions {
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
        width: 100%;
    }

    .panel-body.customer-panel .panel-form.two-column,
    .panel-body.customer-panel .panel-form.single-column,
    .panel-body.customer-panel .field-grid,
    .panel-body.customer-panel .check-grid,
    .panel-body.customer-panel .stat-grid,
    .panel-body.customer-panel .quick-actions,
    .panel-body.customer-panel .info-grid,
    .panel-body.customer-panel .theme-preview-grid,
    .panel-body.customer-panel .theme-preview-grid.two,
    .panel-body.customer-panel .qr-page,
    .panel-body.customer-panel .welcome-panel-guide,
    .panel-body.customer-panel .welcome-home-layout,
    .panel-body.customer-panel .showcase-editor,
    .panel-body.admin-panel .panel-form.two-column,
    .panel-body.admin-panel .panel-form.single-column,
    .panel-body.admin-panel .field-grid,
    .panel-body.admin-panel .check-grid,
    .panel-body.admin-panel .stat-grid,
    .panel-body.admin-panel .quick-actions,
    .panel-body.admin-panel .info-grid,
    .panel-body.admin-panel .theme-preview-grid,
    .panel-body.admin-panel .theme-preview-grid.two,
    .panel-body.admin-panel .qr-page,
    .panel-body.admin-panel .pricing-admin-grid {
        grid-template-columns: 1fr !important;
    }

    .panel-body.customer-panel .welcome-home-layout > .welcome-settings-form,
    .panel-body.admin-panel .welcome-home-layout > .welcome-settings-form {
        display: grid !important;
        gap: 14px;
        grid-template-columns: 1fr !important;
    }

    .panel-body.customer-panel .welcome-status-card,
    .panel-body.customer-panel .welcome-featured-card,
    .panel-body.customer-panel .welcome-home-layout > .showcase-editor,
    .panel-body.admin-panel .welcome-status-card,
    .panel-body.admin-panel .welcome-featured-card,
    .panel-body.admin-panel .welcome-home-layout > .showcase-editor {
        grid-column: auto !important;
        grid-row: auto !important;
    }

    .panel-body.customer-panel .filter-bar,
    .panel-body.customer-panel .admin-filter-bar,
    .panel-body.admin-panel .filter-bar,
    .panel-body.admin-panel .admin-filter-bar {
        align-items: stretch;
        grid-template-columns: 1fr !important;
    }

    .panel-body.customer-panel .section-title,
    .panel-body.admin-panel .section-title {
        align-items: start;
        flex-direction: column;
        gap: 8px;
    }

    .panel-body.customer-panel .bulk-toolbar,
    .panel-body.admin-panel .bulk-toolbar {
        align-items: stretch;
        flex-direction: column;
    }

    .panel-body.customer-panel .form-panel,
    .panel-body.customer-panel .panel-section,
    .panel-body.customer-panel .stat-card,
    .panel-body.admin-panel .form-panel,
    .panel-body.admin-panel .panel-section,
    .panel-body.admin-panel .stat-card {
        border-radius: 15px;
        padding: 15px;
    }

    .panel-body.customer-panel .featured-picker,
    .panel-body.admin-panel .featured-picker {
        grid-template-columns: 1fr !important;
        max-height: 360px;
    }

    .panel-body.customer-panel .slide-admin-card form,
    .panel-body.admin-panel .slide-admin-card form {
        grid-template-columns: 1fr !important;
    }

    .panel-body.customer-panel .qr-card-print,
    .panel-body.admin-panel .qr-card-print {
        padding: 20px;
    }

    .panel-body.customer-panel .qr-card-print img,
    .panel-body.admin-panel .qr-card-print img {
        width: min(100%, 300px);
    }

    .panel-body.customer-panel .qr-card-print code,
    .panel-body.admin-panel .qr-card-print code {
        max-width: 100%;
        overflow-wrap: anywhere;
        white-space: normal;
    }
}

@media (max-width: 640px) {
    .panel-body.customer-panel .sidebar,
    .panel-body.admin-panel .sidebar {
        grid-template-columns: minmax(0, 1fr) auto;
        padding: 8px;
    }

    .panel-body.customer-panel .brand,
    .panel-body.admin-panel .brand {
        border-radius: 12px;
        padding: 7px 8px;
    }

    .panel-body.customer-panel .brand-mark,
    .panel-body.admin-panel .brand-mark {
        flex-basis: 34px;
        height: 34px;
        width: 34px;
    }

    .panel-body.customer-panel .brand small,
    .panel-body.customer-panel .logout-form span,
    .panel-body.admin-panel .brand small,
    .panel-body.admin-panel .logout-form span {
        display: none;
    }

    .panel-body.customer-panel .panel-main,
    .panel-body.admin-panel .panel-main {
        padding: 12px !important;
    }

    .panel-body.customer-panel .page-header,
    .panel-body.admin-panel .page-header {
        border-radius: 14px;
        padding: 14px;
    }

    .panel-body.customer-panel .page-header h1,
    .panel-body.admin-panel .page-header h1 {
        font-size: clamp(22px, 7.2vw, 29px);
    }

    .panel-body.customer-panel .eyebrow,
    .panel-body.admin-panel .eyebrow {
        font-size: 10px;
    }

    .panel-body.customer-panel .header-actions,
    .panel-body.customer-panel .filter-actions,
    .panel-body.customer-panel .table-actions,
    .panel-body.admin-panel .header-actions,
    .panel-body.admin-panel .filter-actions,
    .panel-body.admin-panel .table-actions {
        display: grid;
        grid-template-columns: 1fr;
        width: 100%;
    }

    .panel-body.customer-panel .button,
    .panel-body.customer-panel button,
    .panel-body.admin-panel .button,
    .panel-body.admin-panel button {
        justify-content: center;
        min-height: 44px;
        overflow-wrap: anywhere;
        text-align: center;
        white-space: normal;
        width: 100%;
    }

    .panel-body.customer-panel .logout-form button,
    .panel-body.admin-panel .logout-form button {
        min-height: 36px;
        padding: 6px 10px;
        width: auto;
        white-space: nowrap;
    }

    .panel-body.customer-panel .nav-list,
    .panel-body.admin-panel .nav-list {
        gap: 6px;
        padding-bottom: 6px;
    }

    .panel-body.customer-panel .nav-list a,
    .panel-body.admin-panel .nav-list a {
        font-size: 12px;
        min-height: 38px;
        padding: 8px 10px;
    }

    .panel-body.customer-panel .form-panel,
    .panel-body.customer-panel .panel-section,
    .panel-body.customer-panel .stat-card,
    .panel-body.admin-panel .form-panel,
    .panel-body.admin-panel .panel-section,
    .panel-body.admin-panel .stat-card {
        border-radius: 14px;
        padding: 13px;
    }

    .panel-body.customer-panel .section-title h2,
    .panel-body.customer-panel .form-panel h2,
    .panel-body.customer-panel .panel-card-title h2,
    .panel-body.admin-panel .section-title h2,
    .panel-body.admin-panel .form-panel h2,
    .panel-body.admin-panel .panel-card-title h2 {
        font-size: 17px;
        line-height: 1.2;
    }

    .panel-body.customer-panel .recommendation-option,
    .panel-body.admin-panel .recommendation-option {
        grid-template-columns: auto 42px minmax(0, 1fr);
        padding: 8px;
    }

    .panel-body.customer-panel .recommendation-option img,
    .panel-body.customer-panel .mini-placeholder,
    .panel-body.admin-panel .recommendation-option img,
    .panel-body.admin-panel .mini-placeholder {
        height: 42px;
        width: 42px;
    }

    .panel-body.customer-panel .product-cell,
    .panel-body.admin-panel .product-cell {
        min-width: 190px;
    }

    .panel-body.customer-panel .existing-media,
    .panel-body.admin-panel .existing-media {
        align-items: stretch;
        flex-direction: column;
    }

    .panel-body.customer-panel .existing-media img,
    .panel-body.customer-panel .existing-media video,
    .panel-body.admin-panel .existing-media img,
    .panel-body.admin-panel .existing-media video {
        height: auto;
        max-height: 180px;
        width: 100%;
    }

    .panel-body.customer-panel .survey-question-editor,
    .panel-body.admin-panel .survey-question-editor {
        padding: 12px;
    }

    .panel-body.customer-panel .survey-question-editor-head,
    .panel-body.admin-panel .survey-question-editor-head {
        align-items: stretch;
        display: grid;
        gap: 8px;
        grid-template-columns: 1fr;
    }

    .panel-body.customer-panel .table-wrap table,
    .panel-body.admin-panel .table-wrap table {
        font-size: 12px;
        min-width: 680px;
    }

    .panel-body.customer-panel th,
    .panel-body.customer-panel td,
    .panel-body.admin-panel th,
    .panel-body.admin-panel td {
        padding: 9px 8px;
    }
}

@media (max-width: 420px) {
    .panel-body.customer-panel .brand strong,
    .panel-body.admin-panel .brand strong {
        max-width: 165px;
    }

    .panel-body.customer-panel .panel-main,
    .panel-body.admin-panel .panel-main {
        padding: 10px !important;
    }

    .panel-body.customer-panel .stat-card strong,
    .panel-body.admin-panel .stat-card strong {
        font-size: 25px;
    }

    .panel-body.customer-panel .qr-card-print,
    .panel-body.admin-panel .qr-card-print {
        padding: 16px;
    }
}

/* v71 Wolvox integration layout and long-query containment */
.panel-body.customer-panel .wolvox-settings-form {
    align-items: start;
    grid-template-columns: minmax(0, .96fr) minmax(0, 1.04fr);
}

.panel-body.customer-panel .wolvox-settings-form > .form-panel,
.panel-body.customer-panel .wolvox-settings-form label,
.panel-body.customer-panel .wolvox-sync-head,
.panel-body.customer-panel .wolvox-selected-summary,
.panel-body.customer-panel .wolvox-group-select {
    min-width: 0;
}

.panel-body.customer-panel .wolvox-settings-form .muted,
.panel-body.customer-panel .wolvox-settings-form code,
.panel-body.customer-panel .wolvox-sync-head .muted,
.panel-body.customer-panel .wolvox-selected-summary .muted {
    overflow-wrap: anywhere;
    word-break: break-word;
}

.panel-body.customer-panel .wolvox-settings-form textarea {
    font-family: Consolas, "Courier New", monospace;
    line-height: 1.42;
    max-width: 100%;
    min-width: 0;
    overflow: auto;
    white-space: pre;
}

.panel-body.customer-panel .wolvox-query-card textarea[name="product_query"] {
    min-height: 188px;
}

@media (max-width: 1180px) {
    .panel-body.customer-panel .wolvox-settings-form {
        grid-template-columns: 1fr !important;
    }
}

@media (max-width: 980px) {
    .panel-body.customer-panel .wolvox-sync-head,
    .panel-body.customer-panel .wolvox-selected-summary {
        align-items: stretch;
        display: grid;
        grid-template-columns: 1fr;
    }
}

@media (max-width: 640px) {
    .panel-body.customer-panel .wolvox-settings-form textarea {
        min-height: 160px;
    }

    .panel-body.customer-panel .wolvox-group-card {
        align-items: start;
    }
}

/* v72 restore compact form controls inside panel rows */
.panel-body.customer-panel input[type="checkbox"],
.panel-body.customer-panel input[type="radio"],
.panel-body.admin-panel input[type="checkbox"],
.panel-body.admin-panel input[type="radio"] {
    flex: 0 0 auto;
    height: auto;
    max-width: none;
    min-width: 0;
    width: auto;
}

.panel-body.customer-panel .inline-check,
.panel-body.admin-panel .inline-check {
    align-items: center;
    display: inline-flex;
    justify-content: flex-start;
}

/* v74 keep welcome announcement media true-color */
.qr-welcome-page .welcome-announcement-slide::after {
    display: none !important;
}

.qr-welcome-page .welcome-announcement-slide > div {
    background: transparent !important;
}

.qr-welcome-page .welcome-announcement-slide img,
.qr-welcome-page .welcome-announcement-slide video {
    filter: none !important;
}

.qr-welcome-page .welcome-announcement-slide span,
.qr-welcome-page .welcome-announcement-slide strong,
.qr-welcome-page .welcome-announcement-slide p {
    text-shadow: 0 2px 12px rgba(0, 0, 0, .42);
}

/* v75 table QR, service bell and QR ordering */
.operation-grid {
    align-items: start;
}

.operation-help-panel {
    background:
        radial-gradient(circle at 12% 15%, rgba(15, 118, 110, .14), transparent 34%),
        linear-gradient(135deg, #ffffff 0%, #f5faf8 100%);
}

.operation-help-list {
    display: grid;
    gap: 12px;
    grid-template-columns: 34px minmax(0, 1fr);
    margin: 14px 0 18px;
}

.operation-help-list span {
    align-items: center;
    background: #0f766e;
    border-radius: 999px;
    color: #fff;
    display: inline-flex;
    font-weight: 900;
    height: 30px;
    justify-content: center;
    width: 30px;
}

.operation-help-list p {
    margin: 4px 0 0;
}

.operation-settings-links {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 16px;
}

.operation-check {
    align-items: center;
    background: #f8faf9;
    border: 1px solid var(--line);
    border-radius: 10px;
    display: flex;
    gap: 10px;
    padding: 12px;
}

.operation-check input {
    height: 18px;
    width: 18px;
}

.operation-card-grid,
.table-card-grid,
.order-board {
    display: grid;
    gap: 16px;
}

.table-card-grid {
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
}

.operation-card,
.order-card,
.operation-row,
.operation-empty {
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 14px;
    box-shadow: 0 16px 36px rgba(15, 23, 42, .07);
}

.table-card {
    display: grid;
    gap: 14px;
    padding: 16px;
}

.table-qr-preview {
    align-items: center;
    background: linear-gradient(135deg, #f8fafc, #eef7f4);
    border: 1px solid var(--line);
    border-radius: 12px;
    display: flex;
    justify-content: center;
    min-height: 190px;
    padding: 14px;
}

.table-qr-preview img {
    height: 164px;
    max-width: 100%;
    width: 164px;
}

.table-edit-form {
    display: grid;
    gap: 12px;
}

.full-button {
    width: 100%;
}

.compact-table-list {
    display: grid;
    gap: 10px;
}

.compact-table-row {
    align-items: center;
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 12px;
    box-shadow: 0 10px 24px rgba(15, 23, 42, .05);
    display: grid;
    gap: 12px;
    grid-template-columns: 84px minmax(0, 1fr) auto;
    padding: 10px;
}

.compact-table-qr {
    align-items: center;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    display: flex;
    height: 74px;
    justify-content: center;
    padding: 6px;
    width: 74px;
}

.compact-table-qr img {
    display: block;
    height: 62px;
    width: 62px;
}

.compact-table-form {
    align-items: end;
    display: grid;
    gap: 8px;
    grid-template-columns: minmax(150px, 1.1fr) minmax(120px, .9fr) 76px 76px minmax(180px, 1.2fr) auto auto auto;
}

.compact-table-form label {
    gap: 4px;
}

.compact-table-form input {
    min-height: 38px;
}

.compact-table-active {
    align-self: end;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 9px;
    min-height: 38px;
    padding: 8px 10px;
}

.compact-table-active input {
    min-height: 0;
}

.compact-table-url {
    color: #64748b;
    font-size: 12px;
}

.compact-table-delete {
    margin: 0;
}

/* v80 readable theme notes and previews in customer panel */
.panel-body.customer-panel .theme-specific-notes article {
    background: #ffffff !important;
    border: 1px solid #dbe5ea !important;
    box-shadow: 0 10px 22px rgba(15, 23, 42, .05);
}

.panel-body.customer-panel .theme-specific-notes article strong {
    color: #0f172a !important;
    font-weight: 850;
}

.panel-body.customer-panel .theme-specific-notes article span {
    color: #475569 !important;
}

.panel-body.customer-panel .theme-preview {
    border: 1px solid rgba(226, 232, 240, .9);
    overflow: hidden;
    position: relative;
}

.panel-body.customer-panel .theme-preview::before {
    background: linear-gradient(180deg, rgba(255, 255, 255, .96), rgba(255, 255, 255, .88));
    border-radius: 12px;
    content: "";
    inset: 14px;
    position: absolute;
    z-index: 1;
}

.panel-body.customer-panel .theme-preview::after {
    opacity: .28;
    z-index: 0;
}

.panel-body.customer-panel .theme-preview span,
.panel-body.customer-panel .theme-preview strong,
.panel-body.customer-panel .theme-preview p {
    color: #0f172a !important;
    position: relative;
    text-shadow: none !important;
    z-index: 2;
}

.panel-body.customer-panel .theme-preview span {
    color: #0f766e !important;
    display: block;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .04em;
    margin-bottom: 8px;
    text-transform: uppercase;
}

.panel-body.customer-panel .theme-preview strong {
    display: block;
    font-size: 18px;
    line-height: 1.2;
}

.panel-body.customer-panel .theme-preview p {
    color: #475569 !important;
    line-height: 1.45;
    margin: 10px 0 0;
}

.operation-stats {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.stat-card.danger-soft {
    background: linear-gradient(135deg, #fff7ed, #fff);
    border-color: rgba(234, 88, 12, .22);
}

.stat-card.danger-soft strong {
    color: #c2410c;
}

.stat-card.success-soft {
    background: linear-gradient(135deg, #ecfdf5, #fff);
    border-color: rgba(15, 118, 110, .2);
}

.stat-card.success-soft strong {
    color: #0f766e;
    font-size: 26px;
}

.operation-filter select {
    min-height: 40px;
    min-width: 170px;
}

.operation-list {
    display: grid;
    gap: 12px;
}

.operation-row {
    align-items: center;
    display: grid;
    gap: 14px;
    grid-template-columns: 54px minmax(0, 1fr) auto;
    padding: 14px;
}

.operation-row.status-new,
.order-card.status-new {
    border-color: rgba(234, 88, 12, .32);
    box-shadow: 0 18px 38px rgba(234, 88, 12, .09);
}

.operation-row-icon {
    align-items: center;
    background: #0f172a;
    border-radius: 14px;
    color: #fff;
    display: flex;
    font-weight: 900;
    height: 48px;
    justify-content: center;
    width: 48px;
}

.service-request-row {
    grid-template-columns: minmax(0, 1fr) auto;
}

.service-request-row .operation-row-main p {
    margin-top: 7px;
}

.operation-row-main > div,
.order-card-head,
.order-card-foot {
    align-items: center;
    display: flex;
    gap: 10px;
    justify-content: space-between;
}

.operation-row-main p {
    color: var(--muted);
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin: 5px 0 0;
}

.operation-row-main small {
    color: #475569;
    display: block;
    margin-top: 6px;
}

.operation-row-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: flex-end;
}

.operation-row-actions form {
    margin: 0;
}

.operation-empty {
    padding: 22px;
}

.operation-empty p {
    color: var(--muted);
    margin: 6px 0 0;
}

.status.new {
    background: #fff7ed;
    color: #c2410c;
}

.status.seen,
.status.approved,
.status.preparing {
    background: #eff6ff;
    color: #1d4ed8;
}

.status.completed {
    background: #ecfdf5;
    color: #047857;
}

.status.cancelled {
    background: #f8fafc;
    color: #64748b;
}

.order-board {
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
}

.order-card {
    display: grid;
    gap: 14px;
    padding: 16px;
}

.order-card-head span:first-child {
    color: var(--muted);
    display: block;
    font-size: 12px;
    font-weight: 800;
}

.order-card-head strong {
    display: block;
    font-size: 20px;
    margin-top: 3px;
}

.order-items {
    border-bottom: 1px dashed var(--line);
    border-top: 1px dashed var(--line);
    display: grid;
    gap: 10px;
    padding: 12px 0;
}

.order-items div {
    display: grid;
    gap: 4px;
}

.order-items span,
.order-items strong {
    align-items: center;
    display: flex;
    justify-content: space-between;
}

.order-items small {
    color: var(--muted);
}

.order-note {
    background: #f8fafc;
    border-radius: 10px;
    color: #334155;
    margin: 0;
    padding: 10px 12px;
}

.service-fab,
.cart-fab {
    bottom: 22px;
    position: fixed;
    right: 22px;
    z-index: 80;
}

.cart-fab {
    bottom: 92px;
}

.service-fab-button,
.cart-fab-button {
    align-items: center;
    background: #0f172a;
    border: 1px solid rgba(255, 255, 255, .24);
    border-radius: 999px;
    box-shadow: 0 18px 45px rgba(15, 23, 42, .26);
    color: #fff;
    display: inline-flex;
    gap: 10px;
    min-height: 58px;
    padding: 10px 16px 10px 12px;
}

.cart-fab-button {
    background: #0f766e;
}

.cart-fab-button:disabled {
    cursor: not-allowed;
    opacity: .56;
}

.service-fab-icon,
.cart-fab-icon {
    align-items: center;
    background: rgba(255, 255, 255, .14);
    border-radius: 999px;
    display: inline-flex;
    height: 38px;
    justify-content: center;
    position: relative;
    width: 38px;
}

.service-fab-icon::before {
    border: 3px solid #fff;
    border-bottom-width: 5px;
    border-radius: 12px 12px 10px 10px;
    content: "";
    height: 17px;
    width: 16px;
}

.service-fab-icon::after {
    background: #fff;
    border-radius: 999px;
    bottom: 8px;
    content: "";
    height: 4px;
    position: absolute;
    width: 10px;
}

.cart-fab-icon::before {
    border: 3px solid #fff;
    border-top: 0;
    content: "";
    height: 16px;
    transform: translateY(2px);
    width: 20px;
}

.cart-fab-icon::after {
    border-top: 3px solid #fff;
    content: "";
    height: 8px;
    position: absolute;
    top: 10px;
    width: 16px;
}

.cart-fab-button em {
    align-items: center;
    background: #fff;
    border-radius: 999px;
    color: #0f766e;
    display: inline-flex;
    font-style: normal;
    font-weight: 900;
    height: 24px;
    justify-content: center;
    min-width: 24px;
    padding: 0 7px;
}

.service-modal,
.cart-drawer {
    inset: 0;
    position: fixed;
    z-index: 100;
}

.service-backdrop,
.cart-backdrop {
    background: rgba(15, 23, 42, .48);
    border: 0;
    height: 100%;
    inset: 0;
    position: absolute;
    width: 100%;
}

.service-dialog,
.cart-panel {
    background: #fff;
    box-shadow: 0 24px 80px rgba(15, 23, 42, .3);
    position: absolute;
}

.service-dialog {
    border-radius: 22px;
    bottom: 22px;
    display: grid;
    gap: 16px;
    max-width: 440px;
    padding: 22px;
    right: 22px;
    width: calc(100% - 44px);
}

.service-dialog > span,
.cart-panel-head span {
    color: #64748b;
    font-size: 12px;
    font-weight: 850;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.service-dialog h2,
.cart-panel h2 {
    color: #0f172a;
    font-size: 24px;
    margin: 4px 0 0;
}

.service-close,
.cart-close {
    align-items: center;
    background: #f1f5f9;
    border-radius: 999px;
    color: #0f172a;
    display: flex;
    font-size: 24px;
    height: 38px;
    justify-content: center;
    position: absolute;
    right: 14px;
    top: 14px;
    width: 38px;
}

.service-option-grid {
    display: grid;
    gap: 12px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.service-option-button {
    align-items: center;
    background: linear-gradient(135deg, #f8fafc, #ffffff);
    border: 1px solid #e2e8f0;
    border-radius: 16px;
    color: #0f172a;
    display: grid;
    gap: 10px;
    justify-items: center;
    min-height: 126px;
    padding: 14px 10px;
    width: 100%;
}

.service-option-button span {
    align-items: center;
    background: #0f172a;
    border-radius: 18px;
    color: #fff;
    display: inline-flex;
    font-weight: 900;
    height: 50px;
    justify-content: center;
    width: 50px;
}

.service-option-button.waiter span::before {
    content: "G";
}

.service-option-button.bill span::before {
    content: "₺";
}

.service-option-button.valet span::before {
    content: "V";
}

.service-option-button strong {
    font-size: 13px;
    line-height: 1.2;
    text-align: center;
}

.cart-panel {
    border-radius: 24px 0 0 24px;
    display: grid;
    gap: 16px;
    height: 100%;
    max-width: 430px;
    overflow-y: auto;
    padding: 24px;
    right: 0;
    top: 0;
    width: min(430px, 100%);
}

.cart-panel-head {
    align-items: start;
    display: flex;
    justify-content: space-between;
    padding-right: 40px;
}

.cart-required-message {
    background: #fff7ed;
    border: 1px solid rgba(234, 88, 12, .2);
    border-radius: 12px;
    color: #9a3412;
    margin: 0;
    padding: 12px;
}

.cart-items {
    display: grid;
    gap: 10px;
}

.cart-empty {
    background: #f8fafc;
    border: 1px dashed #cbd5e1;
    border-radius: 14px;
    color: #64748b;
    margin: 0;
    padding: 18px;
    text-align: center;
}

.cart-item {
    align-items: center;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 14px;
    display: flex;
    gap: 12px;
    justify-content: space-between;
    padding: 12px;
}

.cart-item strong,
.cart-item small {
    display: block;
}

.cart-item small {
    color: #0f766e;
    font-weight: 850;
    margin-top: 4px;
}

.cart-qty {
    align-items: center;
    display: flex;
    flex: 0 0 auto;
    gap: 6px;
}

.cart-qty button {
    align-items: center;
    background: #fff;
    border: 1px solid #cbd5e1;
    border-radius: 9px;
    color: #0f172a;
    display: inline-flex;
    font-weight: 900;
    height: 34px;
    justify-content: center;
    min-width: 34px;
    padding: 0 9px;
}

.cart-qty button:last-child {
    color: #b91c1c;
    font-size: 12px;
}

.cart-panel form {
    display: grid;
    gap: 12px;
}

.cart-total-row {
    align-items: center;
    border-top: 1px solid #e2e8f0;
    display: flex;
    font-size: 18px;
    justify-content: space-between;
    padding-top: 14px;
}

.menu-cart-add {
    white-space: nowrap;
}

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

    .compact-table-row {
        align-items: start;
        grid-template-columns: 84px minmax(0, 1fr);
    }

    .compact-table-form {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .compact-table-url {
        grid-column: span 2;
    }

    .compact-table-delete {
        grid-column: 2;
        justify-self: end;
    }
}

@media (max-width: 860px) {
    .public-body .qr-menu.theme-menutje-mono.nav-category_grid .category-showcase,
    .public-body .qr-menu.theme-noir-catalog.nav-category_grid .category-showcase {
        box-sizing: border-box !important;
        max-width: 100vw !important;
        overflow: hidden !important;
        padding-left: 14px !important;
        padding-right: 14px !important;
        width: 100vw !important;
    }

    .public-body .qr-menu.theme-menutje-mono.nav-category_grid .category-showcase > div,
    .public-body .qr-menu.theme-noir-catalog.nav-category_grid .category-showcase > div {
        display: grid !important;
        gap: 12px !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        width: 100% !important;
    }

    .public-body .qr-menu.theme-menutje-mono.nav-category_grid .category-showcase a,
    .public-body .qr-menu.theme-noir-catalog.nav-category_grid .category-showcase a {
        max-width: none !important;
        min-width: 0 !important;
        width: 100% !important;
    }
}

@media (max-width: 760px) {
    .public-body,
    .qr-menu {
        max-width: 100vw;
        overflow-x: hidden;
    }

    .qr-menu .category-showcase {
        gap: 12px !important;
        max-width: 100vw !important;
        padding-left: 14px !important;
        padding-right: 14px !important;
        width: 100% !important;
    }

    .qr-menu .category-showcase > div {
        gap: 12px !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        max-width: 100% !important;
        width: 100% !important;
    }

    .qr-menu .category-showcase a {
        min-width: 0 !important;
        width: 100% !important;
    }

    .operation-stats,
    .table-card-grid,
    .order-board {
        grid-template-columns: 1fr;
    }

    .compact-table-row {
        grid-template-columns: 64px minmax(0, 1fr);
        padding: 9px;
    }

    .compact-table-qr {
        height: 58px;
        width: 58px;
    }

    .compact-table-qr img {
        height: 48px;
        width: 48px;
    }

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

    .compact-table-name,
    .compact-table-url {
        grid-column: 1 / -1;
    }

    .compact-table-form .button {
        width: 100%;
    }

    .compact-table-delete {
        grid-column: 1 / -1;
        justify-self: stretch;
    }

    .compact-table-delete .button {
        width: 100%;
    }

    .operation-row {
        align-items: stretch;
        grid-template-columns: 42px minmax(0, 1fr);
    }

    .operation-row.service-request-row {
        grid-template-columns: 1fr;
    }

    .operation-row-icon {
        border-radius: 12px;
        height: 42px;
        width: 42px;
    }

    .operation-row-actions {
        grid-column: 1 / -1;
        justify-content: stretch;
    }

    .operation-row-actions .button,
    .operation-row-actions form,
    .operation-row-actions a {
        flex: 1 1 130px;
        width: 100%;
    }

    .service-fab,
    .cart-fab {
        left: 14px;
        right: auto;
        width: max-content;
    }

    .service-fab {
        bottom: 14px;
    }

    .cart-fab {
        bottom: 82px;
    }

    .service-dialog {
        border-radius: 22px 22px 0 0;
        bottom: 0;
        left: 0;
        max-width: none;
        right: 0;
        width: 100%;
    }

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

    .service-option-button {
        align-items: center;
        display: flex;
        justify-content: flex-start;
        min-height: 76px;
        padding: 12px;
    }

    .service-option-button strong {
        font-size: 15px;
        text-align: left;
    }

    .cart-panel {
        border-radius: 22px 22px 0 0;
        bottom: 0;
        height: min(86vh, 720px);
        max-width: none;
        top: auto;
        width: 100%;
    }

    .cart-item {
        align-items: stretch;
        display: grid;
    }

    .cart-qty {
        justify-content: space-between;
    }
}

@media (max-width: 520px) {
    .service-fab-button strong,
    .cart-fab-button strong {
        display: none;
    }

    .service-fab-button,
    .cart-fab-button {
        min-height: 56px;
        padding: 9px;
    }

    .cart-fab-button em {
        position: absolute;
        right: -5px;
        top: -6px;
    }
}

/* v230 theme 2 mobile product card viewport clamp */
@media (max-width: 520px) {
    .public-body .qr-menu.theme-noir-catalog .menu-product,
    .public-body .qr-menu.theme-noir-catalog.layout-two-column .menu-product,
    .public-body .qr-menu.theme-noir-catalog.layout-horizontal .menu-product,
    .public-body .qr-menu.theme-noir-catalog.display-visual-price .menu-product {
        justify-self: center !important;
        width: min(100%, calc(100vw - 54px)) !important;
        max-width: calc(100vw - 54px) !important;
    }

    .public-body .qr-menu.theme-noir-catalog .menu-product .product-info {
        max-width: calc(100vw - 150px) !important;
    }
}

@media (max-width: 370px) {
    .public-body .qr-menu.theme-noir-catalog .menu-product,
    .public-body .qr-menu.theme-noir-catalog.layout-two-column .menu-product,
    .public-body .qr-menu.theme-noir-catalog.layout-horizontal .menu-product,
    .public-body .qr-menu.theme-noir-catalog.display-visual-price .menu-product {
        width: min(100%, calc(100vw - 42px)) !important;
        max-width: calc(100vw - 42px) !important;
    }

    .public-body .qr-menu.theme-noir-catalog .menu-product .product-info {
        max-width: calc(100vw - 124px) !important;
    }
}

/* v81 force readable product badges in all public themes */
.public-body .qr-menu .pill-row span,
.public-body .qr-menu[data-view-mode="dark"] .pill-row span,
.public-body .qr-menu.bg-charcoal .pill-row span,
.public-body .qr-menu.theme-noir-catalog .pill-row span,
.public-body .qr-menu.theme-menutje-mono .pill-row span {
    background: #eef4f3 !important;
    border: 1px solid rgba(15, 118, 110, .28) !important;
    color: #10201d !important;
    text-shadow: none !important;
}

.public-body .qr-menu .pill-row .allergen,
.public-body .qr-menu[data-view-mode="dark"] .pill-row .allergen,
.public-body .qr-menu.bg-charcoal .pill-row .allergen,
.public-body .qr-menu.theme-noir-catalog .pill-row .allergen,
.public-body .qr-menu.theme-menutje-mono .pill-row .allergen {
    background: #fff1e6 !important;
    border-color: #fb923c !important;
    color: #7c2d12 !important;
}

/* v82 persistent live operation screen */
.panel-body.customer-panel [data-operation-sound].is-active {
    background: linear-gradient(135deg, #16a34a, #0f766e);
    box-shadow: 0 14px 30px rgba(22, 163, 74, .24);
}

/* v84 compact active order monitor */
.service-bill-total {
    background: #fff7ed;
    border: 1px solid #fed7aa;
    border-radius: 999px;
    color: #9a3412;
    display: inline-flex;
    font-size: 13px;
    padding: 4px 9px;
}

.order-compact-list {
    display: grid;
    gap: 8px;
    grid-template-columns: 1fr !important;
}

.order-compact-row {
    align-items: center;
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 12px;
    box-shadow: 0 10px 24px rgba(15, 23, 42, .05);
    display: grid;
    gap: 12px;
    grid-template-columns: minmax(0, 1fr) 120px auto;
    min-height: 82px;
    padding: 10px 12px;
}

.order-compact-row.status-new {
    border-color: rgba(234, 88, 12, .34);
    box-shadow: 0 14px 28px rgba(234, 88, 12, .08);
}

.order-compact-main {
    display: grid;
    gap: 5px;
    min-width: 0;
}

.order-compact-main > div {
    align-items: center;
    display: flex;
    gap: 10px;
    min-width: 0;
}

.order-compact-main strong {
    color: #0f172a;
    font-size: 16px;
    white-space: nowrap;
}

.order-compact-main span:not(.status) {
    color: #64748b;
    font-size: 12px;
    font-weight: 750;
}

.order-compact-main p {
    color: #334155;
    font-size: 13px;
    line-height: 1.35;
    margin: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.order-compact-main small {
    color: #9a3412;
    font-size: 12px;
}

.order-compact-total {
    color: #0f766e;
    font-size: 17px;
    justify-self: end;
    white-space: nowrap;
}

.order-compact-actions {
    justify-content: flex-end;
    max-width: 360px;
}

.order-compact-actions .button {
    min-height: 34px;
    padding: 8px 10px;
}

@media (max-width: 1180px) {
    .order-compact-row {
        grid-template-columns: minmax(0, 1fr) 110px;
    }

    .order-compact-actions {
        grid-column: 1 / -1;
        justify-content: flex-start;
        max-width: none;
    }
}

@media (max-width: 680px) {
    .order-compact-row {
        grid-template-columns: 1fr;
    }

    .order-compact-main > div {
        align-items: flex-start;
        display: grid;
    }

    .order-compact-main p {
        white-space: normal;
    }

    .order-compact-total {
        justify-self: start;
    }

    .order-compact-actions {
        justify-content: stretch;
    }
}

/* v86 unified compact operation monitor */
.operation-page-header {
    margin-bottom: 14px;
}

.operation-page-header h1 {
    font-size: clamp(24px, 2vw, 32px);
}

.operation-page-header .button {
    min-height: 36px;
    padding: 8px 12px;
}

.operation-stats-compact {
    gap: 10px;
    margin-bottom: 12px;
}

.operation-stats-compact .stat-card {
    min-height: 86px;
    padding: 13px 15px;
}

.operation-stats-compact .stat-card span {
    font-size: 12px;
}

.operation-stats-compact .stat-card strong,
.operation-stats-compact .stat-card.success-soft strong {
    font-size: 25px;
    margin-top: 7px;
}

.operations-console {
    align-items: start;
    display: grid;
    gap: 10px;
    grid-template-columns: minmax(330px, .82fr) minmax(560px, 1.18fr);
}

.operations-console .panel-section {
    padding: 12px;
}

.operations-console .section-title.compact {
    gap: 10px;
    margin-bottom: 9px;
}

.operations-console .section-title.compact h2 {
    color: #0f172a;
    font-size: 16px;
    font-weight: 900;
}

.operations-console .section-title.compact small {
    color: #64748b;
    font-size: 12px;
    font-weight: 750;
}

.open-tables-panel {
    grid-column: 1 / -1;
}

.open-table-list {
    display: grid;
    gap: 7px;
    grid-template-columns: repeat(auto-fill, minmax(230px, 1fr));
    max-height: 176px;
    overflow: auto;
    padding-right: 2px;
}

.open-table-row {
    align-items: center;
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    display: grid;
    gap: 8px;
    grid-template-columns: minmax(0, 1fr) auto auto;
    min-height: 48px;
    padding: 8px 9px;
}

.open-table-row.has-bill-request {
    background: #fff7ed;
    border-color: #fed7aa;
}

.open-table-row strong {
    color: #0f172a;
    display: block;
    font-size: 13px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.open-table-row span {
    color: #64748b;
    display: block;
    font-size: 11px;
    font-weight: 750;
    margin-top: 2px;
}

.open-table-row b {
    color: #0f766e;
    font-size: 13px;
    white-space: nowrap;
}

.open-table-row .button {
    border-radius: 8px;
    font-size: 11px;
    min-height: 28px;
    padding: 5px 8px;
}

.operation-live-panel {
    max-height: calc(100vh - 304px);
    min-height: min(580px, calc(100vh - 304px));
    overflow: auto;
}

.operation-live-panel .section-title {
    background: rgba(255, 255, 255, .96);
    position: sticky;
    top: -12px;
    z-index: 4;
}

.dense-operation-list {
    gap: 7px;
}

.dense-request-row {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    gap: 8px;
    grid-template-columns: minmax(0, 1fr) auto;
    min-height: 54px;
    padding: 8px 9px;
}

.dense-request-row.status-new {
    background: #fffaf4;
    border-color: rgba(234, 88, 12, .3);
}

.dense-request-row .operation-row-main > div {
    align-items: center;
    justify-content: flex-start;
}

.dense-request-row .operation-row-main strong {
    color: #0f172a;
    font-size: 13px;
}

.dense-request-row .operation-row-main p {
    gap: 6px;
    margin-top: 4px;
}

.dense-request-row .operation-row-main p,
.dense-request-row .operation-row-main p span {
    color: #64748b;
    font-size: 11px;
    font-weight: 750;
}

.operations-console .status {
    border-radius: 999px;
    display: inline-flex;
    font-size: 10.5px;
    font-weight: 900;
    line-height: 1;
    padding: 5px 7px;
    white-space: nowrap;
}

.dense-actions {
    gap: 5px;
}

.dense-actions .button {
    border-radius: 8px;
    font-size: 11px;
    min-height: 28px;
    padding: 5px 8px;
}

.service-bill-total {
    font-size: 11px;
    padding: 3px 7px;
}

.operation-filter select {
    border-radius: 9px;
    font-size: 12px;
    min-height: 34px;
    min-width: 145px;
    padding: 6px 30px 6px 9px;
}

.operations-console .order-compact-list {
    gap: 7px;
}

.operations-console .order-compact-row {
    border-radius: 10px;
    gap: 9px;
    grid-template-columns: minmax(0, 1fr) 98px auto;
    min-height: 58px;
    padding: 8px 9px;
}

.operations-console .order-compact-main {
    gap: 4px;
}

.operations-console .order-compact-main > div {
    gap: 7px;
    justify-content: flex-start;
}

.operations-console .order-compact-main strong {
    font-size: 13px;
}

.operations-console .order-compact-main span:not(.status),
.operations-console .order-compact-main p {
    font-size: 11.5px;
}

.operations-console .order-compact-main p {
    color: #475569;
    line-height: 1.25;
}

.operations-console .order-compact-total {
    font-size: 13px;
}

.operations-console .order-compact-actions {
    gap: 5px;
    max-width: 350px;
}

.compact-empty {
    background: #f8fafc;
    border: 1px dashed #cbd5e1;
    border-radius: 10px;
    padding: 14px;
}

.compact-empty strong {
    color: #0f172a;
    font-size: 13px;
}

.compact-empty p {
    font-size: 12px;
}

@media (min-width: 1440px) {
    .operations-console {
        grid-template-columns: minmax(360px, .78fr) minmax(720px, 1.22fr);
    }

    .operation-live-panel {
        max-height: calc(100vh - 286px);
        min-height: min(650px, calc(100vh - 286px));
    }
}

@media (max-width: 1180px) {
    .operations-console {
        grid-template-columns: 1fr;
    }

    .operation-live-panel {
        max-height: none;
        min-height: 0;
    }
}

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

    .operation-page-header {
        align-items: stretch;
    }

    .operation-page-header .header-actions,
    .operation-page-header .button {
        width: 100%;
    }

    .open-table-list {
        grid-template-columns: 1fr;
        max-height: none;
    }

    .operations-console .order-compact-row,
    .dense-request-row,
    .open-table-row {
        grid-template-columns: 1fr;
    }

    .dense-actions,
    .operations-console .order-compact-actions {
        justify-content: stretch;
        max-width: none;
    }

    .dense-actions .button,
    .dense-actions form,
    .dense-actions a,
    .operations-console .order-compact-actions .button,
    .operations-console .order-compact-actions form,
    .operations-console .order-compact-actions a {
        flex: 1 1 120px;
        width: 100%;
    }

    .operation-filter,
    .operation-filter select {
        width: 100%;
    }
}

@media (max-width: 520px) {
    .operation-stats {
        grid-template-columns: 1fr;
    }

    .operation-stats-compact .stat-card {
        min-height: auto;
    }
}

/* v87 refined split operation desk */
.operation-command-header {
    background:
        radial-gradient(circle at 88% 18%, rgba(245, 158, 11, .24), transparent 26%),
        radial-gradient(circle at 14% 8%, rgba(20, 184, 166, .24), transparent 28%),
        linear-gradient(135deg, #10201d 0%, #173a36 54%, #4a2f18 100%);
    border: 1px solid rgba(255, 255, 255, .16);
    box-shadow: 0 24px 60px rgba(15, 23, 42, .16);
    color: #fff;
    overflow: hidden;
    position: relative;
}

.operation-command-header::after {
    background:
        linear-gradient(90deg, rgba(255, 255, 255, .08) 1px, transparent 1px),
        linear-gradient(180deg, rgba(255, 255, 255, .06) 1px, transparent 1px);
    background-size: 26px 26px;
    content: "";
    inset: 0;
    opacity: .26;
    pointer-events: none;
    position: absolute;
}

.operation-command-header > * {
    position: relative;
    z-index: 1;
}

.operation-command-header .eyebrow {
    color: #99f6e4;
}

.operation-command-header h1 {
    color: #fff;
    max-width: 720px;
}

.operation-command-header p {
    color: rgba(255, 255, 255, .74);
    font-size: 14px;
    line-height: 1.5;
    margin: 8px 0 0;
    max-width: 640px;
}

.operation-command-header .button.ghost {
    background: rgba(255, 255, 255, .1);
    border-color: rgba(255, 255, 255, .18);
    color: #fff;
}

.operation-command-header [data-operation-sound].is-active {
    background: linear-gradient(135deg, #16a34a, #0f766e);
    color: #fff;
}

.operation-stats-compact .stat-card {
    background:
        linear-gradient(180deg, rgba(255, 255, 255, .98), rgba(255, 255, 255, .88)),
        radial-gradient(circle at 90% 0, rgba(20, 184, 166, .14), transparent 32%);
    overflow: hidden;
    position: relative;
}

.operation-stats-compact .stat-card::before {
    background: linear-gradient(180deg, #14b8a6, #f59e0b);
    border-radius: 999px;
    content: "";
    inset: 12px auto 12px 0;
    position: absolute;
    width: 4px;
}

.operation-split-console {
    align-items: stretch;
    gap: 14px;
    grid-template-columns: minmax(360px, .86fr) minmax(640px, 1.24fr);
    min-height: calc(100vh - 254px);
}

.operation-column {
    display: flex;
    flex-direction: column;
    gap: 14px;
    min-height: 0;
}

.operation-glass-panel {
    background:
        linear-gradient(180deg, rgba(255, 255, 255, .96), rgba(248, 250, 252, .9)),
        radial-gradient(circle at 94% 0, rgba(20, 184, 166, .12), transparent 28%);
    border: 1px solid rgba(226, 232, 240, .95);
    border-radius: 18px;
    box-shadow: 0 18px 46px rgba(15, 23, 42, .08);
}

.operation-split-console .open-tables-panel {
    grid-column: auto;
}

.operation-split-console .operation-live-panel {
    max-height: none;
    min-height: 0;
}

.operation-side-column .service-panel,
.operation-main-column .orders-panel {
    flex: 1 1 auto;
    overflow: auto;
}

.operation-main-column .orders-panel {
    min-height: calc(100vh - 254px);
}

.operation-side-column .service-panel {
    min-height: 340px;
}

.operation-panel-head {
    align-items: center;
    border-bottom: 1px solid rgba(226, 232, 240, .86);
    margin: -2px -2px 10px;
    padding: 2px 2px 10px;
}

.operation-panel-head > div {
    display: grid;
    gap: 3px;
    min-width: 0;
}

.operation-panel-kicker {
    color: #0f766e;
    font-size: 10px;
    font-weight: 950;
    text-transform: uppercase;
}

.operation-split-console .open-table-list {
    gap: 8px;
    grid-template-columns: 1fr;
    max-height: 248px;
}

.operation-split-console .open-table-row,
.operation-split-console .dense-request-row,
.operation-split-console .order-compact-row {
    background:
        linear-gradient(180deg, #ffffff, #fbfdff);
    border-color: rgba(203, 213, 225, .86);
    box-shadow: 0 8px 20px rgba(15, 23, 42, .045);
    transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.operation-split-console .open-table-row:hover,
.operation-split-console .dense-request-row:hover,
.operation-split-console .order-compact-row:hover {
    border-color: rgba(20, 184, 166, .36);
    box-shadow: 0 14px 30px rgba(15, 23, 42, .08);
    transform: translateY(-1px);
}

.operation-split-console .open-table-row {
    border-radius: 13px;
    grid-template-columns: minmax(0, 1fr) auto;
    min-height: 62px;
    padding: 10px;
    position: relative;
}

.operation-split-console .open-table-row .button {
    grid-column: 1 / -1;
    justify-self: stretch;
}

.operation-split-console .open-table-row.has-bill-request {
    background:
        linear-gradient(180deg, #fff7ed, #ffffff);
    border-color: #fdba74;
}

.operation-split-console .open-table-row strong {
    font-size: 14px;
}

.operation-split-console .open-table-row b {
    background: #ecfdf5;
    border: 1px solid #bbf7d0;
    border-radius: 999px;
    color: #047857;
    padding: 5px 8px;
}

.operation-split-console .dense-request-row {
    border-radius: 13px;
    grid-template-columns: minmax(0, 1fr);
    padding: 10px;
}

.operation-split-console .dense-request-row.status-new {
    border-color: rgba(245, 158, 11, .44);
}

.operation-split-console .dense-request-row .operation-row-main > div {
    justify-content: space-between;
}

.operation-split-console .dense-request-row .operation-row-main strong {
    font-size: 14px;
}

.operation-split-console .dense-actions {
    border-top: 1px dashed rgba(203, 213, 225, .9);
    justify-content: stretch;
    padding-top: 8px;
}

.operation-split-console .dense-actions .button,
.operation-split-console .dense-actions form,
.operation-split-console .dense-actions a {
    flex: 1 1 auto;
}

.operation-split-console .button {
    white-space: nowrap;
}

.operation-split-console .order-compact-list {
    gap: 9px;
}

.operation-split-console .order-compact-row {
    border-radius: 15px;
    grid-template-columns: minmax(0, 1fr) 112px auto;
    min-height: 70px;
    padding: 11px 12px;
}

.operation-split-console .order-compact-row.status-new {
    background:
        linear-gradient(180deg, #fff7ed, #ffffff);
    border-color: rgba(245, 158, 11, .48);
}

.operation-split-console .order-compact-main strong {
    font-size: 15px;
}

.operation-split-console .order-compact-main span:not(.status),
.operation-split-console .order-compact-main p {
    font-size: 12px;
}

.operation-split-console .order-compact-total {
    align-self: center;
    background: #ecfdf5;
    border: 1px solid #bbf7d0;
    border-radius: 999px;
    color: #047857;
    font-size: 13px;
    justify-self: end;
    padding: 6px 9px;
}

.operation-split-console .order-compact-actions {
    align-self: center;
}

.operation-split-console .order-compact-actions .button {
    min-height: 30px;
}

.operation-split-console .compact-empty {
    background:
        linear-gradient(180deg, #f8fafc, #ffffff);
    border-radius: 14px;
    min-height: 92px;
}

@media (min-width: 1500px) {
    .operation-split-console {
        grid-template-columns: minmax(410px, .82fr) minmax(780px, 1.28fr);
    }

    .operation-main-column .orders-panel {
        min-height: calc(100vh - 238px);
    }
}

@media (max-width: 1280px) {
    .operation-split-console {
        grid-template-columns: minmax(330px, .9fr) minmax(520px, 1.1fr);
    }

    .operation-split-console .order-compact-row {
        grid-template-columns: minmax(0, 1fr) 104px;
    }

    .operation-split-console .order-compact-actions {
        grid-column: 1 / -1;
        justify-content: flex-start;
        max-width: none;
    }
}

@media (max-width: 1080px) {
    .operation-split-console {
        grid-template-columns: 1fr;
        min-height: 0;
    }

    .operation-main-column .orders-panel,
    .operation-side-column .service-panel {
        min-height: 0;
    }

    .operation-split-console .open-table-list {
        grid-template-columns: repeat(auto-fill, minmax(230px, 1fr));
        max-height: none;
    }

    .operation-split-console .open-table-row .button {
        grid-column: auto;
    }
}

@media (max-width: 760px) {
    .operation-command-header {
        border-radius: 18px;
    }

    .operation-command-header p {
        font-size: 13px;
    }

    .operation-split-console .open-table-list {
        grid-template-columns: 1fr;
    }

    .operation-split-console .open-table-row,
    .operation-split-console .order-compact-row {
        grid-template-columns: 1fr;
    }

    .operation-split-console .order-compact-total {
        justify-self: start;
    }

    .operation-panel-head {
        align-items: stretch;
        display: grid;
    }
}

/* v88 product cooking time badge */
.product-meta-row {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    margin-top: 8px;
}

.cooking-time-badge {
    align-items: center;
    background: #fff7ed;
    border: 1px solid #fed7aa;
    border-radius: 999px;
    color: #9a3412;
    display: inline-flex;
    font-size: 12px;
    font-weight: 850;
    gap: 6px;
    line-height: 1;
    padding: 7px 10px;
}

.cooking-time-badge b {
    color: #7c2d12;
    font-weight: 950;
}

.qr-menu[data-view-mode="dark"] .cooking-time-badge,
.qr-menu.bg-charcoal .cooking-time-badge,
.theme-noir-catalog .cooking-time-badge {
    background: rgba(251, 146, 60, .14);
    border-color: rgba(251, 146, 60, .38);
    color: #fed7aa;
}

.qr-menu[data-view-mode="dark"] .cooking-time-badge b,
.qr-menu.bg-charcoal .cooking-time-badge b,
.theme-noir-catalog .cooking-time-badge b {
    color: #ffedd5;
}

/* v90 AKINSOFT-style mobile cart and service actions */
@media (max-width: 991px) {
    .public-body .qr-menu.has-mobile-actions {
        padding-bottom: max(72px, env(safe-area-inset-bottom));
    }

    .public-body .qr-menu.has-mobile-actions::after {
        background: #ffffff;
        border-top-right-radius: 20px;
        bottom: 0;
        box-shadow: 0 0 25px rgba(0, 0, 0, .15);
        content: "";
        height: calc(54px + env(safe-area-inset-bottom));
        left: 0;
        pointer-events: none;
        position: fixed;
        width: 82%;
        z-index: 78;
    }

    .public-body .service-fab,
    .public-body .cart-fab {
        bottom: 0;
        position: fixed;
        z-index: 101;
    }

    .public-body .cart-fab {
        left: 0;
        right: auto;
        width: 20%;
    }

    .public-body .service-fab {
        left: auto;
        right: 0;
        width: 18%;
    }

    .public-body .cart-fab-button,
    .public-body .service-fab-button {
        border: 0;
        box-shadow: none;
        color: #fff;
        display: flex;
        gap: 0;
        justify-content: center;
        min-height: 54px;
        padding: 0;
        width: 100%;
    }

    .public-body .cart-fab-button {
        background: var(--primary, #2196f3);
        border-radius: 0 20px 0 0;
        height: calc(60px + env(safe-area-inset-bottom));
        padding-bottom: env(safe-area-inset-bottom);
    }

    .public-body .service-fab-button {
        background: var(--primary, #2196f3);
        border-radius: 20px 0 0 0;
        height: calc(54px + env(safe-area-inset-bottom));
        padding-bottom: env(safe-area-inset-bottom);
        transition: transform .2s ease;
    }

    .public-body .service-fab-button.is-active,
    .public-body .service-fab-button:hover {
        box-shadow: none;
        transform: scale(1.06);
    }

    .public-body .service-fab-button strong,
    .public-body .cart-fab-button strong {
        display: none;
    }

    .public-body .cart-fab-icon,
    .public-body .service-fab-icon {
        background: transparent;
        border-radius: 0;
        height: 44px;
        width: 44px;
    }

    .public-body .cart-fab-icon::before {
        border: 4px solid #fff;
        border-top: 0;
        border-radius: 0 0 5px 5px;
        height: 19px;
        transform: translateY(5px);
        width: 25px;
    }

    .public-body .cart-fab-icon::after {
        border-top: 4px solid #fff;
        border-radius: 999px 999px 0 0;
        height: 10px;
        top: 8px;
        width: 20px;
    }

    .public-body .service-fab-icon::before {
        border: 4px solid #fff;
        border-bottom-width: 6px;
        border-radius: 16px 16px 12px 12px;
        height: 20px;
        width: 24px;
    }

    .public-body .service-fab-icon::after {
        background: #fff;
        bottom: 9px;
        height: 5px;
        width: 16px;
    }

    .public-body .cart-fab-button em {
        background: transparent;
        color: #fff;
        font-size: 20px;
        font-weight: 900;
        height: auto;
        min-width: 0;
        padding: 0;
        position: absolute;
        right: calc(50% - 32px);
        top: 4px;
    }

    .public-body .cart-fab-button.is-empty em {
        display: none;
    }

    .public-body .service-modal {
        inset: 0;
        pointer-events: none;
        z-index: 102;
    }

    .public-body .service-backdrop {
        background: transparent;
        display: none;
    }

    .public-body .service-dialog {
        background: transparent;
        border-radius: 0;
        bottom: calc(64px + env(safe-area-inset-bottom));
        box-shadow: none;
        display: block;
        max-width: none;
        padding: 0;
        pointer-events: auto;
        right: 8px;
        width: auto;
    }

    .public-body .service-dialog > span,
    .public-body .service-dialog h2,
    .public-body .service-close {
        display: none;
    }

    .public-body .service-option-grid {
        align-items: flex-end;
        display: flex;
        flex-direction: column;
        gap: 12px;
    }

    .public-body .service-option-grid form {
        margin: 0;
        opacity: 0;
        transform: translate(42px, 22px) scale(.92);
        transition: opacity .22s ease, transform .28s ease;
    }

    .public-body .service-modal:not([hidden]) .service-option-grid form {
        opacity: 1;
        transform: translate(0, 0) scale(1);
    }

    .public-body .service-modal:not([hidden]) .service-option-grid form:nth-child(1) {
        transition-delay: .04s;
    }

    .public-body .service-modal:not([hidden]) .service-option-grid form:nth-child(2) {
        transition-delay: .1s;
    }

    .public-body .service-modal:not([hidden]) .service-option-grid form:nth-child(3) {
        transition-delay: .16s;
    }

    .public-body .service-option-button {
        align-items: center;
        background: transparent;
        border: 0;
        box-shadow: none;
        display: flex;
        flex-direction: row-reverse;
        gap: 14px;
        justify-content: flex-start;
        min-height: 0;
        padding: 0;
        width: auto;
    }

    .public-body .service-option-button strong {
        background: #fff;
        border-radius: 8px;
        box-shadow: 0 4px 6px rgba(0, 0, 0, .12);
        color: var(--primary, #2196f3);
        display: inline-flex;
        font-size: 14px;
        font-weight: 850;
        line-height: 1;
        padding: 9px 13px;
        white-space: nowrap;
    }

    .public-body .service-option-button span {
        background: #fff;
        border-radius: 28px;
        box-shadow: 0 3px 6px rgba(0, 0, 0, .16);
        color: var(--primary, #2196f3);
        height: 48px;
        position: relative;
        width: 48px;
    }

    .public-body .service-option-button.waiter span::before,
    .public-body .service-option-button.bill span::before,
    .public-body .service-option-button.valet span::before {
        content: "";
        position: absolute;
    }

    .public-body .service-option-button.waiter span::before {
        border: 3px solid currentColor;
        border-bottom-width: 5px;
        border-radius: 15px 15px 11px 11px;
        height: 17px;
        left: 50%;
        top: 14px;
        transform: translateX(-50%);
        width: 24px;
    }

    .public-body .service-option-button.waiter span::after {
        background: currentColor;
        border-radius: 999px;
        bottom: 12px;
        content: "";
        height: 4px;
        left: 50%;
        position: absolute;
        transform: translateX(-50%);
        width: 20px;
    }

    .public-body .service-option-button.bill span::before {
        border: 3px solid currentColor;
        border-radius: 4px;
        height: 24px;
        left: 14px;
        top: 10px;
        width: 20px;
    }

    .public-body .service-option-button.bill span::after {
        background:
            linear-gradient(currentColor, currentColor) 0 0 / 14px 2px no-repeat,
            linear-gradient(currentColor, currentColor) 0 7px / 10px 2px no-repeat,
            linear-gradient(currentColor, currentColor) 0 14px / 14px 2px no-repeat;
        content: "";
        height: 18px;
        left: 18px;
        position: absolute;
        top: 16px;
        width: 16px;
    }

    .public-body .service-option-button.valet span::before {
        border: 3px solid currentColor;
        border-radius: 10px 10px 6px 6px;
        height: 16px;
        left: 10px;
        top: 17px;
        width: 28px;
    }

    .public-body .service-option-button.valet span::after {
        background:
            radial-gradient(circle, currentColor 0 3px, transparent 3.5px) 0 0 / 12px 8px no-repeat,
            radial-gradient(circle, currentColor 0 3px, transparent 3.5px) 18px 0 / 12px 8px no-repeat;
        bottom: 10px;
        content: "";
        height: 8px;
        left: 9px;
        position: absolute;
        width: 32px;
    }

    .public-body .cart-panel {
        border-radius: 22px 22px 0 0;
        bottom: 0;
        height: min(86vh, 720px);
        max-width: none;
        top: auto;
        width: 100%;
    }
}

@media (max-width: 520px) {
    .public-body .qr-menu.has-cart-action:not(.has-service-action)::after {
        width: 100%;
    }

    .public-body .qr-menu.has-service-action:not(.has-cart-action)::after {
        width: 82%;
    }
}

/* v91 fixed mobile action dock with AKINSOFT-style icon ids */
.mobile-actions {
    display: none;
}

@media (max-width: 991px) {
    .public-body .qr-menu.has-mobile-actions {
        padding-bottom: calc(86px + env(safe-area-inset-bottom));
    }

    .public-body .qr-menu.has-mobile-actions::after {
        display: none;
    }

    .public-body .mobile-actions {
        align-items: center;
        background: #fff;
        border-top-right-radius: 20px;
        bottom: 0;
        box-shadow: 0 0 25px rgba(0, 0, 0, .15);
        display: flex;
        height: calc(54px + env(safe-area-inset-bottom));
        left: 0;
        padding: 0 12px 0 12px;
        padding-bottom: env(safe-area-inset-bottom);
        position: fixed;
        width: 100%;
        z-index: 79;
    }

    .public-body .qr-menu.has-cart-action .mobile-actions {
        padding-left: calc(20vw + 8px);
    }

    .public-body .qr-menu.has-service-action .mobile-actions {
        padding-right: 8px;
        width: 82%;
    }

    .public-body .qr-menu.has-cart-action.has-service-action .mobile-actions {
        padding-left: calc(20vw + 8px);
        width: 82%;
    }

    .public-body .mobile-actions-middle {
        align-items: center;
        display: flex;
        gap: 10px;
        height: 100%;
        justify-content: center;
        min-width: 0;
        width: 100%;
    }

    .public-body .mobile-action-button {
        align-items: center;
        appearance: none;
        background: transparent;
        border: 0;
        color: var(--primary, #2196f3);
        display: flex;
        flex-direction: column;
        font: inherit;
        gap: 2px;
        height: 100%;
        justify-content: center;
        min-width: 62px;
        padding: 0 4px;
        text-decoration: none;
        transition: color .18s ease, transform .18s ease;
    }

    .public-body .mobile-action-button:hover,
    .public-body .mobile-action-button.is-active {
        color: #116fff;
        transform: translateY(-1px);
    }

    .public-body .mobile-action-button svg {
        display: block;
        height: 31px;
        width: 31px;
    }

    .public-body #mobile-actions-feedback-icon .st0,
    .public-body #mobile-actions-share-icon .st0,
    .public-body #basket-icon .st0,
    .public-body #call-btn-icon .st0,
    .public-body #call_waiter_icon .st0,
    .public-body #check_please_icon .st0,
    .public-body #call_valet_icon .st0 {
        fill: currentColor;
    }

    .public-body .mobile-action-button strong {
        display: none;
    }

    .public-body .cart-fab,
    .public-body .service-fab {
        bottom: 0;
        position: fixed;
        z-index: 101;
    }

    .public-body .cart-fab {
        left: 0;
        width: 20%;
    }

    .public-body .service-fab {
        right: 0;
        width: 18%;
    }

    .public-body .cart-fab-button,
    .public-body .service-fab-button {
        align-items: center;
        background: var(--primary, #2196f3);
        border: 0;
        box-shadow: none;
        color: #fff;
        display: flex;
        justify-content: center;
        padding: 0;
        width: 100%;
    }

    .public-body .cart-fab-button {
        border-radius: 0 20px 0 0;
        height: calc(60px + env(safe-area-inset-bottom));
        padding-bottom: env(safe-area-inset-bottom);
    }

    .public-body .service-fab-button {
        border-radius: 20px 0 0 0;
        height: calc(54px + env(safe-area-inset-bottom));
        padding-bottom: env(safe-area-inset-bottom);
    }

    .public-body .cart-fab-icon,
    .public-body .service-fab-icon {
        align-items: center;
        background: transparent;
        border-radius: 0;
        color: #fff;
        display: inline-flex;
        height: 42px;
        justify-content: center;
        width: 42px;
    }

    .public-body .cart-fab-icon::before,
    .public-body .cart-fab-icon::after,
    .public-body .service-fab-icon::before,
    .public-body .service-fab-icon::after {
        content: none !important;
        display: none !important;
    }

    .public-body .cart-fab-icon svg {
        display: block;
        height: 34px;
        width: 34px;
    }

    .public-body .service-fab-icon svg {
        display: block;
        height: 38px;
        width: 38px;
    }

    .public-body .cart-fab-button em {
        background: transparent;
        color: #fff;
        font-size: 20px;
        font-weight: 950;
        height: auto;
        min-width: 0;
        padding: 0;
        position: absolute;
        right: calc(50% - 31px);
        top: 4px;
    }

    .public-body .cart-fab-button.is-empty em {
        display: none;
    }

    .public-body .service-option-button .service-option-icon::before,
    .public-body .service-option-button .service-option-icon::after {
        content: none !important;
        display: none !important;
    }

    .public-body .service-option-button .service-option-icon {
        align-items: center;
        background: #fff;
        border-radius: 28px;
        box-shadow: 0 3px 6px rgba(0, 0, 0, .16);
        color: var(--primary, #2196f3);
        display: inline-flex;
        height: 48px;
        justify-content: center;
        position: relative;
        width: 48px;
    }

    .public-body .service-option-button .active-call-icon {
        display: block;
        height: 29px;
        width: 29px;
    }

    .public-body .menu-footer.has-mobile-footer-actions[data-mobile-footer-panel] {
        background: #fff !important;
        border: 1px solid rgba(17, 24, 39, .08) !important;
        border-radius: 18px;
        bottom: calc(66px + env(safe-area-inset-bottom));
        box-shadow: 0 18px 48px rgba(17, 24, 39, .22);
        color: #111827 !important;
        display: block;
        left: 12px;
        max-height: min(56vh, 360px);
        opacity: 0;
        overflow: auto;
        padding: 12px;
        pointer-events: none;
        position: fixed;
        right: 12px;
        transform: translateY(16px) scale(.98);
        transition: opacity .2s ease, transform .22s ease;
        z-index: 100;
    }

    .public-body .menu-footer.has-mobile-footer-actions[data-mobile-footer-panel].is-open {
        opacity: 1;
        pointer-events: auto;
        transform: translateY(0) scale(1);
    }

    .public-body .menu-footer.has-mobile-footer-actions[data-mobile-footer-panel] .menu-footer-brand {
        display: none;
    }

    .public-body .menu-footer.has-mobile-footer-actions[data-mobile-footer-panel] .menu-footer-links {
        display: grid !important;
        gap: 8px;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        width: 100%;
    }

    .public-body .menu-footer.has-mobile-footer-actions[data-mobile-footer-panel] .footer-contact-card {
        background: #f8fafc !important;
        border: 1px solid rgba(17, 24, 39, .08) !important;
        border-radius: 14px;
        box-shadow: none !important;
        color: #111827 !important;
        min-height: 58px;
        padding: 9px;
    }

    .public-body .menu-footer.has-mobile-footer-actions[data-mobile-footer-panel] .footer-contact-card .footer-icon {
        background: var(--primary, #2196f3) !important;
        color: #fff !important;
        height: 36px;
        width: 36px;
    }

    .public-body .menu-footer.has-mobile-footer-actions[data-mobile-footer-panel] .footer-contact-card strong {
        color: #111827 !important;
        font-size: 12px;
    }

    .public-body .menu-footer.has-mobile-footer-actions[data-mobile-footer-panel] .footer-contact-card small {
        color: #475569 !important;
        font-size: 10.5px;
    }
}

@media (max-width: 380px) {
    .public-body .mobile-actions-middle {
        gap: 6px;
    }

    .public-body .mobile-action-button {
        min-width: 56px;
    }
}

/* v93 desktop/mobile icon consistency */
.public-body .cart-fab-icon::before,
.public-body .cart-fab-icon::after,
.public-body .service-fab-icon::before,
.public-body .service-fab-icon::after,
.public-body .service-option-button .service-option-icon::before,
.public-body .service-option-button .service-option-icon::after {
    content: none !important;
    display: none !important;
}

.public-body .cart-fab-icon,
.public-body .service-fab-icon {
    color: #fff;
}

.public-body .cart-fab-icon svg,
.public-body .service-fab-icon svg {
    display: block;
}

.public-body .cart-fab-icon svg {
    height: 27px;
    width: 27px;
}

.public-body .service-fab-icon svg {
    height: 30px;
    width: 30px;
}

.public-body .service-option-button .service-option-icon {
    align-items: center;
    background: #0f172a;
    border-radius: 18px;
    color: #fff;
    display: inline-flex;
    font-weight: 900;
    height: 50px;
    justify-content: center;
    width: 50px;
}

.public-body .service-option-button .active-call-icon {
    display: block;
    height: 29px;
    width: 29px;
}

.public-body #basket-icon .st0,
.public-body #call-btn-icon .st0,
.public-body #call_waiter_icon .st0,
.public-body #check_please_icon .st0,
.public-body #call_valet_icon .st0,
.public-body #mobile-actions-feedback-icon .st0,
.public-body #mobile-actions-share-icon .st0 {
    fill: currentColor;
}

/* v94 Noir sticky category rail sizing */
.public-body .qr-menu.theme-noir-catalog.nav-category_grid.category-showcase-stuck .category-showcase {
    padding: 12px 12px !important;
}

.public-body .qr-menu.theme-noir-catalog.nav-category_grid.category-showcase-stuck .category-showcase > div {
    gap: 12px;
    justify-content: flex-start !important;
    max-width: none;
    overflow-x: auto;
    scroll-snap-type: x proximity;
}

.public-body .qr-menu.theme-noir-catalog.nav-category_grid.category-showcase-stuck .category-showcase a {
    border-radius: 18px;
    flex: 0 0 clamp(156px, calc((100vw - 44px) / 2), 220px) !important;
    gap: 10px;
    min-height: 58px !important;
    padding: 8px 12px 8px 8px !important;
    scroll-snap-align: start;
}

.public-body .qr-menu.theme-noir-catalog.nav-category_grid.category-showcase-stuck .category-showcase img,
.public-body .qr-menu.theme-noir-catalog.nav-category_grid.category-showcase-stuck .category-showcase a > span {
    height: 42px;
    width: 42px;
}

.public-body .qr-menu.theme-noir-catalog.nav-category_grid.category-showcase-stuck .category-showcase strong {
    font-size: 14px;
    line-height: 1.12;
    max-width: none;
    white-space: normal;
}

.public-body .qr-menu.theme-noir-catalog.nav-category_grid.category-showcase-stuck .menu-content {
    padding-top: 100px !important;
}

@media (max-width: 420px) {
    .public-body .qr-menu.theme-noir-catalog.nav-category_grid.category-showcase-stuck .category-showcase a {
        flex-basis: calc((100vw - 42px) / 2) !important;
        min-height: 56px !important;
    }

    .public-body .qr-menu.theme-noir-catalog.nav-category_grid.category-showcase-stuck .category-showcase img,
    .public-body .qr-menu.theme-noir-catalog.nav-category_grid.category-showcase-stuck .category-showcase a > span {
        height: 38px;
        width: 38px;
    }

    .public-body .qr-menu.theme-noir-catalog.nav-category_grid.category-showcase-stuck .category-showcase strong {
        font-size: 13px;
    }
}

/* v96 product detail popup, time icon and scroll hints */
.cooking-time-badge {
    background: color-mix(in srgb, var(--accent, #9b7a4a) 12%, #fff);
    border-color: color-mix(in srgb, var(--accent, #9b7a4a) 34%, #fff);
    color: color-mix(in srgb, var(--accent, #9b7a4a) 78%, #111);
}

.cooking-time-icon {
    border: 2px solid currentColor;
    border-radius: 999px;
    display: inline-block;
    height: 15px;
    position: relative;
    width: 15px;
}

.cooking-time-icon::before,
.cooking-time-icon::after {
    background: currentColor;
    border-radius: 999px;
    content: "";
    left: 50%;
    position: absolute;
    top: 50%;
    transform-origin: left center;
}

.cooking-time-icon::before {
    height: 2px;
    transform: translate(-1px, -1px) rotate(0deg);
    width: 5px;
}

.cooking-time-icon::after {
    height: 2px;
    transform: translate(-1px, -1px) rotate(-90deg);
    width: 4px;
}

.theme-menutje-mono .cooking-time-badge {
    background: rgba(15, 118, 110, .11);
    border-color: rgba(15, 118, 110, .28);
    color: #0f766e;
}

.theme-noir-catalog .cooking-time-badge,
.qr-menu[data-view-mode="dark"] .cooking-time-badge,
.qr-menu.bg-charcoal .cooking-time-badge {
    background: rgba(255,255,255,.1);
    border-color: rgba(255,255,255,.22);
    color: #f4f4f0;
}

.theme-noir-catalog[data-view-mode="light"] .cooking-time-badge {
    background: #f5f5f5;
    border-color: #d8d8d8;
    color: #111;
}

.public-body .qr-menu.nav-category_grid.category-showcase-stuck .category-showcase::before,
.public-body .qr-menu.nav-category_grid.category-showcase-stuck .category-showcase::after,
.theme-noir-catalog .category-showcase::before,
.theme-noir-catalog .category-showcase::after {
    align-items: center;
    background: rgba(255,255,255,.92);
    border: 1px solid rgba(17,24,39,.1);
    border-radius: 999px;
    box-shadow: 0 8px 20px rgba(0,0,0,.18);
    color: #111;
    display: inline-flex;
    font-size: 22px;
    font-weight: 950;
    height: 30px;
    justify-content: center;
    pointer-events: none;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 30px;
    z-index: 3;
}

.public-body .qr-menu.nav-category_grid.category-showcase-stuck .category-showcase::before,
.theme-noir-catalog .category-showcase::before {
    content: "\2039";
    left: 8px;
}

.public-body .qr-menu.nav-category_grid.category-showcase-stuck .category-showcase::after,
.theme-noir-catalog .category-showcase::after {
    content: "\203A";
    right: 8px;
}

.theme-noir-catalog .category-showcase {
    position: relative;
}

.theme-noir-catalog .category-showcase::before,
.theme-noir-catalog .category-showcase::after {
    top: calc(50% + 16px);
}

.public-body .qr-menu.nav-category_grid.category-showcase-stuck .category-showcase::before,
.public-body .qr-menu.nav-category_grid.category-showcase-stuck .category-showcase::after {
    top: 50%;
}

.public-body .qr-menu.theme-noir-catalog[data-view-mode="light"].nav-category_grid.category-showcase-stuck .category-showcase::before,
.public-body .qr-menu.theme-noir-catalog[data-view-mode="light"].nav-category_grid.category-showcase-stuck .category-showcase::after {
    background: #111;
    border-color: #111;
    color: #fff;
}

.description-detail-list {
    display: grid;
    gap: 8px;
    margin-top: 10px;
}

.description-detail-list[hidden],
.description-pill-row[hidden],
.description-cart-button[hidden] {
    display: none !important;
}

.description-detail-row {
    align-items: center;
    background: #f8fafc;
    border: 1px solid rgba(17,24,39,.08);
    border-radius: 14px;
    display: grid;
    gap: 10px;
    grid-template-columns: 38px minmax(0, 1fr);
    min-height: 54px;
    padding: 8px 10px;
}

.description-detail-icon {
    align-items: center;
    background: #111827;
    border-radius: 999px;
    color: #fff;
    display: inline-flex;
    height: 38px;
    justify-content: center;
    position: relative;
    width: 38px;
}

.description-detail-row strong {
    color: #111827;
    display: block;
    font-size: 12px;
    font-weight: 950;
    line-height: 1.1;
}

.description-detail-row small {
    color: #475569;
    display: block;
    font-size: 13px;
    font-weight: 750;
    line-height: 1.25;
    margin-top: 2px;
}

.description-detail-row.ingredients .description-detail-icon::before {
    background:
        linear-gradient(currentColor, currentColor) 0 0 / 15px 2px no-repeat,
        linear-gradient(currentColor, currentColor) 0 6px / 20px 2px no-repeat,
        linear-gradient(currentColor, currentColor) 0 12px / 12px 2px no-repeat;
    content: "";
    height: 16px;
    width: 20px;
}

.description-detail-row.cooking .description-detail-icon::before {
    border: 2px solid currentColor;
    border-radius: 999px;
    content: "";
    height: 18px;
    width: 18px;
}

.description-detail-row.cooking .description-detail-icon::after {
    background:
        linear-gradient(currentColor, currentColor) 0 0 / 7px 2px no-repeat,
        linear-gradient(currentColor, currentColor) 0 0 / 2px 7px no-repeat;
    content: "";
    height: 9px;
    left: 20px;
    position: absolute;
    top: 14px;
    width: 9px;
}

.description-detail-row.calories .description-detail-icon::before {
    background: currentColor;
    border-radius: 60% 40% 64% 36%;
    content: "";
    height: 19px;
    transform: rotate(42deg);
    width: 15px;
}

.description-detail-row.calories .description-detail-icon::after {
    background: currentColor;
    border-radius: 60% 40% 64% 36%;
    content: "";
    height: 9px;
    position: absolute;
    transform: translateY(4px) rotate(42deg);
    width: 7px;
}

.description-pill-row {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    margin-top: 10px;
}

.description-pill-row span {
    background: #eef6f5;
    border: 1px solid rgba(15, 118, 110, .18);
    border-radius: 999px;
    color: #0f766e;
    font-size: 12px;
    font-weight: 850;
    line-height: 1;
    padding: 8px 10px;
}

.description-pill-row span::before {
    content: "#";
    opacity: .7;
}

.description-pill-row.allergens span {
    background: #fff1f2;
    border-color: rgba(225, 29, 72, .22);
    color: #be123c;
}

.description-pill-row.allergens span::before {
    content: "!";
    font-weight: 950;
    margin-right: 2px;
}

.description-cart-button {
    margin-top: 12px;
    width: 100%;
}

.theme-menutje-mono .description-detail-row {
    background: rgba(255,255,255,.86);
    border-color: rgba(15, 118, 110, .16);
}

.theme-menutje-mono .description-detail-icon {
    background: #0f766e;
}

.theme-noir-catalog .description-dialog {
    background: #080808;
    border-color: rgba(255,255,255,.14);
    color: #f8fafc;
}

.theme-noir-catalog .description-copy p {
    color: rgba(255,255,255,.82);
}

.theme-noir-catalog .description-detail-row {
    background: rgba(255,255,255,.08);
    border-color: rgba(255,255,255,.14);
}

.theme-noir-catalog .description-detail-icon {
    background: #f4f4f0;
    color: #111;
}

.theme-noir-catalog .description-detail-row strong,
.theme-noir-catalog .description-detail-row small {
    color: #f8fafc;
}

.theme-noir-catalog .description-pill-row span {
    background: rgba(255,255,255,.1);
    border-color: rgba(255,255,255,.16);
    color: #f4f4f0;
}

.theme-noir-catalog .description-pill-row.allergens span {
    background: rgba(251, 113, 133, .14);
    border-color: rgba(251, 113, 133, .26);
    color: #fecdd3;
}

.theme-noir-catalog[data-view-mode="light"] .description-dialog {
    background: #fff;
    color: #111;
}

.theme-noir-catalog[data-view-mode="light"] .description-copy p {
    color: #293241;
}

.theme-noir-catalog[data-view-mode="light"] .description-detail-row {
    background: #f8fafc;
    border-color: rgba(17,24,39,.1);
}

.theme-noir-catalog[data-view-mode="light"] .description-detail-icon {
    background: #111;
    color: #fff;
}

.theme-noir-catalog[data-view-mode="light"] .description-detail-row strong {
    color: #111827;
}

.theme-noir-catalog[data-view-mode="light"] .description-detail-row small {
    color: #475569;
}

/* Product units and Menutje day/night mode */
.unit-builder {
    background: #f8fafc;
    border: 1px solid rgba(15, 23, 42, .08);
    border-radius: 16px;
    display: grid;
    gap: 10px;
    padding: 12px;
}

.unit-row-list {
    display: grid;
    gap: 8px;
}

.unit-row {
    align-items: end;
    background: #fff;
    border: 1px solid rgba(15, 23, 42, .08);
    border-radius: 14px;
    display: grid;
    gap: 8px;
    grid-template-columns: minmax(0, 1.2fr) minmax(120px, .7fr) auto;
    padding: 10px;
}

.unit-choice-modal[hidden] {
    display: none;
}

.unit-choice-modal {
    align-items: center;
    display: flex;
    inset: 0;
    justify-content: center;
    padding: 18px;
    position: fixed;
    z-index: 130;
}

.unit-choice-backdrop {
    background: rgba(15, 23, 42, .55);
    border: 0;
    inset: 0;
    position: absolute;
}

.unit-choice-dialog {
    background: #fff;
    border-radius: 22px;
    box-shadow: 0 28px 80px rgba(15, 23, 42, .32);
    color: #111827;
    display: grid;
    gap: 12px;
    max-width: 420px;
    padding: 20px;
    position: relative;
    width: min(100%, 420px);
    z-index: 2;
}

.unit-choice-dialog > span {
    color: var(--primary, #0f766e);
    font-size: 12px;
    font-weight: 950;
    letter-spacing: 0;
    text-transform: uppercase;
}

.unit-choice-dialog h2 {
    font-size: 22px;
    line-height: 1.1;
    margin: 0;
}

.unit-choice-close {
    align-items: center;
    background: #f1f5f9;
    border-radius: 999px;
    color: #0f172a;
    display: flex;
    font-size: 24px;
    height: 38px;
    justify-content: center;
    position: absolute;
    right: 12px;
    top: 12px;
    width: 38px;
}

.unit-choice-list {
    display: grid;
    gap: 8px;
}

.unit-choice-list button {
    align-items: center;
    background: #f8fafc;
    border: 1px solid rgba(15, 23, 42, .09);
    border-radius: 16px;
    color: #111827;
    display: flex;
    justify-content: space-between;
    min-height: 56px;
    padding: 12px 14px;
    text-align: left;
}

.unit-choice-list button strong {
    font-size: 15px;
    font-weight: 950;
}

.unit-choice-list button small {
    color: var(--primary, #0f766e);
    font-size: 14px;
    font-weight: 950;
}

.theme-noir-catalog .unit-choice-dialog,
.theme-menutje-mono[data-view-mode="dark"] .unit-choice-dialog {
    background: #111;
    border: 1px solid rgba(255,255,255,.14);
    color: #f8fafc;
}

.theme-noir-catalog .unit-choice-list button,
.theme-menutje-mono[data-view-mode="dark"] .unit-choice-list button {
    background: rgba(255,255,255,.08);
    border-color: rgba(255,255,255,.14);
    color: #f8fafc;
}

.theme-noir-catalog .unit-choice-list button small,
.theme-menutje-mono[data-view-mode="dark"] .unit-choice-list button small {
    color: #f4f4f0;
}

.theme-menutje-mono .menu-shell-bar {
    background: rgba(255, 250, 244, .94) !important;
    border-bottom: 1px solid rgba(239,106,77,.2) !important;
    color: var(--mt-ink) !important;
    display: grid !important;
    grid-template-columns: auto minmax(0, 1fr) auto;
}

.theme-menutje-mono .menu-shell-bar > strong {
    display: block !important;
}

.theme-menutje-mono .shell-action {
    display: inline-flex !important;
}

.theme-menutje-mono .mode-toggle-visual {
    display: none !important;
}

.theme-menutje-mono .menu-mode-toggle {
    display: inline-flex !important;
}

.theme-menutje-mono[data-view-mode="light"] {
    background:
        radial-gradient(circle at 15% 4%, rgba(239, 106, 77, .24), transparent 26%),
        radial-gradient(circle at 90% 12%, rgba(15, 118, 110, .2), transparent 24%),
        linear-gradient(180deg, #fff7ed 0%, #fffaf4 48%, #f8ede4 100%) !important;
    color: var(--mt-ink) !important;
}

.theme-menutje-mono[data-view-mode="dark"] {
    --mt-bg: #100c0a;
    --mt-card: rgba(28, 21, 18, .94);
    --mt-ink: #fff7ed;
    --mt-muted: #d8c3b6;
    background:
        radial-gradient(circle at 16% 0, rgba(239,106,77,.24), transparent 28%),
        radial-gradient(circle at 88% 12%, rgba(15,118,110,.2), transparent 26%),
        linear-gradient(180deg, #080605 0%, #15100d 52%, #090706 100%) !important;
    color: #fff7ed !important;
}

.theme-menutje-mono[data-view-mode="dark"] .menu-shell-bar {
    background: rgba(8, 6, 5, .92) !important;
    border-bottom-color: rgba(255,255,255,.12) !important;
    color: #fff7ed !important;
}

.theme-menutje-mono[data-view-mode="dark"] .menu-mode-toggle,
.theme-menutje-mono[data-view-mode="dark"] .shell-action {
    background: rgba(255,255,255,.1) !important;
    border-color: rgba(255,255,255,.16) !important;
    color: #fff7ed !important;
}

.theme-menutje-mono[data-view-mode="dark"] .menu-hero,
.theme-menutje-mono[data-view-mode="dark"].bg-studio .menu-hero,
.theme-menutje-mono[data-view-mode="dark"].bg-paper .menu-hero,
.theme-menutje-mono[data-view-mode="dark"].bg-charcoal .menu-hero {
    background:
        radial-gradient(circle at 82% 18%, rgba(255,255,255,.12), transparent 18%),
        linear-gradient(135deg, rgba(24,18,15,.98), rgba(100,45,26,.86) 52%, rgba(8,83,77,.9)) !important;
    color: #fff7ed !important;
}

.theme-menutje-mono[data-view-mode="dark"] .category-showcase h2,
.theme-menutje-mono[data-view-mode="dark"] .menu-category h2,
.theme-menutje-mono[data-view-mode="dark"] .product-title-row h3,
.theme-menutje-mono[data-view-mode="dark"] .price-stack strong,
.theme-menutje-mono[data-view-mode="dark"] .pro-back-bar strong {
    color: #fff7ed !important;
}

.theme-menutje-mono[data-view-mode="dark"] .menu-product,
.theme-menutje-mono[data-view-mode="dark"] .pro-back-bar {
    background: var(--mt-card) !important;
    border-color: rgba(255,255,255,.12) !important;
    box-shadow: 0 18px 38px rgba(0,0,0,.28) !important;
    color: #fff7ed !important;
}

.theme-menutje-mono[data-view-mode="dark"] .product-description-short,
.theme-menutje-mono[data-view-mode="dark"] .product-description-trigger,
.theme-menutje-mono[data-view-mode="dark"] .ingredients-line {
    color: var(--mt-muted) !important;
}

.theme-menutje-mono[data-view-mode="dark"] .menu-footer {
    background: #080605 !important;
    color: #fff7ed !important;
}

@media (max-width: 760px) {
    .unit-row {
        grid-template-columns: 1fr;
    }
}

/* Theme settings cleanup, reliable theme fonts and product detail polish */
.theme-settings-form .form-panel {
    gap: 14px;
}

.theme-settings-form .theme-specific-notes {
    margin-bottom: 2px;
}

.theme-settings-form .operation-settings-links {
    margin-top: 4px;
}

.public-body :where(.qr-menu, .qr-welcome-page, .qr-maintenance, .description-dialog, .unit-choice-dialog, .cart-panel, .service-dialog),
.public-body :where(.qr-menu, .qr-welcome-page, .qr-maintenance, .description-dialog, .unit-choice-dialog, .cart-panel, .service-dialog) :where(div, section, article, header, footer, nav, h1, h2, h3, h4, p, span, strong, small, a, label, input, textarea, select, button, li) {
    font-family: var(--menu-font, "Manrope"), ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
}

.description-detail-list {
    gap: 6px;
    margin-top: 8px;
}

.description-detail-row {
    border-radius: 11px;
    gap: 8px;
    grid-template-columns: 30px minmax(0, 1fr);
    min-height: 42px;
    padding: 6px 8px;
}

.description-detail-icon {
    height: 30px;
    width: 30px;
}

.description-detail-row strong {
    font-size: 10.5px;
    line-height: 1;
}

.description-detail-row small {
    font-size: 12px;
    line-height: 1.18;
    margin-top: 1px;
}

.description-detail-row.ingredients .description-detail-icon::before {
    background:
        linear-gradient(currentColor, currentColor) 0 0 / 12px 2px no-repeat,
        linear-gradient(currentColor, currentColor) 0 5px / 16px 2px no-repeat,
        linear-gradient(currentColor, currentColor) 0 10px / 10px 2px no-repeat;
    height: 13px;
    width: 16px;
}

.description-detail-row.cooking .description-detail-icon::before {
    height: 15px;
    width: 15px;
}

.description-detail-row.cooking .description-detail-icon::after {
    background:
        linear-gradient(currentColor, currentColor) 0 0 / 6px 2px no-repeat,
        linear-gradient(currentColor, currentColor) 0 0 / 2px 6px no-repeat;
    height: 8px;
    left: 16px;
    top: 10px;
    width: 8px;
}

.description-detail-row.calories .description-detail-icon::before {
    height: 15px;
    width: 12px;
}

.description-detail-row.calories .description-detail-icon::after {
    height: 7px;
    width: 6px;
}

.description-cart-button {
    align-items: center;
    background: linear-gradient(135deg, var(--primary, #0f766e), color-mix(in srgb, var(--primary, #0f766e) 76%, #111827)) !important;
    border: 0;
    border-radius: 16px;
    box-shadow: 0 16px 32px color-mix(in srgb, var(--primary, #0f766e) 30%, transparent);
    color: #fff !important;
    display: inline-flex;
    font-size: 15px;
    font-weight: 950;
    gap: 10px;
    justify-content: center;
    letter-spacing: 0;
    min-height: 52px;
    overflow: hidden;
    position: relative;
    transition: transform .18s ease, box-shadow .18s ease, filter .18s ease;
}

.description-cart-button::before {
    align-items: center;
    background: rgba(255, 255, 255, .2);
    border: 1px solid rgba(255, 255, 255, .24);
    border-radius: 999px;
    content: "+";
    display: inline-flex;
    flex: 0 0 auto;
    font-size: 22px;
    font-weight: 900;
    height: 30px;
    justify-content: center;
    line-height: 1;
    width: 30px;
}

.description-cart-button:hover {
    box-shadow: 0 20px 38px color-mix(in srgb, var(--primary, #0f766e) 36%, transparent);
    filter: saturate(1.05);
    transform: translateY(-1px);
}

.description-cart-button:disabled {
    cursor: not-allowed;
    filter: grayscale(.2);
    opacity: .62;
    transform: none;
}

.theme-noir-catalog .description-cart-button,
.theme-menutje-mono[data-view-mode="dark"] .description-cart-button {
    background: linear-gradient(135deg, #f4f4f0, #d8d3c6) !important;
    box-shadow: 0 16px 34px rgba(0, 0, 0, .35);
    color: #111 !important;
}

.theme-noir-catalog .description-cart-button::before,
.theme-menutje-mono[data-view-mode="dark"] .description-cart-button::before {
    background: #111;
    border-color: #111;
    color: #fff;
}

.theme-noir-catalog[data-view-mode="light"] .description-cart-button {
    background: linear-gradient(135deg, var(--primary, #111), #343434) !important;
    color: #fff !important;
}

.theme-noir-catalog[data-view-mode="light"] .description-cart-button::before {
    background: rgba(255, 255, 255, .18);
    border-color: rgba(255, 255, 255, .22);
    color: #fff;
}

@media (max-width: 760px) {
    .theme-settings-form .field-grid {
        grid-template-columns: 1fr;
    }

    .description-dialog {
        padding: 18px;
    }

    .description-cart-button {
        min-height: 50px;
    }
}

/* Fixed appearance modes and stronger public font inheritance */
.public-body .qr-menu,
.public-body .qr-welcome-page,
.public-body .qr-maintenance {
    font-family: var(--menu-font, "Manrope"), ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
}

.public-body .qr-menu :where(*),
.public-body .qr-welcome-page :where(*),
.public-body .qr-maintenance :where(*),
.public-body .description-dialog :where(*),
.public-body .unit-choice-dialog :where(*),
.public-body .cart-panel :where(*),
.public-body .service-dialog :where(*) {
    font-family: inherit !important;
}

.qr-menu.is-fixed-view-mode .menu-mode-toggle,
.qr-menu.is-fixed-view-mode .mode-toggle-visual {
    display: none !important;
}

.qr-menu.has-view-mode-toggle .menu-mode-toggle {
    display: inline-flex !important;
}

.qr-menu.has-view-mode-toggle .mode-toggle-visual {
    display: inline-flex;
}

.theme-menutje-mono.has-view-mode-toggle .mode-toggle-visual {
    display: none !important;
}

/* v100 menu hero mode control */
.theme-menutje-mono .menu-shell-bar,
.theme-noir-catalog .menu-shell-bar {
    display: none !important;
}

.theme-menutje-mono .menu-toolbar,
.theme-noir-catalog .menu-toolbar {
    top: 0 !important;
}

.qr-menu .menu-hero .hero-mode-toggle,
.qr-menu.has-view-mode-toggle .menu-hero .hero-mode-toggle {
    align-items: center;
    backdrop-filter: blur(18px);
    background: rgba(255, 255, 255, .9) !important;
    border: 1px solid rgba(255, 255, 255, .58) !important;
    border-radius: 999px;
    box-shadow: 0 14px 34px rgba(0, 0, 0, .22);
    color: #111 !important;
    display: inline-flex !important;
    gap: 7px;
    min-height: 38px;
    min-width: 70px;
    padding: 0 12px;
    position: absolute;
    right: max(14px, env(safe-area-inset-right, 0px));
    top: max(14px, env(safe-area-inset-top, 0px));
    z-index: 6;
}

.qr-menu[data-view-mode="dark"] .menu-hero .hero-mode-toggle,
.theme-noir-catalog .menu-hero .hero-mode-toggle {
    background: rgba(8, 8, 8, .72) !important;
    border-color: rgba(255, 255, 255, .22) !important;
    color: #fff !important;
}

.theme-noir-catalog[data-view-mode="light"] .menu-hero .hero-mode-toggle,
.theme-menutje-mono[data-view-mode="light"] .menu-hero .hero-mode-toggle,
.theme-menutje-mono.bg-paper .menu-hero .hero-mode-toggle {
    background: rgba(255, 255, 255, .92) !important;
    border-color: rgba(17, 24, 39, .12) !important;
    color: #111 !important;
}

.qr-menu .menu-hero .hero-mode-toggle .mode-icon {
    font-size: 16px;
}

.qr-menu.is-fixed-view-mode .menu-hero .hero-mode-toggle {
    display: none !important;
}

@media (max-width: 560px) {
    .qr-menu .menu-hero .hero-mode-toggle,
    .qr-menu.has-view-mode-toggle .menu-hero .hero-mode-toggle {
        min-height: 36px;
        min-width: 64px;
        padding: 0 10px;
        right: max(10px, env(safe-area-inset-right, 0px));
        top: max(10px, env(safe-area-inset-top, 0px));
    }
}

/* Survey report analytics */
.survey-report-dashboard {
    display: grid;
    gap: 18px;
}

.survey-report-title {
    align-items: start;
    gap: 16px;
}

.survey-range-filter {
    align-items: center;
    background: #f8fafc;
    border: 1px solid var(--line);
    border-radius: 14px;
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    padding: 6px;
}

.survey-range-filter button {
    background: transparent;
    border: 0;
    border-radius: 10px;
    color: #475569;
    font-size: 12px;
    font-weight: 900;
    min-height: 34px;
    padding: 0 12px;
}

.survey-range-filter button.active,
.survey-range-filter button:hover {
    background: var(--primary);
    color: #fff;
}

.survey-kpi-grid {
    display: grid;
    gap: 12px;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.survey-kpi-grid article {
    background: linear-gradient(180deg, #ffffff, #f8fafc);
    border: 1px solid rgba(15, 23, 42, .08);
    border-radius: 16px;
    box-shadow: 0 12px 28px rgba(15, 23, 42, .05);
    display: grid;
    gap: 4px;
    padding: 14px;
}

.survey-kpi-grid span,
.survey-top-choice span {
    color: #64748b;
    font-size: 11px;
    font-weight: 950;
    letter-spacing: 0;
    text-transform: uppercase;
}

.survey-kpi-grid strong {
    color: #0f172a;
    font-size: 28px;
    line-height: 1;
}

.survey-kpi-grid small,
.survey-analysis-card header small,
.survey-written-card header small,
.survey-top-choice small {
    color: #64748b;
    font-weight: 750;
}

.survey-analysis-grid {
    display: grid;
    gap: 14px;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
}

.survey-analysis-card {
    background: #fff;
    border: 1px solid rgba(15, 23, 42, .08);
    border-radius: 16px;
    box-shadow: 0 14px 34px rgba(15, 23, 42, .06);
    display: grid;
    gap: 14px;
    padding: 16px;
}

.survey-analysis-card header,
.survey-written-card header {
    display: grid;
    gap: 4px;
}

.survey-analysis-card header strong,
.survey-written-card header strong {
    color: #0f172a;
    line-height: 1.25;
}

.survey-score-row {
    align-items: end;
    display: flex;
    gap: 10px;
}

.survey-score-row .survey-score {
    font-size: 36px;
    line-height: .95;
}

.survey-option-bars.compact {
    gap: 8px;
}

.survey-option-bars.compact span {
    gap: 8px;
    grid-template-columns: minmax(74px, 1fr) minmax(96px, 1.3fr) 38px;
}

.survey-option-bars.compact b {
    color: #334155;
    font-size: 12px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.survey-option-bars.compact i {
    height: 9px;
}

.survey-top-choice {
    background: #f8fafc;
    border: 1px solid rgba(15, 23, 42, .07);
    border-radius: 14px;
    display: grid;
    gap: 4px;
    padding: 12px;
}

.survey-top-choice strong {
    color: var(--primary);
    font-size: 20px;
    line-height: 1.1;
}

.survey-written-grid {
    display: grid;
    gap: 12px;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
}

.survey-discount-claim-list {
    display: grid;
    gap: 8px;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    max-height: 320px;
    overflow: auto;
    padding-right: 2px;
}

.survey-discount-claim-list article {
    align-items: center;
    background: #fff7ed;
    border: 1px solid rgba(245, 158, 11, .2);
    border-radius: 12px;
    display: grid;
    gap: 2px 10px;
    grid-template-columns: minmax(0, 1fr) auto;
    padding: 10px 12px;
}

.survey-discount-claim-list strong {
    color: #0f172a;
    font-size: 13px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.survey-discount-claim-list span {
    background: #111827;
    border-radius: 999px;
    color: #fff;
    font-size: 11px;
    font-weight: 950;
    grid-row: span 2;
    padding: 5px 8px;
}

.survey-discount-claim-list time {
    color: #92400e;
    font-size: 10.5px;
    font-weight: 850;
}

.survey-written-card {
    background: #fff;
    border: 1px solid rgba(15, 23, 42, .08);
    border-radius: 16px;
    display: grid;
    gap: 10px;
    padding: 14px;
}

.survey-written-list {
    display: grid;
    gap: 7px;
    max-height: 360px;
    overflow: auto;
    padding-right: 2px;
}

.survey-written-list div {
    background: #f8fafc;
    border: 1px solid rgba(15, 23, 42, .06);
    border-radius: 12px;
    display: grid;
    gap: 4px;
    padding: 8px 10px;
}

.survey-written-list time {
    color: #64748b;
    font-size: 10.5px;
    font-weight: 900;
}

.survey-written-list p {
    color: #334155;
    font-size: 12.5px;
    line-height: 1.35;
    margin: 0;
}

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

@media (max-width: 680px) {
    .survey-discount-settings {
        grid-template-columns: 1fr;
    }

    .survey-report-title {
        align-items: stretch;
    }

    .survey-range-filter,
    .survey-range-filter button {
        width: 100%;
    }

    .survey-range-filter {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .survey-kpi-grid,
    .survey-analysis-grid,
    .survey-written-grid,
    .survey-discount-claim-list {
        grid-template-columns: 1fr;
    }

    .survey-option-bars.compact span {
        grid-template-columns: minmax(0, 1fr) 40px;
    }

    .survey-option-bars.compact i {
        grid-column: 1 / -1;
        grid-row: 2;
    }
}

/* v104 public product unit selector */
.product-unit-options {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 2px;
}

.product-unit-option {
    align-items: center;
    background: #f8fafc;
    border: 1px solid rgba(15, 23, 42, .09);
    border-radius: 999px;
    color: #0f172a;
    display: inline-flex;
    flex: 0 1 auto;
    gap: 7px;
    min-height: 30px;
    padding: 5px 9px;
    text-align: left;
    white-space: nowrap;
}

.product-unit-option span {
    font-size: 11px;
    font-weight: 900;
    max-width: 104px;
    overflow: hidden;
    text-overflow: ellipsis;
}

.product-unit-option strong {
    color: var(--primary, #0f766e);
    font-size: 11px;
    font-weight: 950;
}

.product-unit-option:not(.is-static):hover {
    background: var(--primary, #0f766e);
    border-color: var(--primary, #0f766e);
    color: #fff;
    transform: translateY(-1px);
}

.product-unit-option:not(.is-static):hover strong {
    color: #fff;
}

.theme-menutje-mono .product-unit-option {
    background: rgba(255, 255, 255, .84);
    border-color: rgba(15, 118, 110, .16);
    color: var(--mt-ink, #111827);
}

.theme-menutje-mono .product-unit-option strong {
    color: #0f766e;
}

.theme-noir-catalog .product-unit-option,
.theme-menutje-mono[data-view-mode="dark"] .product-unit-option {
    background: rgba(255, 255, 255, .08);
    border-color: rgba(255, 255, 255, .14);
    color: #f8fafc;
}

.theme-noir-catalog .product-unit-option strong,
.theme-menutje-mono[data-view-mode="dark"] .product-unit-option strong {
    color: #f4f4f0;
}

.theme-noir-catalog .product-unit-option:not(.is-static):hover,
.theme-menutje-mono[data-view-mode="dark"] .product-unit-option:not(.is-static):hover {
    background: #f4f4f0;
    border-color: #f4f4f0;
    color: #111;
}

.theme-noir-catalog .product-unit-option:not(.is-static):hover strong,
.theme-menutje-mono[data-view-mode="dark"] .product-unit-option:not(.is-static):hover strong {
    color: #111;
}

.theme-noir-catalog[data-view-mode="light"] .product-unit-option {
    background: #f8fafc;
    border-color: rgba(15, 23, 42, .1);
    color: #111;
}

.theme-noir-catalog[data-view-mode="light"] .product-unit-option strong {
    color: var(--primary, #111);
}

.qr-menu.display-visual-price .product-unit-options {
    display: none;
}

@media (max-width: 520px) {
    .product-unit-options {
        gap: 5px;
    }

    .product-unit-option {
        min-height: 28px;
        padding: 4px 8px;
    }

    .product-unit-option span,
    .product-unit-option strong {
        font-size: 10.5px;
    }
}

/* v109 QRresta stabilization: compact panels, equal mobile actions and clearer public feedback */
.brand-logo-mark,
.launch-brand-logo,
.login-brand-logo {
    display: block;
    height: auto;
    object-fit: contain;
}

.panel-body .brand {
    align-items: center;
}

.panel-body .brand-logo-mark {
    background: #fff;
    border: 1px solid rgba(15, 23, 42, .08);
    border-radius: 14px;
    box-shadow: 0 12px 30px rgba(0, 0, 0, .16);
    height: 40px;
    padding: 6px 8px;
    width: 136px;
}

.panel-body .brand span {
    min-width: 0;
}

.launch-brand-logo {
    background: #fff;
    border: 1px solid rgba(15, 23, 42, .08);
    border-radius: 16px;
    box-shadow: 0 10px 28px rgba(15, 23, 42, .08);
    padding: 7px 10px;
    width: 158px;
}

.login-brand-logo {
    background: rgba(255, 255, 255, .96);
    border: 1px solid rgba(255, 255, 255, .22);
    border-radius: 18px;
    box-shadow: 0 18px 42px rgba(0, 0, 0, .2);
    padding: 8px 12px;
    width: 166px;
}

.public-flash.survey-repeat {
    align-items: center;
    animation: publicCenterThanks 4.2s ease forwards;
    background: #fff;
    border: 1px solid rgba(15, 23, 42, .08);
    border-radius: 20px;
    box-shadow: 0 22px 62px rgba(15, 23, 42, .2);
    color: #0f172a;
    display: inline-flex;
    font-size: clamp(16px, 4.4vw, 21px);
    font-weight: 900;
    gap: 12px;
    justify-content: center;
    left: 50%;
    line-height: 1.25;
    max-width: min(440px, calc(100% - 32px));
    padding: 18px 20px;
    pointer-events: none;
    text-align: center;
    top: 50%;
    transform: translate(-50%, -50%) scale(.96);
    white-space: normal;
    z-index: 520;
}

.public-flash.survey-repeat::before {
    align-items: center;
    background: #ecfeff;
    border: 1px solid #a5f3fc;
    border-radius: 999px;
    color: #0891b2;
    content: "i";
    display: inline-flex;
    flex: 0 0 auto;
    font-size: 16px;
    font-weight: 950;
    height: 30px;
    justify-content: center;
    width: 30px;
}

.qr-menu.display-visual-price .menu-product.has-unit-options .product-unit-options,
.qr-menu .menu-product.has-unit-options .product-unit-options {
    display: flex;
}

.menu-product.has-unit-options .menu-cart-add {
    display: none;
}

.menu-product .logo-placeholder,
.theme-menutje-mono .logo-placeholder,
.theme-noir-catalog .logo-placeholder,
.qr-menu .logo-placeholder {
    background:
        radial-gradient(circle at center, rgba(255, 255, 255, .96), rgba(248, 250, 252, .9) 52%, rgba(226, 232, 240, .78));
    padding: 14px !important;
}

.menu-product .logo-placeholder::before,
.theme-menutje-mono .logo-placeholder::before,
.theme-noir-catalog .logo-placeholder::before,
.qr-menu .logo-placeholder::before {
    background: rgba(255, 255, 255, .9) !important;
    border-color: rgba(15, 23, 42, .08) !important;
    border-radius: 16px;
    box-shadow: 0 12px 30px rgba(15, 23, 42, .09);
    inset: 12px !important;
}

.menu-product .logo-placeholder img,
.theme-menutje-mono .logo-placeholder img,
.theme-noir-catalog .logo-placeholder img,
.qr-menu .logo-placeholder img {
    filter: drop-shadow(0 10px 16px rgba(15, 23, 42, .14));
    max-height: 86% !important;
    max-width: 86% !important;
}

.panel-body.customer-panel,
.panel-body.admin-panel {
    font-size: 14px;
}

.panel-body.customer-panel .panel-main,
.panel-body.admin-panel .panel-main {
    padding: clamp(16px, 1.8vw, 26px) !important;
}

.panel-body.customer-panel .panel-main > *,
.panel-body.admin-panel .panel-main > * {
    max-width: 1480px;
}

.panel-body.customer-panel .form-panel,
.panel-body.customer-panel .panel-section,
.panel-body.admin-panel .form-panel,
.panel-body.admin-panel .panel-section {
    border-radius: 14px !important;
    padding: clamp(14px, 1.5vw, 20px) !important;
}

.panel-body.customer-panel .panel-form,
.panel-body.admin-panel .panel-form,
.panel-body.customer-panel .field-grid,
.panel-body.admin-panel .field-grid {
    gap: 12px;
}

.panel-body.customer-panel label,
.panel-body.admin-panel label {
    gap: 6px;
}

.panel-body.customer-panel input,
.panel-body.customer-panel select,
.panel-body.customer-panel textarea,
.panel-body.admin-panel input,
.panel-body.admin-panel select,
.panel-body.admin-panel textarea {
    border-radius: 9px;
    font-size: 13px;
    min-height: 36px;
    padding: 8px 10px;
}

.panel-body.customer-panel textarea,
.panel-body.admin-panel textarea {
    min-height: 76px;
}

.panel-body.customer-panel .button,
.panel-body.admin-panel .button {
    border-radius: 9px;
    font-size: 12.5px;
    min-height: 34px;
    padding: 8px 11px;
}

.panel-body.customer-panel .page-header,
.panel-body.admin-panel .page-header {
    gap: 14px;
    margin-bottom: 16px;
}

.panel-body.customer-panel .page-header h1,
.panel-body.admin-panel .page-header h1 {
    font-size: clamp(24px, 2vw, 34px);
}

.panel-body.customer-panel .table-wrap table,
.panel-body.admin-panel .table-wrap table {
    font-size: 12.5px;
}

.panel-body.customer-panel th,
.panel-body.customer-panel td,
.panel-body.admin-panel th,
.panel-body.admin-panel td {
    padding: 8px 10px;
}

.survey-builder .survey-discount-settings {
    align-items: center;
    gap: 10px;
    grid-template-columns: minmax(0, 1fr) 118px;
    max-width: 560px;
    padding: 10px 12px;
}

.survey-builder .survey-discount-settings label {
    min-width: 0;
}

.survey-builder .survey-discount-settings input[type="number"] {
    min-height: 34px;
}

.survey-reward-dialog {
    max-width: 390px;
    padding: 22px !important;
}

.survey-reward-dialog p {
    font-size: 14px;
}

.survey-reward-form {
    gap: 10px;
}

.operation-command-header,
.operation-glass-panel {
    color: #0f172a;
}

.operation-command-header h1 {
    color: #0f172a !important;
}

.operation-command-header p {
    color: #475569 !important;
}

.operation-command-header .button.ghost {
    background: rgba(255, 255, 255, .86) !important;
    border-color: rgba(15, 23, 42, .1) !important;
    color: #0f172a !important;
}

.operation-command-header .eyebrow,
.operation-panel-kicker {
    color: #0f766e !important;
}

.operation-panel-head h2,
.operation-row-main strong,
.operation-split-console .order-compact-main strong {
    color: #0f172a;
}

.operation-filter select {
    background: #fff !important;
    color: #0f172a !important;
}

.operation-split-console {
    grid-template-columns: minmax(340px, .9fr) minmax(560px, 1.18fr);
}

.operation-side-column .service-panel,
.operation-main-column .orders-panel {
    min-height: calc(100vh - 248px);
}

.operation-split-console .dense-request-row,
.operation-split-console .order-compact-row {
    padding: 9px 10px;
}

.operation-split-console .order-compact-row {
    grid-template-columns: minmax(0, 1fr) 104px auto;
    min-height: 64px;
}

.operation-split-console .dense-actions .button,
.operation-split-console .order-compact-actions .button {
    min-height: 28px;
    padding: 6px 8px;
}

.theme-settings-form {
    align-items: start;
    grid-template-columns: minmax(300px, .86fr) minmax(430px, 1.14fr);
}

.theme-settings-form .form-panel {
    align-content: start;
}

.theme-settings-form .form-panel:nth-of-type(4) {
    grid-column: 1 / -1;
}

.theme-settings-form .theme-specific-notes {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.theme-settings-form .theme-specific-notes article {
    min-height: 92px;
}

@media (max-width: 991px) {
    .public-body .qr-menu.has-mobile-actions {
        padding-bottom: calc(90px + env(safe-area-inset-bottom));
    }

    .public-body .mobile-actions {
        height: calc(58px + env(safe-area-inset-bottom));
        padding-left: 12px;
        padding-right: 12px;
    }

    .public-body .qr-menu.has-cart-action .mobile-actions {
        padding-left: calc(19vw + 8px);
    }

    .public-body .qr-menu.has-service-action .mobile-actions {
        width: 81%;
    }

    .public-body .qr-menu.has-cart-action.has-service-action .mobile-actions {
        padding-left: calc(19vw + 8px);
        width: 81%;
    }

    .public-body .cart-fab,
    .public-body .service-fab {
        width: 19%;
    }

    .public-body .cart-fab-button,
    .public-body .service-fab-button {
        background: var(--primary, #2196f3);
        border: 0;
        box-shadow: none;
        height: calc(58px + env(safe-area-inset-bottom));
        min-height: 0;
        opacity: 1;
        padding-bottom: env(safe-area-inset-bottom);
    }

    .public-body .cart-fab-button {
        border-radius: 0 20px 0 0;
    }

    .public-body .service-fab-button {
        border-radius: 20px 0 0 0;
    }

    .public-body .cart-fab-icon,
    .public-body .service-fab-icon {
        height: 42px;
        width: 42px;
    }

    .public-body .cart-fab-icon svg,
    .public-body .service-fab-icon svg,
    .public-body .cart-fab-icon #basket-icon,
    .public-body .service-fab-icon #call-btn-icon {
        height: 34px !important;
        width: 34px !important;
    }

    .public-body .mobile-action-button svg {
        height: 36px;
        width: 36px;
    }

    .public-body .mobile-action-button {
        min-width: 58px;
    }
}

@media (min-width: 992px) {
    .public-body .cart-fab,
    .public-body .service-fab {
        right: 24px;
    }

    .public-body .cart-fab-button,
    .public-body .service-fab-button {
        min-height: 56px;
        opacity: 1;
        padding: 10px 15px 10px 12px;
    }

    .public-body .cart-fab-icon,
    .public-body .service-fab-icon {
        height: 38px;
        width: 38px;
    }

    .public-body .cart-fab-icon svg,
    .public-body .service-fab-icon svg {
        height: 30px;
        width: 30px;
    }
}

@media (max-width: 1180px) {
    .operation-split-console,
    .theme-settings-form {
        grid-template-columns: 1fr;
    }

    .operation-side-column .service-panel,
    .operation-main-column .orders-panel {
        min-height: 420px;
    }

    .theme-settings-form .form-panel:nth-of-type(4) {
        grid-column: auto;
    }
}

@media (max-width: 680px) {
    .panel-body .brand-logo-mark {
        height: 36px;
        width: 126px;
    }

    .launch-brand-logo,
    .login-brand-logo {
        width: 138px;
    }

    .survey-builder .survey-discount-settings,
    .theme-settings-form .theme-specific-notes {
        grid-template-columns: 1fr;
    }

    .operation-split-console .order-compact-row {
        grid-template-columns: 1fr;
    }

    .operation-split-console .order-compact-total {
        justify-self: start;
    }
}

/* v112 public QR menu background pattern */
.public-body .qr-menu,
.public-body .qr-menu.theme-menutje-mono,
.public-body .qr-menu.theme-menutje-mono.bg-studio,
.public-body .qr-menu.theme-menutje-mono.bg-paper,
.public-body .qr-menu.theme-noir-catalog,
.public-body .qr-menu.theme-noir-catalog[data-view-mode="light"] {
    background-color: #fff !important;
    background-image:
        linear-gradient(180deg, rgba(255, 255, 255, .86), rgba(255, 255, 255, .92)),
        url("../img/qr-menu-background.svg") !important;
    background-position: center top, center top !important;
    background-repeat: repeat-y, repeat-y !important;
    background-size: auto, 100% auto !important;
}

.public-body .qr-menu[data-view-mode="dark"],
.public-body .qr-menu.bg-charcoal:not([data-view-mode="light"]),
.public-body .qr-menu.theme-menutje-mono[data-view-mode="dark"],
.public-body .qr-menu.theme-menutje-mono.bg-charcoal,
.public-body .qr-menu.theme-noir-catalog[data-view-mode="dark"],
.public-body .qr-menu.theme-noir-catalog.bg-charcoal {
    background-color: #050505 !important;
    background-image:
        linear-gradient(180deg, rgba(5, 5, 5, .82), rgba(5, 5, 5, .9)),
        url("../img/qr-menu-background.svg") !important;
    background-position: center top, center top !important;
    background-repeat: repeat-y, repeat-y !important;
    background-size: auto, 100% auto !important;
}

.public-body .qr-menu > * {
    position: relative;
    z-index: 1;
}

@media (max-width: 760px) {
    .public-body .qr-menu {
        background-size: auto, 960px auto !important;
        background-position: center top, center top !important;
    }
}

/* v115 QRresta landing capabilities, menu cover and kitchen notes */
.launch-capabilities {
    background:
        radial-gradient(circle at 12% 0, rgba(20, 184, 166, .14), transparent 28%),
        radial-gradient(circle at 92% 12%, rgba(248, 200, 106, .18), transparent 24%),
        linear-gradient(180deg, #ffffff 0%, #f7fbfa 100%);
    color: #0f172a;
    padding: 84px max(24px, calc((100vw - 1180px) / 2));
}

.launch-capabilities .launch-section-title {
    margin: 0 auto 28px;
    max-width: 820px;
    text-align: center;
}

.launch-capabilities .launch-section-title p {
    color: #64748b;
    font-size: 16px;
    line-height: 1.7;
    margin: 12px auto 0;
    max-width: 720px;
}

.capability-grid {
    display: grid;
    gap: 14px;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.capability-grid article {
    background: rgba(255, 255, 255, .9);
    border: 1px solid rgba(226, 232, 240, .9);
    border-radius: 18px;
    box-shadow: 0 18px 42px rgba(15, 23, 42, .06);
    display: grid;
    gap: 8px;
    min-height: 190px;
    padding: 18px;
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.capability-grid article:hover {
    border-color: rgba(20, 184, 166, .36);
    box-shadow: 0 24px 58px rgba(15, 23, 42, .1);
    transform: translateY(-3px);
}

.capability-grid span {
    align-items: center;
    background: #ecfeff;
    border: 1px solid #cffafe;
    border-radius: 999px;
    color: #0f766e;
    display: inline-flex;
    font-size: 11px;
    font-weight: 950;
    justify-content: center;
    justify-self: start;
    padding: 6px 9px;
}

.capability-grid strong {
    color: #111827;
    font-size: 18px;
    line-height: 1.2;
}

.capability-grid p {
    color: #64748b;
    font-size: 13px;
    line-height: 1.55;
    margin: 0;
}

.public-body .qr-menu .menu-hero {
    align-items: flex-start;
    display: flex;
    min-height: 244px;
    padding: 18px;
}

.public-body .qr-menu .menu-hero-content.menu-cover-layout,
.public-body .qr-menu.theme-menutje-mono .menu-hero-content.menu-cover-layout,
.public-body .qr-menu.theme-noir-catalog .menu-hero-content.menu-cover-layout {
    align-items: start !important;
    display: grid !important;
    gap: 12px !important;
    grid-template-columns: 1fr !important;
    justify-items: start !important;
    margin: 0 !important;
    max-width: min(690px, calc(100vw - 36px)) !important;
    min-width: 0 !important;
    padding-top: 0 !important;
    position: relative;
    text-align: left !important;
    width: 100%;
    z-index: 2;
}

.public-body .qr-menu .menu-cover-brand {
    align-items: center;
    display: grid;
    gap: 12px;
    grid-template-columns: auto minmax(0, 1fr);
    max-width: 100%;
}

.public-body .qr-menu .menu-cover-brand .menu-logo,
.public-body .qr-menu.theme-menutje-mono .menu-cover-brand .menu-logo,
.public-body .qr-menu.theme-noir-catalog .menu-cover-brand .menu-logo {
    background: rgba(255, 255, 255, .96) !important;
    border: 1px solid rgba(255, 255, 255, .62) !important;
    border-radius: 18px !important;
    box-shadow: 0 16px 34px rgba(2, 6, 23, .18) !important;
    box-sizing: border-box;
    grid-row: auto !important;
    height: 66px !important;
    object-fit: contain !important;
    padding: 7px !important;
    width: 66px !important;
}

.public-body .qr-menu .menu-cover-business {
    display: grid;
    gap: 5px;
    min-width: 0;
}

.public-body .qr-menu .menu-cover-business .eyebrow,
.public-body .qr-menu.theme-menutje-mono .menu-cover-business .eyebrow,
.public-body .qr-menu.theme-noir-catalog .menu-cover-business .eyebrow {
    background: rgba(255, 255, 255, .18) !important;
    border: 1px solid rgba(255, 255, 255, .28) !important;
    border-radius: 999px !important;
    color: #fff !important;
    display: inline-flex !important;
    font-size: 11px !important;
    font-weight: 950 !important;
    justify-self: start;
    padding: 5px 10px !important;
    width: auto !important;
}

.public-body .qr-menu .menu-cover-business h1,
.public-body .qr-menu.theme-menutje-mono .menu-cover-business h1,
.public-body .qr-menu.theme-noir-catalog .menu-cover-business h1 {
    color: #fff !important;
    font-size: clamp(25px, 6vw, 42px) !important;
    line-height: 1.02 !important;
    margin: 0 !important;
    max-width: 100% !important;
    overflow-wrap: anywhere !important;
    text-align: left !important;
    text-shadow: 0 14px 34px rgba(2, 6, 23, .36) !important;
    white-space: normal !important;
}

.public-body .qr-menu .menu-cover-hours {
    align-items: start;
    backdrop-filter: blur(14px);
    background: rgba(15, 23, 42, .42);
    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: 16px;
    color: #fff;
    display: flex;
    gap: 10px;
    max-width: min(520px, 100%);
    padding: 10px 12px;
}

.public-body .qr-menu .menu-cover-hours p {
    color: rgba(255, 255, 255, .9) !important;
    font-size: 13px !important;
    line-height: 1.38 !important;
    margin: 0 !important;
    opacity: 1 !important;
    text-align: left !important;
}

.public-body .qr-menu .menu-cover-icon,
.public-body .qr-menu .menu-cover-action > span {
    align-items: center;
    background: rgba(255, 255, 255, .16);
    border-radius: 999px;
    color: #fff;
    display: inline-flex;
    flex: 0 0 auto;
    height: 34px;
    justify-content: center;
    width: 34px;
}

.public-body .qr-menu .menu-cover-icon svg,
.public-body .qr-menu .menu-cover-action svg {
    fill: none;
    height: 18px;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 2.2;
    width: 18px;
}

.public-body .qr-menu .menu-cover-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
}

.public-body .qr-menu .menu-cover-action {
    align-items: center;
    backdrop-filter: blur(14px);
    background: rgba(255, 255, 255, .16);
    border: 1px solid rgba(255, 255, 255, .24);
    border-radius: 999px;
    color: #fff;
    display: inline-flex;
    gap: 8px;
    min-height: 44px;
    padding: 6px 12px 6px 6px;
}

.public-body .qr-menu button.menu-cover-action {
    cursor: pointer;
}

.public-body .qr-menu .menu-cover-action b {
    font-size: 13px;
    font-weight: 950;
    line-height: 1;
}

.public-body .qr-menu .menu-cover-action.wifi {
    background: rgba(20, 184, 166, .22);
}

.public-body .qr-menu.theme-menutje-mono .menu-hero,
.public-body .qr-menu.theme-noir-catalog .menu-hero {
    justify-content: flex-start !important;
    min-height: 236px !important;
    padding: 18px !important;
}

.public-body .qr-menu.theme-menutje-mono.hero-center-logo .menu-hero-content.menu-cover-layout,
.public-body .qr-menu.theme-noir-catalog.hero-center-logo .menu-hero-content.menu-cover-layout {
    justify-items: start !important;
    text-align: left !important;
}

.order-compact-note {
    background: #fff7ed;
    border: 1px solid rgba(251, 146, 60, .28);
    border-radius: 10px;
    color: #9a3412 !important;
    display: block;
    font-size: 12px;
    font-weight: 850;
    line-height: 1.35;
    margin-top: 6px;
    padding: 6px 8px;
}

.operation-split-console .order-compact-main .order-compact-note {
    max-width: 100%;
    white-space: normal;
}

@media (max-width: 1080px) {
    .capability-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

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

    .launch-capabilities {
        padding: 64px 18px;
    }
}

@media (max-width: 560px) {
    .capability-grid {
        grid-template-columns: 1fr;
    }

    .capability-grid article {
        min-height: 0;
    }

    .public-body .qr-menu .menu-hero,
    .public-body .qr-menu.theme-menutje-mono .menu-hero,
    .public-body .qr-menu.theme-noir-catalog .menu-hero {
        min-height: 214px !important;
        padding: 14px !important;
    }

    .public-body .qr-menu .menu-cover-brand {
        gap: 10px;
    }

    .public-body .qr-menu .menu-cover-brand .menu-logo,
    .public-body .qr-menu.theme-menutje-mono .menu-cover-brand .menu-logo,
    .public-body .qr-menu.theme-noir-catalog .menu-cover-brand .menu-logo {
        border-radius: 15px !important;
        height: 58px !important;
        width: 58px !important;
    }

    .public-body .qr-menu .menu-cover-hours {
        border-radius: 14px;
        padding: 9px 10px;
    }

    .public-body .qr-menu .menu-cover-action {
        min-height: 42px;
    }
}

/* v116 theme layout repair: keep the new cover order without flattening theme identities */
.public-body .qr-menu.theme-menutje-mono .menu-hero,
.public-body .qr-menu.theme-noir-catalog .menu-hero {
    display: block !important;
    overflow: hidden;
    position: relative;
}

.public-body .qr-menu.theme-menutje-mono.has-cover .menu-hero {
    background:
        linear-gradient(135deg, rgba(239, 106, 77, .54), rgba(245, 158, 11, .38) 46%, rgba(15, 118, 110, .56)),
        var(--cover-image) center/cover no-repeat !important;
}

.public-body .qr-menu.theme-noir-catalog.has-cover .menu-hero {
    background:
        radial-gradient(circle at 82% 12%, rgba(255, 255, 255, .16), transparent 22%),
        linear-gradient(90deg, rgba(2, 2, 2, .86) 0%, rgba(2, 2, 2, .66) 58%, rgba(2, 2, 2, .34) 100%),
        var(--cover-image) center/cover no-repeat !important;
}

.public-body .qr-menu.theme-menutje-mono .menu-hero-content.menu-cover-layout,
.public-body .qr-menu.theme-noir-catalog .menu-hero-content.menu-cover-layout {
    min-height: 0;
}

.public-body .qr-menu.theme-menutje-mono .menu-cover-hours,
.public-body .qr-menu.theme-menutje-mono .menu-cover-action {
    background: rgba(42, 27, 21, .38);
    border-color: rgba(255, 255, 255, .22);
}

.public-body .qr-menu.theme-menutje-mono .menu-cover-action.wifi {
    background: rgba(15, 118, 110, .32);
}

.public-body .qr-menu.theme-noir-catalog .menu-cover-brand .menu-logo {
    border-radius: 50% !important;
    box-shadow: 0 18px 46px rgba(0, 0, 0, .42) !important;
}

.public-body .qr-menu.theme-noir-catalog .menu-cover-business .eyebrow,
.public-body .qr-menu.theme-noir-catalog .menu-cover-hours,
.public-body .qr-menu.theme-noir-catalog .menu-cover-action {
    background: rgba(0, 0, 0, .48) !important;
    border-color: rgba(255, 255, 255, .18) !important;
}

.public-body .qr-menu.theme-noir-catalog .menu-cover-action.wifi {
    background: rgba(207, 199, 180, .18) !important;
}

.public-body .qr-menu.theme-noir-catalog.nav-category_grid .category-showcase {
    max-width: 1180px !important;
    overflow: visible !important;
    padding-left: 16px !important;
    padding-right: 16px !important;
}

.public-body .qr-menu.theme-noir-catalog.nav-category_grid .category-showcase > div {
    display: flex !important;
    gap: 14px !important;
    grid-template-columns: none !important;
    justify-content: flex-start !important;
    max-width: 100% !important;
    overflow-x: auto !important;
    padding: 0 2px 10px !important;
    scroll-padding-left: 2px;
    scroll-snap-type: x proximity;
    width: 100% !important;
}

.public-body .qr-menu.theme-noir-catalog.nav-category_grid .category-showcase > div::-webkit-scrollbar {
    height: 6px;
}

.public-body .qr-menu.theme-noir-catalog.nav-category_grid .category-showcase > div::-webkit-scrollbar-thumb {
    background: rgba(17, 17, 17, .28);
    border-radius: 999px;
}

.public-body .qr-menu.theme-noir-catalog.nav-category_grid .category-showcase a {
    flex: 0 0 clamp(178px, 32vw, 260px) !important;
    max-width: none !important;
    min-height: 168px !important;
    min-width: 0 !important;
    scroll-snap-align: start;
    width: auto !important;
}

.public-body .qr-menu.theme-noir-catalog.nav-category_grid .category-showcase img,
.public-body .qr-menu.theme-noir-catalog.nav-category_grid .category-showcase a > span {
    height: 100% !important;
    width: 100% !important;
}

@media (min-width: 1100px) {
    .public-body .qr-menu.theme-noir-catalog.nav-category_grid .category-showcase a {
        flex-basis: clamp(220px, 23vw, 292px) !important;
        min-height: 182px !important;
    }
}

@media (max-width: 760px) {
    .public-body .qr-menu.theme-menutje-mono .menu-hero,
    .public-body .qr-menu.theme-noir-catalog .menu-hero {
        min-height: 224px !important;
        padding-bottom: 44px !important;
    }

    .public-body .qr-menu.theme-noir-catalog.nav-category_grid .category-showcase {
        overflow: hidden !important;
        padding-left: 14px !important;
        padding-right: 0 !important;
        width: 100% !important;
    }

    .public-body .qr-menu.theme-noir-catalog.nav-category_grid .category-showcase > div {
        padding-right: 14px !important;
    }

    .public-body .qr-menu.theme-noir-catalog.nav-category_grid .category-showcase a {
        flex-basis: clamp(156px, calc((100vw - 48px) / 2), 198px) !important;
        min-height: 146px !important;
    }
}

@media (max-width: 991px) {
    .public-body .qr-menu.has-mobile-actions {
        padding-bottom: calc(90px + env(safe-area-inset-bottom)) !important;
    }

    .public-body .mobile-actions {
        border-top-right-radius: 20px !important;
        bottom: 0 !important;
        box-sizing: border-box;
        height: calc(58px + env(safe-area-inset-bottom)) !important;
        left: 0 !important;
        padding-bottom: env(safe-area-inset-bottom) !important;
        position: fixed !important;
        z-index: 90 !important;
    }

    .public-body .qr-menu.has-cart-action.has-service-action .mobile-actions {
        left: 19vw !important;
        padding-left: 8px !important;
        padding-right: 8px !important;
        width: 62vw !important;
    }

    .public-body .qr-menu.has-cart-action:not(.has-service-action) .mobile-actions {
        left: 19vw !important;
        padding-left: 8px !important;
        width: 81vw !important;
    }

    .public-body .qr-menu.has-service-action:not(.has-cart-action) .mobile-actions {
        left: 0 !important;
        padding-right: 8px !important;
        width: 81vw !important;
    }

    .public-body .cart-fab,
    .public-body .service-fab {
        bottom: 0 !important;
        height: calc(58px + env(safe-area-inset-bottom)) !important;
        position: fixed !important;
        top: auto !important;
        transform: none !important;
        width: 19vw !important;
        z-index: 96 !important;
    }

    .public-body .cart-fab {
        left: 0 !important;
        right: auto !important;
    }

    .public-body .service-fab {
        left: auto !important;
        right: 0 !important;
    }

    .public-body .cart-fab-button,
    .public-body .service-fab-button {
        align-items: center !important;
        background: var(--primary, #111827) !important;
        border: 0 !important;
        box-shadow: none !important;
        color: #fff !important;
        display: flex !important;
        gap: 0 !important;
        height: calc(58px + env(safe-area-inset-bottom)) !important;
        justify-content: center !important;
        min-height: 0 !important;
        padding: 0 0 env(safe-area-inset-bottom) !important;
        width: 100% !important;
    }

    .public-body .cart-fab-button {
        border-radius: 0 20px 0 0 !important;
    }

    .public-body .service-fab-button {
        border-radius: 20px 0 0 0 !important;
    }

    .public-body .cart-fab-button strong,
    .public-body .service-fab-button strong {
        display: none !important;
    }

    .public-body .cart-fab-icon,
    .public-body .service-fab-icon {
        align-items: center !important;
        background: transparent !important;
        border: 0 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        color: #fff !important;
        display: inline-flex !important;
        height: 42px !important;
        justify-content: center !important;
        margin: 0 !important;
        padding: 0 !important;
        position: relative !important;
        width: 42px !important;
    }

    .public-body .cart-fab-icon::before,
    .public-body .cart-fab-icon::after,
    .public-body .service-fab-icon::before,
    .public-body .service-fab-icon::after {
        content: none !important;
        display: none !important;
    }

    .public-body .cart-fab-icon svg,
    .public-body .service-fab-icon svg {
        display: block !important;
        height: 34px !important;
        width: 34px !important;
    }

    .public-body .cart-fab-button em {
        background: transparent !important;
        color: #fff !important;
        font-size: 18px !important;
        height: auto !important;
        min-width: 0 !important;
        padding: 0 !important;
        position: absolute !important;
        right: calc(50% - 30px) !important;
        top: 4px !important;
    }
}

@media (max-width: 991px) {
    .public-body .mobile-actions {
        align-items: stretch !important;
        background: transparent !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        display: grid !important;
        grid-template-columns: 1fr !important;
        height: calc(58px + env(safe-area-inset-bottom)) !important;
        left: 0 !important;
        padding: 0 0 env(safe-area-inset-bottom) !important;
        width: 100% !important;
        z-index: 104 !important;
    }

    .public-body .mobile-actions.has-cart-edge {
        grid-template-columns: 19vw minmax(0, 1fr) !important;
    }

    .public-body .mobile-actions.has-service-edge {
        grid-template-columns: minmax(0, 1fr) 19vw !important;
    }

    .public-body .mobile-actions.has-cart-edge.has-service-edge {
        grid-template-columns: 19vw minmax(0, 1fr) 19vw !important;
    }

    .public-body .mobile-actions-middle {
        align-items: center !important;
        background: #fff !important;
        border-top-right-radius: 20px !important;
        box-shadow: 0 0 25px rgba(0, 0, 0, .14) !important;
        display: flex !important;
        gap: 10px !important;
        height: 58px !important;
        justify-content: center !important;
        min-width: 0 !important;
        width: 100% !important;
    }

    .public-body .mobile-dock-edge {
        align-items: center;
        appearance: none;
        background: var(--primary, #111827);
        border: 0;
        color: #fff;
        display: inline-flex;
        height: 58px;
        justify-content: center;
        min-width: 0;
        padding: 0;
        position: relative;
        width: 100%;
    }

    .public-body .mobile-dock-cart {
        border-radius: 0 20px 0 0;
    }

    .public-body .mobile-dock-service {
        border-radius: 20px 0 0 0;
    }

    .public-body .mobile-dock-icon {
        align-items: center;
        color: #fff;
        display: inline-flex;
        height: 42px;
        justify-content: center;
        width: 42px;
    }

    .public-body .mobile-dock-icon svg {
        display: block;
        height: 34px;
        width: 34px;
    }

    .public-body .mobile-dock-edge .st0 {
        fill: currentColor;
    }

    .public-body .mobile-dock-cart em {
        background: transparent;
        color: #fff;
        display: inline-flex;
        font-size: 18px;
        font-style: normal;
        font-weight: 950;
        line-height: 1;
        position: absolute;
        right: calc(50% - 30px);
        top: 4px;
    }

    .public-body .mobile-dock-cart.is-empty em {
        display: none;
    }

    .public-body .cart-fab,
    .public-body .service-fab {
        display: none !important;
    }
}

/* v119 theme flow, cart form and dock hardening */
.public-body .qr-menu.theme-menutje-mono .menu-hero,
.public-body .qr-menu.theme-noir-catalog .menu-hero {
    align-items: flex-start !important;
    display: flex !important;
    justify-content: flex-start !important;
    min-height: 252px !important;
    padding: 20px !important;
}

.public-body .qr-menu.theme-menutje-mono .menu-hero-content.menu-cover-layout,
.public-body .qr-menu.theme-noir-catalog .menu-hero-content.menu-cover-layout {
    align-content: start !important;
    gap: 12px !important;
    max-width: min(720px, calc(100vw - 40px)) !important;
}

.public-body .qr-menu.theme-menutje-mono .menu-cover-brand .menu-logo,
.public-body .qr-menu.theme-noir-catalog .menu-cover-brand .menu-logo {
    border-radius: 18px !important;
    height: 78px !important;
    padding: 8px !important;
    width: 78px !important;
}

.public-body .qr-menu.theme-menutje-mono .menu-cover-brand,
.public-body .qr-menu.theme-noir-catalog .menu-cover-brand {
    gap: 14px !important;
}

.public-body .qr-menu.theme-menutje-mono .menu-cover-business h1,
.public-body .qr-menu.theme-noir-catalog .menu-cover-business h1 {
    font-size: clamp(28px, 5.2vw, 44px) !important;
}

.public-body .qr-menu.theme-noir-catalog.nav-category_grid .category-showcase {
    display: none !important;
}

.public-body .qr-menu.theme-noir-catalog .menu-toolbar,
.public-body .qr-menu.theme-menutje-mono .menu-toolbar {
    top: 0 !important;
}

.public-body .qr-menu.theme-noir-catalog.nav-category_grid .menu-toolbar {
    background: rgba(255, 255, 255, .94) !important;
    border-bottom: 1px solid rgba(15, 23, 42, .08) !important;
    box-shadow: 0 14px 36px rgba(15, 23, 42, .08) !important;
    display: grid !important;
    gap: 10px !important;
    padding: 12px max(12px, calc((100vw - 980px) / 2)) !important;
    position: sticky !important;
    top: 0 !important;
    z-index: 35 !important;
}

.public-body .qr-menu.theme-noir-catalog.nav-category_grid .category-tabs,
.public-body .qr-menu.theme-noir-catalog .category-tabs {
    display: flex !important;
    gap: 8px !important;
    overflow-x: auto !important;
    padding: 2px 2px 6px !important;
    scrollbar-width: none;
}

.public-body .qr-menu.theme-noir-catalog .category-tabs a {
    border-radius: 999px !important;
    flex: 0 0 auto !important;
    font-size: 12px !important;
    min-height: 36px !important;
    padding: 7px 12px !important;
}

.public-body .qr-menu.theme-noir-catalog .category-tabs img {
    height: 26px !important;
    width: 26px !important;
}

.public-body .qr-menu.theme-noir-catalog .menu-content {
    padding-top: 18px !important;
}

.public-body .description-modal {
    z-index: 260 !important;
}

.public-body .description-dialog {
    max-height: min(86vh, 720px) !important;
}

.public-body .cart-drawer,
.public-body .service-modal {
    z-index: 230 !important;
}

.public-body .cart-panel {
    border-radius: 24px 24px 0 0;
}

.public-body .cart-panel form label {
    color: #0f172a;
    font-size: 13px;
    font-weight: 900;
}

.public-body .cart-panel form label small {
    color: #64748b;
    font-size: 11px;
    font-weight: 800;
}

.public-body .cart-panel input[name="manual_table_number"],
.public-body .cart-panel textarea[name="customer_note"] {
    background: #f8fafc;
    border: 1px solid rgba(15, 23, 42, .12);
    border-radius: 14px;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .75);
    color: #0f172a;
    font-size: 15px;
    min-height: 46px;
    padding: 12px 13px;
    width: 100%;
}

.public-body .cart-panel textarea[name="customer_note"] {
    line-height: 1.45;
    min-height: 86px;
    resize: vertical;
}

.public-body .cart-panel textarea[name="customer_note"]::placeholder,
.public-body .cart-panel input[name="manual_table_number"]::placeholder {
    color: #94a3b8;
}

.public-body .cart-table-number-field {
    background: #ecfeff;
    border: 1px solid #bae6fd;
    border-radius: 16px;
    padding: 10px;
}

.public-body .cart-total-row {
    background: #0f172a;
    border-radius: 16px;
    color: #fff;
    padding: 13px 14px;
}

.public-body .cart-total-row strong {
    color: #fff;
}

.public-body .cart-panel .button.primary[data-cart-submit] {
    border-radius: 16px;
    min-height: 50px;
}

@media (max-width: 991px) {
    .public-body .qr-menu.has-mobile-actions {
        padding-bottom: calc(76px + env(safe-area-inset-bottom)) !important;
    }

    .public-body .mobile-actions {
        bottom: 0 !important;
        grid-template-columns: minmax(0, 1fr) !important;
        height: calc(62px + env(safe-area-inset-bottom)) !important;
        left: 0 !important;
        padding: 0 0 env(safe-area-inset-bottom) !important;
        right: 0 !important;
        width: 100vw !important;
        z-index: 190 !important;
    }

    .public-body .mobile-actions.has-cart-edge {
        grid-template-columns: 20vw minmax(0, 1fr) !important;
    }

    .public-body .mobile-actions.has-service-edge {
        grid-template-columns: minmax(0, 1fr) 20vw !important;
    }

    .public-body .mobile-actions.has-cart-edge.has-service-edge {
        grid-template-columns: 20vw minmax(0, 1fr) 20vw !important;
    }

    .public-body .mobile-actions-middle,
    .public-body .mobile-dock-edge {
        height: 62px !important;
        min-height: 62px !important;
    }

    .public-body .mobile-actions-middle {
        border-radius: 0 !important;
        border-top: 1px solid rgba(15, 23, 42, .08);
        box-shadow: 0 -12px 26px rgba(15, 23, 42, .12) !important;
        gap: clamp(18px, 8vw, 34px) !important;
    }

    .public-body .mobile-dock-cart {
        border-radius: 0 20px 0 0 !important;
    }

    .public-body .mobile-dock-service {
        border-radius: 20px 0 0 0 !important;
    }

    .public-body .mobile-action-button svg,
    .public-body .mobile-dock-icon svg {
        height: 36px !important;
        width: 36px !important;
    }

    .public-body .service-modal {
        inset: 0 !important;
        pointer-events: none;
        z-index: 225 !important;
    }

    .public-body .service-dialog {
        bottom: calc(72px + env(safe-area-inset-bottom)) !important;
        right: 10px !important;
    }

    .public-body .service-option-grid {
        gap: 13px !important;
    }

    .public-body .service-option-grid form {
        opacity: 0;
        transform: translate(52px, 22px) scale(.88) rotate(3deg);
        transition: opacity .22s ease, transform .3s cubic-bezier(.2, .9, .2, 1.25);
    }

    .public-body .service-modal:not([hidden]) .service-option-grid form {
        opacity: 1;
        transform: translate(0, 0) scale(1) rotate(0);
    }

    .public-body .service-option-button strong {
        border-radius: 12px !important;
        font-size: 13px !important;
        padding: 10px 12px !important;
    }

    .public-body .service-option-button .service-option-icon {
        height: 52px !important;
        width: 52px !important;
    }

    .public-body .service-option-button .active-call-icon {
        height: 31px !important;
        width: 31px !important;
    }

    .public-body .cart-panel {
        height: min(88vh, 720px) !important;
        padding-bottom: calc(16px + env(safe-area-inset-bottom)) !important;
    }

    .public-body .qr-menu.theme-menutje-mono .menu-hero,
    .public-body .qr-menu.theme-noir-catalog .menu-hero {
        min-height: 226px !important;
        padding: 15px !important;
    }

    .public-body .qr-menu.theme-menutje-mono .menu-cover-brand .menu-logo,
    .public-body .qr-menu.theme-noir-catalog .menu-cover-brand .menu-logo {
        border-radius: 16px !important;
        height: 66px !important;
        width: 66px !important;
    }
}

/* v122 Promenu-style rebuild for theme 1 */
.public-body {
    background: #e5e7eb;
}

.public-body .qr-menu.theme-menutje-mono {
    --promenu-red: #ef4b3f;
    --promenu-ink: #111827;
    --promenu-muted: #9ca3af;
    --promenu-panel: #f8fafc;
    background: var(--promenu-panel) !important;
    background-image: none !important;
    box-shadow: 0 22px 80px rgba(15, 23, 42, .22);
    color: var(--promenu-ink) !important;
    margin: 0 auto;
    max-width: 390px;
    min-height: 100vh;
    overflow-x: hidden;
    width: min(100vw, 390px) !important;
}

.public-body .qr-menu.theme-menutje-mono .menu-hero {
    background:
        linear-gradient(180deg, rgba(0, 0, 0, .72), rgba(0, 0, 0, .36) 48%, rgba(0, 0, 0, .64)),
        var(--cover-image, linear-gradient(135deg, #121212, #2a1f18)) center/cover no-repeat !important;
    border-radius: 0 !important;
    color: #fff !important;
    display: block !important;
    min-height: 262px !important;
    overflow: visible !important;
    padding: 16px 16px 34px !important;
    position: relative;
    width: 100% !important;
}

.public-body .qr-menu.theme-menutje-mono .menu-hero::before {
    background:
        radial-gradient(circle at 70% 6%, rgba(255, 255, 255, .12), transparent 26%),
        linear-gradient(180deg, rgba(0, 0, 0, .18), rgba(0, 0, 0, .02));
    inset: 0;
    opacity: 1;
}

.promenu-hero-top {
    align-items: center;
    display: flex;
    gap: 10px;
    justify-content: space-between;
    min-height: 40px;
    position: relative;
    z-index: 4;
}

.promenu-hero-top-left,
.promenu-hero-top-right {
    align-items: center;
    display: flex;
    gap: 8px;
    min-width: 0;
}

.promenu-hero-top-right {
    justify-content: flex-end;
}

.promenu-lang-select,
.promenu-currency-pill,
.promenu-call-button,
.promenu-icon-button {
    align-items: center;
    backdrop-filter: blur(12px);
    background: rgba(255, 255, 255, .16);
    border: 1px solid rgba(255, 255, 255, .22);
    border-radius: 11px;
    box-shadow: 0 10px 22px rgba(0, 0, 0, .16);
    color: #fff;
    display: inline-flex;
    font-size: 12px;
    font-weight: 950;
    gap: 7px;
    min-height: 34px;
    padding: 0 10px;
    position: relative;
}

.promenu-lang-select {
    cursor: default;
}

.promenu-lang-pills {
    align-items: center;
    backdrop-filter: blur(12px);
    background: rgba(255, 255, 255, .12);
    border: 1px solid rgba(255, 255, 255, .2);
    border-radius: 11px;
    box-shadow: 0 10px 22px rgba(0, 0, 0, .16);
    display: inline-flex;
    gap: 3px;
    min-height: 34px;
    padding: 3px;
    white-space: nowrap;
}

.promenu-lang-pills a {
    align-items: center;
    border-radius: 8px;
    color: #fff;
    display: inline-flex;
    font-size: 11px;
    font-weight: 950;
    justify-content: center;
    line-height: 1;
    min-height: 26px;
    min-width: 32px;
    padding: 0 8px;
}

.promenu-lang-pills a.active {
    background: #fff;
    color: #121212;
}

.promenu-lang-native {
    appearance: none;
    border: 0;
    cursor: pointer;
    inset: 0;
    opacity: 0;
    position: absolute;
    width: 100%;
    z-index: 3;
}

.promenu-lang-dropdown {
    background: rgba(17, 24, 39, .96);
    border: 1px solid rgba(255, 255, 255, .16);
    border-radius: 12px;
    box-shadow: 0 16px 34px rgba(0, 0, 0, .22);
    display: none;
    left: 0;
    min-width: 72px;
    padding: 5px;
    position: absolute;
    top: calc(100% + 6px);
    z-index: 20;
}

.promenu-lang-select:hover .promenu-lang-dropdown,
.promenu-lang-select:focus-within .promenu-lang-dropdown,
.promenu-lang-select.is-open .promenu-lang-dropdown {
    display: grid;
}

.promenu-lang-dropdown a {
    border-radius: 8px;
    color: #fff;
    font-size: 12px;
    padding: 7px 9px;
}

.promenu-lang-dropdown a.active {
    background: rgba(255, 255, 255, .14);
}

.promenu-call-button,
.promenu-icon-button {
    appearance: none;
    border-color: rgba(255, 255, 255, .24);
    cursor: pointer;
    font: inherit;
}

.promenu-call-button {
    min-width: 0;
    padding: 0 12px;
    white-space: nowrap;
}

.promenu-call-button svg,
.promenu-icon-button svg {
    fill: none;
    height: 17px;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 2.2;
    width: 17px;
}

.promenu-icon-button {
    justify-content: center;
    padding: 0;
    width: 38px;
}

.promenu-cart-top {
    background: var(--promenu-red);
    border-color: var(--promenu-red);
}

.promenu-cart-top em {
    align-items: center;
    background: #fff;
    border-radius: 999px;
    color: var(--promenu-red);
    display: none;
    font-size: 10px;
    font-style: normal;
    font-weight: 950;
    height: 17px;
    justify-content: center;
    min-width: 17px;
    padding: 0 4px;
    position: absolute;
    right: -5px;
    top: -6px;
}

.promenu-cart-top.has-items em {
    display: inline-flex;
}

.public-body .qr-menu.theme-menutje-mono .menu-hero-content.menu-cover-layout {
    display: grid !important;
    gap: 13px !important;
    margin: 28px 0 0 !important;
    max-width: 100% !important;
    padding: 0 !important;
    position: relative;
    z-index: 3;
}

.public-body .qr-menu.theme-menutje-mono .menu-cover-brand {
    align-items: center;
    display: grid;
    gap: 14px !important;
    grid-template-columns: auto minmax(0, 1fr);
}

.public-body .qr-menu.theme-menutje-mono .menu-cover-brand .menu-logo {
    background: rgba(0, 0, 0, .48) !important;
    border: 1px solid rgba(255, 255, 255, .22) !important;
    border-radius: 14px !important;
    box-shadow: 0 12px 30px rgba(0, 0, 0, .22) !important;
    height: 64px !important;
    object-fit: contain !important;
    padding: 7px !important;
    width: 64px !important;
}

.public-body .qr-menu.theme-menutje-mono .menu-cover-business .eyebrow {
    display: none !important;
}

.public-body .qr-menu.theme-menutje-mono .menu-cover-business h1 {
    color: #fff !important;
    font-size: clamp(21px, 6.2vw, 30px) !important;
    font-weight: 950 !important;
    letter-spacing: 0 !important;
    line-height: 1.04 !important;
    margin: 0 !important;
    text-shadow: 0 12px 24px rgba(0, 0, 0, .34) !important;
}

.public-body .qr-menu.theme-menutje-mono .menu-cover-subtitle,
.public-body .qr-menu.theme-noir-catalog .menu-cover-subtitle {
    color: rgba(255, 255, 255, .82) !important;
    display: block !important;
    font-size: 13px !important;
    font-style: italic;
    font-weight: 850;
    line-height: 1.25;
    margin: 4px 0 0 !important;
    max-width: 260px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.public-body .qr-menu.theme-menutje-mono .menu-cover-hours,
.public-body .qr-menu.theme-menutje-mono .menu-cover-action {
    backdrop-filter: blur(12px);
    background: rgba(255, 255, 255, .82) !important;
    border: 1px solid rgba(255, 255, 255, .32) !important;
    border-radius: 999px !important;
    box-shadow: 0 10px 22px rgba(0, 0, 0, .12) !important;
    color: #1f2937 !important;
    min-height: 32px !important;
    padding: 5px 10px 5px 7px !important;
}

.public-body .qr-menu.theme-menutje-mono .menu-cover-hours {
    align-items: center !important;
    display: inline-flex !important;
    gap: 7px !important;
    max-width: max-content !important;
}

.public-body .qr-menu.theme-menutje-mono .menu-cover-hours p {
    color: #111827 !important;
    font-size: 12px !important;
    font-weight: 950;
    line-height: 1 !important;
    white-space: nowrap;
}

.public-body .qr-menu.theme-menutje-mono .menu-cover-icon,
.public-body .qr-menu.theme-menutje-mono .menu-cover-action > span {
    background: transparent !important;
    color: #111827 !important;
    height: 20px !important;
    width: 20px !important;
}

.public-body .qr-menu.theme-menutje-mono .menu-cover-icon svg,
.public-body .qr-menu.theme-menutje-mono .menu-cover-action svg {
    height: 15px !important;
    width: 15px !important;
}

.public-body .qr-menu.theme-menutje-mono .menu-cover-action b {
    color: #111827;
    font-size: 12px;
    font-weight: 950;
}

.public-body .qr-menu.theme-menutje-mono .menu-cover-action.location,
.public-body .qr-menu.theme-menutje-mono .menu-cover-action.wifi {
    background: rgba(255, 255, 255, .72) !important;
}

.promenu-social-row {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    justify-content: flex-start;
    margin-top: 2px;
}

.promenu-social {
    align-items: center;
    border-radius: 11px;
    box-shadow: 0 12px 24px rgba(0, 0, 0, .18);
    color: #fff;
    display: inline-flex;
    font-size: 18px;
    font-weight: 950;
    height: 40px;
    justify-content: center;
    text-decoration: none;
    width: 40px;
}

.promenu-social.instagram {
    background: linear-gradient(135deg, #f97316, #e11d48 55%, #7c3aed);
}

.promenu-social.website {
    background: #111827;
}

.promenu-social.whatsapp {
    background: #22c55e;
}

.promenu-feedback-button {
    align-items: center;
    appearance: none;
    backdrop-filter: blur(12px);
    background: rgba(255, 255, 255, .34);
    border: 1px solid rgba(255, 255, 255, .34);
    border-radius: 12px;
    color: #fff;
    cursor: pointer;
    display: inline-flex;
    font-size: 12px;
    font-weight: 950;
    gap: 8px;
    min-height: 40px;
    margin-left: auto;
    padding: 0 14px;
}

.public-body .qr-menu.theme-menutje-mono .locale-switcher {
    display: none !important;
}

.public-body .qr-menu.theme-menutje-mono .menu-toolbar {
    background: rgba(248, 250, 252, .98) !important;
    border: 0 !important;
    box-shadow: 0 12px 30px rgba(15, 23, 42, .09) !important;
    display: none !important;
    gap: 8px !important;
    padding: 12px 16px !important;
    position: sticky !important;
    top: 0 !important;
    z-index: 32 !important;
}

.public-body .qr-menu.theme-menutje-mono.is-search-open .menu-toolbar {
    display: grid !important;
}

.public-body .qr-menu.theme-menutje-mono .menu-search input {
    background: #fff !important;
    border: 1px solid rgba(15, 23, 42, .1) !important;
    border-radius: 14px !important;
    color: #111827 !important;
    min-height: 46px !important;
}

.public-body .qr-menu.theme-menutje-mono .category-tabs {
    display: none !important;
}

.public-body .qr-menu.theme-menutje-mono .category-showcase {
    background: var(--promenu-panel) !important;
    border-radius: 24px 24px 0 0 !important;
    box-sizing: border-box !important;
    margin: -24px auto 0 !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
    padding: 31px 16px 20px !important;
    position: relative;
    width: 100% !important;
    z-index: 5;
}

.public-body .qr-menu.theme-menutje-mono .category-showcase h2 {
    display: block !important;
    color: var(--promenu-muted) !important;
    font-size: 12px !important;
    font-weight: 950 !important;
    letter-spacing: .02em;
    line-height: 1;
    margin: 0 0 18px 4px !important;
    text-align: left !important;
    text-transform: uppercase;
}

.public-body .qr-menu.theme-menutje-mono .category-showcase h2::before,
.public-body .qr-menu.theme-menutje-mono .category-showcase h2::after {
    content: none !important;
    display: none !important;
}

.public-body .qr-menu.theme-menutje-mono .category-showcase > div {
    display: grid !important;
    gap: 14px !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    justify-content: stretch !important;
    min-width: 0 !important;
    overflow: visible !important;
    width: 100% !important;
}

.public-body .qr-menu.theme-menutje-mono .category-showcase a {
    background: #111827 !important;
    border: 0 !important;
    border-radius: 14px !important;
    box-shadow: none !important;
    color: #fff !important;
    box-sizing: border-box !important;
    flex: initial !important;
    min-height: clamp(142px, 38vw, 160px) !important;
    min-width: 0 !important;
    max-width: none !important;
    overflow: hidden;
    padding: 12px !important;
    width: 100% !important;
}

.public-body .qr-menu.theme-menutje-mono .category-showcase a::after {
    background: linear-gradient(180deg, rgba(0, 0, 0, .06), rgba(0, 0, 0, .78)) !important;
}

.public-body .qr-menu.theme-menutje-mono .category-showcase img {
    filter: saturate(1.02) contrast(1.02) !important;
    transform: none;
}

.public-body .qr-menu.theme-menutje-mono .category-showcase strong {
    color: #fff !important;
    font-size: clamp(13px, 3.5vw, 16px) !important;
    font-weight: 950 !important;
    line-height: 1.12 !important;
    text-align: center;
    text-shadow: 0 10px 22px rgba(0, 0, 0, .6);
    text-transform: uppercase;
    width: 100%;
}

.public-body .qr-menu.theme-menutje-mono .menu-content {
    background: var(--promenu-panel) !important;
    border-radius: 24px 24px 0 0 !important;
    box-sizing: border-box !important;
    margin: -24px auto 0 !important;
    max-width: 100% !important;
    min-height: 60vh;
    overflow-x: hidden !important;
    padding: 24px 16px 92px !important;
    position: relative;
    width: 100% !important;
    z-index: 5;
}

.public-body .qr-menu.theme-menutje-mono .pro-back-bar {
    align-items: center;
    display: flex !important;
    gap: 14px;
    margin: 0 0 20px !important;
}

.public-body .qr-menu.theme-menutje-mono .pro-back-bar[hidden] {
    display: none !important;
}

.public-body .qr-menu.theme-menutje-mono .pro-back-bar .button {
    align-items: center;
    background: #fff !important;
    border: 1px solid rgba(15, 23, 42, .08) !important;
    border-radius: 10px !important;
    box-shadow: 0 8px 18px rgba(15, 23, 42, .08);
    color: #64748b !important;
    display: inline-flex;
    flex: 0 0 auto;
    font-size: 0 !important;
    height: 38px !important;
    justify-content: center;
    min-height: 38px !important;
    padding: 0 !important;
    width: 38px !important;
}

.public-body .qr-menu.theme-menutje-mono .pro-back-bar .button::before {
    content: "‹";
    font-size: 28px;
    font-weight: 800;
    line-height: 1;
    transform: translateY(-1px);
}

.public-body .qr-menu.theme-menutje-mono .pro-back-bar strong {
    align-items: center;
    color: #1f2937 !important;
    display: flex;
    font-size: clamp(20px, 5.4vw, 25px);
    font-weight: 950;
    gap: 12px;
    letter-spacing: 0 !important;
    line-height: 1.1;
    text-transform: uppercase;
}

.public-body .qr-menu.theme-menutje-mono .pro-back-bar strong::before {
    background: var(--promenu-red);
    border-radius: 999px;
    content: "";
    display: inline-flex;
    height: 24px;
    width: 6px;
}

.public-body .qr-menu.theme-menutje-mono .menu-category {
    scroll-margin-top: 18px !important;
}

.public-body .qr-menu.theme-menutje-mono.is-category-open .menu-category h2 {
    display: none !important;
}

.public-body .qr-menu.theme-menutje-mono .product-grid-public {
    display: grid !important;
    gap: 16px !important;
    grid-template-columns: 1fr !important;
}

.public-body .qr-menu.theme-menutje-mono .menu-product {
    background: #fff !important;
    border: 1px solid rgba(15, 23, 42, .08) !important;
    border-radius: 16px !important;
    box-shadow: 0 6px 16px rgba(15, 23, 42, .05) !important;
    color: #111827 !important;
    cursor: pointer;
    display: grid !important;
    grid-template-columns: 96px minmax(0, 1fr) !important;
    min-height: 122px !important;
    overflow: hidden;
}

.public-body .qr-menu.theme-menutje-mono .product-media,
.public-body .qr-menu.theme-menutje-mono .product-media img,
.public-body .qr-menu.theme-menutje-mono .image-placeholder,
.public-body .qr-menu.theme-menutje-mono .logo-placeholder {
    height: 96px !important;
    max-height: 96px !important;
    min-height: 96px !important;
}

.public-body .qr-menu.theme-menutje-mono .product-media {
    align-self: center;
    background: #f1f5f9 !important;
    border-radius: 11px;
    margin: 14px 0 14px 12px;
    overflow: hidden;
    width: 96px;
}

.public-body .qr-menu.theme-menutje-mono .product-media img,
.public-body .qr-menu.theme-menutje-mono .image-placeholder {
    border-radius: 11px;
    object-fit: cover;
}

.public-body .qr-menu.theme-menutje-mono .logo-placeholder {
    border-radius: 11px;
    padding: 10px !important;
}

.public-body .qr-menu.theme-menutje-mono .logo-placeholder::before {
    inset: 7px !important;
}

.public-body .qr-menu.theme-menutje-mono .logo-placeholder img {
    max-height: 88% !important;
    max-width: 88% !important;
}

.public-body .qr-menu.theme-menutje-mono .visual-price-badge {
    display: none !important;
}

.public-body .qr-menu.theme-menutje-mono .product-info {
    align-content: center !important;
    display: grid !important;
    gap: 9px !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    grid-template-rows: auto auto !important;
    min-width: 0;
    padding: 16px 14px 16px 18px !important;
}

.public-body .qr-menu.theme-menutje-mono .product-title-row {
    align-items: start !important;
    display: grid !important;
    gap: 11px !important;
    grid-column: 1;
    grid-row: 1 / span 2;
}

.public-body .qr-menu.theme-menutje-mono .product-title-row h3 {
    color: #111827 !important;
    display: -webkit-box;
    font-size: 15px !important;
    font-weight: 950 !important;
    line-height: 1.18 !important;
    margin: 0 !important;
    overflow: hidden;
    text-transform: uppercase;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.public-body .qr-menu.theme-menutje-mono .price-stack {
    justify-items: start !important;
}

.public-body .qr-menu.theme-menutje-mono .price-stack strong {
    background: transparent !important;
    color: var(--promenu-red) !important;
    font-size: 17px !important;
    font-weight: 950 !important;
    padding: 0 !important;
}

.public-body .qr-menu.theme-menutje-mono .price-stack del {
    color: #94a3b8;
    font-size: 11px;
}

.public-body .qr-menu.theme-menutje-mono .product-unit-options {
    grid-column: 1 / -1;
    margin: 0;
}

.public-body .qr-menu.theme-menutje-mono .product-unit-option {
    background: #f8fafc !important;
    border: 1px solid rgba(15, 23, 42, .08) !important;
    border-radius: 999px !important;
    color: #64748b !important;
    min-height: 30px;
}

.public-body .qr-menu.theme-menutje-mono .product-unit-option strong {
    color: var(--promenu-red) !important;
}

.public-body .qr-menu.theme-menutje-mono .product-description-short,
.public-body .qr-menu.theme-menutje-mono .product-description-trigger,
.public-body .qr-menu.theme-menutje-mono .ingredients-line,
.public-body .qr-menu.theme-menutje-mono .product-meta-row,
.public-body .qr-menu.theme-menutje-mono .pill-row,
.public-body .qr-menu.theme-menutje-mono .goes-with,
.public-body .qr-menu.theme-menutje-mono .product-detail-button,
.public-body .qr-menu.theme-menutje-mono .product-calorie-chip,
.public-body .qr-menu.theme-menutje-mono .product-comments {
    display: none !important;
}

.public-body .qr-menu.theme-menutje-mono .product-action-row {
    align-items: center !important;
    display: flex !important;
    grid-column: 2;
    grid-row: 1 / span 2;
    justify-content: center !important;
    margin-left: 10px;
}

.public-body .qr-menu.theme-menutje-mono .product-action-row .menu-cart-add {
    align-items: center;
    background: #fff !important;
    border: 1px solid rgba(15, 23, 42, .1) !important;
    border-radius: 9px !important;
    box-shadow: 0 6px 14px rgba(15, 23, 42, .06) !important;
    color: var(--promenu-red) !important;
    display: inline-flex !important;
    font-size: 12px !important;
    font-weight: 950 !important;
    min-height: 32px !important;
    padding: 0 10px !important;
    white-space: nowrap;
}

.public-body .qr-menu.theme-menutje-mono .menu-product.has-unit-options .menu-cart-add {
    display: inline-flex !important;
}

.public-body .qr-menu.theme-menutje-mono .description-dialog,
.public-body .qr-menu.theme-menutje-mono .cart-panel,
.public-body .qr-menu.theme-menutje-mono .service-dialog,
.public-body .qr-menu.theme-menutje-mono .unit-choice-dialog {
    border-radius: 24px 24px 0 0;
}

.public-body .qr-menu.theme-menutje-mono .description-cart-button,
.public-body .qr-menu.theme-menutje-mono .cart-panel .button.primary[data-cart-submit],
.public-body .qr-menu.theme-menutje-mono .unit-choice-list button:hover {
    background: var(--promenu-red) !important;
    color: #fff !important;
}

@media (max-width: 420px) {
    .promenu-call-button {
        font-size: 11px;
        padding: 0 9px;
    }

    .promenu-hero-top {
        gap: 6px;
    }

    .promenu-hero-top-left,
    .promenu-hero-top-right {
        gap: 6px;
    }

    .promenu-lang-select,
    .promenu-currency-pill {
        padding: 0 8px;
    }

    .promenu-lang-pills {
        gap: 2px;
        padding: 2px;
    }

    .promenu-lang-pills a {
        font-size: 10px;
        min-width: 28px;
        padding: 0 6px;
    }

    .promenu-icon-button {
        width: 36px;
    }

    .public-body .qr-menu.theme-menutje-mono .menu-cover-action {
        padding-right: 9px !important;
    }

    .promenu-feedback-button {
        margin-left: 0;
    }
}

/* v126 mobile fit, compact cover actions and reliable public modals */
.unit-builder.is-single-currency .unit-currency-field,
.unit-builder:not(.has-unit-currencies) .unit-currency-field {
    display: none;
}

.unit-currency-toggle {
    background: #fff;
    border: 1px solid rgba(15, 23, 42, .08);
    border-radius: 12px;
    color: #334155;
    padding: 9px 11px;
}

.unit-row {
    grid-template-columns: minmax(0, 1.05fr) minmax(100px, .65fr) minmax(120px, .75fr) auto;
}

.public-body > .description-modal,
.public-body > .public-survey-modal,
.public-body > .unit-choice-modal,
.public-body > .cart-drawer,
.public-body > .service-modal {
    inset: 0 !important;
    position: fixed !important;
}

.public-body > .description-modal {
    align-items: center !important;
    justify-items: center !important;
    padding: 14px !important;
    z-index: 980 !important;
}

.public-body > .public-survey-modal,
.public-body > .unit-choice-modal {
    align-items: center !important;
    justify-content: center !important;
    justify-items: center !important;
    padding: 14px !important;
    z-index: 970 !important;
}

.public-body > .cart-drawer {
    z-index: 960 !important;
}

.public-body > .service-modal {
    z-index: 950 !important;
}

.public-body > .description-modal .description-dialog,
.public-body > .public-survey-modal .public-survey-dialog,
.public-body > .unit-choice-modal .unit-choice-dialog {
    margin: auto !important;
    max-height: calc(100svh - 28px) !important;
    max-width: calc(100dvw - 28px) !important;
    overflow: auto !important;
    width: min(560px, calc(100dvw - 28px)) !important;
    z-index: 2;
}

.public-body > .public-survey-modal .public-survey-dialog {
    width: min(620px, calc(100dvw - 28px)) !important;
}

.public-body > .unit-choice-modal .unit-choice-dialog {
    width: min(420px, calc(100dvw - 28px)) !important;
}

.public-body > .cart-drawer .cart-panel {
    max-width: min(430px, 100dvw) !important;
}

.public-body.menu-theme-menutje-mono {
    background: #f8fafc !important;
}

.public-body .qr-menu.theme-menutje-mono {
    box-sizing: border-box !important;
}

.public-body .qr-menu.theme-menutje-mono .menu-hero-content.menu-cover-layout {
    grid-template-columns: auto minmax(0, 1fr) !important;
    gap: 10px 7px !important;
}

.public-body .qr-menu.theme-menutje-mono .menu-cover-brand,
.public-body .qr-menu.theme-menutje-mono .promenu-social-row {
    grid-column: 1 / -1 !important;
}

.public-body .qr-menu.theme-menutje-mono .menu-cover-hours {
    grid-column: 1 !important;
    min-width: 0 !important;
}

.public-body .qr-menu.theme-menutje-mono .menu-cover-actions {
    align-items: center !important;
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 6px !important;
    grid-column: 2 !important;
    justify-content: flex-start !important;
    min-width: 0 !important;
    overflow-x: auto !important;
    scrollbar-width: none;
}

.public-body .qr-menu.theme-menutje-mono .menu-cover-actions::-webkit-scrollbar {
    display: none;
}

.public-body .qr-menu.theme-menutje-mono .menu-cover-hours,
.public-body .qr-menu.theme-menutje-mono .menu-cover-action {
    min-height: 27px !important;
    padding: 4px 7px !important;
}

.public-body .qr-menu.theme-menutje-mono .menu-cover-hours {
    gap: 4px !important;
}

.public-body .qr-menu.theme-menutje-mono .menu-cover-hours p {
    font-size: 10.5px !important;
    max-width: 76px !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

.public-body .qr-menu.theme-menutje-mono .menu-cover-hours p br {
    display: none !important;
}

.public-body .qr-menu.theme-menutje-mono .menu-cover-action {
    flex: 0 0 auto !important;
    gap: 3px !important;
}

.public-body .qr-menu.theme-menutje-mono .menu-cover-action b {
    font-size: 10.5px !important;
}

.public-body .qr-menu.theme-menutje-mono .menu-cover-icon,
.public-body .qr-menu.theme-menutje-mono .menu-cover-action > span {
    height: 17px !important;
    width: 17px !important;
}

.public-body .qr-menu.theme-menutje-mono .menu-cover-icon svg,
.public-body .qr-menu.theme-menutje-mono .menu-cover-action svg {
    height: 13px !important;
    width: 13px !important;
}

@media (max-width: 991px) {
    .public-body {
        background: #f8fafc !important;
    }

    .public-body .qr-menu.theme-menutje-mono {
        box-shadow: none !important;
        margin: 0 !important;
        max-width: none !important;
        min-height: 100svh !important;
        width: 100% !important;
    }

    .public-body .qr-menu.theme-menutje-mono .category-showcase,
    .public-body .qr-menu.theme-menutje-mono .menu-content,
    .public-body .qr-menu.theme-menutje-mono .menu-hero {
        max-width: none !important;
        width: 100% !important;
    }

    .public-body > .cart-drawer .cart-panel {
        border-radius: 22px 22px 0 0 !important;
        bottom: 0 !important;
        height: min(88svh, 720px) !important;
        left: 0 !important;
        max-width: none !important;
        right: 0 !important;
        top: auto !important;
        width: 100% !important;
    }

    .public-body > .description-modal .description-dialog {
        border-radius: 22px !important;
    }
}

@media (max-width: 760px) {
    .unit-row {
        grid-template-columns: minmax(0, 1fr) minmax(94px, .65fr);
    }

    .unit-row .unit-currency-field {
        grid-column: 1 / -1;
    }

    .unit-row [data-unit-remove] {
        grid-column: 1 / -1;
        justify-self: start;
    }

    .public-body > .description-modal,
    .public-body > .public-survey-modal,
    .public-body > .unit-choice-modal {
        padding: 10px !important;
    }

    .public-body > .description-modal .description-dialog,
    .public-body > .public-survey-modal .public-survey-dialog,
    .public-body > .unit-choice-modal .unit-choice-dialog {
        max-height: calc(100svh - 20px) !important;
        max-width: calc(100dvw - 20px) !important;
        width: calc(100dvw - 20px) !important;
    }
}

@media (max-width: 380px) {
    .promenu-lang-select,
    .promenu-currency-pill,
    .promenu-call-button,
    .promenu-icon-button {
        min-height: 31px;
    }

    .promenu-call-button {
        font-size: 0;
        padding: 0 8px;
    }

    .promenu-call-button span {
        display: inline-flex;
    }

    .promenu-icon-button {
        width: 32px;
    }

    .public-body .qr-menu.theme-menutje-mono .menu-hero {
        padding-left: 12px !important;
        padding-right: 12px !important;
    }

    .public-body .qr-menu.theme-menutje-mono .category-showcase,
    .public-body .qr-menu.theme-menutje-mono .menu-content {
        padding-left: 12px !important;
        padding-right: 12px !important;
    }

    .public-body .qr-menu.theme-menutje-mono .menu-cover-hours p {
        max-width: 58px !important;
    }

    .public-body .qr-menu.theme-menutje-mono .menu-cover-action b {
        font-size: 10px !important;
    }

    .public-body .qr-menu.theme-menutje-mono .menu-product {
        grid-template-columns: 86px minmax(0, 1fr) !important;
    }

    .public-body .qr-menu.theme-menutje-mono .product-media,
    .public-body .qr-menu.theme-menutje-mono .product-media img,
    .public-body .qr-menu.theme-menutje-mono .image-placeholder,
    .public-body .qr-menu.theme-menutje-mono .logo-placeholder {
        height: 86px !important;
        max-height: 86px !important;
        min-height: 86px !important;
        width: 86px !important;
    }
}

/* v127 bottom public dock, share links and representative image badge */
.description-visual {
    position: relative;
}

.description-representative-badge {
    align-items: center;
    backdrop-filter: blur(12px);
    background: rgba(15, 23, 42, .76);
    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: 999px;
    bottom: 12px;
    color: #fff;
    display: inline-flex;
    font-size: 11px;
    font-weight: 950;
    letter-spacing: .01em;
    line-height: 1;
    padding: 8px 11px;
    position: absolute;
    right: 12px;
    text-transform: uppercase;
    z-index: 4;
}

.description-representative-badge[hidden] {
    display: none !important;
}

.representative-media-badge {
    align-items: center;
    backdrop-filter: blur(10px);
    background: rgba(15, 23, 42, .78);
    border: 1px solid rgba(255, 255, 255, .2);
    border-radius: 999px;
    bottom: 10px;
    color: #fff;
    display: inline-flex;
    font-size: 10px;
    font-weight: 900;
    letter-spacing: 0;
    line-height: 1;
    max-width: calc(100% - 18px);
    overflow: hidden;
    padding: 6px 8px;
    position: absolute;
    right: 9px;
    text-overflow: ellipsis;
    white-space: nowrap;
    z-index: 6;
}

.representative-media-badge.compact {
    bottom: 8px;
    font-size: 8px;
    max-width: calc(100% - 14px);
    padding: 5px 6px;
    right: 7px;
}

.category-tabs a,
.welcome-picked-rail a,
.home-featured-strip a {
    position: relative;
}

@media (max-width: 991px) {
    .public-body .qr-menu.has-mobile-actions {
        padding-bottom: calc(78px + env(safe-area-inset-bottom)) !important;
    }

    .public-body .cart-fab,
    .public-body .service-fab {
        display: none !important;
    }

    .public-body .mobile-actions {
        align-items: stretch !important;
        background: transparent !important;
        border: 0 !important;
        border-radius: 0 !important;
        bottom: 0 !important;
        box-shadow: none !important;
        box-sizing: border-box !important;
        display: grid !important;
        gap: 0 !important;
        grid-template-columns: 64px minmax(0, 1fr) 64px !important;
        height: calc(64px + env(safe-area-inset-bottom)) !important;
        left: 0 !important;
        max-width: 100dvw !important;
        overflow: visible !important;
        padding: 0 0 env(safe-area-inset-bottom) !important;
        position: fixed !important;
        right: 0 !important;
        transform: none !important;
        width: 100% !important;
        z-index: 520 !important;
    }

    .public-body .mobile-actions:not(.has-cart-edge) {
        grid-template-columns: minmax(0, 1fr) 64px !important;
    }

    .public-body .mobile-actions:not(.has-service-edge) {
        grid-template-columns: 64px minmax(0, 1fr) !important;
    }

    .public-body .mobile-actions:not(.has-cart-edge):not(.has-service-edge) {
        grid-template-columns: minmax(0, 1fr) !important;
    }

    .public-body .mobile-actions-middle {
        align-items: center !important;
        background: #ffffff !important;
        border-radius: 0 !important;
        border-top: 1px solid rgba(15, 23, 42, .08) !important;
        box-shadow: 0 -10px 26px rgba(15, 23, 42, .12) !important;
        display: grid !important;
        gap: 0 !important;
        grid-auto-flow: column !important;
        grid-auto-columns: minmax(0, 1fr) !important;
        height: 64px !important;
        justify-content: stretch !important;
        min-height: 64px !important;
        min-width: 0 !important;
        overflow: hidden !important;
        padding: 0 !important;
        width: 100% !important;
    }

    .public-body .mobile-dock-edge,
    .public-body .mobile-action-button {
        align-items: center !important;
        appearance: none !important;
        border: 0 !important;
        box-sizing: border-box !important;
        cursor: pointer !important;
        display: inline-flex !important;
        height: 64px !important;
        justify-content: center !important;
        min-height: 64px !important;
        min-width: 0 !important;
        overflow: visible !important;
        padding: 0 !important;
        position: relative !important;
        text-decoration: none !important;
        transform: none !important;
        width: 100% !important;
    }

    .public-body .mobile-dock-edge {
        background: var(--primary, #111827) !important;
        color: #fff !important;
    }

    .public-body .mobile-dock-cart {
        border-radius: 0 18px 0 0 !important;
        grid-column: 1 !important;
    }

    .public-body .mobile-dock-service {
        border-radius: 18px 0 0 0 !important;
        grid-column: -2 / -1 !important;
    }

    .public-body .mobile-action-button {
        background: #fff !important;
        color: var(--primary, #111827) !important;
        flex-direction: row !important;
    }

    .public-body .mobile-action-button strong {
        display: none !important;
    }

    .public-body .mobile-dock-icon,
    .public-body .mobile-actions-feedback-icon,
    .public-body .mobile-actions-share-icon {
        align-items: center !important;
        background: transparent !important;
        border: 0 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        color: currentColor !important;
        display: inline-flex !important;
        height: 38px !important;
        justify-content: center !important;
        margin: 0 !important;
        max-height: 38px !important;
        max-width: 38px !important;
        padding: 0 !important;
        width: 38px !important;
    }

    .public-body .mobile-dock-icon svg,
    .public-body .mobile-actions-feedback-icon svg,
    .public-body .mobile-actions-share-icon svg,
    .public-body #basket-icon,
    .public-body #call-btn-icon,
    .public-body #mobile-actions-feedback-icon,
    .public-body #mobile-actions-share-icon {
        display: block !important;
        height: 34px !important;
        max-height: 34px !important;
        max-width: 34px !important;
        width: 34px !important;
    }

    .public-body .mobile-dock-icon svg *,
    .public-body .mobile-actions-feedback-icon svg *,
    .public-body .mobile-actions-share-icon svg * {
        fill: currentColor !important;
    }

    .public-body .mobile-dock-cart em {
        align-items: center !important;
        background: #ef4444 !important;
        border: 2px solid #fff !important;
        border-radius: 999px !important;
        color: #fff !important;
        display: inline-flex !important;
        font-size: 10px !important;
        font-style: normal !important;
        font-weight: 950 !important;
        height: 20px !important;
        justify-content: center !important;
        min-width: 20px !important;
        padding: 0 5px !important;
        position: absolute !important;
        right: 9px !important;
        top: 6px !important;
    }

    .public-body .mobile-dock-cart.is-empty em {
        display: none !important;
    }

    .public-body .mobile-action-button.is-active,
    .public-body .mobile-action-button:active,
    .public-body .mobile-dock-edge.is-active,
    .public-body .mobile-dock-edge:active {
        filter: brightness(.98);
    }

    .public-body .menu-footer.has-mobile-footer-actions[data-mobile-footer-panel] {
        background: #fff !important;
        border: 1px solid rgba(15, 23, 42, .1) !important;
        border-radius: 18px !important;
        bottom: calc(76px + env(safe-area-inset-bottom)) !important;
        box-shadow: 0 22px 58px rgba(15, 23, 42, .24) !important;
        color: #111827 !important;
        display: block !important;
        left: 10px !important;
        max-height: min(58svh, 380px) !important;
        opacity: 0 !important;
        overflow: auto !important;
        padding: 12px !important;
        pointer-events: none !important;
        position: fixed !important;
        right: 10px !important;
        transform: translateY(12px) scale(.98) !important;
        transition: opacity .2s ease, transform .22s ease !important;
        visibility: hidden !important;
        z-index: 515 !important;
    }

    .public-body .menu-footer.has-mobile-footer-actions[data-mobile-footer-panel].is-open {
        opacity: 1 !important;
        pointer-events: auto !important;
        transform: translateY(0) scale(1) !important;
        visibility: visible !important;
    }

    .public-body .menu-footer.has-mobile-footer-actions[data-mobile-footer-panel] .menu-footer-brand {
        display: none !important;
    }

    .public-body .menu-footer.has-mobile-footer-actions[data-mobile-footer-panel] .menu-footer-links {
        display: grid !important;
        gap: 8px !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        width: 100% !important;
    }

    .public-body .menu-footer.has-mobile-footer-actions[data-mobile-footer-panel] .footer-contact-card {
        background: #f8fafc !important;
        border: 1px solid rgba(15, 23, 42, .08) !important;
        border-radius: 14px !important;
        box-shadow: none !important;
        color: #111827 !important;
        min-height: 58px !important;
        padding: 9px !important;
    }
}

@media (max-width: 360px) {
    .public-body .mobile-actions {
        grid-template-columns: 58px minmax(0, 1fr) 58px !important;
    }

    .public-body .mobile-actions:not(.has-cart-edge) {
        grid-template-columns: minmax(0, 1fr) 58px !important;
    }

    .public-body .mobile-actions:not(.has-service-edge) {
        grid-template-columns: 58px minmax(0, 1fr) !important;
    }

    .public-body .mobile-dock-icon,
    .public-body .mobile-actions-feedback-icon,
    .public-body .mobile-actions-share-icon {
        height: 34px !important;
        max-height: 34px !important;
        max-width: 34px !important;
        width: 34px !important;
    }

    .public-body .mobile-dock-icon svg,
    .public-body .mobile-actions-feedback-icon svg,
    .public-body .mobile-actions-share-icon svg,
    .public-body #basket-icon,
    .public-body #call-btn-icon,
    .public-body #mobile-actions-feedback-icon,
    .public-body #mobile-actions-share-icon {
        height: 30px !important;
        max-height: 30px !important;
        max-width: 30px !important;
        width: 30px !important;
    }
}

@media (max-width: 991px) {
    .public-body .qr-menu.has-mobile-actions .mobile-actions,
    .public-body .qr-menu.has-cart-action .mobile-actions,
    .public-body .qr-menu.has-service-action .mobile-actions,
    .public-body .qr-menu.has-cart-action.has-service-action .mobile-actions {
        grid-template-columns: 64px minmax(0, 1fr) 64px !important;
        left: 0 !important;
        max-width: 100dvw !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        right: 0 !important;
        width: 100% !important;
    }

    .public-body .qr-menu.has-mobile-actions:not(.has-cart-action) .mobile-actions {
        grid-template-columns: minmax(0, 1fr) 64px !important;
    }

    .public-body .qr-menu.has-mobile-actions:not(.has-service-action) .mobile-actions {
        grid-template-columns: 64px minmax(0, 1fr) !important;
    }

    .public-body .qr-menu.has-mobile-actions:not(.has-cart-action):not(.has-service-action) .mobile-actions {
        grid-template-columns: minmax(0, 1fr) !important;
    }
}

@media (max-width: 360px) {
    .public-body .qr-menu.has-mobile-actions .mobile-actions,
    .public-body .qr-menu.has-cart-action .mobile-actions,
    .public-body .qr-menu.has-service-action .mobile-actions,
    .public-body .qr-menu.has-cart-action.has-service-action .mobile-actions {
        grid-template-columns: 58px minmax(0, 1fr) 58px !important;
    }
}

/* v129 menu cover interaction refinements */
.public-body .qr-menu.theme-menutje-mono .promenu-currency-pill {
    display: none !important;
}

.public-body .qr-menu.theme-menutje-mono .menu-cover-hours {
    grid-column: 1 / -1 !important;
    max-width: 100% !important;
    width: max-content !important;
}

.public-body .qr-menu.theme-menutje-mono .menu-cover-hours p {
    line-height: 1.22 !important;
    max-width: min(100%, 330px) !important;
    overflow: visible !important;
    text-overflow: clip !important;
    white-space: normal !important;
}

.public-body .qr-menu.theme-menutje-mono .menu-cover-hours p br {
    display: initial !important;
}

.public-body .qr-menu.theme-menutje-mono .menu-cover-actions {
    grid-column: 1 / -1 !important;
}

.public-body .qr-menu.theme-menutje-mono .menu-cover-action {
    appearance: none;
    border-style: solid;
    cursor: pointer;
    font: inherit;
}

.public-body .qr-menu.theme-menutje-mono .menu-cover-action.wifi {
    max-width: 100%;
    transition: background .18s ease, color .18s ease, max-width .18s ease;
}

.public-body .qr-menu.theme-menutje-mono .menu-cover-action.wifi.is-revealed {
    background: #fff !important;
}

.public-body .qr-menu.theme-menutje-mono .menu-cover-action.wifi b {
    max-width: 190px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.promenu-social svg {
    fill: none;
    height: 22px;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.9;
    width: 22px;
}

.promenu-social.instagram svg circle:last-child {
    fill: currentColor;
    stroke: none;
}

.promenu-social.whatsapp svg path:first-child {
    fill: currentColor;
    opacity: .16;
}

.promenu-social.phone {
    background: #0f172a;
}

.promenu-feedback-button {
    min-width: max-content;
}

@media (max-width: 420px) {
    .public-body .qr-menu.theme-menutje-mono .menu-cover-hours {
        width: 100% !important;
    }

    .public-body .qr-menu.theme-menutje-mono .menu-cover-hours p {
        max-width: calc(100vw - 74px) !important;
    }

    .public-body .qr-menu.theme-menutje-mono .promenu-social-row {
        gap: 9px;
    }

    .promenu-feedback-button {
        flex: 1 1 auto;
        justify-content: center;
        margin-left: 0 !important;
        padding: 0 10px;
    }
}

/* v131 keep opening hours on the same row with cover actions */
.public-body .qr-menu.theme-menutje-mono .menu-hero-content.menu-cover-layout {
    grid-template-columns: max-content minmax(0, 1fr) !important;
}

.public-body .qr-menu.theme-menutje-mono .menu-cover-hours {
    grid-column: 1 !important;
    max-width: calc(100vw - 210px) !important;
    min-width: 0 !important;
    overflow: visible !important;
    width: max-content !important;
}

.public-body .qr-menu.theme-menutje-mono .menu-cover-hours p {
    align-items: center !important;
    display: inline-flex !important;
    font-size: 10px !important;
    line-height: 1.1 !important;
    max-width: 100% !important;
    min-height: 12px !important;
    min-width: 0 !important;
    overflow: visible !important;
    text-overflow: clip !important;
    white-space: nowrap !important;
}

.public-body .qr-menu.theme-menutje-mono .menu-cover-hours p br {
    display: none !important;
}

.public-body .qr-menu.theme-menutje-mono .menu-cover-actions {
    grid-column: 2 !important;
    justify-self: start !important;
    min-width: 0 !important;
    overflow: visible !important;
    white-space: nowrap !important;
}

.public-body .qr-menu.theme-menutje-mono .menu-cover-action {
    min-height: 26px !important;
    padding: 3px 6px !important;
}

.public-body .qr-menu.theme-menutje-mono .menu-cover-action b {
    font-size: 10px !important;
}

.public-body .qr-menu.theme-menutje-mono .menu-cover-icon,
.public-body .qr-menu.theme-menutje-mono .menu-cover-action > span {
    height: 16px !important;
    width: 16px !important;
}

.public-body .qr-menu.theme-menutje-mono .menu-cover-icon svg,
.public-body .qr-menu.theme-menutje-mono .menu-cover-action svg {
    height: 12px !important;
    width: 12px !important;
}

@media (max-width: 360px) {
    .public-body .qr-menu.theme-menutje-mono .menu-cover-hours p,
    .public-body .qr-menu.theme-menutje-mono .menu-cover-action b {
        font-size: 9px !important;
    }

    .public-body .qr-menu.theme-menutje-mono .menu-cover-action {
        padding-left: 5px !important;
        padding-right: 5px !important;
    }
}

.visual-coming-soon {
    object-fit: cover !important;
    object-position: center !important;
}

/* v137 desktop QR menu phone preview */
@media (min-width: 992px) {
    .public-body:has(> .qr-menu) {
        background:
            radial-gradient(circle at 12% 12%, rgba(95, 116, 47, .18), transparent 28%),
            radial-gradient(circle at 88% 8%, rgba(15, 23, 42, .16), transparent 26%),
            linear-gradient(135deg, #eef2e8 0%, #f8fafc 46%, #edf2f7 100%);
        min-height: 100vh;
    }

    .public-body > .qr-menu {
        --qr-desktop-phone-width: min(430px, calc(100vw - 48px));
        background: #f8faf9 !important;
        border: 12px solid #101418;
        border-bottom-width: 14px;
        border-top-width: 38px;
        border-radius: 44px;
        box-shadow:
            0 34px 95px rgba(15, 23, 42, .28),
            0 0 0 1px rgba(255, 255, 255, .28),
            inset 0 0 0 1px rgba(255, 255, 255, .06);
        height: calc(100vh - 48px);
        margin: 24px auto 0;
        max-height: none;
        max-width: var(--qr-desktop-phone-width);
        min-height: 0 !important;
        overflow-x: hidden;
        overflow-y: auto;
        position: relative;
        scrollbar-width: none;
        width: var(--qr-desktop-phone-width);
    }

    .public-body > .qr-menu::-webkit-scrollbar {
        height: 0;
        width: 0;
    }

    .public-body > .qr-menu::before {
        background: #050608;
        border-radius: 999px;
        box-shadow: inset 0 1px 1px rgba(255, 255, 255, .08);
        content: "";
        height: 14px;
        left: 50%;
        pointer-events: none;
        position: fixed;
        top: 36px;
        transform: translateX(-50%);
        width: 86px;
        z-index: 560;
    }

    .public-body > .qr-menu .menu-hero {
        min-height: 226px !important;
        padding: 14px !important;
    }

    .public-body > .qr-menu .menu-hero-content {
        gap: 8px !important;
        max-width: none !important;
        padding-top: 34px !important;
    }

    .public-body > .qr-menu .menu-hero h1 {
        font-size: 28px !important;
        line-height: 1.05 !important;
    }

    .public-body > .qr-menu .menu-hero p {
        font-size: 12px !important;
        line-height: 1.35 !important;
    }

    .public-body > .qr-menu .menu-logo {
        border-radius: 14px !important;
        height: 58px !important;
        width: 58px !important;
    }

    .public-body > .qr-menu .menu-toolbar {
        gap: 8px !important;
        padding: 10px 12px !important;
        top: 0 !important;
    }

    .public-body > .qr-menu .menu-search input {
        min-height: 40px !important;
    }

    .public-body > .qr-menu .category-tabs {
        gap: 8px !important;
        padding-bottom: 2px !important;
    }

    .public-body > .qr-menu .category-tabs a {
        font-size: 12px !important;
        min-height: 34px !important;
        padding: 7px 10px !important;
    }

    .public-body > .qr-menu .category-tabs a.with-image {
        padding: 5px 10px 5px 5px !important;
    }

    .public-body > .qr-menu .category-tabs img {
        height: 28px !important;
        width: 28px !important;
    }

    .public-body > .qr-menu .category-showcase {
        margin: 0 !important;
        padding: 14px 12px 10px !important;
    }

    .public-body > .qr-menu .category-showcase h2 {
        font-size: 20px !important;
        line-height: 1.12 !important;
        margin: 0 0 10px !important;
    }

    .public-body > .qr-menu .category-showcase > div {
        display: grid !important;
        gap: 10px !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        overflow: visible !important;
    }

    .public-body > .qr-menu .category-showcase a {
        border-radius: 16px !important;
        min-height: 120px !important;
        padding: 10px !important;
        width: auto !important;
    }

    .public-body > .qr-menu .category-showcase img {
        height: 100% !important;
        width: 100% !important;
    }

    .public-body > .qr-menu .category-showcase strong {
        font-size: 14px !important;
        line-height: 1.12 !important;
    }

    .public-body > .qr-menu .menu-content {
        max-width: none !important;
        padding: 15px 12px 88px !important;
    }

    .public-body > .qr-menu .menu-category {
        scroll-margin-top: 84px !important;
    }

    .public-body > .qr-menu .menu-category h2 {
        font-size: 21px !important;
        margin: 14px 0 10px !important;
    }

    .public-body > .qr-menu .product-grid-public,
    .public-body > .qr-menu.layout-two-column .product-grid-public,
    .public-body > .qr-menu.layout-horizontal .product-grid-public {
        display: grid !important;
        gap: 10px !important;
        grid-template-columns: 1fr !important;
    }

    .public-body > .qr-menu .menu-product,
    .public-body > .qr-menu.layout-horizontal .menu-product {
        border-radius: 14px !important;
        display: grid !important;
        grid-template-columns: 96px minmax(0, 1fr) !important;
        min-height: 116px !important;
    }

    .public-body > .qr-menu .product-media,
    .public-body > .qr-menu .product-media img,
    .public-body > .qr-menu .image-placeholder,
    .public-body > .qr-menu .logo-placeholder {
        aspect-ratio: auto !important;
        height: 100% !important;
        min-height: 116px !important;
        width: 96px !important;
    }

    .public-body > .qr-menu .product-info {
        gap: 7px !important;
        min-width: 0 !important;
        padding: 10px !important;
    }

    .public-body > .qr-menu .product-title-row {
        align-items: start !important;
        gap: 8px !important;
    }

    .public-body > .qr-menu .product-title-row h3 {
        font-size: 15px !important;
        line-height: 1.18 !important;
    }

    .public-body > .qr-menu .price-stack strong {
        font-size: 13px !important;
        white-space: nowrap !important;
    }

    .public-body > .qr-menu .product-description-short,
    .public-body > .qr-menu .product-description-trigger,
    .public-body > .qr-menu .ingredients-line {
        font-size: 11.5px !important;
        line-height: 1.25 !important;
    }

    .public-body > .qr-menu .product-action-row {
        gap: 6px !important;
    }

    .public-body > .qr-menu .product-action-row .button,
    .public-body > .qr-menu .product-detail-button,
    .public-body > .qr-menu .menu-cart-add {
        border-radius: 10px !important;
        font-size: 11.5px !important;
        min-height: 32px !important;
        padding: 6px 8px !important;
    }

    .public-body > .qr-menu .pill-row,
    .public-body > .qr-menu .goes-with,
    .public-body > .qr-menu .product-comments {
        display: none !important;
    }

    .public-body > .qr-menu .menu-footer {
        padding: 18px 14px 96px !important;
    }

    .public-body > .qr-menu.has-mobile-actions {
        padding-bottom: 78px !important;
    }

    .public-body > .qr-menu .cart-fab,
    .public-body > .qr-menu .service-fab {
        display: none !important;
    }

    .public-body > .qr-menu .mobile-actions {
        align-items: stretch !important;
        background: transparent !important;
        border: 0 !important;
        border-radius: 0 !important;
        bottom: 38px !important;
        box-shadow: none !important;
        display: grid !important;
        gap: 0 !important;
        grid-template-columns: 64px minmax(0, 1fr) 64px !important;
        height: 64px !important;
        left: 50% !important;
        max-width: calc(var(--qr-desktop-phone-width) - 24px) !important;
        overflow: visible !important;
        padding: 0 !important;
        position: fixed !important;
        right: auto !important;
        transform: translateX(-50%) !important;
        width: calc(var(--qr-desktop-phone-width) - 24px) !important;
        z-index: 520 !important;
    }

    .public-body > .qr-menu .mobile-actions:not(.has-cart-edge) {
        grid-template-columns: minmax(0, 1fr) 64px !important;
    }

    .public-body > .qr-menu .mobile-actions:not(.has-service-edge) {
        grid-template-columns: 64px minmax(0, 1fr) !important;
    }

    .public-body > .qr-menu .mobile-actions:not(.has-cart-edge):not(.has-service-edge) {
        grid-template-columns: minmax(0, 1fr) !important;
    }

    .public-body > .qr-menu .mobile-actions-middle {
        align-items: center !important;
        background: #fff !important;
        border-radius: 0 !important;
        border-top: 1px solid rgba(15, 23, 42, .08) !important;
        box-shadow: 0 -10px 26px rgba(15, 23, 42, .12) !important;
        display: grid !important;
        gap: 0 !important;
        grid-auto-columns: minmax(0, 1fr) !important;
        grid-auto-flow: column !important;
        height: 64px !important;
        min-width: 0 !important;
        overflow: hidden !important;
        padding: 0 !important;
        width: 100% !important;
    }

    .public-body > .qr-menu .mobile-dock-edge,
    .public-body > .qr-menu .mobile-action-button {
        align-items: center !important;
        border: 0 !important;
        display: inline-flex !important;
        height: 64px !important;
        justify-content: center !important;
        min-height: 64px !important;
        padding: 0 !important;
        width: 100% !important;
    }

    .public-body > .qr-menu .mobile-dock-edge {
        background: var(--primary, #111827) !important;
        color: #fff !important;
    }

    .public-body > .qr-menu .mobile-dock-cart {
        border-radius: 0 18px 0 0 !important;
        grid-column: 1 !important;
    }

    .public-body > .qr-menu .mobile-dock-service {
        border-radius: 18px 0 0 0 !important;
        grid-column: -2 / -1 !important;
    }

    .public-body > .qr-menu .mobile-action-button {
        background: #fff !important;
        color: var(--primary, #111827) !important;
    }

    .public-body > .qr-menu .mobile-action-button strong {
        display: none !important;
    }

    .public-body > .qr-menu .mobile-dock-icon,
    .public-body > .qr-menu .mobile-actions-feedback-icon,
    .public-body > .qr-menu .mobile-actions-share-icon {
        align-items: center !important;
        background: transparent !important;
        border: 0 !important;
        box-shadow: none !important;
        color: currentColor !important;
        display: inline-flex !important;
        height: 38px !important;
        justify-content: center !important;
        width: 38px !important;
    }

    .public-body > .qr-menu .mobile-dock-icon svg,
    .public-body > .qr-menu .mobile-actions-feedback-icon svg,
    .public-body > .qr-menu .mobile-actions-share-icon svg,
    .public-body > .qr-menu #basket-icon,
    .public-body > .qr-menu #call-btn-icon,
    .public-body > .qr-menu #mobile-actions-feedback-icon,
    .public-body > .qr-menu #mobile-actions-share-icon {
        display: block !important;
        height: 34px !important;
        width: 34px !important;
    }

    .public-body > .qr-menu .mobile-dock-icon svg *,
    .public-body > .qr-menu .mobile-actions-feedback-icon svg * {
        fill: currentColor !important;
    }

    .public-body > .qr-menu .mobile-dock-cart em {
        align-items: center !important;
        background: #ef4444 !important;
        border: 2px solid #fff !important;
        border-radius: 999px !important;
        color: #fff !important;
        display: inline-flex !important;
        font-size: 10px !important;
        font-style: normal !important;
        font-weight: 950 !important;
        height: 20px !important;
        justify-content: center !important;
        min-width: 20px !important;
        padding: 0 5px !important;
        position: absolute !important;
        right: 9px !important;
        top: 6px !important;
    }

    .public-body > .qr-menu .mobile-dock-cart.is-empty em {
        display: none !important;
    }

    .public-body > .qr-menu .menu-footer.has-mobile-footer-actions[data-mobile-footer-panel] {
        background: #fff !important;
        border: 1px solid rgba(15, 23, 42, .1) !important;
        border-radius: 18px !important;
        bottom: 114px !important;
        box-shadow: 0 22px 58px rgba(15, 23, 42, .24) !important;
        color: #111827 !important;
        display: block !important;
        left: 50% !important;
        max-height: min(58vh, 380px) !important;
        opacity: 0 !important;
        overflow: auto !important;
        padding: 12px !important;
        pointer-events: none !important;
        position: fixed !important;
        right: auto !important;
        transform: translateX(-50%) translateY(12px) scale(.98) !important;
        transition: opacity .2s ease, transform .22s ease !important;
        visibility: hidden !important;
        width: calc(var(--qr-desktop-phone-width) - 44px) !important;
        z-index: 515 !important;
    }

    .public-body > .qr-menu .menu-footer.has-mobile-footer-actions[data-mobile-footer-panel].is-open {
        opacity: 1 !important;
        pointer-events: auto !important;
        transform: translateX(-50%) translateY(0) scale(1) !important;
        visibility: visible !important;
    }

    .public-body > .qr-menu .menu-footer.has-mobile-footer-actions[data-mobile-footer-panel] .menu-footer-brand {
        display: none !important;
    }

    .public-body > .qr-menu .menu-footer.has-mobile-footer-actions[data-mobile-footer-panel] .menu-footer-links {
        display: grid !important;
        gap: 8px !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        width: 100% !important;
    }

    .public-body > .qr-menu .menu-footer.has-mobile-footer-actions[data-mobile-footer-panel] .footer-contact-card {
        background: #f8fafc !important;
        border: 1px solid rgba(15, 23, 42, .08) !important;
        border-radius: 14px !important;
        box-shadow: none !important;
        color: #111827 !important;
        min-height: 58px !important;
        padding: 9px !important;
    }

    .public-body > .qr-menu .description-modal,
    .public-body > .qr-menu .public-survey-modal,
    .public-body > .qr-menu .unit-choice-modal,
    .public-body > .qr-menu .service-modal,
    .public-body > .qr-menu .cart-drawer {
        border-radius: 44px !important;
        height: calc(100vh - 48px) !important;
        left: 50% !important;
        overflow: hidden !important;
        right: auto !important;
        top: 24px !important;
        transform: translateX(-50%) !important;
        width: var(--qr-desktop-phone-width) !important;
    }

    .public-body > .qr-menu .description-dialog,
    .public-body > .qr-menu .public-survey-dialog,
    .public-body > .qr-menu .unit-choice-dialog {
        max-height: calc(100vh - 112px) !important;
        max-width: calc(var(--qr-desktop-phone-width) - 42px) !important;
        width: calc(var(--qr-desktop-phone-width) - 42px) !important;
    }

    .public-body > .qr-menu .service-dialog {
        bottom: 18px !important;
        left: 14px !important;
        max-width: none !important;
        right: 14px !important;
        width: auto !important;
    }

    .public-body > .qr-menu .service-option-grid {
        gap: 8px !important;
        grid-template-columns: 1fr !important;
    }

    .public-body > .qr-menu .service-option-button {
        align-items: center !important;
        display: flex !important;
        gap: 12px !important;
        justify-content: flex-start !important;
        min-height: 74px !important;
        padding: 12px !important;
        text-align: left !important;
    }

    .public-body > .qr-menu .cart-panel {
        border-radius: 24px 24px 0 0 !important;
        bottom: 0 !important;
        height: min(86%, 690px) !important;
        max-width: none !important;
        padding: 18px !important;
        right: 0 !important;
        top: auto !important;
        width: 100% !important;
    }
}

/* v136 copyright line and denser admin workspace */
.app-copyright {
    color: rgba(71, 85, 105, .76);
    font-size: 12px;
    font-weight: 700;
    line-height: 1.35;
    padding: 14px 16px calc(14px + env(safe-area-inset-bottom));
    text-align: center;
}

.app-copyright a {
    color: #5f742f;
    font-weight: 900;
    text-decoration: none;
}

.app-copyright a:hover {
    text-decoration: underline;
}

.panel-body .app-copyright {
    border-top: 1px solid rgba(203, 213, 225, .7);
    margin: 16px auto 0;
    padding-left: 0;
    padding-right: 0;
    width: 100%;
}

.public-body .app-copyright {
    margin: 0 auto;
    max-width: 1120px;
}

.public-body .qr-menu + .app-copyright {
    padding-bottom: calc(92px + env(safe-area-inset-bottom));
}

.auth-shell .app-copyright {
    color: rgba(15, 23, 42, .62);
    margin: 10px auto 0;
}

@media (min-width: 768px) {
    .public-body .qr-menu + .app-copyright {
        padding-bottom: 18px;
    }
}

@media (min-width: 981px) {
    .panel-body.admin-panel {
        grid-template-columns: 220px minmax(0, 1fr) !important;
        font-size: 13px;
        line-height: 1.32;
    }

    .panel-body.admin-panel .sidebar {
        gap: 10px !important;
        padding: 12px !important;
    }

    .panel-body.admin-panel .brand {
        border-radius: 12px !important;
        gap: 8px !important;
        padding: 7px !important;
    }

    .panel-body.admin-panel .brand-logo-mark {
        border-radius: 10px !important;
        height: 32px !important;
        padding: 4px 6px !important;
        width: 112px !important;
    }

    .panel-body.admin-panel .brand strong {
        font-size: 12.5px !important;
        line-height: 1.1;
    }

    .panel-body.admin-panel .brand small {
        font-size: 10.5px !important;
        margin-top: 0;
    }

    .panel-body.admin-panel .nav-list {
        gap: 4px !important;
    }

    .panel-body.admin-panel .nav-list a {
        border-radius: 9px !important;
        font-size: 12.5px !important;
        line-height: 1.15;
        min-height: 30px !important;
        padding: 6px 8px !important;
    }

    .panel-body.admin-panel .logout-form {
        gap: 8px;
        padding-top: 9px !important;
    }

    .panel-body.admin-panel .logout-form span {
        font-size: 11.5px;
    }

    .panel-body.admin-panel .logout-form button {
        border-radius: 9px !important;
        font-size: 12px !important;
        min-height: 30px !important;
        padding: 5px 8px !important;
    }

    .panel-body.admin-panel .panel-main {
        padding: clamp(14px, 1.15vw, 20px) !important;
    }

    .panel-body.admin-panel .page-header {
        border-radius: 13px !important;
        gap: 10px !important;
        margin-bottom: 10px !important;
        padding: 12px 14px !important;
    }

    .panel-body.admin-panel .page-header h1 {
        font-size: clamp(21px, 1.55vw, 26px) !important;
        line-height: 1.06;
        margin-top: 2px !important;
    }

    .panel-body.admin-panel .eyebrow {
        font-size: 10px !important;
        letter-spacing: .04em;
    }

    .panel-body.admin-panel .alert {
        border-radius: 10px;
        margin-bottom: 10px !important;
        padding: 8px 10px !important;
    }

    .panel-body.admin-panel .stat-grid {
        gap: 9px !important;
        margin-bottom: 10px !important;
    }

    .panel-body.admin-panel .stat-card {
        border-radius: 12px !important;
        padding: 11px 12px !important;
    }

    .panel-body.admin-panel .stat-card span {
        font-size: 11px !important;
        line-height: 1.15;
    }

    .panel-body.admin-panel .stat-card strong {
        font-size: 22px !important;
        line-height: 1;
        margin-top: 5px !important;
    }

    .panel-body.admin-panel .form-panel,
    .panel-body.admin-panel .panel-section {
        border-radius: 12px !important;
        padding: 12px !important;
    }

    .panel-body.admin-panel .panel-form,
    .panel-body.admin-panel .pricing-admin-grid,
    .panel-body.admin-panel .field-grid,
    .panel-body.admin-panel .filter-bar {
        gap: 9px !important;
    }

    .panel-body.admin-panel .section-title {
        gap: 8px !important;
        margin-bottom: 8px !important;
    }

    .panel-body.admin-panel .section-title h2,
    .panel-body.admin-panel .form-panel h2 {
        font-size: 15px !important;
        line-height: 1.15;
    }

    .panel-body.admin-panel .section-title small,
    .panel-body.admin-panel .muted,
    .panel-body.admin-panel .form-help,
    .panel-body.admin-panel table small {
        font-size: 11px !important;
        line-height: 1.25;
    }

    .panel-body.admin-panel label {
        font-size: 12px !important;
        gap: 4px !important;
        line-height: 1.2;
    }

    .panel-body.admin-panel input,
    .panel-body.admin-panel select,
    .panel-body.admin-panel textarea {
        border-radius: 8px !important;
        font-size: 12.5px !important;
        min-height: 31px !important;
        padding: 6px 8px !important;
    }

    .panel-body.admin-panel textarea {
        line-height: 1.28;
        min-height: 64px !important;
    }

    .panel-body.admin-panel .button,
    .panel-body.admin-panel button {
        border-radius: 8px !important;
        font-size: 12px !important;
        line-height: 1.12;
        min-height: 31px !important;
        padding: 6px 9px !important;
    }

    .panel-body.admin-panel .filter-bar,
    .panel-body.admin-panel .admin-filter-bar {
        border-radius: 11px !important;
        margin-bottom: 10px !important;
        padding: 10px !important;
    }

    .panel-body.admin-panel table {
        font-size: 12px !important;
        line-height: 1.22;
    }

    .panel-body.admin-panel th,
    .panel-body.admin-panel td {
        padding: 6px 8px !important;
    }

    .panel-body.admin-panel td small {
        margin-top: 2px;
    }

    .panel-body.admin-panel td strong {
        font-size: 12.5px !important;
        line-height: 1.16;
    }

    .panel-body.admin-panel .status {
        font-size: 10px !important;
        padding: 3px 6px !important;
    }

    .panel-body.admin-panel code {
        border-radius: 5px !important;
        font-size: 11px !important;
        padding: 1px 5px !important;
    }

    .panel-body.admin-panel .table-actions {
        gap: 5px !important;
    }

    .panel-body.admin-panel .table-actions .button,
    .panel-body.admin-panel .table-actions button {
        min-height: 28px !important;
        padding: 5px 7px !important;
    }

    .panel-body.admin-panel .pricing-admin-card {
        border-radius: 12px !important;
    }
}

/* v138 final desktop phone fit overrides */
@media (min-width: 992px) {
    .public-body:has(> .qr-menu) {
        padding-top: 24px;
    }

    .public-body > main.qr-menu {
        margin: 0 auto !important;
    }

    .public-body > main.qr-menu .category-showcase > div,
    .public-body > main.qr-menu.theme-menutje-mono.nav-category_grid .category-showcase > div,
    .public-body > main.qr-menu.theme-noir-catalog.nav-category_grid .category-showcase > div {
        display: grid !important;
        gap: 10px !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        overflow: visible !important;
    }

    .public-body > main.qr-menu .category-showcase a,
    .public-body > main.qr-menu.theme-menutje-mono.nav-category_grid .category-showcase a,
    .public-body > main.qr-menu.theme-noir-catalog.nav-category_grid .category-showcase a {
        max-width: none !important;
        min-width: 0 !important;
        width: 100% !important;
    }
}

/* v139 mobile/menu viewport containment */
@media (max-width: 991px) {
    .public-body > main.qr-menu {
        max-width: 100vw !important;
        overflow-x: hidden !important;
        width: 100vw !important;
    }

    .public-body > main.qr-menu .category-showcase {
        max-width: 100vw !important;
        overflow: hidden !important;
        padding-left: 14px !important;
        padding-right: 14px !important;
    }

    .public-body > main.qr-menu .category-showcase > div,
    .public-body > main.qr-menu.theme-menutje-mono.nav-category_grid .category-showcase > div,
    .public-body > main.qr-menu.theme-noir-catalog.nav-category_grid .category-showcase > div {
        display: grid !important;
        gap: 10px !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        max-width: 100% !important;
        min-width: 0 !important;
        overflow: visible !important;
        width: 100% !important;
    }

    .public-body > main.qr-menu .category-showcase a,
    .public-body > main.qr-menu.theme-menutje-mono.nav-category_grid .category-showcase a,
    .public-body > main.qr-menu.theme-noir-catalog.nav-category_grid .category-showcase a {
        max-width: 100% !important;
        min-width: 0 !important;
        width: 100% !important;
    }

    .public-body > main.qr-menu .category-showcase img {
        max-width: 100% !important;
        width: 100% !important;
    }

    .public-body > main.qr-menu .mobile-actions,
    .public-body > main.qr-menu.has-mobile-actions .mobile-actions,
    .public-body > main.qr-menu.has-cart-action .mobile-actions,
    .public-body > main.qr-menu.has-service-action .mobile-actions,
    .public-body > main.qr-menu.has-cart-action.has-service-action .mobile-actions {
        left: 0 !important;
        max-width: 100vw !important;
        right: 0 !important;
        width: 100vw !important;
    }

    .public-body > main.qr-menu .mobile-actions.has-cart-edge.has-service-edge {
        grid-template-columns: 64px minmax(0, 1fr) 64px !important;
    }

    .public-body > main.qr-menu .mobile-actions.has-cart-edge:not(.has-service-edge) {
        grid-template-columns: 64px minmax(0, 1fr) !important;
    }

    .public-body > main.qr-menu .mobile-actions:not(.has-cart-edge).has-service-edge {
        grid-template-columns: minmax(0, 1fr) 64px !important;
    }

    .public-body > main.qr-menu .mobile-actions:not(.has-cart-edge):not(.has-service-edge) {
        grid-template-columns: minmax(0, 1fr) !important;
    }

    .public-body > main.qr-menu .mobile-actions-middle {
        grid-column: 2 !important;
        min-width: 0 !important;
        width: 100% !important;
    }

    .public-body > main.qr-menu .mobile-actions:not(.has-cart-edge).has-service-edge .mobile-actions-middle,
    .public-body > main.qr-menu .mobile-actions:not(.has-cart-edge):not(.has-service-edge) .mobile-actions-middle {
        grid-column: 1 !important;
    }

    .public-body > main.qr-menu .mobile-dock-cart {
        grid-column: 1 !important;
    }

    .public-body > main.qr-menu .mobile-dock-service {
        grid-column: -2 / -1 !important;
    }
}

/* v140 admin logo upload and cleaner panel brand */
.brand-logo-mark,
.launch-brand-logo,
.login-brand-logo {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    object-fit: contain !important;
    padding: 0 !important;
}

.panel-body .brand-logo-mark {
    height: auto !important;
    max-height: 46px !important;
    width: min(164px, 100%) !important;
}

.launch-brand-logo {
    width: min(178px, 42vw) !important;
}

.login-brand-logo {
    width: min(190px, 46vw) !important;
}

.admin-logo-upload-card {
    align-content: start;
}

.admin-logo-preview {
    align-items: center;
    background:
        linear-gradient(45deg, #f1f5f9 25%, transparent 25%),
        linear-gradient(-45deg, #f1f5f9 25%, transparent 25%),
        linear-gradient(45deg, transparent 75%, #f1f5f9 75%),
        linear-gradient(-45deg, transparent 75%, #f1f5f9 75%),
        #ffffff;
    background-position: 0 0, 0 8px, 8px -8px, -8px 0;
    background-size: 16px 16px;
    border: 1px solid rgba(148, 163, 184, .35);
    border-radius: 16px;
    display: flex;
    justify-content: center;
    min-height: 118px;
    padding: 18px;
}

.admin-logo-preview img {
    display: block;
    max-height: 76px;
    max-width: 100%;
    object-fit: contain;
}

.panel-body.customer-panel .brand,
.panel-body.admin-panel .brand {
    align-items: stretch !important;
    display: grid !important;
    gap: 10px !important;
}

.panel-body.customer-panel .brand {
    background: rgba(255, 255, 255, .92) !important;
    border: 1px solid rgba(203, 213, 225, .9) !important;
    border-radius: 18px !important;
    box-shadow: 0 16px 36px rgba(15, 23, 42, .08) !important;
    padding: 14px !important;
}

.panel-body.customer-panel .brand span,
.panel-body.admin-panel .brand span {
    display: grid;
    gap: 2px;
    min-width: 0;
}

.panel-body.customer-panel .brand span {
    background: linear-gradient(135deg, rgba(248, 250, 252, .96), rgba(240, 253, 250, .86));
    border: 1px solid rgba(203, 213, 225, .72);
    border-radius: 14px;
    padding: 10px 11px;
}

.panel-body.customer-panel .brand strong {
    color: #0f172a;
    font-size: 14px;
    line-height: 1.16;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.panel-body.customer-panel .brand small {
    color: #64748b;
    font-size: 11px;
    font-weight: 850;
}

@media (max-width: 980px) {
    .panel-body.customer-panel .brand,
    .panel-body.admin-panel .brand {
        align-items: center !important;
        display: flex !important;
        gap: 10px !important;
    }

    .panel-body.customer-panel .brand-logo-mark,
    .panel-body.admin-panel .brand-logo-mark {
        flex: 0 0 auto !important;
        max-height: 34px !important;
        width: 112px !important;
    }

    .panel-body.customer-panel .brand span {
        background: transparent;
        border: 0;
        padding: 0;
    }
}

@media (max-width: 420px) {
    .public-body > main.qr-menu .mobile-actions.has-cart-edge.has-service-edge {
        grid-template-columns: 58px minmax(0, 1fr) 58px !important;
    }

    .public-body > main.qr-menu .mobile-actions.has-cart-edge:not(.has-service-edge) {
        grid-template-columns: 58px minmax(0, 1fr) !important;
    }

    .public-body > main.qr-menu .mobile-actions:not(.has-cart-edge).has-service-edge {
        grid-template-columns: minmax(0, 1fr) 58px !important;
    }
}

/* v143 professional admin workspace and mobile drawer */
.admin-mobile-bar,
.admin-menu-backdrop {
    display: none;
}

.panel-body.admin-panel {
    background: #f3f6f8;
    color: #172033;
}

.panel-body.admin-panel .sidebar {
    background: linear-gradient(180deg, #101820 0%, #12202a 48%, #0f172a 100%) !important;
    border-right: 1px solid rgba(148, 163, 184, .18);
    box-shadow: 12px 0 34px rgba(15, 23, 42, .14) !important;
}

.panel-body.admin-panel .sidebar::before {
    opacity: .16 !important;
}

.panel-body.admin-panel .brand {
    background: rgba(255, 255, 255, .07) !important;
    border: 1px solid rgba(255, 255, 255, .12) !important;
    border-radius: 8px !important;
    box-shadow: none !important;
}

.panel-body.admin-panel .brand strong,
.panel-body.admin-panel .nav-list a strong {
    letter-spacing: 0;
}

.panel-body.admin-panel .nav-list a {
    border-radius: 8px !important;
    color: rgba(241, 245, 249, .78);
    justify-content: flex-start !important;
    min-width: 0;
}

.panel-body.admin-panel .nav-list a > span {
    display: grid;
    gap: 2px;
    min-width: 0;
}

.panel-body.admin-panel .nav-list a strong {
    color: inherit;
    font-size: 13px;
    line-height: 1.12;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.panel-body.admin-panel .nav-list a small {
    color: rgba(203, 213, 225, .62);
    font-size: 11px;
    font-weight: 750;
    line-height: 1.1;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.panel-body.admin-panel .nav-list a.active {
    background: #ffffff !important;
    border-color: rgba(255, 255, 255, .52) !important;
    box-shadow: 0 12px 28px rgba(2, 6, 23, .2) !important;
    color: #0f172a !important;
}

.panel-body.admin-panel .nav-list a.active small {
    color: #64748b;
}

.panel-body.admin-panel .logout-form {
    border-top-color: rgba(255, 255, 255, .12) !important;
}

.panel-body.admin-panel .logout-form button {
    background: rgba(255, 255, 255, .1);
    border: 1px solid rgba(255, 255, 255, .14);
}

.panel-body.admin-panel .panel-main {
    background: #f3f6f8 !important;
}

.panel-body.admin-panel .page-header,
.panel-body.admin-panel .form-panel,
.panel-body.admin-panel .panel-section,
.panel-body.admin-panel .stat-card,
.admin-panel-card,
.admin-quick-grid a,
.admin-summary-strip > div {
    border: 1px solid rgba(203, 213, 225, .78) !important;
    border-radius: 8px !important;
    box-shadow: 0 12px 30px rgba(15, 23, 42, .06) !important;
}

.panel-body.admin-panel .page-header {
    background: #ffffff !important;
}

.admin-dashboard-hero {
    align-items: stretch;
}

.admin-dashboard-hero p {
    color: #64748b;
    font-size: 14px;
    font-weight: 650;
    line-height: 1.45;
    margin: 8px 0 0;
    max-width: 620px;
}

.admin-summary-strip {
    display: grid;
    gap: 10px;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin: 0 0 14px;
}

.admin-summary-strip > div {
    background: #111827;
    color: #ffffff;
    min-width: 0;
    padding: 14px;
}

.admin-summary-strip span,
.admin-stat-grid .stat-card small {
    color: rgba(203, 213, 225, .78);
    display: block;
    font-size: 12px;
    font-weight: 800;
    line-height: 1.2;
}

.admin-summary-strip strong {
    display: block;
    font-size: 24px;
    line-height: 1;
    margin-top: 8px;
}

.admin-stat-grid .stat-card {
    background: #ffffff;
    display: grid;
    gap: 6px;
}

.admin-stat-grid .stat-card small {
    color: #64748b;
    margin-top: 0;
}

.admin-quick-grid {
    display: grid;
    gap: 10px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin: 0 0 14px;
}

.admin-quick-grid a {
    background: #ffffff;
    color: #172033;
    display: grid;
    gap: 7px;
    min-height: 96px;
    padding: 16px;
    text-decoration: none;
    transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.admin-quick-grid a:hover {
    border-color: rgba(20, 184, 166, .5) !important;
    box-shadow: 0 16px 34px rgba(15, 23, 42, .1) !important;
    transform: translateY(-1px);
}

.admin-quick-grid strong {
    font-size: 15px;
    line-height: 1.15;
}

.admin-quick-grid span {
    color: #64748b;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.35;
}

.admin-dashboard-grid {
    display: grid;
    gap: 14px;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    margin-bottom: 14px;
}

.admin-panel-card {
    background: #ffffff;
    padding: 18px;
}

.admin-status-list,
.admin-health-list {
    display: grid;
    gap: 8px;
}

.admin-status-list div,
.admin-health-list div {
    align-items: center;
    background: #f8fafc;
    border: 1px solid rgba(226, 232, 240, .94);
    border-radius: 8px;
    display: grid;
    gap: 5px;
    grid-template-columns: minmax(0, 1fr) auto;
    padding: 11px 12px;
}

.admin-status-list span,
.admin-health-list small {
    color: #64748b;
    font-size: 12px;
    font-weight: 750;
    line-height: 1.2;
}

.admin-status-list strong {
    font-size: 20px;
    line-height: 1;
}

.admin-health-list .status {
    grid-column: 2;
    grid-row: 1 / span 2;
}

.admin-health-list strong {
    font-size: 14px;
    line-height: 1.2;
}

.status.danger {
    background: #fef3f2;
    color: var(--danger);
}

.admin-recent-section {
    margin-top: 0;
}

.panel-body.admin-panel .admin-responsive-table td[data-label="İşlem"] {
    width: 1%;
}

@media (min-width: 981px) {
    .panel-body.admin-panel {
        grid-template-columns: 244px minmax(0, 1fr) !important;
    }

    .panel-body.admin-panel .panel-main {
        padding: 22px !important;
    }
}

@media (max-width: 980px) {
    .panel-body.admin-panel {
        display: block;
        min-height: 100vh;
        padding-top: 64px;
    }

    .admin-mobile-bar {
        align-items: center;
        background: rgba(255, 255, 255, .96);
        border-bottom: 1px solid rgba(203, 213, 225, .82);
        box-shadow: 0 8px 24px rgba(15, 23, 42, .08);
        display: flex;
        gap: 12px;
        height: 64px;
        left: 0;
        padding: 10px 14px;
        position: fixed;
        right: 0;
        top: 0;
        z-index: 80;
    }

    .admin-menu-toggle {
        align-items: center;
        background: #0f172a;
        border: 0;
        border-radius: 8px;
        display: inline-flex;
        flex: 0 0 42px;
        height: 42px;
        justify-content: center;
        min-height: 42px;
        padding: 0;
        position: relative;
        width: 42px;
    }

    .admin-menu-toggle span {
        background: #ffffff;
        border-radius: 999px;
        display: block;
        height: 2px;
        position: absolute;
        width: 18px;
    }

    .admin-menu-toggle span:nth-child(1) {
        transform: translateY(-6px);
    }

    .admin-menu-toggle span:nth-child(3) {
        transform: translateY(6px);
    }

    .admin-mobile-brand {
        align-items: center;
        color: #0f172a;
        display: flex;
        gap: 10px;
        min-width: 0;
        text-decoration: none;
    }

    .admin-mobile-brand img {
        display: block;
        max-height: 32px;
        max-width: 128px;
        object-fit: contain;
    }

    .admin-mobile-brand strong {
        font-size: 13px;
        line-height: 1.1;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .admin-menu-backdrop {
        background: rgba(15, 23, 42, .44);
        border: 0;
        display: block;
        inset: 0;
        opacity: 0;
        pointer-events: none;
        position: fixed;
        transition: opacity .2s ease;
        z-index: 86;
    }

    .panel-body.admin-panel .sidebar {
        height: 100dvh;
        left: 0;
        max-width: 330px;
        min-height: 100dvh !important;
        overflow-y: auto;
        padding: 14px !important;
        position: fixed !important;
        top: 0;
        transform: translateX(-104%);
        transition: transform .22s ease;
        width: 86vw;
        z-index: 90;
    }

    .panel-body.admin-panel.admin-nav-open {
        overflow: hidden;
    }

    .panel-body.admin-panel.admin-nav-open .admin-menu-backdrop {
        opacity: 1;
        pointer-events: auto;
    }

    .panel-body.admin-panel.admin-nav-open .sidebar {
        transform: translateX(0);
    }

    .panel-body.admin-panel .panel-main {
        min-height: calc(100vh - 64px);
        padding: 16px !important;
    }

    .panel-body.admin-panel .page-header {
        align-items: stretch;
        display: grid;
        gap: 14px;
        padding: 16px !important;
    }

    .panel-body.admin-panel .page-header h1 {
        font-size: 24px !important;
        line-height: 1.1;
    }

    .panel-body.admin-panel .header-actions {
        display: grid;
        grid-template-columns: 1fr 1fr;
        width: 100%;
    }

    .panel-body.admin-panel .header-actions .button,
    .panel-body.admin-panel .header-actions button {
        justify-content: center;
        width: 100%;
    }

    .admin-summary-strip,
    .admin-dashboard-grid,
    .panel-body.admin-panel .stat-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

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

@media (max-width: 720px) {
    .panel-body.admin-panel .panel-main {
        padding: 12px !important;
    }

    .panel-body.admin-panel .panel-form.two-column,
    .panel-body.admin-panel .field-grid,
    .panel-body.admin-panel .filter-bar,
    .admin-summary-strip,
    .admin-dashboard-grid,
    .panel-body.admin-panel .stat-grid,
    .admin-quick-grid {
        grid-template-columns: 1fr !important;
    }

    .panel-body.admin-panel .header-actions {
        grid-template-columns: 1fr;
    }

    .panel-body.admin-panel .form-panel,
    .panel-body.admin-panel .panel-section,
    .panel-body.admin-panel .stat-card,
    .admin-panel-card,
    .admin-quick-grid a,
    .admin-summary-strip > div {
        padding: 14px !important;
    }

    .panel-body.admin-panel .admin-table-wrap {
        overflow: visible;
    }

    .panel-body.admin-panel .admin-responsive-table,
    .panel-body.admin-panel .admin-responsive-table thead,
    .panel-body.admin-panel .admin-responsive-table tbody,
    .panel-body.admin-panel .admin-responsive-table tr,
    .panel-body.admin-panel .admin-responsive-table th,
    .panel-body.admin-panel .admin-responsive-table td {
        display: block;
        width: 100% !important;
    }

    .panel-body.admin-panel .admin-responsive-table thead {
        display: none;
    }

    .panel-body.admin-panel .admin-responsive-table tbody {
        display: grid;
        gap: 10px;
    }

    .panel-body.admin-panel .admin-responsive-table tr {
        background: #ffffff;
        border: 1px solid rgba(203, 213, 225, .82);
        border-radius: 8px;
        box-shadow: 0 10px 24px rgba(15, 23, 42, .06);
        overflow: hidden;
    }

    .panel-body.admin-panel .admin-responsive-table td {
        align-items: start;
        border-bottom: 1px solid rgba(226, 232, 240, .9);
        display: grid;
        gap: 10px;
        grid-template-columns: 96px minmax(0, 1fr);
        padding: 10px 12px !important;
    }

    .panel-body.admin-panel .admin-responsive-table td:last-child {
        border-bottom: 0;
    }

    .panel-body.admin-panel .admin-responsive-table td::before {
        color: #64748b;
        content: attr(data-label);
        font-size: 11px;
        font-weight: 900;
        line-height: 1.25;
        text-transform: uppercase;
    }

    .panel-body.admin-panel .admin-responsive-table .table-actions {
        display: grid;
        gap: 8px;
        grid-template-columns: 1fr;
    }

    .panel-body.admin-panel .admin-responsive-table .table-actions .button,
    .panel-body.admin-panel .admin-responsive-table .table-actions button {
        justify-content: center;
        width: 100%;
    }
}

@media (max-width: 420px) {
    .admin-mobile-brand img {
        max-width: 108px;
    }

    .panel-body.admin-panel .admin-responsive-table td {
        grid-template-columns: 82px minmax(0, 1fr);
    }
}

/* v144 minimal customer workspace */
.customer-mobile-bar,
.customer-menu-backdrop {
    display: none;
}

.panel-body.customer-panel {
    background: #f5f7f9 !important;
    color: #172033;
}

.panel-body.customer-panel .sidebar {
    background: #111827 !important;
    border-right: 1px solid rgba(148, 163, 184, .2);
    box-shadow: 10px 0 28px rgba(15, 23, 42, .12) !important;
    gap: 12px !important;
    padding: 14px !important;
}

.panel-body.customer-panel .sidebar::before {
    display: none !important;
}

.panel-body.customer-panel .brand {
    background: rgba(255, 255, 255, .07) !important;
    border: 1px solid rgba(255, 255, 255, .12) !important;
    border-radius: 8px !important;
    box-shadow: none !important;
    padding: 10px !important;
}

.panel-body.customer-panel .brand span {
    background: transparent !important;
    border: 0 !important;
    padding: 0 !important;
}

.panel-body.customer-panel .brand strong {
    color: #ffffff !important;
    font-size: 13px !important;
}

.panel-body.customer-panel .brand small {
    color: rgba(203, 213, 225, .7) !important;
    font-size: 11px !important;
}

.customer-menu-preview {
    align-items: center;
    background: #0f766e;
    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: 8px;
    color: #ffffff;
    display: inline-flex;
    font-size: 13px;
    font-weight: 900;
    justify-content: center;
    min-height: 38px;
    padding: 9px 12px;
    text-decoration: none;
}

.customer-menu-preview:hover {
    background: #0b625d;
    color: #ffffff;
}

.panel-body.customer-panel .nav-list {
    gap: 4px !important;
}

.panel-body.customer-panel .nav-list a {
    border-radius: 8px !important;
    color: rgba(241, 245, 249, .78);
    font-size: 12.5px !important;
    font-weight: 800;
    line-height: 1.1;
    min-height: 34px !important;
    padding: 8px 10px !important;
}

.panel-body.customer-panel .nav-list a:hover {
    background: rgba(255, 255, 255, .08);
    border-color: rgba(255, 255, 255, .12);
    color: #ffffff;
    transform: none !important;
}

.panel-body.customer-panel .nav-list a.active {
    background: #ffffff !important;
    border-color: rgba(255, 255, 255, .4) !important;
    box-shadow: none !important;
    color: #0f172a !important;
}

.panel-body.customer-panel .logout-form {
    border-top-color: rgba(255, 255, 255, .12) !important;
    gap: 8px;
    padding-top: 10px !important;
}

.panel-body.customer-panel .logout-form button {
    background: rgba(255, 255, 255, .1);
    border: 1px solid rgba(255, 255, 255, .14);
    border-radius: 8px !important;
    min-height: 32px;
    padding: 6px 10px;
}

.panel-body.customer-panel .panel-main {
    background: #f5f7f9 !important;
    padding: 22px !important;
}

.panel-body.customer-panel .page-header {
    background: #ffffff !important;
    border: 1px solid rgba(203, 213, 225, .82) !important;
    border-radius: 8px !important;
    box-shadow: 0 10px 24px rgba(15, 23, 42, .05) !important;
    margin-bottom: 14px !important;
    padding: 16px 18px !important;
}

.panel-body.customer-panel .page-header h1 {
    font-size: clamp(22px, 2vw, 28px) !important;
    line-height: 1.08;
    margin-top: 3px !important;
}

.panel-body.customer-panel .eyebrow {
    font-size: 10.5px !important;
    letter-spacing: .04em;
}

.panel-body.customer-panel .form-panel,
.panel-body.customer-panel .panel-section,
.panel-body.customer-panel .stat-card {
    background: #ffffff !important;
    border: 1px solid rgba(203, 213, 225, .82) !important;
    border-radius: 8px !important;
    box-shadow: 0 10px 24px rgba(15, 23, 42, .05) !important;
    padding: 14px !important;
}

.panel-body.customer-panel .stat-grid {
    gap: 10px !important;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin-bottom: 14px !important;
}

.panel-body.customer-panel .stat-card {
    min-height: 92px;
}

.panel-body.customer-panel .stat-card span {
    font-size: 11.5px !important;
    line-height: 1.2;
}

.panel-body.customer-panel .stat-card strong {
    font-size: 24px !important;
    line-height: 1;
    margin-top: 8px !important;
}

.panel-body.customer-panel .quick-actions {
    gap: 10px !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-bottom: 14px;
}

.panel-body.customer-panel .quick-actions a {
    background: #ffffff !important;
    border: 1px solid rgba(203, 213, 225, .82);
    border-radius: 8px !important;
    box-shadow: 0 10px 24px rgba(15, 23, 42, .05) !important;
    min-height: 82px;
    padding: 14px !important;
}

.panel-body.customer-panel .quick-actions a::before {
    display: none !important;
}

.panel-body.customer-panel .quick-actions strong {
    color: #172033;
    font-size: 14px;
    line-height: 1.12;
}

.panel-body.customer-panel .quick-actions span {
    color: #64748b;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.28;
    margin-top: 5px;
}

.panel-body.customer-panel .panel-form,
.panel-body.customer-panel .field-grid,
.panel-body.customer-panel .filter-bar,
.panel-body.customer-panel .info-grid,
.panel-body.customer-panel .check-grid {
    gap: 10px !important;
}

.panel-body.customer-panel .section-title {
    margin-bottom: 10px !important;
}

.panel-body.customer-panel .section-title h2,
.panel-body.customer-panel .form-panel h2 {
    font-size: 16px !important;
    line-height: 1.15;
}

.panel-body.customer-panel label {
    font-size: 12.5px !important;
    gap: 5px !important;
}

.panel-body.customer-panel input,
.panel-body.customer-panel select,
.panel-body.customer-panel textarea {
    border-radius: 8px !important;
    font-size: 12.5px !important;
    min-height: 34px !important;
    padding: 7px 9px !important;
}

.panel-body.customer-panel textarea {
    line-height: 1.3;
    min-height: 72px !important;
}

.panel-body.customer-panel .button,
.panel-body.customer-panel button {
    border-radius: 8px !important;
    font-size: 12.5px !important;
    min-height: 34px !important;
    padding: 7px 11px !important;
}

.panel-body.customer-panel .table-wrap {
    border: 1px solid rgba(226, 232, 240, .92);
    border-radius: 8px;
}

.panel-body.customer-panel table {
    font-size: 12.5px !important;
    line-height: 1.25;
}

.panel-body.customer-panel th,
.panel-body.customer-panel td {
    padding: 8px 10px !important;
}

.panel-body.customer-panel td small,
.panel-body.customer-panel .muted,
.panel-body.customer-panel .form-help,
.panel-body.customer-panel .section-title small {
    font-size: 11.5px !important;
    line-height: 1.25;
}

.panel-body.customer-panel .status {
    font-size: 10.5px !important;
    padding: 3px 7px !important;
}

.panel-body.customer-panel code {
    border-radius: 5px !important;
    font-size: 11px !important;
    padding: 2px 5px !important;
}

@media (min-width: 981px) {
    .panel-body.customer-panel {
        grid-template-columns: 220px minmax(0, 1fr) !important;
    }

    .panel-body.customer-panel .sidebar {
        max-height: 100vh;
        overflow-y: auto;
    }
}

@media (max-width: 1180px) {
    .panel-body.customer-panel .stat-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 980px) {
    .panel-body.customer-panel {
        display: block;
        min-height: 100vh;
        padding-top: 64px;
    }

    .customer-mobile-bar {
        align-items: center;
        background: rgba(255, 255, 255, .96);
        border-bottom: 1px solid rgba(203, 213, 225, .82);
        box-shadow: 0 8px 22px rgba(15, 23, 42, .08);
        display: flex;
        gap: 12px;
        height: 64px;
        left: 0;
        padding: 10px 14px;
        position: fixed;
        right: 0;
        top: 0;
        z-index: 80;
    }

    .customer-menu-toggle {
        align-items: center;
        background: #111827;
        border: 0;
        border-radius: 8px;
        display: inline-flex;
        flex: 0 0 42px;
        height: 42px;
        justify-content: center;
        min-height: 42px;
        padding: 0;
        position: relative;
        width: 42px;
    }

    .customer-menu-toggle span {
        background: #ffffff;
        border-radius: 999px;
        display: block;
        height: 2px;
        position: absolute;
        width: 18px;
    }

    .customer-menu-toggle span:nth-child(1) {
        transform: translateY(-6px);
    }

    .customer-menu-toggle span:nth-child(3) {
        transform: translateY(6px);
    }

    .customer-mobile-brand {
        align-items: center;
        color: #0f172a;
        display: flex;
        gap: 10px;
        min-width: 0;
        text-decoration: none;
    }

    .customer-mobile-brand img {
        display: block;
        max-height: 32px;
        max-width: 120px;
        object-fit: contain;
    }

    .customer-mobile-brand strong {
        font-size: 13px;
        line-height: 1.1;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .customer-menu-backdrop {
        background: rgba(15, 23, 42, .44);
        border: 0;
        display: block;
        inset: 0;
        opacity: 0;
        pointer-events: none;
        position: fixed;
        transition: opacity .2s ease;
        z-index: 86;
    }

    .panel-body.customer-panel .sidebar {
        height: 100dvh;
        left: 0;
        max-width: 320px;
        min-height: 100dvh !important;
        overflow-y: auto;
        position: fixed !important;
        top: 0;
        transform: translateX(-104%);
        transition: transform .22s ease;
        width: 86vw;
        z-index: 90;
    }

    .panel-body.customer-panel.customer-nav-open {
        overflow: hidden;
    }

    .panel-body.customer-panel.customer-nav-open .customer-menu-backdrop {
        opacity: 1;
        pointer-events: auto;
    }

    .panel-body.customer-panel.customer-nav-open .sidebar {
        transform: translateX(0);
    }

    .panel-body.customer-panel .panel-main {
        min-height: calc(100vh - 64px);
        padding: 14px !important;
    }

    .panel-body.customer-panel .page-header {
        align-items: stretch;
        display: grid;
        gap: 12px;
        padding-right: 124px !important;
    }

    .panel-body.customer-panel .page-header h1 {
        font-size: 22px !important;
    }

    .panel-body.customer-panel .stat-grid,
    .panel-body.customer-panel .quick-actions,
    .panel-body.customer-panel .info-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 640px) {
    .panel-body.customer-panel .panel-main {
        padding: 12px !important;
    }

    .panel-body.customer-panel .page-header {
        padding-right: 14px !important;
    }

    .panel-body.customer-panel .stat-grid,
    .panel-body.customer-panel .quick-actions,
    .panel-body.customer-panel .info-grid,
    .panel-body.customer-panel .panel-form.two-column,
    .panel-body.customer-panel .field-grid,
    .panel-body.customer-panel .filter-bar,
    .panel-body.customer-panel .check-grid {
        grid-template-columns: 1fr !important;
    }

    .panel-body.customer-panel .quick-actions a {
        min-height: 68px;
    }

    .panel-body.customer-panel .table-wrap {
        overflow-x: auto;
    }

    .panel-body.customer-panel table {
        min-width: 680px;
    }

    .panel-body.customer-panel .app-copyright {
        padding-bottom: calc(64px + env(safe-area-inset-bottom));
    }
}

/* v145 customer sidebar polish */
.panel-body.customer-panel .sidebar {
    background:
        linear-gradient(180deg, #0f172a 0%, #111827 58%, #18212f 100%) !important;
    border-right-color: rgba(148, 163, 184, .24);
    gap: 10px !important;
}

.customer-sidebar-head {
    display: grid;
    gap: 10px;
}

.panel-body.customer-panel .customer-sidebar-head .brand {
    align-items: center !important;
    background:
        linear-gradient(135deg, rgba(255, 255, 255, .1), rgba(255, 255, 255, .045)) !important;
    border: 1px solid rgba(255, 255, 255, .14) !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr);
    padding: 12px !important;
}

.panel-body.customer-panel .customer-sidebar-head .brand-logo-mark {
    margin-bottom: 8px;
    max-height: 38px !important;
    max-width: 150px !important;
    width: 100% !important;
}

.customer-menu-status {
    background: rgba(255, 255, 255, .065);
    border: 1px solid rgba(255, 255, 255, .1);
    border-radius: 8px;
    display: grid;
    gap: 5px;
    padding: 10px 11px;
}

.customer-menu-status span {
    color: rgba(203, 213, 225, .68);
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.customer-menu-status code {
    background: rgba(15, 23, 42, .62) !important;
    border: 1px solid rgba(148, 163, 184, .16);
    color: #e2e8f0;
    display: block;
    font-size: 11.5px !important;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.customer-menu-preview {
    background: linear-gradient(135deg, #0f766e, #2563eb);
    border: 0;
    box-shadow: 0 12px 26px rgba(37, 99, 235, .18);
    min-height: 40px;
}

.panel-body.customer-panel .nav-list {
    gap: 10px !important;
    padding: 2px 0 4px;
}

.customer-nav-group {
    display: grid;
    gap: 4px;
}

.customer-nav-group-title {
    color: rgba(148, 163, 184, .72);
    font-size: 10px;
    font-weight: 950;
    letter-spacing: .06em;
    line-height: 1;
    padding: 4px 8px 2px;
    text-transform: uppercase;
}

.panel-body.customer-panel .nav-list a {
    align-items: center;
    background: transparent;
    border: 1px solid transparent;
    display: flex;
    gap: 10px;
    min-height: 46px !important;
    padding: 8px 9px !important;
    position: relative;
}

.panel-body.customer-panel .nav-list a::before {
    background: rgba(148, 163, 184, .36);
    border-radius: 999px;
    content: "";
    flex: 0 0 7px;
    height: 7px;
    width: 7px;
}

.panel-body.customer-panel .nav-list a > span {
    display: grid;
    gap: 3px;
    min-width: 0;
}

.panel-body.customer-panel .nav-list a strong {
    color: inherit;
    font-size: 12.5px;
    line-height: 1.12;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.panel-body.customer-panel .nav-list a small {
    color: rgba(203, 213, 225, .58);
    font-size: 10.8px;
    font-weight: 720;
    line-height: 1.12;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.panel-body.customer-panel .nav-list a:hover {
    background: rgba(255, 255, 255, .075);
}

.panel-body.customer-panel .nav-list a:hover::before {
    background: #5eead4;
}

.panel-body.customer-panel .nav-list a.active {
    background: #ffffff !important;
    border-color: rgba(255, 255, 255, .6) !important;
    box-shadow: 0 10px 22px rgba(2, 6, 23, .22) !important;
}

.panel-body.customer-panel .nav-list a.active::before {
    background: #0f766e;
    box-shadow: 0 0 0 4px rgba(15, 118, 110, .12);
}

.panel-body.customer-panel .nav-list a.active small {
    color: #64748b;
}

.panel-body.customer-panel .logout-form {
    background: rgba(255, 255, 255, .045);
    border: 1px solid rgba(255, 255, 255, .1);
    border-radius: 8px;
    margin-top: auto;
    padding: 10px !important;
}

.panel-body.customer-panel .logout-form span {
    color: rgba(226, 232, 240, .76);
}

@media (min-width: 981px) {
    .panel-body.customer-panel {
        grid-template-columns: 248px minmax(0, 1fr) !important;
    }
}

@media (max-width: 980px) {
    .panel-body.customer-panel .sidebar {
        max-width: 360px;
        width: min(88vw, 360px);
    }

    .panel-body.customer-panel .customer-sidebar-head .brand {
        grid-template-columns: auto minmax(0, 1fr);
    }

    .panel-body.customer-panel .customer-sidebar-head .brand-logo-mark {
        margin-bottom: 0;
        max-width: 112px !important;
    }

    .customer-nav-group-title {
        padding-top: 8px;
    }

    .panel-body.customer-panel .nav-list a {
        min-height: 48px !important;
    }
}

@media (max-width: 420px) {
    .panel-body.customer-panel .sidebar {
        width: min(92vw, 340px);
    }

    .customer-menu-status {
        padding: 9px;
    }

    .panel-body.customer-panel .nav-list a small {
        font-size: 10.5px;
    }
}

/* v146 Wolvox diagnostics */
.wolvox-health-panel {
    margin-bottom: 14px;
}

.wolvox-health-grid {
    display: grid;
    gap: 10px;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.wolvox-health-grid > div {
    background: #f8fafc;
    border: 1px solid rgba(226, 232, 240, .95);
    border-radius: 8px;
    display: grid;
    gap: 6px;
    min-width: 0;
    padding: 12px;
}

.wolvox-health-grid span {
    color: #64748b;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .03em;
    line-height: 1.15;
    text-transform: uppercase;
}

.wolvox-health-grid strong {
    color: #172033;
    font-size: 13px;
    line-height: 1.2;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.danger-text {
    color: var(--danger) !important;
    font-weight: 800;
}

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

@media (max-width: 560px) {
    .wolvox-health-grid {
        grid-template-columns: 1fr;
    }
}

/* v147 compact visual switches */
.visual-switch {
    align-items: center;
    background: #f8fafc;
    border: 1px solid rgba(203, 213, 225, .9);
    border-radius: 8px;
    cursor: pointer;
    display: grid;
    gap: 10px;
    grid-template-columns: auto minmax(0, 1fr);
    min-height: 42px;
    padding: 9px 10px;
    position: relative;
}

.visual-switch input {
    height: 1px !important;
    left: 10px;
    min-height: 0 !important;
    opacity: 0;
    pointer-events: none;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 1px !important;
}

.visual-switch .switch-track {
    background: #cbd5e1;
    border: 1px solid rgba(148, 163, 184, .55);
    border-radius: 999px;
    display: inline-flex;
    height: 22px;
    padding: 2px;
    transition: background .18s ease, border-color .18s ease, box-shadow .18s ease;
    width: 40px;
}

.visual-switch .switch-track span {
    background: #ffffff;
    border-radius: 50%;
    box-shadow: 0 2px 6px rgba(15, 23, 42, .18);
    display: block;
    height: 16px;
    transform: translateX(0);
    transition: transform .18s ease;
    width: 16px;
}

.visual-switch input:checked + .switch-track {
    background: #0f766e;
    border-color: #0f766e;
    box-shadow: 0 0 0 3px rgba(15, 118, 110, .12);
}

.visual-switch input:checked + .switch-track span {
    transform: translateX(18px);
}

.visual-switch input:disabled + .switch-track,
.visual-switch input:disabled ~ .switch-copy {
    opacity: .55;
}

.visual-switch:focus-within {
    border-color: rgba(15, 118, 110, .55);
    box-shadow: 0 0 0 3px rgba(15, 118, 110, .12);
}

.switch-copy {
    display: grid;
    gap: 2px;
    min-width: 0;
}

.switch-copy strong {
    color: #172033;
    font-size: 12.5px;
    font-weight: 900;
    line-height: 1.15;
}

.switch-copy small {
    color: #64748b;
    font-size: 11px;
    font-weight: 720;
    line-height: 1.15;
}

.visual-switch.operation-check {
    border-radius: 8px;
    display: grid;
    padding: 9px 10px;
}

.compact-table-form {
    grid-template-columns: minmax(150px, 1.05fr) minmax(116px, .85fr) 68px 52px minmax(160px, 1fr) auto auto auto;
}

.visual-switch.compact-table-active {
    align-self: end;
    background: transparent;
    border: 0;
    justify-content: center;
    min-height: 38px;
    padding: 0;
}

.compact-table-active .switch-track {
    height: 22px;
    width: 40px;
}

.compact-table-active .switch-copy {
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    height: 1px;
    overflow: hidden;
    position: absolute;
    white-space: nowrap;
    width: 1px;
}

@media (max-width: 1180px) {
    .compact-table-form {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .visual-switch.compact-table-active {
        justify-content: start;
    }
}

@media (max-width: 760px) {
    .visual-switch {
        min-height: 40px;
    }

    .visual-switch.compact-table-active {
        min-height: 34px;
    }
}

/* v148 license guard and polished panel navigation */
.panel-body.customer-panel {
    --customer-sidebar-width: 272px;
}

.panel-body.customer-panel .sidebar {
    background: #ffffff !important;
    border-right: 1px solid rgba(203, 213, 225, .92) !important;
    box-shadow: 8px 0 28px rgba(15, 23, 42, .08) !important;
    color: #172033 !important;
    gap: 12px !important;
    padding: 14px !important;
}

.panel-body.customer-panel .customer-sidebar-head {
    gap: 8px;
}

.panel-body.customer-panel .customer-sidebar-head .brand {
    background: #f8fafc !important;
    border: 1px solid rgba(226, 232, 240, .95) !important;
    border-radius: 8px !important;
    display: grid !important;
    gap: 10px;
    grid-template-columns: auto minmax(0, 1fr) !important;
    padding: 11px !important;
}

.panel-body.customer-panel .customer-sidebar-head .brand-logo-mark {
    margin: 0 !important;
    max-height: 34px !important;
    max-width: 104px !important;
    object-fit: contain;
}

.panel-body.customer-panel .brand strong,
.panel-body.customer-panel .brand small {
    color: #172033 !important;
}

.panel-body.customer-panel .brand small {
    color: #64748b !important;
}

.customer-menu-status,
.customer-license-card {
    background: #ffffff;
    border: 1px solid rgba(226, 232, 240, .95);
    border-radius: 8px;
    display: grid;
    gap: 4px;
    padding: 9px 10px;
}

.customer-menu-status span,
.customer-license-card span {
    color: #64748b;
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .04em;
    line-height: 1.1;
    text-transform: uppercase;
}

.customer-menu-status code {
    background: #f1f5f9 !important;
    border-color: rgba(203, 213, 225, .9) !important;
    color: #334155 !important;
}

.customer-license-card strong {
    color: #0f172a;
    font-size: 13px;
    line-height: 1.15;
}

.customer-license-card small {
    color: #64748b;
    font-size: 11px;
    font-weight: 750;
    line-height: 1.2;
}

.customer-license-card.is-warning {
    background: #fffbeb;
    border-color: rgba(245, 158, 11, .42);
}

.customer-license-card.is-warning strong {
    color: #92400e;
}

.panel-body.customer-panel .customer-menu-preview {
    background: #0f766e !important;
    border: 1px solid rgba(15, 118, 110, .24) !important;
    box-shadow: 0 12px 22px rgba(15, 118, 110, .16) !important;
    color: #ffffff !important;
    min-height: 38px !important;
}

.panel-body.customer-panel .nav-list {
    gap: 9px !important;
    overflow: visible;
    padding: 0 !important;
}

.customer-nav-group {
    display: grid;
    gap: 5px;
}

.customer-nav-group-title {
    color: #94a3b8;
    font-size: 10px;
    font-weight: 950;
    letter-spacing: .05em;
    line-height: 1;
    padding: 7px 6px 2px;
    text-transform: uppercase;
}

.panel-body.customer-panel .nav-list a {
    align-items: center;
    background: transparent !important;
    border: 1px solid transparent !important;
    border-radius: 8px !important;
    color: #334155 !important;
    display: grid !important;
    gap: 10px !important;
    grid-template-columns: 34px minmax(0, 1fr);
    min-height: 44px !important;
    padding: 6px 7px !important;
    position: relative;
}

.panel-body.customer-panel .nav-list a::before {
    background: #0f766e;
    border-radius: 999px;
    content: "";
    height: 0;
    left: -5px;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    transition: height .18s ease;
    width: 3px;
}

.customer-nav-icon {
    align-items: center;
    background: #eef2f7;
    border: 1px solid rgba(203, 213, 225, .88);
    border-radius: 8px;
    display: inline-flex;
    height: 32px;
    justify-content: center;
    position: relative;
    width: 32px;
}

.customer-nav-icon::before,
.customer-nav-icon::after {
    background: #64748b;
    border-radius: 3px;
    content: "";
    display: block;
    position: absolute;
}

.customer-nav-icon::before {
    height: 12px;
    width: 12px;
}

.customer-nav-icon.is-home::before {
    border-radius: 3px 3px 2px 2px;
    height: 11px;
    transform: translateY(3px);
    width: 13px;
}

.customer-nav-icon.is-home::after {
    height: 10px;
    transform: rotate(45deg) translate(-4px, -4px);
    width: 10px;
}

.customer-nav-icon.is-grid::before,
.customer-nav-icon.is-qr::before {
    background:
        linear-gradient(#64748b 0 0) 0 0 / 5px 5px no-repeat,
        linear-gradient(#64748b 0 0) 8px 0 / 5px 5px no-repeat,
        linear-gradient(#64748b 0 0) 0 8px / 5px 5px no-repeat,
        linear-gradient(#64748b 0 0) 8px 8px / 5px 5px no-repeat;
    height: 13px;
    width: 13px;
}

.customer-nav-icon.is-box::before {
    height: 12px;
    width: 14px;
}

.customer-nav-icon.is-orders::before,
.customer-nav-icon.is-report::before {
    height: 14px;
    width: 12px;
}

.customer-nav-icon.is-orders::after,
.customer-nav-icon.is-report::after {
    background: #eef2f7;
    box-shadow: 0 4px 0 #eef2f7, 0 8px 0 #eef2f7;
    height: 2px;
    width: 7px;
}

.customer-nav-icon.is-tables::before {
    height: 3px;
    width: 16px;
}

.customer-nav-icon.is-tables::after {
    box-shadow: -5px 7px 0 #64748b, 5px 7px 0 #64748b;
    height: 9px;
    width: 3px;
}

.customer-nav-icon.is-theme::before {
    border-radius: 50%;
    height: 14px;
    width: 14px;
}

.customer-nav-icon.is-sync::before {
    background: transparent;
    border: 3px solid #64748b;
    border-left-color: transparent;
    border-radius: 50%;
    height: 14px;
    width: 14px;
}

.customer-nav-icon.is-lang::before {
    height: 3px;
    width: 15px;
}

.customer-nav-icon.is-lang::after {
    height: 15px;
    width: 3px;
}

.customer-nav-icon.is-lock::before {
    border-radius: 3px;
    height: 11px;
    transform: translateY(3px);
    width: 14px;
}

.customer-nav-icon.is-lock::after {
    background: transparent;
    border: 3px solid #64748b;
    border-bottom: 0;
    border-radius: 9px 9px 0 0;
    height: 10px;
    transform: translateY(-5px);
    width: 11px;
}

.customer-nav-icon.is-chat::before {
    border-radius: 5px;
    height: 12px;
    width: 15px;
}

.customer-nav-icon.is-survey::before {
    height: 14px;
    width: 14px;
}

.customer-nav-icon.is-spark::before {
    height: 16px;
    transform: rotate(45deg);
    width: 4px;
}

.customer-nav-icon.is-spark::after {
    height: 4px;
    transform: rotate(45deg);
    width: 16px;
}

.panel-body.customer-panel .nav-list a > span:not(.customer-nav-icon) {
    display: grid;
    gap: 3px;
    min-width: 0;
}

.panel-body.customer-panel .nav-list a strong {
    color: inherit !important;
    font-size: 12.8px !important;
    font-weight: 900;
}

.panel-body.customer-panel .nav-list a small {
    color: #64748b !important;
    font-size: 10.8px !important;
    font-weight: 720;
}

.panel-body.customer-panel .nav-list a:hover {
    background: #f8fafc !important;
    border-color: rgba(203, 213, 225, .88) !important;
    color: #0f172a !important;
}

.panel-body.customer-panel .nav-list a.active {
    background: #ecfdf5 !important;
    border-color: rgba(15, 118, 110, .32) !important;
    box-shadow: none !important;
    color: #0f172a !important;
}

.panel-body.customer-panel .nav-list a.active::before {
    height: 28px;
}

.panel-body.customer-panel .nav-list a.active .customer-nav-icon {
    background: #0f766e;
    border-color: #0f766e;
}

.panel-body.customer-panel .nav-list a.active .customer-nav-icon::before,
.panel-body.customer-panel .nav-list a.active .customer-nav-icon::after {
    background: #ffffff;
}

.panel-body.customer-panel .nav-list a.active .customer-nav-icon.is-sync::before {
    background: transparent;
    border-color: #ffffff;
    border-left-color: transparent;
}

.panel-body.customer-panel .logout-form {
    background: #f8fafc !important;
    border: 1px solid rgba(226, 232, 240, .95) !important;
    border-radius: 8px !important;
    color: #334155;
}

.panel-body.customer-panel .logout-form span {
    color: #475569 !important;
}

.panel-body.customer-panel .logout-form button {
    background: #ffffff !important;
    border-color: rgba(203, 213, 225, .95) !important;
    color: #334155 !important;
}

.license-warning-banner {
    align-items: center;
    background: #fffbeb;
    border: 1px solid rgba(245, 158, 11, .38);
    border-radius: 8px;
    color: #92400e;
    display: flex;
    gap: 10px;
    justify-content: space-between;
    margin-bottom: 14px;
    padding: 11px 13px;
}

.license-warning-banner strong {
    font-size: 13px;
    line-height: 1.25;
}

.license-warning-banner span {
    color: #a16207;
    font-size: 12px;
    font-weight: 800;
    white-space: nowrap;
}

.admin-user-actions {
    gap: 7px !important;
    justify-content: flex-end;
}

.admin-user-action {
    align-items: center;
    background: #ffffff;
    border: 1px solid rgba(203, 213, 225, .95);
    border-radius: 8px;
    color: #334155;
    display: inline-flex;
    font-size: 12px;
    font-weight: 900;
    gap: 7px;
    justify-content: center;
    line-height: 1;
    min-height: 34px;
    padding: 8px 10px;
    text-decoration: none;
    white-space: nowrap;
}

.admin-user-action span {
    border-radius: 6px;
    display: inline-block;
    height: 18px;
    position: relative;
    width: 18px;
}

.admin-user-action.edit span {
    background: #ecfdf5;
}

.admin-user-action.edit span::before {
    background: #0f766e;
    border-radius: 2px;
    content: "";
    height: 11px;
    left: 8px;
    position: absolute;
    top: 3px;
    transform: rotate(38deg);
    width: 3px;
}

.admin-user-action.delete {
    color: #b91c1c;
}

.admin-user-action.delete span {
    background: #fef2f2;
}

.admin-user-action.delete span::before,
.admin-user-action.delete span::after {
    background: #b91c1c;
    border-radius: 999px;
    content: "";
    height: 2px;
    left: 4px;
    position: absolute;
    top: 8px;
    width: 10px;
}

.admin-user-action.delete span::before {
    transform: rotate(45deg);
}

.admin-user-action.delete span::after {
    transform: rotate(-45deg);
}

.admin-user-action:hover {
    border-color: rgba(15, 118, 110, .32);
    box-shadow: 0 8px 18px rgba(15, 23, 42, .08);
    color: #0f172a;
}

.admin-user-action.delete:hover {
    border-color: rgba(185, 28, 28, .28);
    color: #991b1b;
}

@media (min-width: 981px) {
    .panel-body.customer-panel {
        grid-template-columns: var(--customer-sidebar-width) minmax(0, 1fr) !important;
    }

    .panel-body.customer-panel .sidebar {
        max-height: 100vh;
        overflow-y: auto;
    }
}

@media (max-width: 980px) {
    .panel-body.customer-panel .sidebar {
        height: 100dvh;
        max-width: 336px !important;
        padding: 14px !important;
        width: min(88vw, 336px) !important;
    }

    .panel-body.customer-panel .nav-list {
        padding-bottom: 10px !important;
    }

    .customer-mobile-bar {
        z-index: 120;
    }

    .customer-menu-backdrop {
        z-index: 126;
    }

    .panel-body.customer-panel .sidebar {
        z-index: 130;
    }

    .license-warning-banner {
        align-items: flex-start;
        display: grid;
    }

    .license-warning-banner span {
        white-space: normal;
    }
}

@media (max-width: 520px) {
    .panel-body.customer-panel .sidebar {
        width: min(92vw, 330px) !important;
    }

    .panel-body.customer-panel .nav-list a {
        grid-template-columns: 32px minmax(0, 1fr);
        min-height: 43px !important;
    }

    .customer-nav-icon {
        height: 30px;
        width: 30px;
    }

    .admin-user-actions {
        justify-content: stretch;
        width: 100%;
    }

    .admin-user-action,
    .admin-user-actions form {
        width: 100%;
    }
}

/* v149 dedicated customer mobile navigation */
.customer-mobile-menu {
    display: none;
}

@media (max-width: 980px) {
    .panel-body.customer-panel {
        padding-top: 68px !important;
    }

    .panel-body.customer-panel > .sidebar[data-customer-sidebar] {
        display: none !important;
    }

    .customer-mobile-bar {
        align-items: center;
        background: rgba(255, 255, 255, .98) !important;
        border-bottom: 1px solid rgba(203, 213, 225, .92) !important;
        box-shadow: 0 8px 24px rgba(15, 23, 42, .08) !important;
        display: flex !important;
        gap: 11px !important;
        height: 68px !important;
        padding: 10px 14px !important;
        z-index: 150 !important;
    }

    .customer-menu-toggle {
        background: #0f172a !important;
        border: 1px solid rgba(15, 23, 42, .12) !important;
        border-radius: 10px !important;
        box-shadow: 0 10px 20px rgba(15, 23, 42, .14) !important;
        flex: 0 0 44px !important;
        height: 44px !important;
        min-height: 44px !important;
        padding: 0 !important;
        width: 44px !important;
    }

    .customer-menu-toggle:hover,
    .customer-mobile-menu button:hover {
        transform: none !important;
    }

    .customer-menu-toggle span {
        height: 2px !important;
        transition: opacity .18s ease, transform .18s ease !important;
        width: 18px !important;
    }

    .panel-body.customer-panel.customer-nav-open .customer-menu-toggle span:nth-child(1) {
        transform: rotate(45deg) !important;
    }

    .panel-body.customer-panel.customer-nav-open .customer-menu-toggle span:nth-child(2) {
        opacity: 0;
    }

    .panel-body.customer-panel.customer-nav-open .customer-menu-toggle span:nth-child(3) {
        transform: rotate(-45deg) !important;
    }

    .customer-mobile-brand {
        flex: 1 1 auto;
        gap: 9px !important;
        overflow: hidden;
    }

    .customer-mobile-brand img {
        flex: 0 0 auto;
        max-height: 34px !important;
        max-width: 118px !important;
    }

    .customer-mobile-brand strong {
        color: #172033;
        display: block;
        font-size: 13px !important;
        font-weight: 900;
        line-height: 1.15;
        min-width: 0;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .customer-menu-backdrop {
        background: rgba(15, 23, 42, .52) !important;
        display: block !important;
        inset: 0;
        opacity: 0;
        pointer-events: none;
        position: fixed;
        transition: opacity .2s ease;
        z-index: 155 !important;
    }

    .customer-mobile-menu {
        background: #ffffff;
        border-right: 1px solid rgba(203, 213, 225, .9);
        border-radius: 0 18px 18px 0;
        box-shadow: 18px 0 46px rgba(15, 23, 42, .22);
        color: #172033;
        display: flex !important;
        flex-direction: column;
        gap: 12px;
        height: 100dvh;
        left: 0;
        max-width: 410px;
        min-height: 100dvh;
        overflow: hidden;
        padding: max(16px, env(safe-area-inset-top)) 14px max(14px, env(safe-area-inset-bottom));
        position: fixed;
        top: 0;
        transform: translateX(-106%);
        transition: transform .24s ease;
        width: min(94vw, 410px);
        z-index: 160;
    }

    .panel-body.customer-panel.customer-nav-open {
        overflow: hidden;
    }

    .panel-body.customer-panel.customer-nav-open .customer-menu-backdrop {
        opacity: 1;
        pointer-events: auto;
    }

    .panel-body.customer-panel.customer-nav-open .customer-mobile-menu {
        transform: translateX(0);
    }

    .customer-mobile-menu-head {
        align-items: center;
        display: grid;
        gap: 10px;
        grid-template-columns: minmax(0, 1fr) 42px;
    }

    .customer-mobile-menu-brand {
        align-items: center;
        background: #f8fafc;
        border: 1px solid rgba(226, 232, 240, .95);
        border-radius: 10px;
        color: #172033;
        display: grid;
        gap: 10px;
        grid-template-columns: auto minmax(0, 1fr);
        min-height: 54px;
        min-width: 0;
        padding: 9px 10px;
    }

    .customer-mobile-menu-brand img {
        display: block;
        max-height: 32px;
        max-width: 96px;
        object-fit: contain;
    }

    .customer-mobile-menu-brand span {
        display: grid;
        gap: 2px;
        min-width: 0;
    }

    .customer-mobile-menu-brand strong,
    .customer-mobile-menu-brand small {
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .customer-mobile-menu-brand strong {
        font-size: 13px;
        font-weight: 900;
        line-height: 1.1;
    }

    .customer-mobile-menu-brand small {
        color: #64748b;
        font-size: 11px;
        font-weight: 800;
        line-height: 1.1;
    }

    .customer-mobile-menu-close {
        background: #ffffff !important;
        border: 1px solid rgba(203, 213, 225, .95) !important;
        border-radius: 10px !important;
        box-shadow: none !important;
        height: 42px !important;
        min-height: 42px !important;
        padding: 0 !important;
        position: relative;
        width: 42px !important;
    }

    .customer-mobile-menu-close span {
        background: #334155;
        border-radius: 999px;
        height: 2px;
        left: 11px;
        position: absolute;
        top: 20px;
        width: 18px;
    }

    .customer-mobile-menu-close span:first-child {
        transform: rotate(45deg);
    }

    .customer-mobile-menu-close span:last-child {
        transform: rotate(-45deg);
    }

    .customer-mobile-menu-meta {
        display: grid;
        gap: 9px;
        grid-template-columns: minmax(0, 1fr) auto;
    }

    .customer-mobile-license {
        background: #ffffff;
        border: 1px solid rgba(226, 232, 240, .95);
        border-radius: 10px;
        display: grid;
        gap: 3px;
        min-width: 0;
        padding: 10px;
    }

    .customer-mobile-license span {
        color: #64748b;
        font-size: 10px;
        font-weight: 900;
        line-height: 1.1;
        text-transform: uppercase;
    }

    .customer-mobile-license strong {
        color: #0f172a;
        font-size: 13px;
        line-height: 1.15;
    }

    .customer-mobile-license small {
        color: #64748b;
        font-size: 11px;
        font-weight: 750;
        line-height: 1.15;
    }

    .customer-mobile-license.is-warning {
        background: #fffbeb;
        border-color: rgba(245, 158, 11, .38);
    }

    .customer-mobile-license.is-warning strong {
        color: #92400e;
    }

    .customer-mobile-preview {
        align-items: center;
        background: #0f766e;
        border-radius: 10px;
        color: #ffffff;
        display: inline-flex;
        font-size: 12.5px;
        font-weight: 900;
        justify-content: center;
        min-height: 58px;
        padding: 10px 14px;
        white-space: nowrap;
    }

    .customer-mobile-nav {
        display: grid;
        gap: 13px;
        min-height: 0;
        overflow-y: auto;
        overscroll-behavior: contain;
        padding: 2px 2px 10px;
    }

    .customer-mobile-nav-group {
        display: grid;
        gap: 7px;
    }

    .customer-mobile-nav-group h2 {
        color: #64748b;
        font-size: 11px;
        font-weight: 950;
        line-height: 1.1;
        margin: 0;
        padding: 0 2px;
        text-transform: uppercase;
    }

    .customer-mobile-nav-grid {
        display: grid;
        gap: 8px;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .customer-mobile-nav a {
        align-items: center;
        background: #f8fafc;
        border: 1px solid rgba(226, 232, 240, .95);
        border-radius: 10px;
        color: #334155;
        display: grid;
        gap: 9px;
        grid-template-columns: 32px minmax(0, 1fr);
        min-height: 68px;
        min-width: 0;
        padding: 9px;
    }

    .customer-mobile-nav a.active {
        background: #ecfdf5;
        border-color: rgba(15, 118, 110, .34);
        color: #0f172a;
    }

    .customer-mobile-nav a.active .customer-nav-icon {
        background: #0f766e;
        border-color: #0f766e;
    }

    .customer-mobile-nav a.active .customer-nav-icon::before,
    .customer-mobile-nav a.active .customer-nav-icon::after {
        background: #ffffff;
    }

    .customer-mobile-nav a.active .customer-nav-icon.is-sync::before {
        background: transparent;
        border-color: #ffffff;
        border-left-color: transparent;
    }

    .customer-mobile-nav a > span:not(.customer-nav-icon) {
        display: grid;
        gap: 3px;
        min-width: 0;
    }

    .customer-mobile-nav strong,
    .customer-mobile-nav small {
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .customer-mobile-nav strong {
        font-size: 12.5px;
        font-weight: 900;
        line-height: 1.12;
    }

    .customer-mobile-nav small {
        color: #64748b;
        font-size: 10.8px;
        font-weight: 750;
        line-height: 1.12;
    }

    .customer-mobile-logout {
        align-items: center;
        background: #f8fafc;
        border: 1px solid rgba(226, 232, 240, .95);
        border-radius: 10px;
        display: flex;
        gap: 10px;
        justify-content: space-between;
        margin: 0;
        padding: 9px;
    }

    .customer-mobile-logout span {
        color: #475569;
        font-size: 12px;
        font-weight: 800;
        min-width: 0;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .customer-mobile-logout button {
        background: #ffffff !important;
        border: 1px solid rgba(203, 213, 225, .95) !important;
        border-radius: 8px !important;
        color: #334155 !important;
        flex: 0 0 auto;
        font-size: 12px !important;
        min-height: 34px !important;
        padding: 7px 10px !important;
    }
}

@media (max-width: 520px) {
    .customer-mobile-menu {
        border-radius: 0;
        max-width: none;
        padding-left: 12px;
        padding-right: 12px;
        width: 100vw;
    }

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

    .customer-mobile-preview {
        min-height: 42px;
        width: 100%;
    }

    .customer-mobile-nav-grid {
        grid-template-columns: 1fr;
    }

    .customer-mobile-nav a {
        min-height: 56px;
    }
}

@media (max-width: 380px) {
    .customer-mobile-bar {
        gap: 8px !important;
        padding-left: 10px !important;
        padding-right: 10px !important;
    }

    .customer-mobile-brand img,
    .customer-mobile-menu-brand img {
        max-width: 92px !important;
    }

    .customer-mobile-nav small {
        display: none;
    }
}

/* v150 public theme fixes: theme 1 comments and dedicated theme 2 one-page catalog */
.public-body .qr-menu.theme-menutje-mono .product-comments {
    display: inline-flex !important;
    flex: 0 0 auto !important;
    margin: 0 !important;
}

.public-body .qr-menu.theme-menutje-mono .product-comments[open] {
    display: grid !important;
    flex: 1 0 100% !important;
    min-width: min(238px, calc(100vw - 138px));
}

.public-body .qr-menu.theme-menutje-mono .product-comments summary {
    align-items: center !important;
    background: #fff !important;
    border: 1px solid rgba(15, 23, 42, .1) !important;
    border-radius: 9px !important;
    box-shadow: 0 6px 14px rgba(15, 23, 42, .06) !important;
    color: var(--promenu-red) !important;
    display: inline-flex !important;
    height: 32px !important;
    justify-content: center !important;
    min-width: 38px !important;
    padding: 0 8px !important;
}

.public-body .qr-menu.theme-menutje-mono .product-comments summary b,
.public-body .qr-menu.theme-menutje-mono .product-comments summary span {
    color: currentColor !important;
}

.public-body .qr-menu.theme-menutje-mono .product-comments-panel {
    background: #fff !important;
    border: 1px solid rgba(15, 23, 42, .08) !important;
    border-radius: 14px !important;
    box-shadow: 0 14px 34px rgba(15, 23, 42, .14) !important;
    color: #111827 !important;
    display: grid !important;
    gap: 10px !important;
    margin-top: 8px !important;
    max-height: 330px;
    overflow: auto;
    padding: 10px !important;
    width: min(286px, calc(100vw - 64px));
}

.public-body .qr-menu.theme-menutje-mono .approved-comments article,
.public-body .qr-menu.theme-menutje-mono .public-comment-form {
    background: #f8fafc !important;
    border: 1px solid rgba(226, 232, 240, .9) !important;
    border-radius: 10px !important;
}

.public-body .qr-menu.theme-menutje-mono .public-comment-form input,
.public-body .qr-menu.theme-menutje-mono .public-comment-form textarea {
    border-radius: 9px !important;
    font-size: 12px !important;
}

.public-body .qr-menu.theme-menutje-mono .public-comment-form .button {
    background: var(--promenu-red) !important;
    border-radius: 9px !important;
    color: #fff !important;
    width: 100%;
}

.public-body .qr-menu.theme-noir-catalog,
.public-body .qr-menu.theme-noir-catalog[data-view-mode="light"] {
    --noir-bg: #eef1f5;
    --noir-ink: #121826;
    --noir-muted: #697586;
    --noir-line: rgba(18, 24, 38, .1);
    --noir-panel: #ffffff;
    --noir-accent: var(--accent, #d6b56d);
    background: var(--noir-bg) !important;
    background-image: none !important;
    box-shadow: 0 22px 80px rgba(15, 23, 42, .2);
    color: var(--noir-ink) !important;
    margin: 0 auto !important;
    max-width: 430px;
    min-height: 100svh;
    overflow-x: hidden !important;
    width: min(100vw, 430px) !important;
}

.public-body .qr-menu.theme-noir-catalog[data-view-mode="dark"],
.public-body .qr-menu.theme-noir-catalog.bg-charcoal {
    --noir-bg: #0d1117;
    --noir-ink: #f8fafc;
    --noir-muted: #a3adbd;
    --noir-line: rgba(255, 255, 255, .12);
    --noir-panel: #161b22;
    background: var(--noir-bg) !important;
    color: var(--noir-ink) !important;
}

.public-body .qr-menu.theme-noir-catalog,
.public-body .qr-menu.theme-noir-catalog * {
    box-sizing: border-box;
}

.public-body .qr-menu.theme-noir-catalog .menu-main-flow {
    background: transparent !important;
    min-height: 100svh;
    overflow: visible !important;
}

.public-body .qr-menu.theme-noir-catalog .menu-hero,
.public-body .qr-menu.theme-noir-catalog.has-cover .menu-hero {
    background:
        linear-gradient(180deg, rgba(0, 0, 0, .72), rgba(0, 0, 0, .35) 48%, rgba(0, 0, 0, .68)),
        var(--cover-image, linear-gradient(135deg, #121212, #2a1f18)) center/cover no-repeat !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    color: #fff !important;
    display: block !important;
    min-height: clamp(236px, 52vw, 292px) !important;
    overflow: visible !important;
    padding: 16px 16px 32px !important;
    position: relative;
    width: 100% !important;
}

.public-body .qr-menu.theme-noir-catalog .menu-hero::before {
    background:
        radial-gradient(circle at 70% 6%, rgba(255, 255, 255, .14), transparent 26%),
        linear-gradient(180deg, rgba(0, 0, 0, .12), rgba(0, 0, 0, .02)) !important;
    inset: 0;
    opacity: 1 !important;
}

.public-body .qr-menu.theme-noir-catalog .hero-mode-toggle {
    background: rgba(255, 255, 255, .16) !important;
    border: 1px solid rgba(255, 255, 255, .24) !important;
    border-radius: 999px !important;
    color: #fff !important;
    right: 14px !important;
    top: 14px !important;
}

.public-body .qr-menu.theme-noir-catalog .menu-hero-content.menu-cover-layout {
    align-content: start !important;
    gap: 12px !important;
    max-width: 100% !important;
    padding-top: 0 !important;
}

.public-body .qr-menu.theme-noir-catalog .menu-cover-brand {
    align-items: center !important;
    display: grid !important;
    gap: 12px !important;
    grid-template-columns: auto minmax(0, 1fr) !important;
    max-width: calc(100% - 44px);
}

.public-body .qr-menu.theme-noir-catalog .menu-cover-brand .menu-logo {
    border-radius: 18px !important;
    height: 66px !important;
    width: 66px !important;
}

.public-body .qr-menu.theme-noir-catalog .menu-cover-business h1 {
    font-size: clamp(25px, 7vw, 39px) !important;
    line-height: 1.02 !important;
}

.public-body .qr-menu.theme-noir-catalog .menu-cover-subtitle {
    color: rgba(255, 255, 255, .84) !important;
    font-size: 13px !important;
    line-height: 1.35 !important;
    max-width: 100%;
}

.public-body .qr-menu.theme-noir-catalog .menu-cover-hours {
    background: rgba(15, 23, 42, .42) !important;
    border-color: rgba(255, 255, 255, .18) !important;
    border-radius: 16px !important;
    max-width: 100% !important;
}

.public-body .qr-menu.theme-noir-catalog .menu-cover-actions {
    display: flex !important;
    gap: 8px !important;
    max-width: 100%;
    overflow-x: auto;
    padding-bottom: 2px;
    scrollbar-width: none;
}

.public-body .qr-menu.theme-noir-catalog .menu-cover-actions::-webkit-scrollbar {
    display: none;
}

.public-body .qr-menu.theme-noir-catalog .menu-cover-action {
    background: rgba(255, 255, 255, .16) !important;
    border-color: rgba(255, 255, 255, .24) !important;
    border-radius: 999px !important;
    flex: 0 0 auto;
}

.public-body .qr-menu.theme-noir-catalog .locale-switcher {
    bottom: 14px !important;
    display: flex !important;
    gap: 7px !important;
    right: 14px !important;
    top: auto !important;
}

.public-body .qr-menu.theme-noir-catalog .locale-switcher a {
    background: rgba(255, 255, 255, .18) !important;
    border-color: rgba(255, 255, 255, .26) !important;
    color: #fff !important;
}

.public-body .qr-menu.theme-noir-catalog .locale-switcher a.active {
    background: #fff !important;
    color: #111827 !important;
}

.public-body .qr-menu.theme-noir-catalog .menu-toolbar {
    background: rgba(255, 255, 255, .96) !important;
    border: 0 !important;
    border-radius: 22px 22px 0 0 !important;
    box-shadow: 0 -14px 30px rgba(15, 23, 42, .1), 0 12px 26px rgba(15, 23, 42, .08) !important;
    display: grid !important;
    gap: 9px !important;
    margin: -22px auto 0 !important;
    max-width: 100% !important;
    padding: 14px 14px 11px !important;
    position: sticky !important;
    top: 0 !important;
    width: 100% !important;
    z-index: 80 !important;
}

.public-body .qr-menu.theme-noir-catalog[data-view-mode="dark"] .menu-toolbar,
.public-body .qr-menu.theme-noir-catalog.bg-charcoal .menu-toolbar {
    background: rgba(22, 27, 34, .96) !important;
    border-bottom: 1px solid var(--noir-line) !important;
}

.public-body .qr-menu.theme-noir-catalog .menu-search input {
    background: #f8fafc !important;
    border: 1px solid rgba(203, 213, 225, .9) !important;
    border-radius: 14px !important;
    color: #111827 !important;
    min-height: 42px !important;
}

.public-body .qr-menu.theme-noir-catalog[data-view-mode="dark"] .menu-search input,
.public-body .qr-menu.theme-noir-catalog.bg-charcoal .menu-search input {
    background: #0d1117 !important;
    border-color: rgba(255, 255, 255, .12) !important;
    color: #f8fafc !important;
}

.public-body .qr-menu.theme-noir-catalog .category-tabs {
    display: flex !important;
    gap: 8px !important;
    overflow-x: auto !important;
    padding: 1px 1px 4px !important;
    scroll-padding-left: 2px;
    scrollbar-width: none;
}

.public-body .qr-menu.theme-noir-catalog .category-tabs::-webkit-scrollbar {
    display: none;
}

.public-body .qr-menu.theme-noir-catalog .category-tabs a {
    align-items: center !important;
    background: #111827 !important;
    border: 1px solid #111827 !important;
    border-radius: 999px !important;
    color: #fff !important;
    display: inline-flex !important;
    flex: 0 0 auto !important;
    font-size: 12px !important;
    font-weight: 950 !important;
    gap: 7px !important;
    min-height: 38px !important;
    max-width: 170px;
    padding: 7px 12px !important;
}

.public-body .qr-menu.theme-noir-catalog .category-tabs a span {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.public-body .qr-menu.theme-noir-catalog .category-tabs img {
    border-radius: 999px !important;
    height: 26px !important;
    width: 26px !important;
}

.public-body .qr-menu.theme-noir-catalog .category-showcase,
.public-body .qr-menu.theme-noir-catalog.nav-category_grid .category-showcase {
    display: none !important;
}

.public-body .qr-menu.theme-noir-catalog .menu-content {
    background: var(--noir-bg) !important;
    border-radius: 0 !important;
    margin: 0 auto !important;
    max-width: 100% !important;
    min-height: calc(100svh - 236px);
    overflow: visible !important;
    padding: 13px 12px 98px !important;
    width: 100% !important;
}

.public-body .qr-menu.theme-noir-catalog .pro-back-bar {
    display: none !important;
}

.public-body .qr-menu.theme-noir-catalog .menu-category {
    display: grid !important;
    gap: 10px !important;
    scroll-margin-top: 108px !important;
}

.public-body .qr-menu.theme-noir-catalog .menu-category + .menu-category {
    margin-top: 10px !important;
}

.public-body .qr-menu.theme-noir-catalog .menu-category h2 {
    align-items: center !important;
    backdrop-filter: blur(16px);
    background: rgba(238, 241, 245, .94) !important;
    border: 1px solid rgba(203, 213, 225, .76) !important;
    border-radius: 14px !important;
    box-shadow: 0 10px 22px rgba(15, 23, 42, .08);
    color: var(--noir-ink) !important;
    display: flex !important;
    font-size: 15px !important;
    font-weight: 950 !important;
    justify-content: space-between;
    line-height: 1.1 !important;
    margin: 0 !important;
    padding: 10px 12px !important;
    position: sticky;
    text-transform: uppercase;
    top: 108px;
    z-index: 65;
}

.public-body .qr-menu.theme-noir-catalog[data-view-mode="dark"] .menu-category h2,
.public-body .qr-menu.theme-noir-catalog.bg-charcoal .menu-category h2 {
    background: rgba(13, 17, 23, .94) !important;
    border-color: rgba(255, 255, 255, .12) !important;
}

.public-body .qr-menu.theme-noir-catalog .menu-category h2::before {
    background: var(--noir-accent) !important;
    border-radius: 999px !important;
    content: "" !important;
    flex: 0 0 6px !important;
    height: 24px !important;
    width: 6px !important;
}

.public-body .qr-menu.theme-noir-catalog .product-grid-public,
.public-body .qr-menu.theme-noir-catalog.layout-two-column .product-grid-public,
.public-body .qr-menu.theme-noir-catalog.layout-horizontal .product-grid-public,
.public-body .qr-menu.theme-noir-catalog.display-visual-price .product-grid-public {
    display: grid !important;
    gap: 10px !important;
    grid-template-columns: 1fr !important;
}

.public-body .qr-menu.theme-noir-catalog .menu-product,
.public-body .qr-menu.theme-noir-catalog.layout-two-column .menu-product,
.public-body .qr-menu.theme-noir-catalog.layout-horizontal .menu-product,
.public-body .qr-menu.theme-noir-catalog.display-visual-price .menu-product {
    background: var(--noir-panel) !important;
    border: 1px solid var(--noir-line) !important;
    border-radius: 18px !important;
    box-shadow: 0 10px 24px rgba(15, 23, 42, .07) !important;
    color: var(--noir-ink) !important;
    display: grid !important;
    gap: 0 !important;
    grid-template-columns: minmax(0, 1fr) 86px !important;
    min-height: 112px !important;
    overflow: hidden !important;
    width: 100% !important;
}

.public-body .qr-menu.theme-noir-catalog .product-media,
.public-body .qr-menu.theme-noir-catalog.layout-two-column .product-media,
.public-body .qr-menu.theme-noir-catalog.layout-horizontal .product-media,
.public-body .qr-menu.theme-noir-catalog.display-visual-price .product-media {
    align-self: stretch !important;
    aspect-ratio: auto !important;
    background: #dfe5ec !important;
    border-radius: 0 !important;
    grid-column: 2 !important;
    grid-row: 1 !important;
    height: 100% !important;
    margin: 0 !important;
    max-height: none !important;
    min-height: 112px !important;
    overflow: hidden !important;
    width: 86px !important;
}

.public-body .qr-menu.theme-noir-catalog .product-media img,
.public-body .qr-menu.theme-noir-catalog .image-placeholder,
.public-body .qr-menu.theme-noir-catalog .logo-placeholder,
.public-body .qr-menu.theme-noir-catalog.display-visual-price .product-media img,
.public-body .qr-menu.theme-noir-catalog.display-visual-price .image-placeholder,
.public-body .qr-menu.theme-noir-catalog.display-visual-price .logo-placeholder {
    border-radius: 0 !important;
    height: 100% !important;
    max-height: none !important;
    min-height: 112px !important;
    object-fit: cover !important;
    width: 86px !important;
}

.public-body .qr-menu.theme-noir-catalog .visual-price-badge {
    display: none !important;
}

.public-body .qr-menu.theme-noir-catalog .product-info {
    align-content: center !important;
    display: grid !important;
    gap: 8px !important;
    grid-column: 1 !important;
    grid-row: 1 !important;
    min-width: 0 !important;
    padding: 12px !important;
}

.public-body .qr-menu.theme-noir-catalog .product-title-row {
    align-items: start !important;
    display: grid !important;
    gap: 6px !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
}

.public-body .qr-menu.theme-noir-catalog .product-title-row h3 {
    color: var(--noir-ink) !important;
    display: -webkit-box !important;
    font-size: 14.5px !important;
    font-weight: 950 !important;
    line-height: 1.16 !important;
    margin: 0 !important;
    overflow: hidden !important;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.public-body .qr-menu.theme-noir-catalog .price-stack {
    justify-items: end !important;
}

.public-body .qr-menu.theme-noir-catalog .price-stack strong {
    background: #111827 !important;
    border-radius: 999px !important;
    color: #fff !important;
    font-size: 11.5px !important;
    font-weight: 950 !important;
    padding: 5px 8px !important;
    white-space: nowrap !important;
}

.public-body .qr-menu.theme-noir-catalog .product-description-short,
.public-body .qr-menu.theme-noir-catalog .product-description-trigger {
    color: var(--noir-muted) !important;
    display: -webkit-box !important;
    font-size: 11.5px !important;
    line-height: 1.32 !important;
    overflow: hidden !important;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.public-body .qr-menu.theme-noir-catalog .ingredients-line,
.public-body .qr-menu.theme-noir-catalog .pill-row,
.public-body .qr-menu.theme-noir-catalog .goes-with,
.public-body .qr-menu.theme-noir-catalog .product-meta-row {
    display: none !important;
}

.public-body .qr-menu.theme-noir-catalog .product-action-row {
    align-items: center !important;
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 6px !important;
    justify-content: flex-start !important;
}

.public-body .qr-menu.theme-noir-catalog .product-action-row .button,
.public-body .qr-menu.theme-noir-catalog .product-detail-button,
.public-body .qr-menu.theme-noir-catalog .menu-cart-add {
    border-radius: 999px !important;
    font-size: 11px !important;
    font-weight: 950 !important;
    min-height: 30px !important;
    padding: 6px 10px !important;
}

.public-body .qr-menu.theme-noir-catalog .product-detail-button {
    background: #eef2f7 !important;
    border: 1px solid rgba(203, 213, 225, .9) !important;
    color: #334155 !important;
}

.public-body .qr-menu.theme-noir-catalog .menu-cart-add {
    background: var(--noir-accent) !important;
    color: #111827 !important;
}

.public-body .qr-menu.theme-noir-catalog .product-comments {
    display: inline-flex !important;
    flex: 0 0 auto !important;
    margin: 0 !important;
}

.public-body .qr-menu.theme-noir-catalog .product-comments[open] {
    display: grid !important;
    flex: 1 0 100% !important;
}

.public-body .qr-menu.theme-noir-catalog .product-comments summary {
    align-items: center !important;
    background: #eef2f7 !important;
    border: 1px solid rgba(203, 213, 225, .9) !important;
    border-radius: 999px !important;
    color: #334155 !important;
    display: inline-flex !important;
    height: 30px !important;
    min-width: 38px !important;
    padding: 0 8px !important;
}

.public-body .qr-menu.theme-noir-catalog .product-comments-panel {
    background: #f8fafc !important;
    border: 1px solid rgba(203, 213, 225, .9) !important;
    border-radius: 14px !important;
    box-shadow: none !important;
    color: #111827 !important;
    display: grid !important;
    gap: 9px !important;
    margin-top: 8px !important;
    padding: 10px !important;
    width: 100% !important;
}

.public-body .qr-menu.theme-noir-catalog .approved-comments article,
.public-body .qr-menu.theme-noir-catalog .public-comment-form {
    background: #ffffff !important;
    border: 1px solid rgba(226, 232, 240, .95) !important;
    border-radius: 10px !important;
}

.public-body .qr-menu.theme-noir-catalog .public-comment-form input,
.public-body .qr-menu.theme-noir-catalog .public-comment-form textarea {
    border-radius: 9px !important;
    font-size: 12px !important;
}

.public-body .qr-menu.theme-noir-catalog .public-comment-form .button {
    background: #111827 !important;
    color: #fff !important;
    width: 100%;
}

@media (max-width: 430px) {
    .public-body .qr-menu.theme-noir-catalog {
        box-shadow: none !important;
        max-width: none;
        width: 100vw !important;
    }

    .public-body .qr-menu.theme-noir-catalog .menu-toolbar {
        border-radius: 20px 20px 0 0 !important;
    }
}

@media (max-width: 370px) {
    .public-body .qr-menu.theme-noir-catalog .menu-product,
    .public-body .qr-menu.theme-noir-catalog.layout-horizontal .menu-product {
        grid-template-columns: minmax(0, 1fr) 74px !important;
    }

    .public-body .qr-menu.theme-noir-catalog .product-media,
    .public-body .qr-menu.theme-noir-catalog .product-media img,
    .public-body .qr-menu.theme-noir-catalog .image-placeholder,
    .public-body .qr-menu.theme-noir-catalog .logo-placeholder {
        width: 74px !important;
    }

    .public-body .qr-menu.theme-noir-catalog .product-title-row {
        grid-template-columns: 1fr !important;
    }

    .public-body .qr-menu.theme-noir-catalog .price-stack {
        justify-items: start !important;
    }
}

/* v151 theme product card refinements */
.public-body .qr-menu.theme-menutje-mono .product-info {
    grid-template-columns: minmax(0, 1fr) !important;
}

.public-body .qr-menu.theme-menutje-mono .product-title-row {
    grid-column: 1 / -1 !important;
    grid-row: auto !important;
    min-width: 0 !important;
    width: 100% !important;
}

.public-body .qr-menu.theme-menutje-mono .product-title-row h3 {
    overflow-wrap: normal !important;
    word-break: normal !important;
}

.public-body .qr-menu.theme-menutje-mono .product-action-row {
    grid-column: 1 / -1 !important;
    grid-row: auto !important;
    justify-content: flex-start !important;
    margin-left: 0 !important;
}

.public-body .qr-menu.theme-menutje-mono .product-action-row > .product-comments {
    display: none !important;
}

.public-body .qr-menu.theme-menutje-mono .description-comments {
    display: grid !important;
    gap: 10px !important;
    margin-top: 2px !important;
}

.public-body .qr-menu.theme-menutje-mono .description-comments[hidden] {
    display: none !important;
}

.public-body .qr-menu.theme-menutje-mono .description-comments .product-comments,
.public-body .qr-menu.theme-menutje-mono .description-comments .product-comments[open] {
    display: grid !important;
    flex: none !important;
    margin: 0 !important;
    min-width: 0 !important;
    width: 100% !important;
}

.public-body .qr-menu.theme-menutje-mono .description-comments .product-comments summary {
    width: max-content !important;
}

.public-body .qr-menu.theme-menutje-mono .description-comments .product-comments-panel {
    max-height: min(330px, 44svh) !important;
    width: 100% !important;
}

.public-body .qr-menu.theme-noir-catalog .product-media,
.public-body .qr-menu.theme-noir-catalog.layout-two-column .product-media,
.public-body .qr-menu.theme-noir-catalog.layout-horizontal .product-media,
.public-body .qr-menu.theme-noir-catalog.display-visual-price .product-media {
    align-self: start !important;
    height: 112px !important;
    max-height: 112px !important;
    min-height: 112px !important;
}

.public-body .qr-menu.theme-noir-catalog .product-media img,
.public-body .qr-menu.theme-noir-catalog .image-placeholder,
.public-body .qr-menu.theme-noir-catalog .logo-placeholder,
.public-body .qr-menu.theme-noir-catalog.display-visual-price .product-media img,
.public-body .qr-menu.theme-noir-catalog.display-visual-price .image-placeholder,
.public-body .qr-menu.theme-noir-catalog.display-visual-price .logo-placeholder {
    height: 112px !important;
    max-height: 112px !important;
    min-height: 112px !important;
}

@media (max-width: 370px) {
    .public-body .qr-menu.theme-noir-catalog .product-media,
    .public-body .qr-menu.theme-noir-catalog .product-media img,
    .public-body .qr-menu.theme-noir-catalog .image-placeholder,
    .public-body .qr-menu.theme-noir-catalog .logo-placeholder {
        height: 104px !important;
        max-height: 104px !important;
        min-height: 104px !important;
    }
}

/* v152 mobile menu stability and compact bottom actions */
@media (max-width: 991px) {
    .public-body > main.qr-menu.has-mobile-actions {
        padding-bottom: calc(68px + env(safe-area-inset-bottom)) !important;
    }

    .public-body > main.qr-menu .mobile-actions,
    .public-body > main.qr-menu.has-mobile-actions .mobile-actions,
    .public-body > main.qr-menu.has-cart-action .mobile-actions,
    .public-body > main.qr-menu.has-service-action .mobile-actions,
    .public-body > main.qr-menu.has-cart-action.has-service-action .mobile-actions {
        height: 54px !important;
        max-height: 54px !important;
    }

    .public-body > main.qr-menu .mobile-actions.has-cart-edge.has-service-edge {
        grid-template-columns: 54px minmax(0, 1fr) 54px !important;
    }

    .public-body > main.qr-menu .mobile-actions.has-cart-edge:not(.has-service-edge) {
        grid-template-columns: 54px minmax(0, 1fr) !important;
    }

    .public-body > main.qr-menu .mobile-actions:not(.has-cart-edge).has-service-edge {
        grid-template-columns: minmax(0, 1fr) 54px !important;
    }

    .public-body > main.qr-menu .mobile-actions-middle,
    .public-body > main.qr-menu .mobile-dock-edge,
    .public-body > main.qr-menu .mobile-action-button {
        height: 54px !important;
        min-height: 54px !important;
    }

    .public-body > main.qr-menu .mobile-dock-icon,
    .public-body > main.qr-menu .mobile-actions-feedback-icon,
    .public-body > main.qr-menu .mobile-actions-share-icon {
        height: 31px !important;
        width: 31px !important;
    }

    .public-body > main.qr-menu .mobile-dock-icon svg,
    .public-body > main.qr-menu .mobile-actions-feedback-icon svg,
    .public-body > main.qr-menu .mobile-actions-share-icon svg,
    .public-body > main.qr-menu #basket-icon,
    .public-body > main.qr-menu #call-btn-icon,
    .public-body > main.qr-menu #mobile-actions-feedback-icon,
    .public-body > main.qr-menu #mobile-actions-share-icon {
        height: 28px !important;
        width: 28px !important;
    }

    .public-body > main.qr-menu .mobile-dock-cart em {
        border-width: 1px !important;
        font-size: 9px !important;
        height: 17px !important;
        min-width: 17px !important;
        padding: 0 4px !important;
        right: 7px !important;
        top: 5px !important;
    }
}

@media (max-width: 420px) {
    .public-body > main.qr-menu .mobile-actions.has-cart-edge.has-service-edge {
        grid-template-columns: 52px minmax(0, 1fr) 52px !important;
    }

    .public-body > main.qr-menu .mobile-actions.has-cart-edge:not(.has-service-edge) {
        grid-template-columns: 52px minmax(0, 1fr) !important;
    }

    .public-body > main.qr-menu .mobile-actions:not(.has-cart-edge).has-service-edge {
        grid-template-columns: minmax(0, 1fr) 52px !important;
    }
}

/* v153 product list quick price tools */
.product-list-actions {
    flex-wrap: nowrap;
}

.icon-action-button {
    align-items: center;
    background: #ffffff;
    border: 1px solid var(--line);
    border-radius: 10px;
    color: var(--ink);
    cursor: pointer;
    display: inline-flex;
    flex: 0 0 auto;
    height: 36px;
    justify-content: center;
    padding: 0;
    position: relative;
    transition: background .18s ease, border-color .18s ease, color .18s ease, transform .18s ease;
    width: 36px;
}

.icon-action-button svg {
    fill: none;
    height: 18px;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 2;
    width: 18px;
}

.icon-action-button:hover,
.icon-action-button:focus-visible {
    background: #f8fafc;
    border-color: rgba(15, 118, 110, .35);
    color: var(--primary);
    transform: translateY(-1px);
}

.icon-action-button.price {
    background: rgba(245, 158, 11, .12);
    border-color: rgba(245, 158, 11, .35);
    color: #92400e;
}

.icon-action-button.price:hover,
.icon-action-button.price:focus-visible {
    background: rgba(245, 158, 11, .18);
    color: #78350f;
}

.icon-action-button.danger {
    background: rgba(180, 35, 24, .08);
    border-color: rgba(180, 35, 24, .18);
    color: var(--danger);
}

.icon-action-button.danger:hover,
.icon-action-button.danger:focus-visible {
    background: rgba(180, 35, 24, .14);
    border-color: rgba(180, 35, 24, .32);
    color: #8f1f17;
}

.icon-action-button[data-tooltip]::after {
    background: #111827;
    border-radius: 7px;
    bottom: calc(100% + 8px);
    color: #ffffff;
    content: attr(data-tooltip);
    font-size: 12px;
    font-weight: 700;
    left: 50%;
    line-height: 1;
    opacity: 0;
    padding: 7px 8px;
    pointer-events: none;
    position: absolute;
    transform: translate(-50%, 4px);
    transition: opacity .16s ease, transform .16s ease;
    white-space: nowrap;
    z-index: 30;
}

.icon-action-button[data-tooltip]:hover::after,
.icon-action-button[data-tooltip]:focus-visible::after {
    opacity: 1;
    transform: translate(-50%, 0);
}

.quick-price-modal[hidden] {
    display: none !important;
}

.quick-price-modal {
    align-items: center;
    display: flex;
    inset: 0;
    justify-content: center;
    padding: 24px;
    position: fixed;
    z-index: 1200;
}

.quick-price-backdrop {
    background: rgba(15, 23, 42, .48);
    border: 0;
    cursor: pointer;
    inset: 0;
    padding: 0;
    position: absolute;
}

.quick-price-dialog {
    background: var(--surface);
    border: 1px solid rgba(228, 231, 236, .9);
    border-radius: 14px;
    box-shadow: 0 24px 80px rgba(15, 23, 42, .22);
    max-height: min(760px, calc(100vh - 48px));
    max-width: 760px;
    overflow: auto;
    padding: 22px;
    position: relative;
    width: min(760px, 100%);
}

.quick-price-head {
    align-items: flex-start;
    border-bottom: 1px solid var(--line);
    display: flex;
    gap: 16px;
    justify-content: space-between;
    margin-bottom: 18px;
    padding-bottom: 14px;
}

.quick-price-head h2 {
    font-size: 20px;
    line-height: 1.25;
    margin: 4px 0 0;
}

.quick-price-form {
    display: grid;
    gap: 18px;
}

.quick-price-grid {
    display: grid;
    gap: 12px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.quick-unit-builder {
    background: #f8fafc;
    border: 1px solid var(--line);
    border-radius: 12px;
    display: grid;
    gap: 12px;
    padding: 14px;
}

.quick-unit-title {
    align-items: center;
    display: flex;
    gap: 12px;
    justify-content: space-between;
}

.quick-unit-list {
    display: grid;
    gap: 10px;
}

.quick-unit-row {
    align-items: end;
    background: #ffffff;
    border: 1px solid var(--line);
    border-radius: 10px;
    display: grid;
    gap: 10px;
    grid-template-columns: minmax(140px, 1.1fr) minmax(110px, .8fr) minmax(110px, .7fr) 34px;
    padding: 10px;
}

.quick-unit-builder.is-single-currency .quick-unit-currency-field {
    display: none;
}

.quick-unit-builder.is-single-currency .quick-unit-row {
    grid-template-columns: minmax(140px, 1.1fr) minmax(110px, .8fr) 34px;
}

.quick-unit-remove {
    align-items: center;
    background: rgba(180, 35, 24, .08);
    border: 1px solid rgba(180, 35, 24, .16);
    border-radius: 9px;
    color: var(--danger);
    cursor: pointer;
    display: inline-flex;
    height: 34px;
    justify-content: center;
    padding: 0;
    width: 34px;
}

.quick-unit-remove svg {
    fill: none;
    height: 16px;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 2.2;
    width: 16px;
}

.quick-price-actions {
    display: flex;
    gap: 10px;
    justify-content: flex-end;
}

@media (max-width: 780px) {
    .product-list-actions {
        gap: 6px;
    }

    .icon-action-button {
        height: 34px;
        width: 34px;
    }

    .quick-price-modal {
        align-items: flex-end;
        padding: 10px;
    }

    .quick-price-dialog {
        border-radius: 14px 14px 0 0;
        max-height: calc(100vh - 20px);
        padding: 18px;
    }

    .quick-price-grid,
    .quick-unit-row,
    .quick-unit-builder.is-single-currency .quick-unit-row {
        grid-template-columns: 1fr;
    }

    .quick-unit-remove {
        justify-self: end;
    }

    .quick-price-actions {
        display: grid;
        grid-template-columns: 1fr 1fr;
    }
}

/* v154 compact welcome picked products */
.qr-welcome-page .welcome-picked-rail {
    gap: 6px !important;
}

.qr-welcome-page .welcome-picked-rail > span {
    font-size: 12px !important;
    line-height: 1.1 !important;
}

.qr-welcome-page .welcome-picked-rail > div {
    gap: 8px !important;
    grid-auto-columns: minmax(118px, 148px) !important;
}

.qr-welcome-page .welcome-picked-rail a {
    border-radius: 12px !important;
    gap: 5px !important;
    min-height: 112px !important;
    padding: 7px !important;
}

.qr-welcome-page .welcome-picked-rail img,
.qr-welcome-page .welcome-picked-rail b {
    aspect-ratio: 16 / 7.2 !important;
    border-radius: 9px !important;
}

.qr-welcome-page .welcome-picked-rail strong {
    display: -webkit-box !important;
    font-size: 12px !important;
    line-height: 1.12 !important;
    max-height: 28px !important;
    overflow: hidden !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 2 !important;
}

.qr-welcome-page .welcome-picked-price {
    font-size: 11px !important;
}

@media (min-width: 900px) {
    .qr-welcome-page .welcome-picked-rail > div {
        grid-auto-columns: minmax(124px, 154px) !important;
    }
}

@media (max-width: 899px) {
    .qr-welcome-page .welcome-picked-rail > div {
        grid-auto-columns: minmax(108px, 34vw) !important;
    }

    .qr-welcome-page .welcome-picked-rail a {
        min-height: 104px !important;
    }
}

/* v155 product detail comment spacing */
.public-body .description-dialog .description-comments {
    border-top: 1px solid rgba(148, 163, 184, .22) !important;
    margin-top: 12px !important;
    padding-top: 12px !important;
}

.public-body .description-dialog .description-comments .product-comments {
    margin-top: 0 !important;
}

.public-body .description-dialog .description-comments .product-comments summary {
    margin-top: 0 !important;
}

@media (max-width: 640px) {
    .public-body .description-dialog .description-comments {
        margin-top: 10px !important;
        padding-top: 10px !important;
    }
}

/* v157 realistic taller QRresta landing phone */
.launch-landing .launch-demo-stage {
    min-height: clamp(760px, 82vh, 900px) !important;
}

.launch-landing .launch-modern-phone {
    animation: launchModernPhoneFloat 6.5s ease-in-out infinite !important;
    aspect-ratio: 390 / 844;
    background:
        linear-gradient(90deg, #101214 0 2px, #c4c9cf 2px 5px, #2b2f33 5px 10px, transparent 10px calc(100% - 10px), #2b2f33 calc(100% - 10px) calc(100% - 5px), #c4c9cf calc(100% - 5px) calc(100% - 2px), #101214 calc(100% - 2px)),
        linear-gradient(135deg, #eef2f6 0%, #9da4ad 4%, #111316 8%, #020304 92%, #878e97 96%, #17191c 100%) !important;
    border: 1px solid rgba(255, 255, 255, .72) !important;
    border-radius: 66px !important;
    box-shadow:
        0 54px 140px rgba(2, 6, 23, .52),
        0 18px 44px rgba(15, 23, 42, .22),
        inset 0 0 0 4px rgba(255, 255, 255, .42),
        inset 0 0 0 9px rgba(0, 0, 0, .9),
        inset 0 0 0 12px rgba(255, 255, 255, .06) !important;
    display: block !important;
    max-width: min(410px, calc(100vw - 34px)) !important;
    padding: 14px !important;
    position: relative;
    transform: rotate(-1deg) !important;
    width: min(410px, 100%) !important;
}

.launch-landing .launch-modern-phone::before {
    background: linear-gradient(180deg, #d2d7de, #262a2f 38%, #08090a);
    border-radius: 999px;
    box-shadow:
        0 74px 0 #202428,
        0 148px 0 #202428,
        inset 1px 0 0 rgba(255, 255, 255, .36);
    content: "";
    height: 36px;
    left: -5px;
    position: absolute;
    top: 138px;
    width: 4px;
    z-index: 3;
}

.launch-landing .launch-modern-phone::after {
    background: linear-gradient(180deg, #d2d7de, #262a2f 38%, #08090a);
    border-radius: 999px;
    box-shadow: inset -1px 0 0 rgba(255, 255, 255, .34);
    content: "";
    height: 86px;
    position: absolute;
    right: -5px;
    top: 254px;
    width: 4px;
    z-index: 3;
}

.launch-landing .launch-modern-phone .launch-phone-bar {
    background:
        radial-gradient(circle at calc(100% - 17px) 50%, #334155 0 4px, #050505 5px 9px, transparent 10px),
        linear-gradient(90deg, #050505, #000) !important;
    border: 1px solid rgba(255, 255, 255, .12) !important;
    border-radius: 999px !important;
    box-shadow:
        inset 0 1px 1px rgba(255, 255, 255, .16),
        0 2px 10px rgba(0, 0, 0, .34) !important;
    height: 33px !important;
    left: 50% !important;
    position: absolute !important;
    top: 24px !important;
    transform: translateX(-50%) !important;
    width: 108px !important;
    z-index: 6 !important;
}

.launch-landing .launch-modern-phone .launch-phone-screen {
    aspect-ratio: 390 / 844;
    background: #fff !important;
    border: 1px solid rgba(255, 255, 255, .72) !important;
    border-radius: 52px !important;
    box-shadow:
        inset 0 0 0 1px rgba(15, 23, 42, .12),
        inset 0 0 0 4px rgba(255, 255, 255, .55) !important;
    height: auto !important;
    min-height: 0 !important;
    overflow: hidden !important;
    position: relative;
    width: 100%;
}

.launch-landing .launch-modern-phone .launch-phone-screen::after {
    background:
        linear-gradient(115deg, rgba(255, 255, 255, .34) 0 13%, transparent 14% 52%, rgba(255, 255, 255, .12) 53% 61%, transparent 62%);
    content: "";
    inset: 0;
    pointer-events: none;
    position: absolute;
    z-index: 4;
}

.launch-landing .launch-modern-phone .launch-demo-frame {
    border-radius: 50px !important;
}

@media (max-width: 980px) {
    .launch-landing .launch-demo-stage {
        min-height: clamp(720px, 88vh, 860px) !important;
    }
}

@media (max-width: 620px) {
    .launch-landing .launch-demo-stage {
        min-height: 690px !important;
    }

    .launch-landing .launch-modern-phone {
        border-radius: 48px !important;
        max-width: 318px !important;
        padding: 10px !important;
        transform: none !important;
        width: min(318px, calc(100vw - 34px)) !important;
    }

    .launch-landing .launch-modern-phone::before {
        height: 30px;
        left: -4px;
        top: 112px;
        width: 3px;
        box-shadow:
            0 60px 0 #202428,
            0 120px 0 #202428;
    }

    .launch-landing .launch-modern-phone::after {
        height: 70px;
        right: -4px;
        top: 210px;
        width: 3px;
    }

    .launch-landing .launch-modern-phone .launch-phone-bar {
        height: 27px !important;
        top: 17px !important;
        width: 88px !important;
    }

    .launch-landing .launch-modern-phone .launch-phone-screen {
        border-radius: 38px !important;
    }

    .launch-landing .launch-modern-phone .launch-demo-frame {
        border-radius: 36px !important;
    }
}

/* v158 visible live demo link on QRresta landing phone */
.launch-landing .launch-modern-phone .launch-phone-actions {
    align-items: center !important;
    display: flex !important;
    justify-content: center !important;
    left: 50%;
    padding: 0 !important;
    position: absolute !important;
    bottom: -58px;
    transform: translateX(-50%);
    width: max-content;
    z-index: 9;
}

.launch-landing .launch-modern-phone .launch-phone-actions a {
    background: linear-gradient(135deg, #0f766e, #2563eb);
    border: 1px solid rgba(255, 255, 255, .38);
    border-radius: 999px;
    box-shadow: 0 18px 42px rgba(37, 99, 235, .28);
    color: #ffffff !important;
    display: inline-flex;
    font-size: 14px;
    font-weight: 950;
    min-height: 42px;
    padding: 0 18px;
    text-decoration: none;
    white-space: nowrap;
}

.launch-landing .launch-modern-phone .launch-phone-actions a::after {
    content: ">";
    font-size: 13px;
    margin-left: 8px;
}

@media (max-width: 620px) {
    .launch-landing .launch-modern-phone .launch-phone-actions {
        bottom: -50px;
    }

    .launch-landing .launch-modern-phone .launch-phone-actions a {
        font-size: 13px;
        min-height: 38px;
        padding: 0 15px;
    }
}

/* v159 super admin sales, pricing and payment polish */
.admin-report-grid {
    display: grid;
    gap: 18px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-top: 18px;
}

.compact-report-table th,
.compact-report-table td {
    font-size: 13px;
    padding: 12px 10px;
}

.panel-body.admin-panel .admin-customer-actions,
.panel-body.admin-panel .compact-report-table .table-actions {
    align-items: center;
    display: flex;
    flex-wrap: nowrap;
    gap: 8px;
    justify-content: flex-end;
}

.panel-body.admin-panel .compact-action {
    min-height: 34px;
    padding: 0 13px;
    white-space: nowrap;
    width: auto;
}

.panel-body.admin-panel .stat-card.danger {
    border-color: rgba(180, 35, 24, .24);
    box-shadow: inset 0 0 0 1px rgba(180, 35, 24, .08);
}

.public-plan-price {
    align-items: baseline;
    display: flex !important;
    flex-wrap: wrap;
    gap: 8px;
}

.public-plan-price del {
    color: #8a94a6;
    font-size: clamp(18px, 2.2vw, 26px);
    font-weight: 800;
    text-decoration-thickness: 2px;
}

.public-plan-price span {
    color: inherit;
}

.public-plan-price small {
    color: #64748b;
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 0;
}

.payment-info-box {
    background: #f8fafc;
    border: 1px solid rgba(15, 23, 42, .1);
    border-radius: 12px;
    display: grid;
    gap: 8px;
    margin-top: 16px;
    padding: 14px;
}

.payment-info-box strong {
    color: #0f172a;
    font-size: 14px;
}

.payment-info-box p,
.payment-info-box small {
    color: #475569;
    font-size: 13px;
    line-height: 1.55;
    margin: 0;
}

.password-page .login-form-modern .button.ghost {
    justify-content: center;
    text-align: center;
}

@media (max-width: 980px) {
    .admin-report-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 760px) {
    .panel-body.admin-panel .admin-customer-actions {
        justify-content: flex-start;
        width: 100%;
    }

    .panel-body.admin-panel .admin-customer-actions form,
    .panel-body.admin-panel .admin-customer-actions .compact-action {
        flex: 1 1 auto;
    }
}

/* v160 package management page */
.package-create-section {
    margin-bottom: 18px;
}

.package-create-form {
    gap: 16px;
}

.package-field-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

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

.package-field-grid.compact {
    align-items: end;
    grid-template-columns: minmax(120px, 180px) minmax(180px, 1fr);
}

.packages-admin-grid {
    align-items: start;
}

.package-admin-card {
    gap: 14px;
}

.package-card-title {
    align-items: start;
    gap: 12px;
}

.package-card-title > div {
    display: grid;
    gap: 5px;
    min-width: 0;
}

.package-card-title .button {
    flex: 0 0 auto;
}

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

@media (max-width: 720px) {
    .package-field-grid,
    .package-field-grid.two,
    .package-field-grid.compact {
        grid-template-columns: 1fr;
    }
}

/* v161 settings subpages and customer mail tools */
.settings-subnav {
    display: grid;
    gap: 12px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin: 0 0 18px;
}

.settings-subnav a {
    background: #ffffff;
    border: 1px solid rgba(15, 23, 42, .1);
    border-radius: 14px;
    color: #0f172a;
    display: grid;
    gap: 5px;
    padding: 16px;
    text-decoration: none;
}

.settings-subnav a.active {
    border-color: rgba(37, 99, 235, .34);
    box-shadow: inset 0 0 0 1px rgba(37, 99, 235, .14), 0 18px 40px rgba(15, 23, 42, .06);
}

.settings-subnav strong {
    font-size: 15px;
}

.settings-subnav span {
    color: #64748b;
    font-size: 12px;
}

.mail-filter-bar {
    grid-template-columns: repeat(4, minmax(0, 1fr)) auto;
}

.mail-compose-form {
    display: grid;
    gap: 16px;
}

.mail-compose-grid {
    grid-template-columns: minmax(220px, 1fr) minmax(260px, 1fr);
}

.mail-recipient-table {
    margin-top: 4px;
}

.mail-recipient-table input[type="checkbox"] {
    height: 18px;
    width: 18px;
}

.mail-send-bar {
    align-items: center;
    display: flex;
    gap: 12px;
    justify-content: space-between;
}

.mail-send-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: flex-end;
}

@media (max-width: 980px) {
    .mail-filter-bar,
    .mail-compose-grid {
        grid-template-columns: 1fr 1fr;
    }

    .mail-send-bar {
        align-items: stretch;
        flex-direction: column;
    }
}

@media (max-width: 640px) {
    .settings-subnav,
    .mail-filter-bar,
    .mail-compose-grid {
        grid-template-columns: 1fr;
    }

    .mail-send-actions {
        display: grid;
        grid-template-columns: 1fr;
    }
}

/* v163 admin general settings layout and welcome mail polish */
.admin-general-settings-form {
    align-items: start;
    display: grid;
    gap: 18px;
    grid-template-columns: minmax(280px, .88fr) minmax(0, 1.12fr);
}

.admin-general-settings-form .settings-wide-panel,
.admin-general-settings-form .general-settings-save {
    grid-column: 1 / -1;
}

.settings-panel-head {
    display: grid;
    gap: 4px;
}

.settings-panel-head h2 {
    font-size: 18px;
    margin: 0;
}

.settings-panel-head small {
    color: #64748b;
    font-size: 12px;
}

.settings-brand-panel,
.settings-contact-panel,
.settings-wide-panel {
    gap: 16px;
}

.settings-media-grid {
    display: grid;
    gap: 12px;
}

.settings-media-item {
    align-items: center;
    background: #f8fafc;
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    display: grid;
    gap: 14px;
    grid-template-columns: 104px minmax(0, 1fr);
    min-width: 0;
    padding: 14px;
}

.settings-media-item.wide {
    grid-template-columns: 142px minmax(0, 1fr);
}

.settings-media-preview {
    align-items: center;
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    display: flex;
    height: 92px;
    justify-content: center;
    margin: 0;
    overflow: hidden;
    padding: 10px;
    width: 104px;
}

.settings-media-preview.favicon {
    height: 76px;
    width: 76px;
}

.settings-media-preview.social {
    aspect-ratio: 16 / 9;
    height: auto;
    min-height: 80px;
    width: 142px;
}

.settings-media-preview img {
    height: 100%;
    max-width: 100%;
    object-fit: contain;
    width: 100%;
}

.settings-media-copy {
    display: grid;
    gap: 9px;
    min-width: 0;
}

.settings-media-copy strong {
    color: #0f172a;
    font-size: 14px;
}

.settings-media-copy input[type="file"] {
    background: #ffffff;
    max-width: 100%;
}

.inline-check.compact {
    align-items: center;
    color: #475569;
    font-size: 13px;
    gap: 8px;
}

.settings-social-grid {
    display: grid;
    gap: 14px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.general-settings-save {
    margin-top: 2px;
}

@media (max-width: 1180px) {
    .admin-general-settings-form {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 640px) {
    .settings-media-item,
    .settings-media-item.wide {
        align-items: start;
        grid-template-columns: 1fr;
    }

    .settings-media-preview,
    .settings-media-preview.favicon,
    .settings-media-preview.social {
        height: 86px;
        width: 100%;
    }

    .settings-social-grid {
        grid-template-columns: 1fr;
    }

    .general-settings-save {
        align-items: stretch;
        flex-direction: column;
    }
}

/* v164 customer password screen and login announcement popup */
.password-change-form {
    max-width: 760px;
}

.customer-announcement-modal[hidden] {
    display: none;
}

.customer-announcement-modal {
    align-items: center;
    display: grid;
    inset: 0;
    padding: 18px;
    position: fixed;
    z-index: 2200;
}

.customer-announcement-backdrop {
    background: rgba(15, 23, 42, .58);
    border: 0;
    border-radius: 0;
    inset: 0;
    min-height: 0;
    padding: 0;
    position: absolute;
    width: 100%;
}

.customer-announcement-backdrop:hover {
    transform: none;
}

.customer-announcement-dialog {
    background: #ffffff;
    border: 1px solid rgba(226, 232, 240, .95);
    border-radius: 18px;
    box-shadow: 0 28px 90px rgba(15, 23, 42, .26);
    display: grid;
    gap: 16px;
    margin: auto;
    max-height: min(82vh, 680px);
    max-width: 560px;
    overflow: auto;
    padding: 26px;
    position: relative;
    width: min(100%, 560px);
}

.customer-announcement-dialog h2 {
    font-size: 24px;
    margin: 0;
}

.customer-announcement-close {
    align-items: center;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 999px;
    height: 38px;
    justify-content: center;
    min-height: 38px;
    padding: 0;
    position: absolute;
    right: 18px;
    top: 18px;
    width: 38px;
}

.customer-announcement-close::before,
.customer-announcement-close::after {
    background: #334155;
    border-radius: 2px;
    content: "";
    height: 2px;
    position: absolute;
    width: 15px;
}

.customer-announcement-close::before {
    transform: rotate(45deg);
}

.customer-announcement-close::after {
    transform: rotate(-45deg);
}

.customer-announcement-list {
    display: grid;
    gap: 12px;
}

.customer-announcement-list article {
    background: #f8fafc;
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    display: grid;
    gap: 7px;
    padding: 14px;
}

.customer-announcement-list strong {
    color: #0f172a;
}

.customer-announcement-list p {
    color: #475569;
    line-height: 1.55;
    margin: 0;
}

@media (max-width: 640px) {
    .customer-announcement-modal {
        align-items: end;
        padding: 10px;
    }

    .customer-announcement-dialog {
        border-radius: 16px;
        max-height: 86vh;
        padding: 22px;
        width: 100%;
    }
}

/* v164 admin list icon actions */
.panel-body.admin-panel .admin-icon-actions {
    align-items: center !important;
    display: inline-flex !important;
    flex-wrap: nowrap !important;
    gap: 7px !important;
    justify-content: flex-end !important;
    min-width: max-content;
}

.panel-body.admin-panel .admin-icon-actions form {
    display: inline-flex !important;
    margin: 0 !important;
}

.panel-body.admin-panel .admin-icon-action {
    align-items: center;
    background: #ffffff;
    border: 1px solid rgba(203, 213, 225, .95);
    border-radius: 10px;
    box-shadow: 0 8px 18px rgba(15, 23, 42, .05);
    color: #334155;
    cursor: pointer;
    display: inline-flex;
    flex: 0 0 auto;
    height: 36px;
    justify-content: center;
    padding: 0;
    text-decoration: none;
    transition: border-color .16s ease, box-shadow .16s ease, transform .16s ease;
    width: 36px;
}

.panel-body.admin-panel .admin-icon-action span {
    border-radius: 7px;
    display: block;
    height: 19px;
    position: relative;
    width: 19px;
}

.panel-body.admin-panel .admin-icon-action.edit span {
    background: #ecfdf5;
}

.panel-body.admin-panel .admin-icon-action.edit span::before {
    background: #0f766e;
    border-radius: 2px;
    content: "";
    height: 12px;
    left: 8px;
    position: absolute;
    top: 3px;
    transform: rotate(38deg);
    width: 3px;
}

.panel-body.admin-panel .admin-icon-action.delete span {
    background: #fef2f2;
}

.panel-body.admin-panel .admin-icon-action.delete span::before,
.panel-body.admin-panel .admin-icon-action.delete span::after {
    background: #b91c1c;
    border-radius: 999px;
    content: "";
    height: 2px;
    left: 4px;
    position: absolute;
    top: 8px;
    width: 11px;
}

.panel-body.admin-panel .admin-icon-action.delete span::before {
    transform: rotate(45deg);
}

.panel-body.admin-panel .admin-icon-action.delete span::after {
    transform: rotate(-45deg);
}

.panel-body.admin-panel .admin-icon-action:hover,
.panel-body.admin-panel .admin-icon-action:focus-visible {
    border-color: rgba(15, 118, 110, .36);
    box-shadow: 0 12px 22px rgba(15, 23, 42, .1);
    outline: none;
    transform: translateY(-1px);
}

.panel-body.admin-panel .admin-icon-action.delete:hover,
.panel-body.admin-panel .admin-icon-action.delete:focus-visible {
    border-color: rgba(185, 28, 28, .32);
}

@media (max-width: 680px) {
    .panel-body.admin-panel .admin-responsive-table .admin-icon-actions {
        display: inline-flex !important;
        justify-content: flex-start !important;
        width: auto !important;
    }

    .panel-body.admin-panel .admin-icon-action {
        height: 34px;
        width: 34px;
    }
}

/* v166 admin mail settings and responsive hardening */
.panel-body.admin-panel *,
.panel-body.customer-panel * {
    box-sizing: border-box;
}

.panel-body.admin-panel input,
.panel-body.admin-panel select,
.panel-body.admin-panel textarea,
.panel-body.customer-panel input,
.panel-body.customer-panel select,
.panel-body.customer-panel textarea {
    max-width: 100%;
    min-width: 0;
}

.panel-body.admin-panel .page-header .header-actions {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: flex-end;
}

.mail-settings-form {
    align-items: start;
    display: grid;
    gap: 16px;
    grid-template-columns: minmax(360px, 1.12fr) minmax(300px, .88fr);
}

.mail-settings-form .form-panel {
    min-width: 0;
}

.mail-settings-form .mail-smtp-panel {
    grid-column: 1;
    grid-row: 1 / span 3;
}

.mail-settings-form .mail-deliverability-panel,
.mail-settings-form .mail-test-panel,
.mail-settings-form .mail-logo-panel {
    grid-column: 2;
}

.mail-settings-form .mail-signature-panel {
    grid-column: 1 / -1;
}

.deliverability-checklist {
    background: #f8fafc;
    border: 1px solid rgba(203, 213, 225, .82);
    border-radius: 10px;
    display: grid;
    gap: 9px;
    margin: 12px 0;
    padding: 14px 16px 14px 30px;
}

.deliverability-checklist li {
    line-height: 1.45;
}

.mail-settings-form .settings-media-item {
    grid-template-columns: 86px minmax(0, 1fr);
}

.mail-settings-form .settings-media-preview {
    height: 76px;
    width: 86px;
}

.panel-body.admin-panel .admin-responsive-table {
    table-layout: auto;
}

.panel-body.admin-panel .admin-responsive-table td,
.panel-body.admin-panel .admin-responsive-table th {
    overflow-wrap: anywhere;
    vertical-align: top;
}

.panel-body.admin-panel .filter-bar,
.panel-body.admin-panel .field-grid,
.panel-body.customer-panel .filter-bar,
.panel-body.customer-panel .field-grid {
    min-width: 0;
}

@media (max-width: 1100px) {
    .mail-settings-form {
        grid-template-columns: 1fr;
    }

    .mail-settings-form .mail-smtp-panel,
    .mail-settings-form .mail-deliverability-panel,
    .mail-settings-form .mail-test-panel,
    .mail-settings-form .mail-logo-panel,
    .mail-settings-form .mail-signature-panel {
        grid-column: 1;
        grid-row: auto;
    }
}

@media (max-width: 720px) {
    .panel-body.admin-panel .page-header .header-actions,
    .panel-body.customer-panel .page-header .header-actions {
        display: grid;
        grid-template-columns: 1fr;
        width: 100%;
    }

    .panel-body.admin-panel .page-header .header-actions .button,
    .panel-body.admin-panel .page-header .header-actions button,
    .panel-body.customer-panel .page-header .header-actions .button,
    .panel-body.customer-panel .page-header .header-actions button {
        justify-content: center;
        width: 100%;
    }

    .mail-settings-form {
        gap: 12px;
    }

    .mail-settings-form .settings-media-item {
        align-items: stretch;
        grid-template-columns: 1fr;
    }

    .mail-settings-form .settings-media-preview {
        height: 84px;
        width: 100%;
    }

    .panel-body.admin-panel .admin-responsive-table td,
    .panel-body.customer-panel .admin-responsive-table td {
        min-width: 0;
    }

    .panel-body.admin-panel .admin-responsive-table td > *,
    .panel-body.customer-panel .admin-responsive-table td > * {
        min-width: 0;
    }
}

@media (max-width: 480px) {
    .settings-subnav {
        gap: 8px;
    }

    .settings-subnav a,
    .mail-settings-form .form-panel {
        border-radius: 10px;
        padding: 12px !important;
    }

    .deliverability-checklist {
        padding: 12px 12px 12px 24px;
    }
}

/* v347 admin customer preview and public references */
.panel-body.admin-panel .admin-icon-action.panel span {
    background: #eff6ff;
}

.panel-body.admin-panel .admin-icon-action.panel span::before {
    border: 2px solid #2563eb;
    border-radius: 5px;
    content: "";
    height: 11px;
    left: 3px;
    position: absolute;
    top: 3px;
    width: 13px;
}

.panel-body.admin-panel .admin-icon-action.panel span::after {
    background: #2563eb;
    border-radius: 999px;
    bottom: 2px;
    content: "";
    height: 2px;
    left: 6px;
    position: absolute;
    width: 7px;
}

.panel-body.admin-panel .admin-icon-action.panel:hover,
.panel-body.admin-panel .admin-icon-action.panel:focus-visible {
    border-color: rgba(37, 99, 235, .34);
}

.admin-reference-switch {
    margin-top: 8px;
}

.admin-customer-preview-bar {
    align-items: center;
    background: linear-gradient(135deg, #0f172a, #164e63);
    border: 1px solid rgba(148, 163, 184, .36);
    border-radius: 10px;
    box-shadow: 0 18px 38px rgba(15, 23, 42, .12);
    color: #ffffff;
    display: flex;
    gap: 14px;
    justify-content: space-between;
    margin: 0 0 16px;
    padding: 13px 16px;
}

.admin-customer-preview-bar div {
    display: grid;
    gap: 3px;
    min-width: 0;
}

.admin-customer-preview-bar strong {
    font-size: 13px;
    letter-spacing: .03em;
    text-transform: uppercase;
}

.admin-customer-preview-bar span {
    color: #dbeafe;
    font-size: 13px;
    font-weight: 700;
}

.admin-customer-preview-bar form {
    flex: 0 0 auto;
    margin: 0;
}

.admin-customer-preview-bar .button {
    background: rgba(255, 255, 255, .95);
    border-color: transparent;
    color: #0f172a;
}

.launch-references {
    background: #ffffff;
    border: 1px solid rgba(15, 23, 42, .08);
    border-radius: 18px;
    box-shadow: 0 18px 46px rgba(15, 23, 42, .06);
    display: grid;
    gap: 20px;
    margin: 28px auto;
    max-width: 1180px;
    padding: clamp(22px, 4vw, 34px);
}

.launch-reference-grid {
    display: grid;
    gap: 12px;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.launch-reference-card {
    align-items: center;
    background: linear-gradient(180deg, #f8fafc, #ffffff);
    border: 1px solid rgba(203, 213, 225, .9);
    border-radius: 12px;
    color: #0f172a;
    display: grid;
    gap: 8px;
    min-height: 150px;
    padding: 16px;
    text-align: center;
    text-decoration: none;
    transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.launch-reference-card span {
    align-items: center;
    background: #0f766e;
    border-radius: 50%;
    color: #ffffff;
    display: inline-flex;
    font-size: 18px;
    font-weight: 900;
    height: 52px;
    justify-content: center;
    justify-self: center;
    line-height: 1;
    text-transform: uppercase;
    width: 52px;
}

.launch-reference-card strong {
    font-size: 15px;
    line-height: 1.2;
}

.launch-reference-card small {
    color: #64748b;
    font-size: 12px;
    font-weight: 750;
}

.launch-reference-card:hover,
.launch-reference-card:focus-visible {
    border-color: rgba(15, 118, 110, .38);
    box-shadow: 0 18px 34px rgba(15, 23, 42, .1);
    outline: none;
    transform: translateY(-2px);
}

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

@media (max-width: 640px) {
    .admin-customer-preview-bar {
        align-items: stretch;
        display: grid;
    }

    .admin-customer-preview-bar .button {
        justify-content: center;
        width: 100%;
    }

    .launch-references {
        border-radius: 12px;
        margin: 18px 0;
    }

    .launch-reference-grid {
        grid-template-columns: 1fr;
    }
}

/* v348 public working menus phone carousel */
.launch-references {
    background:
        radial-gradient(circle at 14% 0%, rgba(20, 184, 166, .14), transparent 30%),
        linear-gradient(180deg, #ffffff, #f8fafc) !important;
    border-radius: 24px !important;
    overflow: hidden;
}

.launch-reference-marquee {
    margin: 4px -34px -10px;
    overflow: hidden;
    padding: 12px 0 26px;
    position: relative;
}

.launch-reference-marquee::before,
.launch-reference-marquee::after {
    content: "";
    bottom: 0;
    pointer-events: none;
    position: absolute;
    top: 0;
    width: 96px;
    z-index: 3;
}

.launch-reference-marquee::before {
    background: linear-gradient(90deg, #ffffff 0%, rgba(255, 255, 255, 0) 100%);
    left: 0;
}

.launch-reference-marquee::after {
    background: linear-gradient(270deg, #ffffff 0%, rgba(255, 255, 255, 0) 100%);
    right: 0;
}

.launch-reference-track {
    animation: launchReferencePhones 36s linear infinite;
    display: flex;
    gap: 24px;
    padding: 0 34px;
    width: max-content;
}

.launch-reference-marquee:hover .launch-reference-track {
    animation-play-state: paused;
}

.launch-reference-phone {
    align-items: center;
    display: grid;
    flex: 0 0 236px;
    gap: 10px;
    justify-items: center;
    position: relative;
    text-align: center;
}

.launch-reference-phone > a {
    border-radius: 32px;
    inset: 0 0 42px;
    position: absolute;
    z-index: 2;
}

.reference-phone-frame {
    background: #111827;
    border: 8px solid #0f172a;
    border-radius: 34px;
    box-shadow: 0 24px 52px rgba(15, 23, 42, .24);
    height: 430px;
    overflow: hidden;
    position: relative;
    width: 212px;
}

.reference-phone-frame::before {
    background: #020617;
    border-radius: 0 0 14px 14px;
    content: "";
    height: 20px;
    left: 50%;
    position: absolute;
    top: 0;
    transform: translateX(-50%);
    width: 72px;
    z-index: 2;
}

.reference-phone-speaker {
    background: rgba(255, 255, 255, .24);
    border-radius: 999px;
    height: 4px;
    left: 50%;
    position: absolute;
    top: 8px;
    transform: translateX(-50%);
    width: 34px;
    z-index: 3;
}

.reference-phone-frame iframe {
    background: #ffffff;
    border: 0;
    height: 812px;
    left: 50%;
    pointer-events: none;
    position: absolute;
    top: 0;
    transform: translateX(-50%) scale(.52);
    transform-origin: top center;
    width: 390px;
}

.launch-reference-phone strong {
    color: #0f172a;
    font-size: 15px;
    line-height: 1.18;
    max-width: 210px;
}

.launch-reference-phone small {
    color: #64748b;
    font-size: 12px;
    font-weight: 750;
}

@keyframes launchReferencePhones {
    from {
        transform: translateX(0);
    }

    to {
        transform: translateX(-50%);
    }
}

@media (prefers-reduced-motion: reduce) {
    .launch-reference-track {
        animation: none;
        overflow-x: auto;
    }
}

@media (max-width: 760px) {
    .launch-reference-marquee {
        margin-left: -18px;
        margin-right: -18px;
    }

    .launch-reference-track {
        gap: 18px;
        padding: 0 18px;
    }

    .launch-reference-phone {
        flex-basis: 196px;
    }

    .reference-phone-frame {
        border-radius: 28px;
        height: 358px;
        width: 176px;
    }

    .reference-phone-frame iframe {
        transform: translateX(-50%) scale(.44);
    }

    .launch-reference-marquee::before,
    .launch-reference-marquee::after {
        width: 42px;
    }
}

/* v349 public reference showcase and menu examples */
.launch-references {
    background:
        radial-gradient(circle at 18% 0%, rgba(255, 255, 255, .08), transparent 28%),
        linear-gradient(180deg, #14161d 0%, #090a0f 100%) !important;
    border: 0 !important;
    border-radius: 30px !important;
    box-shadow: 0 32px 80px rgba(2, 6, 23, .18) !important;
    color: #ffffff;
    margin-top: 28px;
    overflow: hidden;
    padding: clamp(28px, 5vw, 58px) 0 34px !important;
}

.launch-references .launch-section-title {
    margin: 0 auto;
    max-width: 760px;
    padding: 0 24px;
    text-align: center;
}

.launch-references .launch-kicker {
    background: rgba(255, 255, 255, .09);
    border: 1px solid rgba(255, 255, 255, .12);
    color: #facc15;
}

.launch-references .launch-section-title h2 {
    color: #ffffff;
    font-size: clamp(30px, 4.6vw, 58px);
    letter-spacing: 0;
}

.launch-references .launch-section-title p {
    color: rgba(255, 255, 255, .72);
    margin-left: auto;
    margin-right: auto;
    max-width: 640px;
}

.launch-reference-marquee {
    margin: 28px 0 0 !important;
    overflow: hidden;
    padding: 8px 0 20px !important;
}

.launch-reference-marquee::before {
    background: linear-gradient(90deg, #111319 0%, rgba(17, 19, 25, 0) 100%) !important;
}

.launch-reference-marquee::after {
    background: linear-gradient(270deg, #111319 0%, rgba(17, 19, 25, 0) 100%) !important;
}

.launch-reference-track {
    animation: launchReferencePhones 34s linear infinite !important;
    gap: 28px !important;
    padding: 0 42px !important;
}

.launch-reference-phone {
    background: transparent;
    flex: 0 0 236px !important;
    gap: 12px !important;
}

.launch-reference-phone > a {
    inset: 0 0 52px !important;
}

.reference-phone-frame {
    background: #030712 !important;
    border: 10px solid #05070d !important;
    border-radius: 38px !important;
    box-shadow:
        0 26px 58px rgba(0, 0, 0, .46),
        inset 0 0 0 1px rgba(255, 255, 255, .07) !important;
    height: 440px !important;
    width: 214px !important;
}

.reference-phone-frame::before {
    background: #02040a !important;
    border-radius: 0 0 16px 16px !important;
    height: 24px !important;
    width: 82px !important;
}

.reference-phone-frame iframe {
    border-radius: 26px;
    top: 2px !important;
}

.launch-reference-phone strong {
    color: #ffffff !important;
    font-size: 15px !important;
    font-weight: 850;
}

.launch-reference-phone small {
    color: rgba(255, 255, 255, .56) !important;
}

.launch-reference-actions {
    display: flex;
    justify-content: center;
    padding: 18px 24px 0;
}

.launch-reference-actions .button {
    box-shadow: 0 18px 36px rgba(20, 184, 166, .22);
}

@media (max-width: 760px) {
    .launch-references {
        border-radius: 22px !important;
        padding-top: 30px !important;
    }

    .launch-reference-track {
        animation-duration: 28s !important;
        gap: 18px !important;
        padding: 0 18px !important;
    }

    .launch-reference-phone {
        flex-basis: 190px !important;
    }

    .reference-phone-frame {
        border-width: 8px !important;
        border-radius: 32px !important;
        height: 356px !important;
        width: 176px !important;
    }

    .reference-phone-frame iframe {
        transform: translateX(-50%) scale(.44) !important;
    }

}

/* v350 compact reference phones and safer responsive menu titles */
.launch-reference-phone {
    flex-basis: 196px !important;
}

.reference-phone-frame {
    border-width: 8px !important;
    border-radius: 32px !important;
    height: 374px !important;
    width: 184px !important;
}

.reference-phone-frame iframe {
    height: 812px !important;
    width: 390px !important;
    transform: translateX(-50%) scale(.455) !important;
}

.launch-reference-track {
    gap: 20px !important;
}

.launch-reference-phone strong {
    max-width: 180px !important;
}

.launch-reference-actions {
    display: none !important;
}

body.public-body > main.qr-menu .welcome-brand-chip strong,
body.public-body > main.qr-menu .home-welcome-panel h1,
body.public-body > main.qr-menu .menu-cover-business h1,
body.public-body > main.qr-menu .theme2-title-row h1,
body.public-body > main.qr-menu .menu-footer-brand strong {
    hyphens: none !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow: hidden !important;
    overflow-wrap: normal !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    word-break: normal !important;
}

body.public-body > main.qr-menu .menu-cover-business,
body.public-body > main.qr-menu .theme2-title-row,
body.public-body > main.qr-menu .welcome-brand-chip,
body.public-body > main.qr-menu .home-welcome-panel {
    min-width: 0 !important;
}

body.public-body > main.qr-menu .welcome-brand-chip strong {
    display: block !important;
    font-size: clamp(13px, 4.4vw, 19px) !important;
    max-width: min(260px, calc(100vw - 96px)) !important;
}

body.public-body > main.qr-menu .home-welcome-panel h1 {
    font-size: clamp(20px, 7vw, 32px) !important;
    max-width: min(330px, calc(100vw - 34px)) !important;
}

body.public-body > main.qr-menu .menu-cover-business h1,
body.public-body > main.qr-menu .theme2-title-row h1 {
    font-size: clamp(17px, 5.8vw, 28px) !important;
    max-width: min(340px, calc(100vw - 108px)) !important;
}

body.public-body > main.qr-menu.theme-noir-catalog .menu-cover-business h1,
body.public-body > main.qr-menu.theme-noir-catalog .theme2-title-row h1 {
    font-size: clamp(16px, 5.2vw, 26px) !important;
    max-width: min(360px, calc(100vw - 118px)) !important;
}

@media (max-width: 760px) {
    .launch-reference-phone {
        flex-basis: 168px !important;
    }

    .reference-phone-frame {
        border-radius: 28px !important;
        height: 326px !important;
        width: 160px !important;
    }

    .reference-phone-frame iframe {
        transform: translateX(-50%) scale(.395) !important;
    }

    .launch-reference-phone strong {
        font-size: 13px !important;
        max-width: 154px !important;
    }

    body.public-body > main.qr-menu .menu-cover-business h1,
    body.public-body > main.qr-menu .theme2-title-row h1 {
        font-size: clamp(15px, 5.2vw, 22px) !important;
        max-width: min(280px, calc(100vw - 112px)) !important;
    }

    body.public-body > main.qr-menu .welcome-brand-chip strong {
        font-size: clamp(12px, 4vw, 17px) !important;
        max-width: min(236px, calc(100vw - 92px)) !important;
    }
}

/* v165 landing callback widget and admin callback requests */
.callback-widget {
    min-height: 172px;
    position: fixed;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 50px;
    z-index: 3200;
}

.callback-widget-tab {
    align-items: center;
    background: linear-gradient(135deg, #14b8a6, #2563eb);
    border: 0;
    border-radius: 16px 0 0 16px;
    box-shadow: 0 18px 38px rgba(15, 23, 42, .22);
    color: #ffffff;
    cursor: pointer;
    display: inline-flex;
    font-size: 13px;
    font-weight: 900;
    gap: 8px;
    height: 100%;
    justify-content: center;
    letter-spacing: .02em;
    min-width: 46px;
    min-height: 0;
    padding: 16px 10px;
    position: relative;
    writing-mode: vertical-rl;
}

.callback-widget-tab::before {
    background: rgba(255, 255, 255, .96);
    border-radius: 999px;
    color: #0f766e;
    content: "☎";
    display: inline-grid;
    font-size: 14px;
    height: 26px;
    line-height: 1;
    place-items: center;
    transform: rotate(90deg);
    width: 26px;
}

.callback-widget-tab:hover,
.callback-widget-tab:focus-visible {
    box-shadow: 0 22px 44px rgba(37, 99, 235, .28);
    outline: none;
    transform: translateX(-2px);
}

.callback-widget-panel {
    background: #ffffff;
    border: 1px solid rgba(203, 213, 225, .92);
    border-radius: 18px;
    box-shadow: 0 24px 70px rgba(15, 23, 42, .24);
    color: #0f172a;
    display: grid;
    gap: 10px;
    opacity: 0;
    padding: 18px;
    pointer-events: none;
    position: absolute;
    right: 58px;
    top: 50%;
    transform: translate(16px, -50%);
    transition: opacity .18s ease, transform .18s ease, visibility .18s ease;
    visibility: hidden;
    width: min(360px, calc(100vw - 92px));
}

.callback-widget.is-open .callback-widget-panel {
    opacity: 1;
    pointer-events: auto;
    transform: translate(0, -50%);
    visibility: visible;
}

.callback-widget-close {
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 999px;
    height: 32px;
    min-height: 32px;
    padding: 0;
    position: absolute;
    right: 12px;
    top: 12px;
    width: 32px;
}

.callback-widget-close::before,
.callback-widget-close::after {
    background: #334155;
    border-radius: 999px;
    content: "";
    height: 2px;
    left: 9px;
    position: absolute;
    top: 15px;
    width: 13px;
}

.callback-widget-close::before {
    transform: rotate(45deg);
}

.callback-widget-close::after {
    transform: rotate(-45deg);
}

.callback-widget-kicker {
    color: #0f766e;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.callback-widget-panel strong {
    font-size: 22px;
    line-height: 1.05;
}

.callback-widget-panel p {
    color: #475569;
    font-size: 13px;
    line-height: 1.45;
    margin: 0;
    max-width: 30ch;
}

.callback-widget-form {
    display: grid;
    gap: 8px;
}

.callback-widget-form label {
    color: #334155;
    display: grid;
    font-size: 12px;
    font-weight: 800;
    gap: 4px;
}

.callback-widget-form input,
.callback-widget-form textarea {
    background: #f8fafc;
    border: 1px solid #dbe3ef;
    border-radius: 10px;
    color: #0f172a;
    font-size: 13px;
    min-height: 38px;
    padding: 8px 10px;
    width: 100%;
}

.callback-widget-form textarea {
    line-height: 1.35;
    min-height: 74px;
    resize: vertical;
}

.callback-widget-form .button {
    justify-content: center;
    width: 100%;
}

.callback-honeypot {
    height: 0;
    left: -9999px;
    opacity: 0;
    overflow: hidden;
    position: absolute;
    width: 0;
}

.callback-status-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 10px;
}

.callback-status-tabs a {
    align-items: center;
    background: #ffffff;
    border: 1px solid rgba(203, 213, 225, .95);
    border-radius: 999px;
    color: #334155;
    display: inline-flex;
    font-size: 12px;
    font-weight: 900;
    gap: 7px;
    min-height: 32px;
    padding: 6px 11px;
    text-decoration: none;
}

.callback-status-tabs a.active {
    background: #ecfeff;
    border-color: rgba(14, 116, 144, .28);
    color: #0e7490;
}

.callback-status-tabs span {
    background: rgba(15, 23, 42, .08);
    border-radius: 999px;
    color: inherit;
    font-size: 11px;
    min-width: 22px;
    padding: 2px 6px;
    text-align: center;
}

.callback-requests-table .callback-message {
    color: #475569;
    line-height: 1.45;
    margin: 0;
    max-width: 34ch;
}

.callback-update-form {
    display: grid;
    gap: 7px;
    min-width: min(100%, 280px);
}

.callback-note-grid {
    grid-template-columns: minmax(96px, .55fr) minmax(150px, 1fr);
}

.callback-notes {
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    color: #475569;
    font-size: 11px;
    line-height: 1.45;
    max-height: 92px;
    overflow: auto;
    padding: 8px;
}

.panel-body.admin-panel .status.contacted {
    background: #e0f2fe;
    color: #075985;
}

.panel-body.admin-panel .status.negative {
    background: #fee2e2;
    color: #991b1b;
}

@media (max-width: 760px) {
    .callback-widget {
        bottom: 14px;
        left: 12px;
        max-width: calc(100vw - 24px);
        min-height: 0;
        right: 12px;
        top: auto;
        transform: none;
        width: auto !important;
    }

    .callback-widget-tab {
        border-radius: 999px;
        box-shadow: 0 14px 30px rgba(15, 23, 42, .22);
        height: auto !important;
        justify-content: center;
        max-width: none;
        min-width: 0;
        min-height: 46px;
        padding: 10px 14px;
        width: 100% !important;
        writing-mode: horizontal-tb;
    }

    .callback-widget-tab span {
        white-space: nowrap;
    }

    .callback-widget-tab::before {
        transform: none;
    }

    .callback-widget-panel {
        bottom: 58px;
        left: 0;
        max-height: calc(100vh - 86px);
        max-width: none;
        overflow: auto;
        right: 0;
        top: auto;
        transform: translateY(12px);
        width: auto;
    }

    .callback-widget.is-open .callback-widget-panel {
        transform: translateY(0);
    }

    .callback-note-grid {
        grid-template-columns: 1fr;
    }
}

/* v170 landing clean URLs, compact callback widget and admin callback list */
.launch-nav-links a.active {
    background: rgba(255, 255, 255, .18);
    color: #ffffff;
}

#features,
#capabilities,
#welcome-screen,
#pricing,
#contact {
    scroll-margin-top: 108px;
}

.launch-landing .launch-demo-stage {
    min-height: clamp(665px, 76vh, 790px) !important;
}

.launch-landing .launch-modern-phone {
    max-width: min(360px, calc(100vw - 34px)) !important;
    width: min(360px, 100%) !important;
}

.launch-landing .launch-modern-phone .launch-demo-frame {
    height: 112% !important;
    overflow: hidden !important;
    scrollbar-width: none !important;
    transform: scale(.892);
    transform-origin: left top;
    width: 112% !important;
}

.launch-landing .launch-modern-phone .launch-demo-frame::-webkit-scrollbar {
    display: none;
    height: 0;
    width: 0;
}

.launch-landing .launch-phone-qr-badge {
    bottom: 92px !important;
    right: -24px !important;
    width: 92px !important;
}

.launch-landing .launch-phone-qr-badge span {
    padding: 9px !important;
}

.launch-landing .launch-phone-qr-badge img {
    height: 78px !important;
    width: 78px !important;
}

@media (max-width: 620px) {
    .launch-landing .launch-demo-stage {
        min-height: 642px !important;
    }

    .launch-landing .launch-modern-phone {
        max-width: 296px !important;
        width: min(296px, calc(100vw - 38px)) !important;
    }

    .launch-landing .launch-phone-qr-badge {
        bottom: 68px !important;
        right: 12px !important;
        width: 82px !important;
    }

    .launch-landing .launch-phone-qr-badge img {
        height: 68px !important;
        width: 68px !important;
    }
}

@keyframes qrrestaContactFlow {
    0% {
        background-position: 0% 50%;
    }

    50% {
        background-position: 100% 50%;
    }

    100% {
        background-position: 0% 50%;
    }
}

@keyframes qrrestaContactSweep {
    0% {
        transform: translateX(-115%);
    }

    100% {
        transform: translateX(115%);
    }
}

.launch-contact {
    align-items: center !important;
    animation: qrrestaContactFlow 12s ease-in-out infinite;
    background: linear-gradient(120deg, #ecfeff 0%, #f8fbff 34%, #fff7ed 68%, #eef2ff 100%) !important;
    background-size: 190% 190% !important;
    border-bottom: 1px solid rgba(15, 23, 42, .07);
    border-top: 1px solid rgba(15, 23, 42, .07);
    gap: 28px !important;
    grid-template-columns: minmax(0, .76fr) minmax(0, 1.24fr) !important;
    overflow: hidden;
    position: relative;
}

.launch-contact::before {
    animation: qrrestaContactSweep 6.5s ease-in-out infinite;
    background: linear-gradient(90deg, transparent, rgba(20, 184, 166, .14), rgba(37, 99, 235, .12), transparent);
    content: "";
    inset: 0;
    pointer-events: none;
    position: absolute;
}

.launch-contact > * {
    position: relative;
    z-index: 1;
}

.launch-contact address {
    display: grid !important;
    gap: 12px !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.launch-contact a,
.launch-contact span {
    align-items: center;
    background: rgba(255, 255, 255, .9) !important;
    border: 1px solid rgba(15, 23, 42, .08) !important;
    border-radius: 18px !important;
    box-shadow: 0 16px 36px rgba(15, 23, 42, .08) !important;
    display: flex !important;
    min-height: 62px;
    padding: 14px 16px 14px 46px !important;
    position: relative;
    transition: box-shadow .18s ease, transform .18s ease, border-color .18s ease;
}

.launch-contact a::before,
.launch-contact span::before {
    background: linear-gradient(135deg, #14b8a6, #2563eb);
    border-radius: 7px;
    content: "";
    height: 18px;
    left: 16px;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 18px;
}

.launch-contact a:hover,
.launch-contact a:focus-visible {
    border-color: rgba(20, 184, 166, .32) !important;
    box-shadow: 0 20px 46px rgba(20, 184, 166, .14) !important;
    outline: none;
    transform: translateY(-3px);
}

@media (max-width: 860px) {
    .launch-contact {
        grid-template-columns: 1fr !important;
    }

    .launch-contact address {
        grid-template-columns: 1fr;
    }
}

@media (prefers-reduced-motion: reduce) {
    .launch-contact,
    .launch-contact::before {
        animation: none;
    }
}

.callback-widget {
    min-height: 86px !important;
    right: 0 !important;
    top: 54% !important;
    width: 42px !important;
}

.callback-widget-tab {
    border-radius: 14px 0 0 14px !important;
    font-size: 12px !important;
    gap: 6px !important;
    min-width: 42px !important;
    padding: 10px 8px !important;
}

.callback-widget-tab span {
    white-space: nowrap;
}

.callback-widget-tab::before {
    font-size: 12px !important;
    height: 22px !important;
    width: 22px !important;
}

.callback-widget-panel {
    gap: 8px !important;
    padding: 16px !important;
    right: 50px !important;
    width: min(326px, calc(100vw - 62px)) !important;
}

.callback-widget-panel strong {
    font-size: 20px !important;
}

.callback-widget-panel p {
    font-size: 12px !important;
}

.callback-widget-form input,
.callback-widget-form textarea {
    min-height: 36px !important;
}

.callback-widget-form textarea {
    min-height: 62px !important;
}

@media (max-width: 760px) {
    .callback-widget {
        bottom: auto !important;
        left: auto !important;
        max-width: none !important;
        min-height: 76px !important;
        right: 0 !important;
        top: 58% !important;
        transform: translateY(-50%) !important;
        width: 40px !important;
    }

    .callback-widget-tab {
        border-radius: 14px 0 0 14px !important;
        height: 100% !important;
        min-height: 76px !important;
        min-width: 40px !important;
        padding: 9px 7px !important;
        width: 40px !important;
        writing-mode: vertical-rl !important;
    }

    .callback-widget-tab::before {
        transform: rotate(90deg) !important;
    }

    .callback-widget-panel {
        bottom: auto !important;
        left: auto !important;
        max-height: calc(100dvh - 28px) !important;
        overflow: auto !important;
        right: 46px !important;
        top: 50% !important;
        transform: translate(10px, -50%) !important;
        width: min(306px, calc(100vw - 56px)) !important;
    }

    .callback-widget.is-open .callback-widget-panel {
        transform: translate(0, -50%) !important;
    }
}

.callback-admin-page .section-title {
    margin-bottom: 12px;
}

.callback-requests-table th,
.callback-requests-table td {
    padding: 12px 10px !important;
    vertical-align: top;
}

.callback-requests-table .callback-message {
    max-height: 78px;
    overflow: auto;
}

.callback-row-heading {
    align-items: center;
    display: flex;
    gap: 8px;
}

.callback-update-form {
    gap: 6px !important;
    max-width: 330px;
    min-width: min(100%, 250px) !important;
}

.callback-note-grid {
    gap: 6px !important;
    grid-template-columns: 108px minmax(140px, 1fr) !important;
}

.callback-note-grid label {
    font-size: 11px !important;
    gap: 4px !important;
}

.callback-note-grid select,
.callback-note-grid textarea {
    font-size: 12px !important;
    min-height: 38px !important;
    padding: 7px 9px !important;
}

.callback-note-grid textarea {
    max-height: 84px;
    min-height: 38px !important;
    resize: vertical;
}

.callback-update-form .button {
    min-height: 36px;
    padding: 8px 12px;
}

.callback-notes-box {
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    max-width: 100%;
    overflow: hidden;
}

.callback-notes-box summary {
    color: #334155;
    cursor: pointer;
    font-size: 11px;
    font-weight: 900;
    list-style: none;
    padding: 8px 9px;
}

.callback-notes-box summary::-webkit-details-marker {
    display: none;
}

.callback-notes-box summary::after {
    content: "+";
    float: right;
    font-weight: 950;
}

.callback-notes-box[open] summary::after {
    content: "-";
}

.callback-notes-box .callback-notes {
    border: 0;
    border-radius: 0;
    max-height: 92px;
}

@media (max-width: 920px) {
    .callback-note-grid {
        grid-template-columns: 1fr !important;
    }
}

/* v171 safer mobile callback placement */
@media (max-width: 760px) {
    .callback-widget {
        right: clamp(14px, 10vw, 44px) !important;
    }

    .callback-widget-panel {
        left: 12px !important;
        max-width: calc(100vw - 24px) !important;
        position: fixed !important;
        right: auto !important;
        transform: translateY(-50%) !important;
        width: min(306px, calc(100dvw - 64px)) !important;
    }

    .callback-widget.is-open .callback-widget-panel {
        transform: translateY(-50%) !important;
    }
}

@supports not (width: 100dvw) {
    @media (max-width: 760px) {
        .callback-widget-panel {
            width: min(306px, calc(100vw - 64px)) !important;
        }
    }
}

/* v172 reference-style callback tab and faster landing navigation */
.callback-widget {
    height: 174px !important;
    min-height: 0 !important;
    overflow: visible !important;
    right: 0 !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    width: 58px !important;
}

.callback-widget-tab {
    align-items: center !important;
    background: linear-gradient(180deg, #0f9f84 0%, #087768 100%) !important;
    border: 1px solid rgba(255, 255, 255, .16) !important;
    border-right: 0 !important;
    border-radius: 24px 0 0 24px !important;
    box-shadow: 0 18px 42px rgba(6, 78, 59, .26) !important;
    color: #ffffff !important;
    display: flex !important;
    font-size: 13px !important;
    font-weight: 950 !important;
    height: 174px !important;
    justify-content: center !important;
    letter-spacing: 0 !important;
    line-height: 1 !important;
    min-height: 174px !important;
    min-width: 58px !important;
    padding: 44px 9px 18px !important;
    position: relative !important;
    text-transform: none !important;
    width: 58px !important;
    writing-mode: vertical-rl !important;
}

.callback-widget-tab::before {
    background:
        linear-gradient(#b9fff0, #b9fff0) 5px 13px / 4px 8px no-repeat,
        linear-gradient(#b9fff0, #b9fff0) 12px 8px / 4px 13px no-repeat,
        linear-gradient(#b9fff0, #b9fff0) 19px 4px / 4px 17px no-repeat,
        rgba(255, 255, 255, .08) !important;
    border: 1px solid rgba(255, 255, 255, .16) !important;
    border-radius: 10px !important;
    content: "" !important;
    height: 28px !important;
    left: 50% !important;
    position: absolute !important;
    top: 16px !important;
    transform: translateX(-50%) !important;
    width: 28px !important;
}

.callback-widget-tab span {
    display: block !important;
    transform: rotate(180deg) !important;
    white-space: nowrap !important;
}

.callback-widget-tab:hover,
.callback-widget-tab:focus-visible {
    box-shadow: 0 22px 52px rgba(6, 78, 59, .34) !important;
    transform: translateX(-4px) !important;
}

.callback-widget-panel {
    border: 1px solid rgba(15, 118, 110, .16) !important;
    border-radius: 24px !important;
    box-shadow: 0 26px 80px rgba(15, 23, 42, .26) !important;
    gap: 10px !important;
    padding: 22px !important;
    right: 72px !important;
    transform: translate(18px, -50%) !important;
    width: min(360px, calc(100vw - 98px)) !important;
}

.callback-widget.is-open .callback-widget-panel {
    transform: translate(0, -50%) !important;
}

.callback-widget-kicker {
    color: #087768 !important;
}

.callback-widget-form .button {
    background: linear-gradient(135deg, #0f9f84, #087768) !important;
    border-radius: 12px !important;
}

@media (max-width: 760px) {
    .callback-widget {
        height: 148px !important;
        left: calc(100vw - 58px) !important;
        right: auto !important;
        top: 54% !important;
        width: 50px !important;
    }

    .callback-widget-tab {
        border-radius: 20px 0 0 20px !important;
        font-size: 12px !important;
        height: 148px !important;
        min-height: 148px !important;
        min-width: 50px !important;
        padding: 40px 7px 15px !important;
        width: 50px !important;
    }

    .callback-widget-tab::before {
        height: 25px !important;
        top: 13px !important;
        width: 25px !important;
    }

    .callback-widget-panel {
        left: 12px !important;
        max-height: calc(100dvh - 28px) !important;
        right: auto !important;
        top: 50% !important;
        transform: translate(12px, -50%) !important;
        width: min(316px, calc(100vw - 76px)) !important;
    }

    .callback-widget.is-open .callback-widget-panel {
        transform: translate(0, -50%) !important;
    }
}

/* v183 mobile callback as compact fixed icon */
@media (max-width: 760px) {
    .callback-widget {
        bottom: 104px !important;
        height: 56px !important;
        left: auto !important;
        right: 12px !important;
        top: auto !important;
        transform: none !important;
        width: 56px !important;
    }

    .callback-widget-tab {
        border-radius: 18px 0 0 18px !important;
        height: 56px !important;
        min-height: 56px !important;
        min-width: 56px !important;
        padding: 0 !important;
        width: 56px !important;
        writing-mode: horizontal-tb !important;
    }

    .callback-widget-tab::before {
        background:
            linear-gradient(#d8fff7, #d8fff7) 8px 20px / 5px 8px no-repeat,
            linear-gradient(#d8fff7, #d8fff7) 17px 14px / 5px 14px no-repeat,
            linear-gradient(#d8fff7, #d8fff7) 26px 8px / 5px 20px no-repeat,
            rgba(255, 255, 255, .1) !important;
        border-radius: 12px !important;
        height: 36px !important;
        left: 50% !important;
        top: 50% !important;
        transform: translate(-50%, -50%) !important;
        width: 36px !important;
    }

    .callback-widget-tab span {
        clip: rect(0 0 0 0) !important;
        height: 1px !important;
        overflow: hidden !important;
        position: absolute !important;
        transform: none !important;
        white-space: nowrap !important;
        width: 1px !important;
    }
}

/* v185 hide callback widget on mobile */
@media (max-width: 760px) {
    .callback-widget {
        display: none !important;
    }
}

/* v186 mobile menu dock license-aware alignment */
@media (max-width: 991px) {
    .public-body > main.qr-menu .mobile-actions {
        box-sizing: border-box !important;
        column-gap: 0 !important;
        left: 0 !important;
        right: 0 !important;
        width: 100dvw !important;
    }

    .public-body > main.qr-menu .mobile-actions-middle {
        align-self: stretch !important;
        border-radius: 0 !important;
        grid-column: 2 !important;
        justify-self: stretch !important;
        margin: 0 !important;
        min-width: 0 !important;
        width: 100% !important;
    }

    .public-body > main.qr-menu .mobile-actions:not(.has-cart-edge) .mobile-actions-middle {
        grid-column-start: 1 !important;
    }

    .public-body > main.qr-menu .mobile-actions:not(.has-service-edge) .mobile-actions-middle {
        grid-column-end: -1 !important;
    }

    .public-body > main.qr-menu .mobile-actions:not(.has-cart-edge):not(.has-service-edge) .mobile-actions-middle {
        grid-column: 1 / -1 !important;
    }

    .public-body > main.qr-menu .mobile-action-button {
        min-width: 0 !important;
        width: 100% !important;
    }
}

/* v187 single-license mobile dock stabilization */
@media (max-width: 991px) {
    .public-body > main.qr-menu .mobile-actions {
        --mobile-dock-edge: 54px;
        background: #fff !important;
        border-top: 1px solid rgba(15, 23, 42, .08) !important;
        box-shadow: 0 -10px 26px rgba(15, 23, 42, .12) !important;
        grid-template-columns: minmax(0, 1fr) !important;
        overflow: hidden !important;
    }

    .public-body > main.qr-menu .mobile-actions.has-cart-edge.has-service-edge {
        grid-template-columns: var(--mobile-dock-edge) minmax(0, 1fr) var(--mobile-dock-edge) !important;
    }

    .public-body > main.qr-menu .mobile-actions.has-cart-edge:not(.has-service-edge) {
        grid-template-columns: var(--mobile-dock-edge) minmax(0, 1fr) !important;
    }

    .public-body > main.qr-menu .mobile-actions:not(.has-cart-edge).has-service-edge {
        grid-template-columns: minmax(0, 1fr) var(--mobile-dock-edge) !important;
    }

    .public-body > main.qr-menu .mobile-actions-middle {
        background: #fff !important;
        box-shadow: none !important;
        grid-column: 1 / -1 !important;
        height: 54px !important;
        min-height: 54px !important;
    }

    .public-body > main.qr-menu .mobile-actions.has-cart-edge .mobile-actions-middle {
        grid-column-start: 2 !important;
    }

    .public-body > main.qr-menu .mobile-actions.has-service-edge .mobile-actions-middle {
        grid-column-end: -2 !important;
    }

    .public-body > main.qr-menu .mobile-actions.has-cart-edge:not(.has-service-edge) .mobile-actions-middle {
        grid-column: 2 / -1 !important;
    }

    .public-body > main.qr-menu .mobile-actions:not(.has-cart-edge).has-service-edge .mobile-actions-middle {
        grid-column: 1 / -2 !important;
    }

    .public-body > main.qr-menu .mobile-actions:not(.has-cart-edge):not(.has-service-edge) .mobile-actions-middle {
        grid-column: 1 / -1 !important;
    }

    .public-body > main.qr-menu .mobile-dock-cart,
    .public-body > main.qr-menu .mobile-dock-service {
        display: none !important;
    }

    .public-body > main.qr-menu .mobile-actions.has-cart-edge .mobile-dock-cart {
        display: inline-flex !important;
        grid-column: 1 !important;
    }

    .public-body > main.qr-menu .mobile-actions.has-service-edge .mobile-dock-service {
        display: inline-flex !important;
        grid-column: -2 / -1 !important;
    }
}

@media (max-width: 420px) {
    .public-body > main.qr-menu .mobile-actions {
        --mobile-dock-edge: 52px;
    }
}

/* v188 stable mobile dock slots for single cart/service licenses */
@media (max-width: 991px) {
    .public-body > main.qr-menu .mobile-actions,
    .public-body > main.qr-menu.has-mobile-actions .mobile-actions,
    .public-body > main.qr-menu.has-cart-action .mobile-actions,
    .public-body > main.qr-menu.has-service-action .mobile-actions,
    .public-body > main.qr-menu.has-cart-action.has-service-action .mobile-actions {
        --mobile-dock-edge: 54px;
        align-items: stretch !important;
        background: #fff !important;
        border: 0 !important;
        border-top: 1px solid rgba(15, 23, 42, .08) !important;
        border-radius: 0 !important;
        bottom: 0 !important;
        box-shadow: 0 -10px 26px rgba(15, 23, 42, .12) !important;
        box-sizing: border-box !important;
        display: grid !important;
        gap: 0 !important;
        grid-template-columns: var(--mobile-dock-edge) minmax(0, 1fr) var(--mobile-dock-edge) !important;
        height: calc(56px + env(safe-area-inset-bottom)) !important;
        left: 0 !important;
        max-width: 100vw !important;
        overflow: hidden !important;
        padding: 0 0 env(safe-area-inset-bottom) !important;
        position: fixed !important;
        right: 0 !important;
        transform: none !important;
        width: 100vw !important;
        z-index: 520 !important;
    }

    .public-body > main.qr-menu .mobile-actions:not(.has-cart-edge):not(.has-service-edge) {
        grid-template-columns: minmax(0, 1fr) !important;
    }

    .public-body > main.qr-menu .mobile-actions-middle {
        align-items: stretch !important;
        align-self: stretch !important;
        background: #fff !important;
        border: 0 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        display: grid !important;
        gap: 0 !important;
        grid-auto-columns: minmax(0, 1fr) !important;
        grid-auto-flow: column !important;
        grid-column: 2 !important;
        height: 56px !important;
        justify-self: stretch !important;
        margin: 0 !important;
        min-height: 56px !important;
        min-width: 0 !important;
        overflow: hidden !important;
        padding: 0 !important;
        width: 100% !important;
    }

    .public-body > main.qr-menu .mobile-actions:not(.has-cart-edge):not(.has-service-edge) .mobile-actions-middle {
        grid-column: 1 / -1 !important;
    }

    .public-body > main.qr-menu .mobile-dock-cart,
    .public-body > main.qr-menu .mobile-dock-service {
        align-items: center !important;
        align-self: stretch !important;
        background: var(--primary, #111827) !important;
        border: 0 !important;
        border-radius: 0 !important;
        color: #fff !important;
        display: none !important;
        height: 56px !important;
        justify-content: center !important;
        min-height: 56px !important;
        min-width: 0 !important;
        padding: 0 !important;
        width: 100% !important;
    }

    .public-body > main.qr-menu .mobile-actions.has-cart-edge .mobile-dock-cart {
        border-radius: 0 18px 0 0 !important;
        display: inline-flex !important;
        grid-column: 1 !important;
    }

    .public-body > main.qr-menu .mobile-actions.has-service-edge .mobile-dock-service {
        border-radius: 18px 0 0 0 !important;
        display: inline-flex !important;
        grid-column: 3 !important;
    }

    .public-body > main.qr-menu .mobile-action-button {
        align-items: center !important;
        background: #fff !important;
        border: 0 !important;
        color: var(--primary, #111827) !important;
        display: inline-flex !important;
        height: 56px !important;
        justify-content: center !important;
        min-height: 56px !important;
        min-width: 0 !important;
        padding: 0 !important;
        width: 100% !important;
    }

    .public-body > main.qr-menu .mobile-dock-icon,
    .public-body > main.qr-menu .mobile-actions-feedback-icon,
    .public-body > main.qr-menu .mobile-actions-share-icon {
        height: 36px !important;
        width: 36px !important;
    }

    .public-body > main.qr-menu .mobile-dock-icon svg,
    .public-body > main.qr-menu .mobile-actions-feedback-icon svg,
    .public-body > main.qr-menu .mobile-actions-share-icon svg,
    .public-body > main.qr-menu #basket-icon,
    .public-body > main.qr-menu #call-btn-icon,
    .public-body > main.qr-menu #mobile-actions-feedback-icon,
    .public-body > main.qr-menu #mobile-actions-share-icon {
        height: 32px !important;
        width: 32px !important;
    }
}

@media (max-width: 420px) {
    .public-body > main.qr-menu .mobile-actions,
    .public-body > main.qr-menu.has-mobile-actions .mobile-actions,
    .public-body > main.qr-menu.has-cart-action .mobile-actions,
    .public-body > main.qr-menu.has-service-action .mobile-actions,
    .public-body > main.qr-menu.has-cart-action.has-service-action .mobile-actions {
        --mobile-dock-edge: 52px;
    }
}

/* v189 specificity lock for one-sided license dock states */
@media (max-width: 991px) {
    .public-body > main.qr-menu .mobile-actions.has-cart-edge.has-service-edge,
    .public-body > main.qr-menu .mobile-actions.has-cart-edge:not(.has-service-edge),
    .public-body > main.qr-menu .mobile-actions:not(.has-cart-edge).has-service-edge {
        grid-template-columns: var(--mobile-dock-edge) minmax(0, 1fr) var(--mobile-dock-edge) !important;
        left: 0 !important;
        max-width: 100vw !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        right: 0 !important;
        transform: none !important;
        width: 100vw !important;
    }

    .public-body > main.qr-menu .mobile-actions.has-cart-edge.has-service-edge .mobile-actions-middle,
    .public-body > main.qr-menu .mobile-actions.has-cart-edge:not(.has-service-edge) .mobile-actions-middle,
    .public-body > main.qr-menu .mobile-actions:not(.has-cart-edge).has-service-edge .mobile-actions-middle {
        grid-column: 2 !important;
    }

    .public-body > main.qr-menu .mobile-actions.has-cart-edge.has-service-edge .mobile-dock-cart,
    .public-body > main.qr-menu .mobile-actions.has-cart-edge:not(.has-service-edge) .mobile-dock-cart {
        grid-column: 1 !important;
    }

    .public-body > main.qr-menu .mobile-actions.has-cart-edge.has-service-edge .mobile-dock-service,
    .public-body > main.qr-menu .mobile-actions:not(.has-cart-edge).has-service-edge .mobile-dock-service {
        grid-column: 3 !important;
    }
}

/* v190 service modal buttons follow theme primary color */
.public-body > main.qr-menu .service-option-button {
    background: var(--primary, #111827) !important;
    border: 1px solid color-mix(in srgb, var(--primary, #111827) 82%, #ffffff 18%) !important;
    box-shadow: 0 14px 34px color-mix(in srgb, var(--primary, #111827) 28%, transparent) !important;
    color: #fff !important;
}

.public-body > main.qr-menu .service-option-button:hover,
.public-body > main.qr-menu .service-option-button:focus-visible {
    background: color-mix(in srgb, var(--primary, #111827) 92%, #ffffff 8%) !important;
    transform: translateY(-1px);
}

.public-body > main.qr-menu .service-option-button:disabled {
    background: #94a3b8 !important;
    border-color: #94a3b8 !important;
    box-shadow: none !important;
    color: rgba(255, 255, 255, .78) !important;
    cursor: not-allowed;
}

.public-body > main.qr-menu .service-option-button .service-option-icon {
    background: rgba(255, 255, 255, .16) !important;
    border: 1px solid rgba(255, 255, 255, .24) !important;
    box-shadow: none !important;
    color: #fff !important;
}

.public-body > main.qr-menu .service-option-button .active-call-icon {
    color: #fff !important;
}

.public-body > main.qr-menu .service-option-copy {
    align-items: center;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    color: inherit !important;
    display: grid;
    gap: 3px;
    height: auto !important;
    justify-items: center;
    line-height: 1.16;
    min-width: 0;
    padding: 0 !important;
    text-align: center;
    width: auto !important;
}

.public-body > main.qr-menu .service-option-copy::before,
.public-body > main.qr-menu .service-option-copy::after {
    content: none !important;
    display: none !important;
}

.public-body > main.qr-menu .service-option-copy strong,
.public-body > main.qr-menu .service-option-button strong {
    background: transparent !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    color: #fff !important;
    display: block !important;
    font-size: 13.5px !important;
    font-weight: 950 !important;
    line-height: 1.12 !important;
    padding: 0 !important;
    white-space: normal !important;
}

.public-body > main.qr-menu .service-option-copy small {
    color: rgba(255, 255, 255, .76) !important;
    display: block;
    font-size: 10.5px;
    font-weight: 750;
    letter-spacing: 0;
    line-height: 1.18;
    max-width: 12rem;
}

@media (max-width: 991px) {
    .public-body > main.qr-menu .service-option-button {
        border-radius: 999px 18px 18px 999px !important;
        box-shadow: 0 12px 26px color-mix(in srgb, var(--primary, #111827) 26%, transparent) !important;
        flex-direction: row-reverse !important;
        gap: 10px !important;
        min-height: 52px !important;
        padding: 6px 8px 6px 12px !important;
    }

    .public-body > main.qr-menu .service-option-button .service-option-icon {
        height: 42px !important;
        width: 42px !important;
    }

    .public-body > main.qr-menu .service-option-button .active-call-icon {
        height: 26px !important;
        width: 26px !important;
    }

    .public-body > main.qr-menu .service-option-copy {
        align-items: end;
        justify-items: end;
        text-align: right;
    }

    .public-body > main.qr-menu .service-option-copy strong,
    .public-body > main.qr-menu .service-option-button strong {
        font-size: 13px !important;
        white-space: nowrap !important;
    }

    .public-body > main.qr-menu .service-option-copy small {
        font-size: 10px;
        max-width: 138px;
    }
}

/* v191 stronger service quick-action color lock */
.public-body .qr-menu .service-modal .service-option-button,
.public-body .qr-menu .service-dialog .service-option-button,
.public-body main.qr-menu .service-option-grid .service-option-button,
.public-body .service-modal .service-option-button {
    background: var(--primary, #111827) !important;
    border-color: var(--primary, #111827) !important;
    color: #fff !important;
}

.public-body .qr-menu .service-modal .service-option-button .service-option-icon,
.public-body .qr-menu .service-dialog .service-option-button .service-option-icon,
.public-body main.qr-menu .service-option-grid .service-option-button .service-option-icon,
.public-body .service-modal .service-option-button .service-option-icon {
    background: rgba(255, 255, 255, .16) !important;
    border: 1px solid rgba(255, 255, 255, .24) !important;
    box-shadow: none !important;
    color: #fff !important;
}

.public-body .qr-menu .service-modal .service-option-button .service-option-copy,
.public-body .qr-menu .service-dialog .service-option-button .service-option-copy,
.public-body main.qr-menu .service-option-grid .service-option-button .service-option-copy,
.public-body .service-modal .service-option-button .service-option-copy {
    align-items: center !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    color: #fff !important;
    display: grid !important;
    gap: 3px !important;
    height: auto !important;
    justify-items: center !important;
    line-height: 1.15 !important;
    min-width: 0 !important;
    padding: 0 !important;
    text-align: center !important;
    width: auto !important;
}

.public-body .qr-menu .service-modal .service-option-button .service-option-copy::before,
.public-body .qr-menu .service-modal .service-option-button .service-option-copy::after,
.public-body .qr-menu .service-dialog .service-option-button .service-option-copy::before,
.public-body .qr-menu .service-dialog .service-option-button .service-option-copy::after,
.public-body .service-modal .service-option-button .service-option-copy::before,
.public-body .service-modal .service-option-button .service-option-copy::after {
    content: none !important;
    display: none !important;
}

.public-body .qr-menu .service-modal .service-option-button .service-option-copy strong,
.public-body .qr-menu .service-modal .service-option-button .service-option-copy small,
.public-body .qr-menu .service-dialog .service-option-button .service-option-copy strong,
.public-body .qr-menu .service-dialog .service-option-button .service-option-copy small,
.public-body main.qr-menu .service-option-grid .service-option-button .service-option-copy strong,
.public-body main.qr-menu .service-option-grid .service-option-button .service-option-copy small,
.public-body .service-modal .service-option-button .service-option-copy strong,
.public-body .service-modal .service-option-button .service-option-copy small {
    background: transparent !important;
    box-shadow: none !important;
    color: inherit !important;
    display: block !important;
    line-height: 1.15 !important;
    padding: 0 !important;
    white-space: normal !important;
}

.public-body .service-modal .service-option-button .service-option-copy strong {
    font-size: 13.5px !important;
    font-weight: 950 !important;
}

.public-body .service-modal .service-option-button .service-option-copy small {
    color: rgba(255, 255, 255, .76) !important;
    font-size: 10.5px !important;
    font-weight: 750 !important;
    max-width: 12rem !important;
}

@media (max-width: 991px) {
    .public-body .service-modal .service-dialog {
        --service-modal-left: clamp(56px, 18vw, 76px);
        left: var(--service-modal-left) !important;
        max-width: calc(100dvw - 24px) !important;
        position: fixed !important;
        right: auto !important;
        width: auto !important;
    }

    .public-body .service-modal .service-option-button {
        border-radius: 999px 18px 18px 999px !important;
        display: flex !important;
        flex-direction: row-reverse !important;
        gap: 10px !important;
        justify-content: flex-start !important;
        min-height: 56px !important;
        padding: 7px 9px 7px 13px !important;
        width: min(304px, calc(100vw - var(--service-modal-left) - 12px)) !important;
    }

    .public-body .service-modal .service-option-button .service-option-icon {
        flex: 0 0 42px !important;
        height: 42px !important;
        width: 42px !important;
    }

    .public-body .service-modal .service-option-button .active-call-icon {
        height: 26px !important;
        width: 26px !important;
    }

    .public-body .service-modal .service-option-button .service-option-copy {
        align-items: end !important;
        justify-items: end !important;
        max-width: 220px !important;
        text-align: right !important;
    }

    .public-body .service-modal .service-option-button .service-option-copy strong {
        font-size: 13px !important;
    }

    .public-body .service-modal .service-option-button .service-option-copy small {
        font-size: 10px !important;
        max-width: 200px !important;
    }
}

/* v196 compact right-aligned service actions */
@media (max-width: 991px) {
    .public-body .service-modal {
        inset: 0 !important;
        pointer-events: none !important;
    }

    .public-body .service-modal .service-dialog {
        bottom: calc(72px + env(safe-area-inset-bottom)) !important;
        left: auto !important;
        max-width: calc(100vw - 20px) !important;
        padding: 0 !important;
        position: fixed !important;
        right: 10px !important;
        width: auto !important;
    }

    .public-body .service-modal .service-option-grid {
        align-items: flex-end !important;
        display: flex !important;
        flex-direction: column !important;
        gap: 10px !important;
    }

    .public-body .service-modal .service-option-button {
        align-items: center !important;
        background: var(--primary, #111827) !important;
        border: 1px solid rgba(255, 255, 255, .18) !important;
        border-radius: 999px 16px 16px 999px !important;
        box-shadow: 0 12px 26px rgba(15, 23, 42, .18) !important;
        color: #fff !important;
        display: inline-flex !important;
        flex-direction: row-reverse !important;
        gap: 9px !important;
        justify-content: flex-start !important;
        min-height: 46px !important;
        padding: 5px 7px 5px 13px !important;
        width: auto !important;
    }

    .public-body .service-modal .service-option-button strong {
        background: transparent !important;
        box-shadow: none !important;
        color: #fff !important;
        display: block !important;
        font-size: 13px !important;
        font-weight: 950 !important;
        line-height: 1 !important;
        padding: 0 !important;
        white-space: nowrap !important;
    }

    .public-body .service-modal .service-option-button .service-option-icon {
        background: rgba(255, 255, 255, .16) !important;
        border: 1px solid rgba(255, 255, 255, .22) !important;
        border-radius: 999px !important;
        box-shadow: none !important;
        color: #fff !important;
        flex: 0 0 36px !important;
        height: 36px !important;
        width: 36px !important;
    }

    .public-body .service-modal .service-option-button .active-call-icon {
        height: 23px !important;
        width: 23px !important;
    }
}

/* v197 QR menu service table prompt, extras, compact text and mobile stability */
.public-body .service-table-modal[hidden],
.public-body > .service-table-modal[hidden] {
    display: none !important;
}

.public-body > .service-table-modal,
.public-body .service-table-modal {
    align-items: center;
    display: grid;
    inset: 0;
    justify-items: center;
    padding: max(18px, env(safe-area-inset-top)) 16px max(18px, env(safe-area-inset-bottom));
    position: fixed;
    z-index: 285;
}

.public-body .service-table-backdrop {
    background: rgba(15, 23, 42, .58);
    backdrop-filter: blur(8px);
    border: 0;
    inset: 0;
    position: absolute;
}

.public-body .service-table-dialog {
    background: #fff;
    border-radius: 16px;
    box-shadow: 0 28px 80px rgba(15, 23, 42, .3);
    color: #111827;
    display: grid;
    gap: 14px;
    max-width: 384px;
    padding: 24px;
    position: relative;
    text-align: center;
    width: min(384px, calc(100vw - 40px));
}

.public-body .service-table-icon {
    align-items: center;
    background: color-mix(in srgb, var(--primary, #e11d2e) 14%, #fff);
    border-radius: 999px;
    color: var(--primary, #e11d2e);
    display: inline-flex;
    height: 64px;
    justify-content: center;
    justify-self: center;
    width: 64px;
}

.public-body .service-table-icon svg {
    fill: currentColor;
    height: 31px;
    width: 31px;
}

.public-body .service-table-dialog h2 {
    font-size: 21px;
    line-height: 1.2;
    margin: 2px 0 0;
}

.public-body .service-table-dialog p {
    color: #667085;
    font-size: 13.5px;
    font-weight: 700;
    margin: 0;
}

.public-body .service-table-field {
    color: #344054;
    display: grid;
    font-size: 13px;
    font-weight: 900;
    gap: 6px;
    text-align: left;
}

.public-body .service-table-field input {
    background: #fff;
    border: 1px solid #d0d5dd;
    border-radius: 8px;
    color: #111827;
    font-size: 16px;
    font-weight: 850;
    min-height: 46px;
    outline: 0;
    padding: 10px 12px;
    text-align: center;
    width: 100%;
}

.public-body .service-table-field input::placeholder {
    color: #98a2b3;
}

.public-body .service-table-field input.is-invalid {
    border-color: var(--primary, #e11d2e);
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--primary, #e11d2e) 16%, transparent);
}

.public-body .service-table-actions {
    display: grid;
    gap: 12px;
    grid-template-columns: 1fr 1fr;
}

.public-body .service-table-actions .button {
    border-radius: 12px;
    min-height: 42px;
}

.public-body .service-table-actions .button.primary {
    background: var(--primary, #e11d2e);
}

.public-body .qr-menu .product-description-short,
.public-body .qr-menu .product-description-trigger span {
    display: block !important;
    line-clamp: 1 !important;
    -webkit-line-clamp: 1 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

.public-body .qr-menu .price-calorie-line {
    align-items: center;
    display: flex;
    gap: 8px;
    justify-content: flex-end;
    min-width: 0;
    white-space: nowrap;
}

.public-body .qr-menu .price-calorie-line .product-calorie-chip {
    flex: 0 0 auto;
}

.public-body .qr-menu .product-media,
.public-body .qr-menu .category-showcase a,
.public-body .qr-menu .category-tabs a {
    overflow: hidden;
}

.public-body .qr-menu .product-media img,
.public-body .qr-menu .category-showcase img,
.public-body .qr-menu .category-tabs img,
.public-body .qr-menu .goes-with img {
    background: #f2f4f7;
    display: block;
    object-fit: cover;
    transform: translateZ(0);
}

.public-body .qr-menu .product-media img {
    height: 100%;
    width: 100%;
}

.public-body .description-extras {
    border-top: 1px solid rgba(15, 23, 42, .08);
    display: grid;
    gap: 10px;
    margin-top: 4px;
    padding-top: 16px;
}

.public-body .description-extras-head {
    align-items: center;
    display: flex;
    justify-content: space-between;
}

.public-body .description-extras-head strong {
    color: #111827;
    font-size: 16px;
    font-weight: 950;
}

.public-body .description-extras-head span {
    background: #f2f4f7;
    border-radius: 7px;
    color: #667085;
    font-size: 11px;
    font-weight: 850;
    padding: 5px 8px;
}

.public-body .description-extra-option {
    align-items: center;
    background: #fff;
    border: 1px solid #d0d5dd;
    border-radius: 8px;
    color: #344054;
    display: grid;
    gap: 10px;
    grid-template-columns: auto 1fr auto;
    min-height: 46px;
    padding: 10px 12px;
}

.public-body .description-extra-option.is-readonly {
    grid-template-columns: 1fr auto;
}

.public-body .description-extra-option input {
    accent-color: var(--primary, #111827);
    height: 17px;
    width: 17px;
}

.public-body .description-extra-option strong {
    font-size: 13.5px;
    font-weight: 850;
}

.public-body .description-extra-option span {
    color: #344054;
    font-size: 13.5px;
    font-weight: 900;
}

.extra-builder {
    background: #f8fafc;
    border: 1px solid rgba(15, 23, 42, .08);
    border-radius: 18px;
    display: grid;
    gap: 12px;
    padding: 14px;
}

.extra-row-list {
    display: grid;
    gap: 10px;
}

.extra-row {
    align-items: end;
    background: #fff;
    border: 1px solid rgba(15, 23, 42, .08);
    border-radius: 14px;
    display: grid;
    gap: 10px;
    grid-template-columns: minmax(150px, 1.4fr) minmax(110px, .8fr) minmax(120px, .8fr) auto auto;
    padding: 10px;
}

.extra-row label {
    margin: 0;
}

.extra-active-check {
    align-self: center;
    min-height: 42px;
}

.public-body .cart-panel {
    max-height: min(90dvh, 760px);
    overflow-y: auto;
    overscroll-behavior: contain;
    padding-bottom: calc(16px + env(safe-area-inset-bottom));
}

.public-body .cart-panel form {
    padding-bottom: env(safe-area-inset-bottom);
}

.public-body .cart-panel input[name="manual_table_number"],
.public-body .cart-panel textarea[name="customer_note"] {
    font-size: 16px !important;
}

.public-body .cart-panel .button.primary[data-cart-submit] {
    bottom: max(0px, env(safe-area-inset-bottom));
    position: sticky;
    z-index: 2;
}

@media (max-width: 640px) {
    .public-body .service-table-dialog {
        border-radius: 14px;
        padding: 22px 24px;
        width: min(384px, calc(100vw - 32px));
    }

    .public-body .qr-menu .price-calorie-line {
        gap: 6px;
    }

    .public-body .qr-menu .price-calorie-line strong {
        font-size: 18px;
    }

    .public-body .qr-menu .price-calorie-line .product-calorie-chip {
        font-size: 10.5px;
        padding: 4px 6px;
    }

    .extra-row {
        grid-template-columns: 1fr;
    }
}

/* v198 compact menu product list: title, description, price and calories */
.public-body .qr-menu .product-grid-public {
    gap: 14px !important;
}

.public-body .qr-menu .menu-product {
    align-items: center !important;
    border-radius: 16px !important;
    display: grid !important;
    gap: 12px !important;
    grid-template-columns: 96px minmax(0, 1fr) !important;
    min-height: 122px !important;
    padding: 12px !important;
}

.public-body .qr-menu .menu-product .product-media {
    align-self: center !important;
    aspect-ratio: 1 / 1 !important;
    border-radius: 10px !important;
    grid-column: 1 !important;
    grid-row: 1 !important;
    height: 96px !important;
    min-height: 96px !important;
    overflow: hidden !important;
    width: 96px !important;
}

.public-body .qr-menu .menu-product .product-info {
    align-content: center !important;
    display: grid !important;
    gap: 6px 10px !important;
    grid-template-areas:
        "title title"
        "desc desc"
        "price action" !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    min-width: 0 !important;
}

.public-body .qr-menu .menu-product .product-title-row {
    display: contents !important;
}

.public-body .qr-menu .menu-product .product-title-row h3 {
    color: #111827 !important;
    font-size: 15px !important;
    font-weight: 950 !important;
    grid-area: title !important;
    line-height: 1.24 !important;
    margin: 0 !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

.public-body .qr-menu .menu-product .product-description-short,
.public-body .qr-menu .menu-product .product-description-trigger {
    color: #667085 !important;
    font-size: 11.5px !important;
    font-weight: 650 !important;
    grid-area: desc !important;
    line-height: 1.35 !important;
    margin: 0 !important;
    max-width: 100% !important;
    min-width: 0 !important;
    width: 100% !important;
}

.public-body .qr-menu .menu-product .product-description-trigger span {
    font-size: inherit !important;
    font-weight: inherit !important;
}

.public-body .qr-menu .menu-product .price-stack {
    align-items: center !important;
    align-self: end !important;
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 4px 8px !important;
    grid-area: price !important;
    justify-content: flex-start !important;
    justify-items: start !important;
    min-width: 0 !important;
}

.public-body .qr-menu .menu-product .price-stack del {
    flex-basis: 100% !important;
    font-size: 11px !important;
    line-height: 1 !important;
}

.public-body .qr-menu .menu-product .price-calorie-line {
    align-items: center !important;
    display: flex !important;
    gap: 8px !important;
    justify-content: flex-start !important;
    min-width: 0 !important;
}

.public-body .qr-menu .menu-product .price-calorie-line strong {
    color: #4b5563 !important;
    font-size: 17px !important;
    font-weight: 950 !important;
    letter-spacing: 0 !important;
    line-height: 1 !important;
    white-space: nowrap !important;
}

.public-body .qr-menu .menu-product .product-calorie-chip {
    background: #fff2e8 !important;
    border: 0 !important;
    border-radius: 5px !important;
    color: #f97316 !important;
    flex: 0 0 auto !important;
    font-size: 10.5px !important;
    font-weight: 950 !important;
    line-height: 1 !important;
    padding: 4px 6px !important;
    white-space: nowrap !important;
}

.public-body .qr-menu .menu-product .product-action-row {
    align-items: end !important;
    align-self: end !important;
    display: flex !important;
    gap: 6px !important;
    grid-area: action !important;
    justify-content: flex-end !important;
    min-width: max-content !important;
}

.public-body .qr-menu .menu-product .product-detail-button,
.public-body .qr-menu .menu-product .ingredients-line,
.public-body .qr-menu .menu-product .product-meta-row,
.public-body .qr-menu .menu-product .pill-row,
.public-body .qr-menu .menu-product .goes-with {
    display: none !important;
}

.public-body .qr-menu .menu-product .menu-cart-add {
    background: #fff !important;
    border: 1px solid rgba(15, 23, 42, .12) !important;
    border-radius: 8px !important;
    box-shadow: 0 2px 6px rgba(15, 23, 42, .08) !important;
    color: #4b5563 !important;
    font-size: 12px !important;
    font-weight: 950 !important;
    min-height: 34px !important;
    padding: 8px 13px !important;
    white-space: nowrap !important;
}

.public-body .qr-menu .menu-product .visual-price-badge {
    display: none !important;
}

@media (max-width: 420px) {
    .public-body .qr-menu .menu-product {
        grid-template-columns: 92px minmax(0, 1fr) !important;
        min-height: 118px !important;
        padding: 11px !important;
    }

    .public-body .qr-menu .menu-product .product-media {
        height: 92px !important;
        min-height: 92px !important;
        width: 92px !important;
    }

    .public-body .qr-menu .menu-product .product-title-row h3 {
        font-size: 14.5px !important;
    }

    .public-body .qr-menu .menu-product .price-calorie-line strong {
        font-size: 16px !important;
    }

    .public-body .qr-menu .menu-product .menu-cart-add {
        min-height: 32px !important;
        padding: 7px 11px !important;
    }
}

/* v200 final QR menu mobile card and scrollbar polish */
body.public-body,
.public-body .qr-menu,
.public-body .menu-main-flow,
.public-body .menu-content,
.public-body .product-grid-public,
.public-body .category-tabs,
.public-body .category-chip-row,
.public-body .description-dialog,
.public-body .cart-panel {
    -ms-overflow-style: none !important;
    scrollbar-width: none !important;
}

body.public-body::-webkit-scrollbar,
.public-body .qr-menu::-webkit-scrollbar,
.public-body .menu-main-flow::-webkit-scrollbar,
.public-body .menu-content::-webkit-scrollbar,
.public-body .product-grid-public::-webkit-scrollbar,
.public-body .category-tabs::-webkit-scrollbar,
.public-body .category-chip-row::-webkit-scrollbar,
.public-body .description-dialog::-webkit-scrollbar,
.public-body .cart-panel::-webkit-scrollbar {
    display: none !important;
    height: 0 !important;
    width: 0 !important;
}

/* v340 category image header for category-gated menu screens */
.public-body .qr-menu.theme-menutje-mono .pro-back-bar.has-category-image,
.public-body .qr-menu.theme-signature-grid .pro-back-bar.has-category-image {
    align-items: flex-end !important;
    background-image:
        linear-gradient(180deg, rgba(15, 23, 42, .18) 0%, rgba(15, 23, 42, .68) 100%),
        var(--active-category-image) !important;
    background-position: center !important;
    background-size: cover !important;
    border: 1px solid rgba(255, 255, 255, .18) !important;
    border-radius: 18px !important;
    box-shadow: 0 14px 30px rgba(15, 23, 42, .16) !important;
    min-height: clamp(96px, 23vw, 132px) !important;
    overflow: hidden !important;
    padding: 14px !important;
    position: sticky !important;
    top: max(0px, env(safe-area-inset-top)) !important;
    z-index: 42 !important;
}

.public-body .qr-menu.theme-menutje-mono .pro-back-bar.has-category-image .button,
.public-body .qr-menu.theme-signature-grid .pro-back-bar.has-category-image .button {
    background: rgba(255, 255, 255, .92) !important;
    border-color: rgba(255, 255, 255, .55) !important;
    box-shadow: 0 10px 22px rgba(0, 0, 0, .18) !important;
    color: #111827 !important;
}

.public-body .qr-menu.theme-menutje-mono .pro-back-bar.has-category-image strong,
.public-body .qr-menu.theme-signature-grid .pro-back-bar.has-category-image strong {
    color: #fff !important;
    font-size: clamp(22px, 6vw, 30px) !important;
    line-height: 1.04 !important;
    text-shadow: 0 8px 20px rgba(0, 0, 0, .42) !important;
}

.public-body .qr-menu.theme-menutje-mono .pro-back-bar.has-category-image strong::before,
.public-body .qr-menu.theme-signature-grid .pro-back-bar.has-category-image strong::before {
    background: #fff !important;
    box-shadow: 0 8px 18px rgba(0, 0, 0, .22) !important;
}

@media (min-width: 992px) {
    .public-body .qr-menu.theme-menutje-mono .pro-back-bar.has-category-image,
    .public-body .qr-menu.theme-signature-grid .pro-back-bar.has-category-image {
        border-radius: 20px !important;
        min-height: 148px !important;
        padding: 18px !important;
        top: 12px !important;
    }
}

.public-body .qr-menu .menu-product {
    max-width: 100% !important;
}

.public-body .qr-menu .menu-product .product-title-row h3,
.public-body .qr-menu .menu-product .product-description-short,
.public-body .qr-menu .menu-product .product-description-trigger,
.public-body .qr-menu .menu-product .product-description-trigger span {
    display: block !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

.public-body .qr-menu .menu-product .price-calorie-line .product-calorie-chip,
.public-body .qr-menu.theme-menutje-mono .menu-product .price-calorie-line .product-calorie-chip,
.public-body .qr-menu.theme-noir-catalog .menu-product .price-calorie-line .product-calorie-chip {
    align-items: center !important;
    display: inline-flex !important;
    flex: 0 0 auto !important;
    opacity: 1 !important;
}

.public-body .qr-menu .menu-product .product-comments,
.public-body .qr-menu.theme-menutje-mono .menu-product .product-comments,
.public-body .qr-menu.theme-noir-catalog .menu-product .product-comments,
.public-body .qr-menu.theme-menutje-mono .product-action-row > .product-comments {
    display: none !important;
}

/* v201 multi-unit products show first price on the card */
.public-body .qr-menu .menu-product.has-unit-options .product-unit-options,
.qr-menu .menu-product.has-unit-options .product-unit-options {
    display: none !important;
}

.public-body .qr-menu .menu-product.has-unit-options .menu-cart-add,
.qr-menu .menu-product.has-unit-options .menu-cart-add {
    display: inline-flex !important;
}

.description-detail-row.units .description-detail-icon::before {
    background: currentColor;
    border-radius: 2px;
    box-shadow: 0 6px 0 currentColor, 0 12px 0 currentColor;
    content: "";
    display: block;
    height: 3px;
    left: 8px;
    position: absolute;
    top: 8px;
    width: 14px;
}

/* v202 aligned card rows and multi-extra selection */
.public-body .qr-menu .menu-product .product-info {
    align-content: center !important;
}

.public-body .qr-menu .menu-product .product-title-row h3,
.public-body .qr-menu.theme-menutje-mono .menu-product .product-title-row h3,
.public-body .qr-menu.theme-noir-catalog .menu-product .product-title-row h3 {
    display: -webkit-box !important;
    line-clamp: 2 !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    max-height: 2.48em !important;
    min-height: 1.24em !important;
    overflow: hidden !important;
    text-align: left !important;
    text-overflow: ellipsis !important;
    white-space: normal !important;
}

.public-body .qr-menu .menu-product .price-stack,
.public-body .qr-menu .menu-product .product-action-row {
    align-self: center !important;
}

.public-body .qr-menu .menu-product .price-calorie-line {
    align-items: center !important;
    min-height: 34px !important;
}

.public-body .qr-menu .menu-product .product-action-row {
    align-items: center !important;
}

.public-body .qr-menu.theme-menutje-mono .pro-back-bar strong,
.public-body .qr-menu.theme-noir-catalog .pro-back-bar strong,
.public-body .qr-menu .pro-back-bar strong {
    flex: 1 1 auto !important;
    justify-content: flex-start !important;
    min-width: 0 !important;
    text-align: left !important;
}

.public-body .extra-choice-list button[data-extra-choice-index] {
    position: relative;
}

.public-body .extra-choice-list button[data-extra-choice-index]::before {
    align-items: center;
    border: 1px solid #d0d5dd;
    border-radius: 5px;
    color: #fff;
    content: "";
    display: inline-flex;
    flex: 0 0 auto;
    font-size: 12px;
    font-weight: 950;
    height: 18px;
    justify-content: center;
    margin-right: 10px;
    width: 18px;
}

.public-body .extra-choice-list button[data-extra-choice-index].is-selected {
    background: #fff7f7 !important;
    border-color: var(--primary, #111827) !important;
}

.public-body .extra-choice-list button[data-extra-choice-index].is-selected::before {
    background: var(--primary, #111827);
    border-color: var(--primary, #111827);
    content: "✓";
}

.public-body .extra-choice-list .extra-choice-submit {
    background: var(--primary, #111827) !important;
    border-color: var(--primary, #111827) !important;
    color: #fff !important;
    justify-content: center !important;
    margin-top: 4px;
    text-align: center;
}

/* v203 fixed product title slot and bottom price/action group */
.public-body .qr-menu .menu-product {
    min-height: 150px !important;
}

.public-body .qr-menu .menu-product .product-info,
.public-body .qr-menu.theme-menutje-mono .menu-product .product-info,
.public-body .qr-menu.theme-noir-catalog .menu-product .product-info {
    align-content: stretch !important;
    grid-template-areas:
        "title title"
        "desc desc"
        "price action" !important;
    grid-template-columns: minmax(0, 1fr) max-content !important;
    grid-template-rows: 2.48em 1.35em minmax(34px, auto) !important;
    height: 100% !important;
    min-height: 116px !important;
}

.public-body .qr-menu .menu-product .product-title-row,
.public-body .qr-menu.theme-menutje-mono .menu-product .product-title-row,
.public-body .qr-menu.theme-noir-catalog .menu-product .product-title-row {
    display: contents !important;
}

.public-body .qr-menu .menu-product .product-title-row h3,
.public-body .qr-menu.theme-menutje-mono .menu-product .product-title-row h3,
.public-body .qr-menu.theme-noir-catalog .menu-product .product-title-row h3 {
    align-self: start !important;
    grid-area: title !important;
    max-height: 2.48em !important;
    min-height: 2.48em !important;
    min-width: 0 !important;
}

.public-body .qr-menu .menu-product .product-description-short,
.public-body .qr-menu .menu-product .product-description-trigger,
.public-body .qr-menu.theme-menutje-mono .menu-product .product-description-short,
.public-body .qr-menu.theme-menutje-mono .menu-product .product-description-trigger,
.public-body .qr-menu.theme-noir-catalog .menu-product .product-description-short,
.public-body .qr-menu.theme-noir-catalog .menu-product .product-description-trigger {
    align-self: start !important;
    grid-area: desc !important;
    min-height: 1.35em !important;
}

.public-body .qr-menu .menu-product .price-stack,
.public-body .qr-menu .menu-product .product-action-row,
.public-body .qr-menu.theme-menutje-mono .menu-product .price-stack,
.public-body .qr-menu.theme-menutje-mono .menu-product .product-action-row,
.public-body .qr-menu.theme-noir-catalog .menu-product .price-stack,
.public-body .qr-menu.theme-noir-catalog .menu-product .product-action-row {
    align-self: end !important;
}

.public-body .qr-menu .menu-product .price-stack,
.public-body .qr-menu.theme-menutje-mono .menu-product .price-stack,
.public-body .qr-menu.theme-noir-catalog .menu-product .price-stack {
    grid-area: price !important;
    justify-self: start !important;
    min-width: 0 !important;
}

.public-body .qr-menu .menu-product .product-action-row,
.public-body .qr-menu.theme-menutje-mono .menu-product .product-action-row,
.public-body .qr-menu.theme-noir-catalog .menu-product .product-action-row {
    display: flex !important;
    flex-wrap: nowrap !important;
    grid-area: action !important;
    justify-content: flex-end !important;
    justify-self: end !important;
    margin-top: 0 !important;
    max-width: 100% !important;
    min-width: 0 !important;
}

.public-body .qr-menu .menu-product .product-detail-button,
.public-body .qr-menu.theme-menutje-mono .menu-product .product-detail-button,
.public-body .qr-menu.theme-noir-catalog .menu-product .product-detail-button {
    flex: 0 0 auto !important;
    max-width: 96px !important;
    white-space: nowrap !important;
}

.public-body .qr-menu .menu-product .price-calorie-line,
.public-body .qr-menu.theme-menutje-mono .menu-product .price-calorie-line,
.public-body .qr-menu.theme-noir-catalog .menu-product .price-calorie-line {
    align-items: center !important;
    min-height: 34px !important;
}

@media (max-width: 420px) {
    .public-body .qr-menu .menu-product {
        min-height: 142px !important;
    }

    .public-body .qr-menu .menu-product .product-info,
    .public-body .qr-menu.theme-menutje-mono .menu-product .product-info,
    .public-body .qr-menu.theme-noir-catalog .menu-product .product-info {
        min-height: 108px !important;
    }
}

/* v204 keep product price/calorie/add controls inside mobile cards */
@media (max-width: 520px) {
    .public-body .qr-menu .menu-product {
        column-gap: 10px !important;
        overflow: hidden !important;
    }

    .public-body .qr-menu .menu-product .product-info,
    .public-body .qr-menu.theme-menutje-mono .menu-product .product-info,
    .public-body .qr-menu.theme-noir-catalog .menu-product .product-info {
        gap: 6px 8px !important;
        grid-template-columns: minmax(0, 1fr) 66px !important;
        max-width: 100% !important;
        overflow: hidden !important;
    }

    .public-body .qr-menu .menu-product .price-stack,
    .public-body .qr-menu.theme-menutje-mono .menu-product .price-stack,
    .public-body .qr-menu.theme-noir-catalog .menu-product .price-stack {
        overflow: hidden !important;
    }

    .public-body .qr-menu .menu-product .price-calorie-line,
    .public-body .qr-menu.theme-menutje-mono .menu-product .price-calorie-line,
    .public-body .qr-menu.theme-noir-catalog .menu-product .price-calorie-line {
        gap: 6px !important;
        max-width: 100% !important;
        min-width: 0 !important;
        overflow: hidden !important;
    }

    .public-body .qr-menu .menu-product .price-calorie-line strong,
    .public-body .qr-menu.theme-menutje-mono .menu-product .price-calorie-line strong,
    .public-body .qr-menu.theme-noir-catalog .menu-product .price-calorie-line strong {
        flex: 0 0 auto !important;
        font-size: 16px !important;
    }

    .public-body .qr-menu .menu-product .product-calorie-chip,
    .public-body .qr-menu.theme-menutje-mono .menu-product .product-calorie-chip,
    .public-body .qr-menu.theme-noir-catalog .menu-product .product-calorie-chip {
        flex: 0 1 auto !important;
        min-width: 0 !important;
    }

    .public-body .qr-menu .menu-product .product-action-row,
    .public-body .qr-menu.theme-menutje-mono .menu-product .product-action-row,
    .public-body .qr-menu.theme-noir-catalog .menu-product .product-action-row {
        min-width: 0 !important;
        overflow: hidden !important;
        width: 66px !important;
    }

    .public-body .qr-menu .menu-product .menu-cart-add,
    .public-body .qr-menu.theme-menutje-mono .menu-product .menu-cart-add,
    .public-body .qr-menu.theme-noir-catalog .menu-product .menu-cart-add {
        justify-content: center !important;
        max-width: 66px !important;
        min-width: 0 !important;
        padding-left: 7px !important;
        padding-right: 7px !important;
        width: 66px !important;
    }
}

/* v206 compact mobile bottom row spacing */
@media (max-width: 520px) {
    .public-body .qr-menu .menu-product .product-info,
    .public-body .qr-menu.theme-menutje-mono .menu-product .product-info,
    .public-body .qr-menu.theme-noir-catalog .menu-product .product-info {
        grid-template-columns: minmax(0, 1fr) 60px !important;
    }

    .public-body .qr-menu .menu-product .price-calorie-line,
    .public-body .qr-menu.theme-menutje-mono .menu-product .price-calorie-line,
    .public-body .qr-menu.theme-noir-catalog .menu-product .price-calorie-line {
        gap: 4px !important;
    }

    .public-body .qr-menu .menu-product .price-calorie-line strong,
    .public-body .qr-menu.theme-menutje-mono .menu-product .price-calorie-line strong,
    .public-body .qr-menu.theme-noir-catalog .menu-product .price-calorie-line strong {
        font-size: 15px !important;
    }

    .public-body .qr-menu .menu-product .product-calorie-chip,
    .public-body .qr-menu.theme-menutje-mono .menu-product .product-calorie-chip,
    .public-body .qr-menu.theme-noir-catalog .menu-product .product-calorie-chip {
        font-size: 9.5px !important;
        padding: 4px 5px !important;
    }

    .public-body .qr-menu .menu-product .product-action-row,
    .public-body .qr-menu.theme-menutje-mono .menu-product .product-action-row,
    .public-body .qr-menu.theme-noir-catalog .menu-product .product-action-row {
        width: 60px !important;
    }

    .public-body .qr-menu .menu-product .menu-cart-add,
    .public-body .qr-menu.theme-menutje-mono .menu-product .menu-cart-add,
    .public-body .qr-menu.theme-noir-catalog .menu-product .menu-cart-add {
        font-size: 11px !important;
        max-width: 60px !important;
        padding-left: 5px !important;
        padding-right: 5px !important;
        width: 60px !important;
    }
}

/* v207 polished category names on QR menu home */
.public-body .qr-menu .category-showcase a {
    align-items: end !important;
}

.public-body .qr-menu .category-showcase a::after,
.public-body .qr-menu.theme-menutje-mono .category-showcase a::after,
.public-body .qr-menu.theme-noir-catalog .category-showcase a::after {
    background:
        linear-gradient(180deg, rgba(15, 23, 42, 0) 28%, rgba(15, 23, 42, .38) 62%, rgba(15, 23, 42, .82) 100%) !important;
}

.public-body .qr-menu .category-showcase strong,
.public-body .qr-menu.theme-menutje-mono .category-showcase strong,
.public-body .qr-menu.theme-noir-catalog .category-showcase strong {
    align-items: center !important;
    background: rgba(255, 255, 255, .92) !important;
    border: 1px solid rgba(255, 255, 255, .78) !important;
    border-radius: 12px !important;
    box-shadow: 0 12px 26px rgba(15, 23, 42, .24) !important;
    color: #111827 !important;
    display: flex !important;
    font-size: clamp(13px, 3.35vw, 16px) !important;
    font-weight: 950 !important;
    gap: 8px !important;
    justify-content: flex-start !important;
    letter-spacing: 0 !important;
    line-height: 1.16 !important;
    margin: 0 !important;
    max-height: calc(2.32em + 16px) !important;
    max-width: 100% !important;
    min-height: 42px !important;
    overflow: hidden !important;
    padding: 8px 10px !important;
    text-align: left !important;
    text-shadow: none !important;
    text-transform: none !important;
    width: 100% !important;
    z-index: 2 !important;
}

.public-body .qr-menu .category-showcase strong::before,
.public-body .qr-menu.theme-menutje-mono .category-showcase strong::before,
.public-body .qr-menu.theme-noir-catalog .category-showcase strong::before {
    background: var(--primary, #ef4444) !important;
    border-radius: 999px !important;
    box-shadow: 0 0 0 4px rgba(239, 68, 68, .12) !important;
    content: "" !important;
    flex: 0 0 auto !important;
    height: 22px !important;
    width: 4px !important;
}

.public-body .qr-menu.category-showcase-stuck .category-showcase strong,
.public-body .qr-menu.theme-menutje-mono.category-showcase-stuck .category-showcase strong,
.public-body .qr-menu.theme-noir-catalog.category-showcase-stuck .category-showcase strong {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    color: inherit !important;
    display: block !important;
    min-height: 0 !important;
    padding: 0 !important;
    text-align: left !important;
    white-space: nowrap !important;
}

.public-body .qr-menu.category-showcase-stuck .category-showcase strong::before,
.public-body .qr-menu.theme-menutje-mono.category-showcase-stuck .category-showcase strong::before,
.public-body .qr-menu.theme-noir-catalog.category-showcase-stuck .category-showcase strong::before {
    content: none !important;
    display: none !important;
}

@media (max-width: 420px) {
    .public-body .qr-menu .category-showcase strong,
    .public-body .qr-menu.theme-menutje-mono .category-showcase strong,
    .public-body .qr-menu.theme-noir-catalog .category-showcase strong {
        border-radius: 10px !important;
        font-size: 13px !important;
        gap: 7px !important;
        min-height: 40px !important;
        padding: 7px 9px !important;
    }
}

/* v208 product detail modal: fixed media, scrollable content and recommendations */
.public-body .description-modal {
    padding: 12px !important;
}

.public-body .description-modal .description-dialog {
    display: grid !important;
    grid-template-rows: auto minmax(0, 1fr) !important;
    max-height: calc(100svh - 24px) !important;
    overflow: hidden !important;
    padding: 0 !important;
    width: min(560px, calc(100dvw - 24px)) !important;
}

.public-body .description-modal .description-visual {
    aspect-ratio: 16 / 9 !important;
    border-radius: 20px 20px 0 0 !important;
    max-height: min(38svh, 300px) !important;
}

.public-body .description-modal .description-copy {
    display: grid !important;
    gap: 10px !important;
    min-height: 0 !important;
    overflow-y: auto !important;
    padding: 14px 16px 16px !important;
}

.public-body .description-modal .description-copy::-webkit-scrollbar {
    width: 0;
}

.public-body .description-modal .description-detail-list {
    display: grid !important;
    gap: 8px !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    margin-top: 0 !important;
}

.public-body .description-modal .description-detail-row {
    min-height: 48px !important;
}

.public-body .description-modal .description-detail-row.ingredients,
.public-body .description-modal .description-detail-row.units {
    grid-column: 1 / -1 !important;
}

.public-body .description-modal .description-detail-row.cooking,
.public-body .description-modal .description-detail-row.calories {
    border-radius: 12px !important;
    gap: 8px !important;
    grid-template-columns: 30px minmax(0, 1fr) !important;
    padding: 8px !important;
}

.public-body .description-modal .description-detail-row.cooking .description-detail-icon,
.public-body .description-modal .description-detail-row.calories .description-detail-icon {
    height: 30px !important;
    width: 30px !important;
}

.public-body .description-modal .description-detail-row.calories .description-detail-icon {
    background: #fff2e8 !important;
    color: #f97316 !important;
    font-size: 16px !important;
}

.public-body .description-modal .description-detail-row.calories .description-detail-icon::before {
    background: none !important;
    content: "🔥" !important;
    height: auto !important;
    transform: none !important;
    width: auto !important;
}

.public-body .description-modal .description-detail-row.calories .description-detail-icon::after {
    content: none !important;
    display: none !important;
}

.public-body .description-modal .description-detail-row strong {
    font-size: 11px !important;
}

.public-body .description-modal .description-detail-row small {
    font-size: 12px !important;
}

.public-body .description-goes-with[hidden] {
    display: none !important;
}

.public-body .description-goes-with {
    border-top: 1px solid rgba(15, 23, 42, .08);
    display: grid;
    gap: 10px;
    margin-top: 2px;
    padding-top: 12px;
}

.public-body .description-goes-with > strong {
    color: #111827;
    font-size: 15px;
    font-weight: 950;
    line-height: 1.2;
}

.public-body .description-goes-with-list {
    display: grid;
    gap: 8px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.public-body .description-goes-with-list a {
    align-items: center;
    background: #f8fafc;
    border: 1px solid rgba(15, 23, 42, .08);
    border-radius: 12px;
    color: #111827;
    display: grid;
    gap: 8px;
    grid-template-columns: 42px minmax(0, 1fr);
    min-height: 58px;
    padding: 7px;
    text-decoration: none;
}

.public-body .description-goes-with-list img {
    background: #f2f4f7;
    border-radius: 9px;
    height: 42px;
    object-fit: cover;
    width: 42px;
}

.public-body .description-goes-with-list span,
.public-body .description-goes-with-list strong,
.public-body .description-goes-with-list small {
    min-width: 0;
}

.public-body .description-goes-with-list strong {
    display: block;
    font-size: 12px;
    font-weight: 950;
    line-height: 1.15;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.public-body .description-goes-with-list small {
    color: #667085;
    display: block;
    font-size: 11px;
    font-weight: 850;
    line-height: 1.1;
    margin-top: 3px;
}

.public-body .description-modal .description-cart-button {
    bottom: -16px;
    box-shadow: 0 -12px 24px rgba(255, 255, 255, .96);
    margin-top: 8px !important;
    position: sticky;
    z-index: 3;
}

@media (max-width: 520px) {
    .public-body .description-modal {
        align-items: end !important;
        padding: 0 !important;
    }

    .public-body .description-modal .description-dialog {
        border-radius: 22px 22px 0 0 !important;
        max-height: 92svh !important;
        max-width: 100dvw !important;
        width: 100dvw !important;
    }

    .public-body .description-modal .description-visual {
        max-height: 34svh !important;
    }

    .public-body .description-goes-with-list {
        grid-template-columns: 1fr !important;
    }
}

/* v209 cart clear action and aligned quantity controls */
.public-body .cart-panel-head {
    align-items: start !important;
    gap: 12px !important;
    padding-right: 0 !important;
}

.public-body .cart-head-actions {
    align-items: center;
    display: flex;
    flex: 0 0 auto;
    gap: 8px;
}

.public-body .cart-clear[hidden] {
    display: none !important;
}

.public-body .cart-clear {
    align-items: center;
    background: #fff1f2;
    border: 1px solid #fecdd3;
    border-radius: 999px;
    color: #be123c;
    display: inline-flex;
    font-size: 12px;
    font-weight: 950;
    height: 34px;
    justify-content: center;
    min-height: 34px;
    padding: 0 11px;
    white-space: nowrap;
}

.public-body .cart-clear:disabled {
    opacity: .55;
}

.public-body .cart-panel .cart-close {
    flex: 0 0 auto;
    position: static !important;
}

.public-body .cart-item {
    align-items: center !important;
    display: grid !important;
    gap: 10px !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
}

.public-body .cart-item > div:first-child {
    min-width: 0;
}

.public-body .cart-item strong,
.public-body .cart-item small {
    overflow: hidden;
    text-overflow: ellipsis;
}

.public-body .cart-qty {
    align-items: center !important;
    display: grid !important;
    flex: 0 0 auto !important;
    gap: 5px !important;
    grid-template-columns: 34px 28px 34px 46px !important;
}

.public-body .cart-qty span {
    align-items: center;
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 9px;
    color: #0f172a;
    display: inline-flex;
    font-size: 13px;
    font-weight: 950;
    height: 34px;
    justify-content: center;
    line-height: 1;
    min-width: 28px;
}

.public-body .cart-qty button {
    height: 34px !important;
    justify-self: stretch !important;
    min-height: 34px !important;
    min-width: 0 !important;
    padding: 0 !important;
    width: 100% !important;
}

.public-body .cart-qty button[data-cart-remove] {
    font-size: 11px !important;
}

@media (max-width: 420px) {
    .public-body .cart-panel-head {
        align-items: start !important;
    }

    .public-body .cart-head-actions {
        flex-direction: column-reverse;
        gap: 6px;
    }

    .public-body .cart-clear {
        font-size: 11px;
        height: 30px;
        min-height: 30px;
        padding: 0 9px;
    }

    .public-body .cart-item {
        align-items: start !important;
        grid-template-columns: 1fr !important;
    }

    .public-body .cart-qty {
        grid-template-columns: 34px 30px 34px 56px !important;
        justify-content: start !important;
        justify-self: stretch !important;
        width: 100% !important;
    }
}

/* v212 simple white category names and selectable recommendations */
.public-body .qr-menu .category-showcase a,
.public-body .qr-menu.theme-menutje-mono .category-showcase a,
.public-body .qr-menu.theme-noir-catalog .category-showcase a {
    align-items: end !important;
}

.public-body .qr-menu .category-showcase strong,
.public-body .qr-menu.theme-menutje-mono .category-showcase strong,
.public-body .qr-menu.theme-noir-catalog .category-showcase strong {
    align-items: center !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    color: #fff !important;
    display: inline-flex !important;
    font-size: clamp(12px, 3.15vw, 15px) !important;
    font-weight: 950 !important;
    gap: 0 !important;
    justify-content: flex-start !important;
    letter-spacing: 0 !important;
    line-height: 1.15 !important;
    margin: 0 !important;
    max-height: calc(2.3em + 14px) !important;
    max-width: 100% !important;
    min-height: 0 !important;
    overflow: hidden !important;
    padding: 0 !important;
    paint-order: stroke fill !important;
    text-align: left !important;
    -webkit-text-stroke: .35px rgba(0, 0, 0, .88) !important;
    text-shadow:
        0 1px 1px rgba(0, 0, 0, .9),
        1px 0 1px rgba(0, 0, 0, .72),
        -1px 0 1px rgba(0, 0, 0, .72),
        0 -1px 1px rgba(0, 0, 0, .72) !important;
    text-transform: none !important;
    width: auto !important;
    z-index: 2 !important;
}

.public-body .qr-menu .category-showcase strong::before,
.public-body .qr-menu.theme-menutje-mono .category-showcase strong::before,
.public-body .qr-menu.theme-noir-catalog .category-showcase strong::before {
    content: none !important;
    display: none !important;
}

.public-body .description-goes-with-head {
    align-items: center;
    display: flex;
    gap: 8px;
    justify-content: space-between;
}

.public-body .description-goes-with-head > strong {
    color: #111827;
    font-size: 15px;
    font-weight: 950;
    line-height: 1.2;
}

.public-body .description-goes-with-head > span {
    background: #f2f4f7;
    border-radius: 999px;
    color: #667085;
    flex: 0 0 auto;
    font-size: 11px;
    font-weight: 900;
    line-height: 1;
    padding: 6px 8px;
}

.public-body .description-goes-with-list a,
.public-body .description-goes-with-list label {
    align-items: center;
    background: #f8fafc;
    border: 1px solid rgba(15, 23, 42, .08);
    border-radius: 12px;
    color: #111827;
    display: grid;
    gap: 8px;
    min-height: 58px;
    padding: 7px;
    text-decoration: none;
}

.public-body .description-goes-with-list a {
    grid-template-columns: 42px minmax(0, 1fr);
}

.public-body .description-goes-with-list label {
    cursor: pointer;
    grid-template-columns: 22px 42px minmax(0, 1fr);
}

.public-body .description-goes-with-list label input {
    accent-color: var(--primary, #ef4444);
    height: 17px;
    margin: 0;
    width: 17px;
}

.public-body .description-goes-with-list label img {
    grid-column: 2;
}

.public-body .description-goes-with-list label > span {
    grid-column: 3;
}

.public-body .description-goes-with-list label.is-selected {
    background: color-mix(in srgb, var(--primary, #ef4444) 8%, #fff);
    border-color: color-mix(in srgb, var(--primary, #ef4444) 36%, rgba(15, 23, 42, .08));
}

.public-body .description-goes-with-list label.is-disabled {
    cursor: not-allowed;
    opacity: .55;
}

@media (max-width: 420px) {
    .public-body .qr-menu .category-showcase strong,
    .public-body .qr-menu.theme-menutje-mono .category-showcase strong,
    .public-body .qr-menu.theme-noir-catalog .category-showcase strong {
        font-size: 12.5px !important;
        padding: 0 !important;
    }
}

/* v213 darker top cover image */
.public-body .qr-menu.has-cover .menu-hero {
    isolation: isolate;
}

.public-body .qr-menu.has-cover .menu-hero::after {
    background:
        linear-gradient(180deg, rgba(0, 0, 0, .34), rgba(0, 0, 0, .58)),
        radial-gradient(circle at 50% 0, rgba(0, 0, 0, .08), rgba(0, 0, 0, .34) 72%);
    content: "";
    inset: 0;
    pointer-events: none;
    position: absolute;
    z-index: 1;
}

.public-body .qr-menu.has-cover .promenu-hero-top,
.public-body .qr-menu.has-cover .menu-hero-content {
    position: relative;
    z-index: 2;
}

.public-body .qr-menu.has-cover .hero-mode-toggle {
    z-index: 3;
}

/* v214 fixed goes-with selectable card layout */
.public-body .description-goes-with-list {
    grid-template-columns: 1fr !important;
}

.public-body .description-goes-with-list label.is-selectable {
    align-items: center !important;
    column-gap: 10px !important;
    display: grid !important;
    grid-template-columns: 22px 46px minmax(0, 1fr) !important;
    min-height: 62px !important;
    padding: 8px 10px !important;
    width: 100% !important;
}

.public-body .description-goes-with-list label.is-selectable input[type="checkbox"] {
    grid-column: 1 !important;
    grid-row: 1 !important;
    height: 18px !important;
    justify-self: center !important;
    margin: 0 !important;
    width: 18px !important;
}

.public-body .description-goes-with-list label.is-selectable img {
    border-radius: 10px !important;
    grid-column: 2 !important;
    grid-row: 1 !important;
    height: 46px !important;
    justify-self: center !important;
    object-fit: cover !important;
    width: 46px !important;
}

.public-body .description-goes-with-list label.is-selectable > span {
    align-self: center !important;
    display: grid !important;
    gap: 4px !important;
    grid-column: 3 !important;
    grid-row: 1 !important;
    min-width: 0 !important;
}

.public-body .description-goes-with-list label.is-selectable strong {
    font-size: 13px !important;
    line-height: 1.18 !important;
    max-width: 100% !important;
}

.public-body .description-goes-with-list label.is-selectable small {
    color: #667085 !important;
    font-size: 11px !important;
    font-weight: 900 !important;
    line-height: 1.1 !important;
    margin-top: 0 !important;
}

/* v215 normal desktop QR menu layout, mobile preserved */
@media (min-width: 992px) {
    .public-body:has(> .qr-menu) {
        background: #f4f6f8 !important;
        min-height: 100vh !important;
    }

    .public-body > .qr-menu,
    .public-body > .qr-menu.theme-noir-catalog,
    .public-body > .qr-menu.theme-noir-catalog[data-view-mode="light"] {
        --qr-desktop-page-width: min(1240px, calc(100vw - 64px));
        --qr-desktop-phone-width: var(--qr-desktop-page-width);
        border: 0 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        height: auto !important;
        margin: 0 !important;
        max-height: none !important;
        max-width: none !important;
        min-height: 100vh !important;
        overflow-x: hidden !important;
        overflow-y: visible !important;
        width: 100% !important;
    }

    .public-body > .qr-menu::before {
        content: none !important;
        display: none !important;
    }

    .public-body > .qr-menu .menu-main-flow {
        margin: 0 auto !important;
        max-width: none !important;
        min-height: 100vh !important;
        overflow: visible !important;
        width: 100% !important;
    }

    .public-body > .qr-menu .menu-hero,
    .public-body > .qr-menu.theme-noir-catalog .menu-hero,
    .public-body > .qr-menu.theme-noir-catalog.has-cover .menu-hero {
        border-radius: 0 !important;
        min-height: clamp(300px, 34vw, 420px) !important;
        padding: 28px max(32px, calc((100vw - var(--qr-desktop-page-width)) / 2)) 42px !important;
        width: 100% !important;
    }

    .public-body > .qr-menu .menu-hero-content,
    .public-body > .qr-menu.theme-noir-catalog .menu-hero-content.menu-cover-layout {
        gap: 18px !important;
        margin: 0 auto !important;
        max-width: var(--qr-desktop-page-width) !important;
        padding-top: 42px !important;
        width: 100% !important;
    }

    .public-body > .qr-menu .menu-cover-brand {
        gap: 18px !important;
        max-width: min(760px, 100%) !important;
    }

    .public-body > .qr-menu .menu-logo,
    .public-body > .qr-menu.theme-noir-catalog .menu-cover-brand .menu-logo {
        border-radius: 20px !important;
        height: 82px !important;
        width: 82px !important;
    }

    .public-body > .qr-menu .menu-hero h1,
    .public-body > .qr-menu.theme-noir-catalog .menu-cover-business h1 {
        font-size: clamp(34px, 4vw, 58px) !important;
        line-height: 1.02 !important;
    }

    .public-body > .qr-menu .menu-hero p,
    .public-body > .qr-menu.theme-noir-catalog .menu-cover-subtitle {
        font-size: 16px !important;
        line-height: 1.5 !important;
        max-width: 680px !important;
    }

    .public-body > .qr-menu .menu-toolbar {
        border-radius: 18px !important;
        margin: -24px auto 0 !important;
        max-width: var(--qr-desktop-page-width) !important;
        padding: 14px !important;
        position: sticky !important;
        top: 12px !important;
        width: calc(100% - 64px) !important;
        z-index: 35 !important;
    }

    .public-body > .qr-menu.nav-category_grid .menu-toolbar,
    .public-body > .qr-menu.theme-menutje-mono.nav-category_grid .menu-toolbar,
    .public-body > .qr-menu.theme-noir-catalog.nav-category_grid .menu-toolbar {
        margin-top: 0 !important;
        max-width: var(--qr-desktop-page-width) !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        width: calc(100% - 64px) !important;
    }

    .public-body > .qr-menu .category-showcase,
    .public-body > .qr-menu.theme-menutje-mono.nav-category_grid .category-showcase,
    .public-body > .qr-menu.theme-noir-catalog.nav-category_grid .category-showcase {
        margin: 0 auto !important;
        max-width: var(--qr-desktop-page-width) !important;
        overflow: visible !important;
        padding: 30px 0 8px !important;
        width: calc(100% - 64px) !important;
    }

    .public-body > .qr-menu .category-showcase > div,
    .public-body > .qr-menu.theme-menutje-mono.nav-category_grid .category-showcase > div,
    .public-body > .qr-menu.theme-noir-catalog.nav-category_grid .category-showcase > div {
        display: grid !important;
        gap: 18px !important;
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
        max-width: none !important;
        overflow: visible !important;
        width: 100% !important;
    }

    .public-body > .qr-menu .category-showcase a {
        border-radius: 18px !important;
        min-height: 180px !important;
        padding: 14px !important;
    }

    .public-body > .qr-menu .menu-content,
    .public-body .qr-menu.theme-menutje-mono .menu-content,
    .public-body .qr-menu.theme-noir-catalog .menu-content {
        margin: 0 auto !important;
        max-width: var(--qr-desktop-page-width) !important;
        overflow: visible !important;
        padding: 28px 0 118px !important;
        width: calc(100% - 64px) !important;
    }

    .public-body > .qr-menu .menu-category {
        scroll-margin-top: 118px !important;
    }

    .public-body > .qr-menu .menu-category h2 {
        font-size: 28px !important;
        margin: 22px 0 16px !important;
    }

    .public-body > .qr-menu .product-grid-public,
    .public-body > .qr-menu.layout-two-column .product-grid-public,
    .public-body > .qr-menu.layout-horizontal .product-grid-public,
    .public-body > .qr-menu.theme-menutje-mono .product-grid-public,
    .public-body > .qr-menu.theme-noir-catalog .product-grid-public {
        display: grid !important;
        gap: 18px !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .public-body > .qr-menu .menu-product,
    .public-body > .qr-menu.layout-horizontal .menu-product {
        border-radius: 18px !important;
        grid-template-columns: 132px minmax(0, 1fr) !important;
        min-height: 150px !important;
    }

    .public-body > .qr-menu .product-media,
    .public-body > .qr-menu .product-media img,
    .public-body > .qr-menu .image-placeholder,
    .public-body > .qr-menu .logo-placeholder {
        height: 150px !important;
        min-height: 150px !important;
        width: 132px !important;
    }

    .public-body > .qr-menu .product-info {
        gap: 10px !important;
        padding: 14px !important;
    }

    .public-body > .qr-menu .product-title-row h3 {
        font-size: 18px !important;
        line-height: 1.2 !important;
    }

    .public-body > .qr-menu .product-description-short,
    .public-body > .qr-menu .product-description-trigger,
    .public-body > .qr-menu .ingredients-line {
        font-size: 13px !important;
    }

    .public-body > .qr-menu .price-stack strong,
    .public-body > .qr-menu .price-calorie-line strong {
        font-size: 18px !important;
    }

    .public-body > .qr-menu .product-action-row .button,
    .public-body > .qr-menu .product-detail-button,
    .public-body > .qr-menu .menu-cart-add {
        min-height: 38px !important;
        padding: 8px 12px !important;
    }

    .public-body > .qr-menu .mobile-actions {
        border-radius: 18px !important;
        bottom: 22px !important;
        box-shadow: 0 18px 48px rgba(15, 23, 42, .18) !important;
        height: 62px !important;
        left: 50% !important;
        max-width: min(760px, calc(100vw - 64px)) !important;
        position: fixed !important;
        right: auto !important;
        transform: translateX(-50%) !important;
        width: min(760px, calc(100vw - 64px)) !important;
        z-index: 520 !important;
    }

    .public-body > .qr-menu .menu-footer.has-mobile-footer-actions[data-mobile-footer-panel] {
        bottom: 96px !important;
        max-width: min(560px, calc(100vw - 64px)) !important;
        width: min(560px, calc(100vw - 64px)) !important;
    }

    .public-body > .qr-menu .description-modal,
    .public-body > .qr-menu .public-survey-modal,
    .public-body > .qr-menu .unit-choice-modal,
    .public-body > .qr-menu .service-modal,
    .public-body > .qr-menu .cart-drawer {
        border-radius: 0 !important;
        height: 100vh !important;
        left: 0 !important;
        overflow: auto !important;
        right: 0 !important;
        top: 0 !important;
        transform: none !important;
        width: 100vw !important;
    }

    .public-body > .qr-menu .description-dialog,
    .public-body > .qr-menu .public-survey-dialog,
    .public-body > .qr-menu .unit-choice-dialog {
        max-height: calc(100vh - 48px) !important;
        max-width: min(760px, calc(100vw - 64px)) !important;
        width: min(760px, calc(100vw - 64px)) !important;
    }

    .public-body > .qr-menu .service-dialog {
        left: 50% !important;
        max-width: min(520px, calc(100vw - 64px)) !important;
        right: auto !important;
        transform: translateX(-50%) !important;
        width: min(520px, calc(100vw - 64px)) !important;
    }

    .public-body > .qr-menu .service-option-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }

    .public-body > .qr-menu .cart-panel {
        border-radius: 24px 0 0 24px !important;
        height: 100vh !important;
        max-width: 440px !important;
        right: 0 !important;
        top: 0 !important;
        width: min(440px, 100vw) !important;
    }
}

@media (min-width: 1280px) {
    .public-body > .qr-menu .product-grid-public,
    .public-body > .qr-menu.layout-two-column .product-grid-public,
    .public-body > .qr-menu.layout-horizontal .product-grid-public,
    .public-body > .qr-menu.theme-menutje-mono .product-grid-public,
    .public-body > .qr-menu.theme-noir-catalog .product-grid-public {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }
}

/* v216 hard reset desktop phone shell width */
@media (min-width: 992px) {
    html body.public-body > main.qr-menu,
    html body.public-body > main.qr-menu.theme-menutje-mono,
    html body.public-body > main.qr-menu.theme-noir-catalog,
    html body.public-body > main.qr-menu.theme-noir-catalog[data-view-mode] {
        inline-size: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        max-inline-size: none !important;
        max-width: none !important;
        min-inline-size: 100% !important;
        min-width: 100% !important;
        width: 100% !important;
    }

    html body.public-body > main.qr-menu .menu-hero,
    html body.public-body > main.qr-menu .menu-main-flow {
        inline-size: 100% !important;
        max-inline-size: none !important;
        max-width: none !important;
        width: 100% !important;
    }
}

/* v217 desktop category showcase grid polish */
@media (min-width: 992px) {
    html body.public-body > main.qr-menu.nav-category_grid .category-showcase > div,
    html body.public-body > main.qr-menu.theme-menutje-mono.nav-category_grid .category-showcase > div,
    html body.public-body > main.qr-menu.theme-noir-catalog.nav-category_grid .category-showcase > div {
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    }
}

/* v218 stable category transitions and desktop action dock */
.public-body > main.qr-menu .menu-main-flow,
.public-body > main.qr-menu .category-showcase,
.public-body > main.qr-menu .menu-content {
    overflow-anchor: none;
}

@media (min-width: 992px) {
    html body.public-body > main.qr-menu.has-mobile-actions {
        padding-bottom: 104px !important;
    }

    html body.public-body > main.qr-menu .mobile-actions,
    html body.public-body > main.qr-menu.has-mobile-actions .mobile-actions,
    html body.public-body > main.qr-menu.has-cart-action .mobile-actions,
    html body.public-body > main.qr-menu.has-service-action .mobile-actions,
    html body.public-body > main.qr-menu.has-cart-action.has-service-action .mobile-actions {
        --desktop-dock-edge: 76px;
        align-items: stretch !important;
        backdrop-filter: blur(18px);
        background: rgba(255, 255, 255, .92) !important;
        border: 1px solid rgba(15, 23, 42, .1) !important;
        border-radius: 24px !important;
        bottom: 22px !important;
        box-shadow: 0 20px 55px rgba(15, 23, 42, .18) !important;
        display: grid !important;
        gap: 0 !important;
        grid-template-columns: var(--desktop-dock-edge) minmax(0, 1fr) var(--desktop-dock-edge) !important;
        height: 72px !important;
        left: 50% !important;
        max-width: min(960px, calc(100vw - 64px)) !important;
        overflow: hidden !important;
        padding: 0 !important;
        position: fixed !important;
        right: auto !important;
        transform: translateX(-50%) !important;
        width: min(960px, calc(100vw - 64px)) !important;
        z-index: 520 !important;
    }

    html body.public-body > main.qr-menu .mobile-actions:not(.has-cart-edge) {
        grid-template-columns: minmax(0, 1fr) var(--desktop-dock-edge) !important;
    }

    html body.public-body > main.qr-menu .mobile-actions:not(.has-service-edge) {
        grid-template-columns: var(--desktop-dock-edge) minmax(0, 1fr) !important;
    }

    html body.public-body > main.qr-menu .mobile-actions:not(.has-cart-edge):not(.has-service-edge) {
        grid-template-columns: minmax(0, 1fr) !important;
    }

    html body.public-body > main.qr-menu .mobile-actions-middle {
        align-items: stretch !important;
        background: transparent !important;
        border: 0 !important;
        border-left: 1px solid rgba(15, 23, 42, .08) !important;
        border-right: 1px solid rgba(15, 23, 42, .08) !important;
        box-shadow: none !important;
        display: grid !important;
        gap: 0 !important;
        grid-auto-columns: minmax(0, 1fr) !important;
        grid-auto-flow: column !important;
        grid-column: 2 !important;
        height: 72px !important;
        min-height: 72px !important;
        width: 100% !important;
    }

    html body.public-body > main.qr-menu .mobile-actions:not(.has-cart-edge) .mobile-actions-middle {
        border-left: 0 !important;
        grid-column-start: 1 !important;
    }

    html body.public-body > main.qr-menu .mobile-actions:not(.has-service-edge) .mobile-actions-middle {
        border-right: 0 !important;
        grid-column-end: -1 !important;
    }

    html body.public-body > main.qr-menu .mobile-dock-edge,
    html body.public-body > main.qr-menu .mobile-action-button {
        align-items: center !important;
        border: 0 !important;
        display: inline-flex !important;
        gap: 8px !important;
        height: 72px !important;
        justify-content: center !important;
        min-height: 72px !important;
        padding: 0 14px !important;
        width: 100% !important;
    }

    html body.public-body > main.qr-menu .mobile-dock-edge {
        background: var(--primary, #111827) !important;
        color: #fff !important;
    }

    html body.public-body > main.qr-menu .mobile-dock-cart {
        border-radius: 24px 0 0 24px !important;
        grid-column: 1 !important;
    }

    html body.public-body > main.qr-menu .mobile-dock-service {
        border-radius: 0 24px 24px 0 !important;
        grid-column: -2 / -1 !important;
    }

    html body.public-body > main.qr-menu .mobile-action-button {
        background: transparent !important;
        color: #111827 !important;
        flex-direction: row !important;
        font-size: 13px !important;
        font-weight: 950 !important;
    }

    html body.public-body > main.qr-menu .mobile-action-button strong {
        display: inline !important;
        font-size: 13px !important;
        line-height: 1 !important;
    }

    html body.public-body > main.qr-menu .mobile-dock-icon,
    html body.public-body > main.qr-menu .mobile-actions-feedback-icon,
    html body.public-body > main.qr-menu .mobile-actions-share-icon {
        height: 34px !important;
        width: 34px !important;
    }

    html body.public-body > main.qr-menu .mobile-dock-icon svg,
    html body.public-body > main.qr-menu .mobile-actions-feedback-icon svg,
    html body.public-body > main.qr-menu .mobile-actions-share-icon svg,
    html body.public-body > main.qr-menu #basket-icon,
    html body.public-body > main.qr-menu #call-btn-icon,
    html body.public-body > main.qr-menu #mobile-actions-feedback-icon,
    html body.public-body > main.qr-menu #mobile-actions-share-icon {
        height: 30px !important;
        width: 30px !important;
    }

    html body.public-body > main.qr-menu .mobile-dock-cart em {
        right: 15px !important;
        top: 12px !important;
    }
}

/* v219 polished public and panel notifications */
.public-flash {
    align-items: center !important;
    animation: publicToastPolished 4.4s cubic-bezier(.2, .8, .2, 1) forwards !important;
    backdrop-filter: blur(18px);
    background: rgba(255, 255, 255, .96) !important;
    border: 1px solid rgba(15, 23, 42, .1) !important;
    border-radius: 22px !important;
    box-shadow:
        0 24px 70px rgba(15, 23, 42, .2),
        inset 0 1px 0 rgba(255, 255, 255, .72) !important;
    color: #0f172a !important;
    display: grid !important;
    font-size: 15px !important;
    font-weight: 900 !important;
    gap: 12px !important;
    grid-template-columns: 42px minmax(0, 1fr) !important;
    left: 50% !important;
    line-height: 1.32 !important;
    max-width: min(520px, calc(100vw - 32px)) !important;
    min-height: 66px !important;
    padding: 11px 16px 11px 12px !important;
    pointer-events: none !important;
    position: fixed !important;
    text-align: left !important;
    top: calc(16px + env(safe-area-inset-top, 0px)) !important;
    transform: translateX(-50%) translateY(-14px) scale(.96) !important;
    white-space: normal !important;
    width: max-content !important;
    z-index: 900 !important;
}

.public-flash::before {
    align-items: center;
    background: linear-gradient(135deg, #dcfce7, #bbf7d0);
    border: 1px solid rgba(22, 163, 74, .16);
    border-radius: 16px;
    box-shadow: 0 10px 24px rgba(22, 163, 74, .18);
    color: #15803d;
    content: "✓";
    display: inline-flex;
    font-size: 20px;
    font-weight: 950;
    height: 42px;
    justify-content: center;
    width: 42px;
}

.public-flash::after {
    background: linear-gradient(90deg, rgba(34, 197, 94, .9), rgba(20, 184, 166, .76));
    border-radius: 0 0 22px 22px;
    bottom: 0;
    content: "";
    height: 3px;
    left: 14px;
    position: absolute;
    right: 14px;
    transform-origin: left center;
    animation: publicToastProgress 4.1s linear forwards;
}

.public-flash.success {
    background:
        linear-gradient(135deg, rgba(255, 255, 255, .98), rgba(240, 253, 244, .96)) !important;
}

.public-flash.danger {
    background:
        linear-gradient(135deg, rgba(255, 255, 255, .98), rgba(254, 242, 242, .96)) !important;
}

.public-flash.danger::before {
    background: linear-gradient(135deg, #fee2e2, #fecaca);
    border-color: rgba(220, 38, 38, .16);
    box-shadow: 0 10px 24px rgba(220, 38, 38, .16);
    color: #b91c1c;
    content: "!";
}

.public-flash.danger::after {
    background: linear-gradient(90deg, #ef4444, #fb7185);
}

.public-flash.thank-you,
.public-flash.survey-repeat {
    animation: publicToastCenterPolished 4s cubic-bezier(.2, .8, .2, 1) forwards !important;
    border-radius: 24px !important;
    grid-template-columns: 48px minmax(0, 1fr) !important;
    left: 50% !important;
    max-width: min(480px, calc(100vw - 32px)) !important;
    min-height: 82px !important;
    padding: 16px 20px 16px 16px !important;
    top: 50% !important;
    transform: translate(-50%, -46%) scale(.94) !important;
}

.public-flash.thank-you::before,
.public-flash.survey-repeat::before {
    height: 48px !important;
    width: 48px !important;
}

.public-flash.survey-repeat::before {
    background: linear-gradient(135deg, #ecfeff, #cffafe) !important;
    color: #0891b2 !important;
    content: "i" !important;
}

.alert {
    align-items: center;
    border: 1px solid rgba(15, 23, 42, .08);
    border-radius: 14px !important;
    box-shadow: 0 12px 30px rgba(15, 23, 42, .06);
    display: grid;
    font-weight: 850 !important;
    gap: 10px;
    grid-template-columns: 34px minmax(0, 1fr);
    line-height: 1.35;
    padding: 12px 14px !important;
}

.alert::before {
    align-items: center;
    border-radius: 12px;
    content: "✓";
    display: inline-flex;
    font-size: 16px;
    font-weight: 950;
    height: 34px;
    justify-content: center;
    width: 34px;
}

.alert.success {
    background: #f0fdf4 !important;
    color: #14532d !important;
}

.alert.success::before {
    background: #dcfce7;
    color: #15803d;
}

.alert.danger {
    background: #fef2f2 !important;
    color: #7f1d1d !important;
}

.alert.danger::before {
    background: #fee2e2;
    color: #b91c1c;
    content: "!";
}

.alert.warning {
    background: #fffbeb !important;
    color: #78350f !important;
}

.alert.warning::before {
    background: #fef3c7;
    color: #b45309;
    content: "!";
}

@keyframes publicToastPolished {
    0% {
        opacity: 0;
        transform: translateX(-50%) translateY(-16px) scale(.96);
    }

    10%,
    78% {
        opacity: 1;
        transform: translateX(-50%) translateY(0) scale(1);
    }

    100% {
        opacity: 0;
        transform: translateX(-50%) translateY(-10px) scale(.98);
        visibility: hidden;
    }
}

@keyframes publicToastCenterPolished {
    0% {
        opacity: 0;
        transform: translate(-50%, -44%) scale(.94);
    }

    12%,
    78% {
        opacity: 1;
        transform: translate(-50%, -50%) scale(1);
    }

    100% {
        opacity: 0;
        transform: translate(-50%, -54%) scale(.98);
        visibility: hidden;
    }
}

@keyframes publicToastProgress {
    from {
        transform: scaleX(1);
    }

    to {
        transform: scaleX(0);
    }
}

@media (max-width: 520px) {
    .public-flash {
        border-radius: 18px !important;
        font-size: 13px !important;
        gap: 10px !important;
        grid-template-columns: 38px minmax(0, 1fr) !important;
        max-width: calc(100vw - 22px) !important;
        min-height: 58px !important;
        padding: 10px 13px 10px 10px !important;
        top: calc(10px + env(safe-area-inset-top, 0px)) !important;
        width: calc(100vw - 22px) !important;
    }

    .public-flash::before {
        border-radius: 14px;
        font-size: 18px;
        height: 38px;
        width: 38px;
    }

    .public-flash.thank-you,
    .public-flash.survey-repeat {
        grid-template-columns: 44px minmax(0, 1fr) !important;
        width: min(420px, calc(100vw - 28px)) !important;
    }

    .alert {
        grid-template-columns: 30px minmax(0, 1fr);
        padding: 10px 12px !important;
    }

    .alert::before {
        height: 30px;
        width: 30px;
    }
}

/* v220 customer tables delete button alignment */
.panel-body.customer-panel .compact-table-row {
    align-items: stretch;
}

.panel-body.customer-panel .compact-table-delete {
    align-items: end;
    align-self: stretch;
    display: flex;
    justify-content: flex-end;
    margin: 0;
}

.panel-body.customer-panel .compact-table-delete .button {
    align-items: center;
    display: inline-flex;
    justify-content: center;
    min-height: 38px;
    white-space: nowrap;
}

@media (min-width: 1021px) {
    .panel-body.customer-panel .compact-table-delete {
        padding-bottom: 0;
    }
}

@media (max-width: 1020px) {
    .panel-body.customer-panel .compact-table-delete {
        align-self: end;
        grid-column: 2;
        justify-self: end;
    }
}

@media (max-width: 760px) {
    .panel-body.customer-panel .compact-table-delete {
        grid-column: 1 / -1;
        justify-content: stretch;
        justify-self: stretch;
    }

    .panel-body.customer-panel .compact-table-delete .button {
        width: 100%;
    }
}

/* v221 theme 2 refined catalog layout */
.public-body .qr-menu.theme-noir-catalog,
.public-body .qr-menu.theme-noir-catalog[data-view-mode="light"] {
    --noir-bg: #f5f7fa;
    --noir-ink: #171923;
    --noir-muted: #667085;
    --noir-line: rgba(15, 23, 42, .09);
    --noir-panel: #ffffff;
    --noir-soft: #eef2f6;
    --noir-accent: var(--primary, #e11d2e);
    background: var(--noir-bg) !important;
    color: var(--noir-ink) !important;
}

.public-body .qr-menu.theme-noir-catalog[data-view-mode="dark"],
.public-body .qr-menu.theme-noir-catalog.bg-charcoal {
    --noir-bg: #101319;
    --noir-ink: #f8fafc;
    --noir-muted: #aab3c2;
    --noir-line: rgba(255, 255, 255, .11);
    --noir-panel: #171b23;
    --noir-soft: #202633;
    --noir-accent: var(--primary, #ef3340);
}

.public-body .qr-menu.theme-noir-catalog .menu-hero,
.public-body .qr-menu.theme-noir-catalog.has-cover .menu-hero {
    min-height: clamp(222px, 52vw, 286px) !important;
    padding: 18px 16px 34px !important;
}

.public-body .qr-menu.theme-noir-catalog .menu-hero::after {
    background: linear-gradient(180deg, rgba(0, 0, 0, .08), rgba(0, 0, 0, .42) 70%, rgba(0, 0, 0, .74)) !important;
    content: "" !important;
    inset: 0;
    pointer-events: none;
    position: absolute;
    z-index: 0;
}

.public-body .qr-menu.theme-noir-catalog .menu-hero > * {
    position: relative;
    z-index: 1;
}

.public-body .qr-menu.theme-noir-catalog .menu-cover-brand {
    align-items: end !important;
    gap: 12px !important;
    margin-top: auto !important;
}

.public-body .qr-menu.theme-noir-catalog .menu-cover-brand .menu-logo {
    border: 2px solid rgba(255, 255, 255, .72) !important;
    box-shadow: 0 14px 34px rgba(0, 0, 0, .24) !important;
    height: 62px !important;
    width: 62px !important;
}

.public-body .qr-menu.theme-noir-catalog .menu-cover-business .eyebrow {
    color: rgba(255, 255, 255, .72) !important;
    letter-spacing: 0 !important;
}

.public-body .qr-menu.theme-noir-catalog .menu-cover-business h1 {
    font-size: clamp(27px, 7vw, 38px) !important;
    letter-spacing: 0 !important;
    text-shadow: 0 2px 18px rgba(0, 0, 0, .36);
}

.public-body .qr-menu.theme-noir-catalog .menu-cover-subtitle {
    color: rgba(255, 255, 255, .86) !important;
    max-width: 34rem;
}

.public-body .qr-menu.theme-noir-catalog .menu-cover-hours,
.public-body .qr-menu.theme-noir-catalog .menu-cover-action {
    backdrop-filter: blur(16px);
    background: rgba(15, 23, 42, .36) !important;
    border-color: rgba(255, 255, 255, .2) !important;
}

.public-body .qr-menu.theme-noir-catalog .menu-toolbar {
    background: rgba(255, 255, 255, .94) !important;
    border: 1px solid rgba(226, 232, 240, .9) !important;
    border-radius: 18px !important;
    box-shadow: 0 18px 44px rgba(15, 23, 42, .1) !important;
    margin: -20px 12px 0 !important;
    padding: 10px !important;
    width: auto !important;
}

.public-body .qr-menu.theme-noir-catalog[data-view-mode="dark"] .menu-toolbar,
.public-body .qr-menu.theme-noir-catalog.bg-charcoal .menu-toolbar {
    background: rgba(23, 27, 35, .94) !important;
    border-color: rgba(255, 255, 255, .1) !important;
}

.public-body .qr-menu.theme-noir-catalog .menu-search input {
    background: var(--noir-soft) !important;
    border: 1px solid transparent !important;
    border-radius: 13px !important;
    box-shadow: none !important;
    color: var(--noir-ink) !important;
    font-size: 14px !important;
    min-height: 42px !important;
}

.public-body .qr-menu.theme-noir-catalog .category-tabs {
    gap: 7px !important;
    padding: 2px 1px 1px !important;
}

.public-body .qr-menu.theme-noir-catalog .category-tabs a {
    background: var(--noir-soft) !important;
    border: 1px solid var(--noir-line) !important;
    color: var(--noir-ink) !important;
    min-height: 36px !important;
    padding: 7px 11px !important;
}

.public-body .qr-menu.theme-noir-catalog .category-tabs a:hover,
.public-body .qr-menu.theme-noir-catalog .category-tabs a:focus-visible {
    background: var(--noir-ink) !important;
    color: var(--noir-panel) !important;
}

.public-body .qr-menu.theme-noir-catalog .category-tabs img {
    box-shadow: 0 0 0 1px rgba(255, 255, 255, .68);
}

.public-body .qr-menu.theme-noir-catalog .menu-content {
    box-sizing: border-box !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
    padding: 16px 12px 104px !important;
    width: 100% !important;
}

.public-body .qr-menu.theme-noir-catalog .menu-category {
    gap: 12px !important;
}

.public-body .qr-menu.theme-noir-catalog .menu-category h2 {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    color: var(--noir-ink) !important;
    font-size: 20px !important;
    justify-content: flex-start !important;
    margin: 4px 0 0 !important;
    padding: 4px 2px !important;
    position: relative !important;
    text-transform: none !important;
    top: auto !important;
}

.public-body .qr-menu.theme-noir-catalog .menu-category h2::before {
    background: var(--noir-accent) !important;
    height: 26px !important;
    margin-right: 9px !important;
    width: 5px !important;
}

.public-body .qr-menu.theme-noir-catalog .product-grid-public,
.public-body .qr-menu.theme-noir-catalog.layout-two-column .product-grid-public,
.public-body .qr-menu.theme-noir-catalog.layout-horizontal .product-grid-public,
.public-body .qr-menu.theme-noir-catalog.display-visual-price .product-grid-public {
    gap: 12px !important;
}

.public-body .qr-menu.theme-noir-catalog .menu-product,
.public-body .qr-menu.theme-noir-catalog.layout-two-column .menu-product,
.public-body .qr-menu.theme-noir-catalog.layout-horizontal .menu-product,
.public-body .qr-menu.theme-noir-catalog.display-visual-price .menu-product {
    border-color: rgba(15, 23, 42, .075) !important;
    border-radius: 18px !important;
    box-shadow: 0 14px 32px rgba(15, 23, 42, .075) !important;
    grid-template-columns: 96px minmax(0, 1fr) !important;
    max-width: 100% !important;
    min-height: 120px !important;
    min-width: 0 !important;
}

.public-body .qr-menu.theme-noir-catalog[data-view-mode="dark"] .menu-product,
.public-body .qr-menu.theme-noir-catalog.bg-charcoal .menu-product {
    border-color: rgba(255, 255, 255, .09) !important;
    box-shadow: 0 14px 32px rgba(0, 0, 0, .2) !important;
}

.public-body .qr-menu.theme-noir-catalog .product-media,
.public-body .qr-menu.theme-noir-catalog.layout-two-column .product-media,
.public-body .qr-menu.theme-noir-catalog.layout-horizontal .product-media,
.public-body .qr-menu.theme-noir-catalog.display-visual-price .product-media {
    grid-column: 1 !important;
    min-height: 120px !important;
    position: relative !important;
    width: 96px !important;
}

.public-body .qr-menu.theme-noir-catalog .product-media img,
.public-body .qr-menu.theme-noir-catalog .image-placeholder,
.public-body .qr-menu.theme-noir-catalog .logo-placeholder,
.public-body .qr-menu.theme-noir-catalog.display-visual-price .product-media img,
.public-body .qr-menu.theme-noir-catalog.display-visual-price .image-placeholder,
.public-body .qr-menu.theme-noir-catalog.display-visual-price .logo-placeholder {
    min-height: 120px !important;
    width: 96px !important;
}

.public-body .qr-menu.theme-noir-catalog .product-info {
    align-content: stretch !important;
    background: transparent !important;
    bottom: auto !important;
    display: grid !important;
    gap: 7px !important;
    grid-column: 2 !important;
    grid-template-rows: auto auto 1fr auto !important;
    overflow: hidden !important;
    padding: 12px 12px 11px !important;
    pointer-events: auto !important;
    position: static !important;
    right: auto !important;
    z-index: auto !important;
}

.public-body .qr-menu.theme-noir-catalog.display-visual-price .visual-detail-hit {
    inset: 0 !important;
    position: absolute !important;
}

.public-body .qr-menu.theme-noir-catalog .product-title-row {
    display: block !important;
}

.public-body .qr-menu.theme-noir-catalog .product-title-row h3 {
    font-size: 15px !important;
    line-height: 1.18 !important;
}

.public-body .qr-menu.theme-noir-catalog .price-stack {
    align-items: center !important;
    display: flex !important;
    justify-content: flex-start !important;
    order: 4;
}

.public-body .qr-menu.theme-noir-catalog .price-calorie-line {
    align-items: center !important;
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 7px !important;
}

.public-body .qr-menu.theme-noir-catalog .price-stack strong {
    background: transparent !important;
    border-radius: 0 !important;
    color: var(--noir-ink) !important;
    font-size: 17px !important;
    padding: 0 !important;
}

.public-body .qr-menu.theme-noir-catalog .product-calorie-chip {
    background: rgba(225, 29, 46, .1) !important;
    border-radius: 7px !important;
    color: #e11d2e !important;
    font-size: 10.5px !important;
    font-weight: 950 !important;
    padding: 3px 6px !important;
}

.public-body .qr-menu.theme-noir-catalog .product-description-short,
.public-body .qr-menu.theme-noir-catalog .product-description-trigger {
    font-size: 12px !important;
    line-height: 1.28 !important;
    max-width: 100% !important;
    min-width: 0 !important;
    -webkit-line-clamp: 1;
}

.public-body .qr-menu.theme-noir-catalog .product-description-trigger span {
    display: block !important;
    max-width: 100% !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

.public-body .qr-menu.theme-noir-catalog .product-action-row {
    align-items: end !important;
    display: grid !important;
    gap: 7px !important;
    grid-template-columns: minmax(0, 1fr) auto auto !important;
    margin-top: auto !important;
    min-width: 0 !important;
    overflow: hidden !important;
}

.public-body .qr-menu.theme-noir-catalog .product-action-row .product-detail-button {
    justify-self: start !important;
}

.public-body .qr-menu.theme-noir-catalog .product-action-row .menu-cart-add {
    justify-self: end !important;
}

.public-body .qr-menu.theme-noir-catalog .product-comments[open] {
    grid-column: 1 / -1 !important;
}

.public-body .qr-menu.theme-noir-catalog .product-action-row .button,
.public-body .qr-menu.theme-noir-catalog .product-detail-button,
.public-body .qr-menu.theme-noir-catalog .menu-cart-add {
    min-height: 34px !important;
    padding: 7px 11px !important;
}

.public-body .qr-menu.theme-noir-catalog .menu-cart-add {
    background: var(--noir-ink) !important;
    color: var(--noir-panel) !important;
}

.public-body .qr-menu.theme-noir-catalog.has-cart-action .menu-product .product-detail-button {
    display: none !important;
}

.public-body .qr-menu.theme-noir-catalog .menu-product .menu-cart-add {
    font-size: 0 !important;
}

.public-body .qr-menu.theme-noir-catalog .menu-product .menu-cart-add::after {
    content: "Ekle" !important;
    font-size: 11px !important;
    font-weight: 950 !important;
}

.public-body .qr-menu.theme-noir-catalog .product-detail-button,
.public-body .qr-menu.theme-noir-catalog .product-comments summary {
    background: var(--noir-soft) !important;
    border-color: var(--noir-line) !important;
    color: var(--noir-ink) !important;
}

.public-body .qr-menu.theme-noir-catalog .mobile-actions {
    background: rgba(255, 255, 255, .94) !important;
    border: 1px solid rgba(226, 232, 240, .95) !important;
}

.public-body .qr-menu.theme-noir-catalog[data-view-mode="dark"] .mobile-actions,
.public-body .qr-menu.theme-noir-catalog.bg-charcoal .mobile-actions {
    background: rgba(23, 27, 35, .94) !important;
    border-color: rgba(255, 255, 255, .1) !important;
}

@media (max-width: 370px) {
    .public-body .qr-menu.theme-noir-catalog .menu-product,
    .public-body .qr-menu.theme-noir-catalog.layout-horizontal .menu-product {
        grid-template-columns: 82px minmax(0, 1fr) !important;
    }

    .public-body .qr-menu.theme-noir-catalog .product-media,
    .public-body .qr-menu.theme-noir-catalog .product-media img,
    .public-body .qr-menu.theme-noir-catalog .image-placeholder,
    .public-body .qr-menu.theme-noir-catalog .logo-placeholder {
        width: 82px !important;
    }

    .public-body .qr-menu.theme-noir-catalog .product-action-row {
        grid-template-columns: repeat(2, minmax(0, auto)) !important;
    }
}

@media (max-width: 520px) {
    .public-body .qr-menu.theme-noir-catalog,
    html body.public-body > main.qr-menu.theme-noir-catalog {
        inline-size: 100vw !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        max-inline-size: 100vw !important;
        max-width: 100vw !important;
        min-inline-size: 0 !important;
        min-width: 0 !important;
        width: 100vw !important;
    }

    .public-body .qr-menu.theme-noir-catalog .menu-main-flow,
    .public-body .qr-menu.theme-noir-catalog .menu-content {
        inline-size: 100% !important;
        max-inline-size: 100% !important;
        max-width: 100% !important;
        width: 100% !important;
    }

    .public-body .qr-menu.theme-noir-catalog .menu-product .product-info {
        gap: 6px 8px !important;
        grid-template-areas:
            "title title"
            "desc desc"
            "price action" !important;
        grid-template-columns: minmax(0, 1fr) auto !important;
        grid-template-rows: minmax(2.36em, auto) 1.32em auto !important;
        min-height: 0 !important;
        padding-right: 62px !important;
        position: relative !important;
        width: 100% !important;
    }

    .public-body .qr-menu.theme-noir-catalog .product-grid-public,
    .public-body .qr-menu.theme-noir-catalog.layout-two-column .product-grid-public,
    .public-body .qr-menu.theme-noir-catalog.layout-horizontal .product-grid-public,
    .public-body .qr-menu.theme-noir-catalog.display-visual-price .product-grid-public {
        justify-items: start !important;
    }

    .public-body .qr-menu.theme-noir-catalog .menu-product,
    .public-body .qr-menu.theme-noir-catalog.layout-two-column .menu-product,
    .public-body .qr-menu.theme-noir-catalog.layout-horizontal .menu-product,
    .public-body .qr-menu.theme-noir-catalog.display-visual-price .menu-product {
        width: calc(100vw - 48px) !important;
    }

    .public-body .qr-menu.theme-noir-catalog .menu-product .product-title-row,
    .public-body .qr-menu.theme-noir-catalog .menu-product .product-title-row h3,
    .public-body .qr-menu.theme-noir-catalog .menu-product .product-description-short,
    .public-body .qr-menu.theme-noir-catalog .menu-product .product-description-trigger,
    .public-body .qr-menu.theme-noir-catalog .menu-product .price-stack,
    .public-body .qr-menu.theme-noir-catalog .menu-product .product-action-row {
        min-width: 0 !important;
    }

    .public-body .qr-menu.theme-noir-catalog .menu-product .product-action-row {
        bottom: 10px !important;
        display: flex !important;
        flex-wrap: nowrap !important;
        grid-area: action !important;
        justify-content: flex-end !important;
        justify-self: end !important;
        max-width: none !important;
        overflow: visible !important;
        position: absolute !important;
        right: 10px !important;
        width: auto !important;
    }

    .public-body .qr-menu.theme-noir-catalog .menu-product .menu-cart-add {
        display: inline-flex !important;
        flex: 0 0 auto !important;
        max-width: none !important;
        min-width: 44px !important;
        width: auto !important;
    }

    .public-body .qr-menu.theme-noir-catalog .menu-product .product-comments {
        display: none !important;
    }
}

@media (min-width: 992px) {
    .public-body > .qr-menu.theme-noir-catalog .menu-hero,
    .public-body > .qr-menu.theme-noir-catalog.has-cover .menu-hero {
        min-height: clamp(300px, 30vw, 390px) !important;
        padding-bottom: 54px !important;
    }

    .public-body > .qr-menu.theme-noir-catalog .menu-toolbar {
        margin-top: -34px !important;
        max-width: var(--qr-desktop-page-width) !important;
        padding: 13px !important;
        width: calc(100% - 64px) !important;
    }

    .public-body > .qr-menu.theme-noir-catalog .menu-content {
        padding-top: 30px !important;
    }

    .public-body > .qr-menu.theme-noir-catalog .menu-category h2 {
        font-size: 27px !important;
        margin: 4px 0 4px !important;
    }

    .public-body > .qr-menu.theme-noir-catalog .product-grid-public,
    .public-body > .qr-menu.theme-noir-catalog.layout-two-column .product-grid-public,
    .public-body > .qr-menu.theme-noir-catalog.layout-horizontal .product-grid-public,
    .public-body > .qr-menu.theme-noir-catalog.display-visual-price .product-grid-public {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .public-body > .qr-menu.theme-noir-catalog .menu-product,
    .public-body > .qr-menu.theme-noir-catalog.layout-horizontal .menu-product {
        grid-template-columns: 128px minmax(0, 1fr) !important;
        min-height: 152px !important;
    }

    .public-body > .qr-menu.theme-noir-catalog .product-media,
    .public-body > .qr-menu.theme-noir-catalog .product-media img,
    .public-body > .qr-menu.theme-noir-catalog .image-placeholder,
    .public-body > .qr-menu.theme-noir-catalog .logo-placeholder {
        height: 152px !important;
        min-height: 152px !important;
        width: 128px !important;
    }

    .public-body > .qr-menu.theme-noir-catalog .product-info {
        padding: 15px !important;
    }

    .public-body > .qr-menu.theme-noir-catalog .product-title-row h3 {
        font-size: 18px !important;
    }
}

@media (min-width: 1280px) {
    .public-body > .qr-menu.theme-noir-catalog .product-grid-public,
    .public-body > .qr-menu.theme-noir-catalog.layout-two-column .product-grid-public,
    .public-body > .qr-menu.theme-noir-catalog.layout-horizontal .product-grid-public,
    .public-body > .qr-menu.theme-noir-catalog.display-visual-price .product-grid-public {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }
}

/* v222 theme 2 fixed category rail and settings cleanup */
html.is-menu-deep-link-booting body.public-body > main.qr-menu {
    opacity: 0;
}

html.has-menu-deep-link body.public-body > main.qr-menu.theme-noir-catalog .menu-hero {
    display: none !important;
}

html.has-menu-deep-link body.public-body > main.qr-menu.theme-noir-catalog .menu-toolbar {
    border-radius: 0 0 18px 18px !important;
    margin-top: 0 !important;
}

html.has-menu-deep-link body.public-body > main.qr-menu.theme-noir-catalog .menu-content {
    padding-top: 18px !important;
}

.public-body .qr-menu.theme-noir-catalog .menu-toolbar {
    position: sticky !important;
    top: 0 !important;
    z-index: 180 !important;
}

.public-body .qr-menu.theme-noir-catalog .category-tabs {
    scroll-padding-left: 8px;
}

.public-body .qr-menu.theme-noir-catalog .category-tabs a {
    box-shadow: none !important;
}

.public-body .qr-menu.theme-noir-catalog.nav-sticky_pills .category-showcase,
.public-body .qr-menu.theme-noir-catalog.nav-category_grid .category-showcase,
.public-body .qr-menu.theme-noir-catalog.nav-minimal_tabs .category-showcase {
    display: none !important;
}

.public-body .qr-menu.theme-noir-catalog.nav-sticky_pills .category-tabs,
.public-body .qr-menu.theme-noir-catalog.nav-category_grid .category-tabs,
.public-body .qr-menu.theme-noir-catalog.nav-minimal_tabs .category-tabs {
    display: flex !important;
}

.public-body .qr-menu.theme-noir-catalog.display-visual-price .product-title-row,
.public-body .qr-menu.theme-noir-catalog.display-visual-price .product-description-short,
.public-body .qr-menu.theme-noir-catalog.display-visual-price .product-description-trigger {
    display: block !important;
}

.public-body .qr-menu.theme-noir-catalog.display-visual-price .product-info {
    pointer-events: auto !important;
}

@media (max-width: 520px) {
    .public-body .qr-menu.theme-noir-catalog .menu-toolbar {
        border-radius: 18px 18px 0 0 !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        top: 0 !important;
        width: 100% !important;
    }

    .public-body .qr-menu.theme-noir-catalog .menu-content {
        padding-left: 12px !important;
        padding-right: 12px !important;
    }

    .public-body .qr-menu.theme-noir-catalog .menu-category {
        scroll-margin-top: 118px !important;
    }
}

@media (min-width: 992px) {
    .public-body > .qr-menu.theme-noir-catalog .menu-toolbar {
        top: 0 !important;
    }

    .public-body > .qr-menu.theme-noir-catalog .menu-category {
        scroll-margin-top: 128px !important;
    }
}

/* v223 theme 2 sticky rail, cover cleanup and mobile card actions */
.public-body .qr-menu.theme-noir-catalog .menu-cover-business .eyebrow {
    display: none !important;
}

.public-body .qr-menu.theme-noir-catalog .menu-cover-hours {
    align-items: center !important;
    display: inline-grid !important;
    gap: 10px !important;
    grid-template-columns: 38px minmax(0, 1fr) !important;
    justify-self: start !important;
    padding: 8px 12px 8px 8px !important;
    width: fit-content !important;
}

.public-body .qr-menu.theme-noir-catalog .menu-cover-hours .menu-cover-icon {
    align-items: center !important;
    display: inline-flex !important;
    height: 38px !important;
    justify-content: center !important;
    width: 38px !important;
}

.public-body .qr-menu.theme-noir-catalog .menu-cover-hours p {
    align-self: center !important;
    line-height: 1.2 !important;
    margin: 0 !important;
}

.public-body .qr-menu.theme-noir-catalog .menu-toolbar {
    background: rgba(255, 255, 255, .98) !important;
    position: sticky !important;
    top: 0 !important;
    transform: translateZ(0);
    z-index: 720 !important;
}

.public-body .qr-menu.theme-noir-catalog[data-view-mode="dark"] .menu-toolbar,
.public-body .qr-menu.theme-noir-catalog.bg-charcoal .menu-toolbar {
    background: rgba(23, 27, 35, .98) !important;
}

.public-body .qr-menu.theme-noir-catalog .menu-search input {
    background: #ffffff !important;
    border: 1px solid rgba(203, 213, 225, .86) !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .8), 0 8px 18px rgba(15, 23, 42, .04) !important;
}

.public-body .qr-menu.theme-noir-catalog[data-view-mode="dark"] .menu-search input,
.public-body .qr-menu.theme-noir-catalog.bg-charcoal .menu-search input {
    background: #111722 !important;
    border-color: rgba(255, 255, 255, .12) !important;
}

@media (max-width: 520px) {
    .public-body .qr-menu.theme-noir-catalog .menu-cover-hours {
        max-width: min(260px, calc(100vw - 80px)) !important;
    }

    .public-body .qr-menu.theme-noir-catalog .menu-product .product-info {
        grid-template-areas:
            "title title"
            "desc desc"
            "price action" !important;
        grid-template-columns: minmax(0, 1fr) auto !important;
        padding-right: 12px !important;
        position: static !important;
    }

    .public-body .qr-menu.theme-noir-catalog .menu-product .price-stack {
        align-self: center !important;
        grid-area: price !important;
        min-width: 0 !important;
    }

    .public-body .qr-menu.theme-noir-catalog .menu-product .price-calorie-line {
        align-items: center !important;
        min-height: 34px !important;
    }

    .public-body .qr-menu.theme-noir-catalog .menu-product .product-action-row {
        align-self: center !important;
        bottom: auto !important;
        display: flex !important;
        grid-area: action !important;
        justify-self: end !important;
        margin-top: 0 !important;
        overflow: visible !important;
        position: static !important;
        right: auto !important;
        width: auto !important;
    }

    .public-body .qr-menu.theme-noir-catalog .menu-product .menu-cart-add {
        align-items: center !important;
        display: inline-flex !important;
        height: 34px !important;
        justify-content: center !important;
        min-height: 34px !important;
    }
}

/* v224 theme 2 mobile add button realignment */
@media (max-width: 520px) {
    .public-body .qr-menu.theme-noir-catalog .menu-product .product-info {
        padding-right: 62px !important;
        position: relative !important;
    }

    .public-body .qr-menu.theme-noir-catalog .menu-product .product-action-row {
        bottom: 19px !important;
        display: flex !important;
        justify-content: flex-end !important;
        overflow: visible !important;
        position: absolute !important;
        right: 10px !important;
        width: auto !important;
    }

    .public-body .qr-menu.theme-noir-catalog .menu-product .menu-cart-add {
        height: 34px !important;
        min-height: 34px !important;
        min-width: 44px !important;
        width: auto !important;
    }
}

/* v235 theme 2 remove blank cover space on category/product deep links */
.public-body .qr-menu.theme-noir-catalog:has(.menu-category:target) .menu-hero,
.public-body .qr-menu.theme-noir-catalog:has(.menu-product:target) .menu-hero {
    display: none !important;
    min-height: 0 !important;
    padding: 0 !important;
}

.public-body .qr-menu.theme-noir-catalog:has(.menu-category:target) .menu-toolbar,
.public-body .qr-menu.theme-noir-catalog:has(.menu-product:target) .menu-toolbar {
    border-radius: 0 0 18px 18px !important;
    margin-top: 0 !important;
    position: sticky !important;
    top: 0 !important;
}

.public-body .qr-menu.theme-noir-catalog:has(.menu-category:target) .menu-content,
.public-body .qr-menu.theme-noir-catalog:has(.menu-product:target) .menu-content {
    padding-top: 18px !important;
}

/* v237 theme 2 mobile add button locked to price-calorie line */
@media (max-width: 520px) {
    .public-body .qr-menu.theme-noir-catalog .menu-product .product-info {
        padding-right: 68px !important;
        position: relative !important;
    }

    .public-body .qr-menu.theme-noir-catalog .menu-product .price-stack {
        align-self: end !important;
        grid-area: price !important;
        margin-bottom: 0 !important;
    }

    .public-body .qr-menu.theme-noir-catalog .menu-product .price-calorie-line {
        align-items: center !important;
        min-height: 34px !important;
    }

    .public-body .qr-menu.theme-noir-catalog .menu-product .product-action-row {
        align-items: center !important;
        bottom: 11px !important;
        display: flex !important;
        height: 34px !important;
        justify-content: flex-end !important;
        position: absolute !important;
        right: 10px !important;
        width: auto !important;
        z-index: 3 !important;
    }

    .public-body .qr-menu.theme-noir-catalog .menu-product .menu-cart-add {
        height: 34px !important;
        min-height: 34px !important;
    }
}

/* v231 theme 2 final mobile product card clamp */
@media (max-width: 520px) {
    .public-body .qr-menu.theme-noir-catalog,
    html body.public-body > main.qr-menu.theme-noir-catalog {
        overflow-x: hidden !important;
        width: 100% !important;
        max-width: 100% !important;
        inline-size: 100% !important;
        max-inline-size: 100% !important;
    }

    .public-body .qr-menu.theme-noir-catalog .menu-content {
        box-sizing: border-box !important;
        overflow-x: hidden !important;
        padding-left: 12px !important;
        padding-right: 12px !important;
    }

    .public-body .qr-menu.theme-noir-catalog .product-grid-public,
    .public-body .qr-menu.theme-noir-catalog.layout-two-column .product-grid-public,
    .public-body .qr-menu.theme-noir-catalog.layout-horizontal .product-grid-public,
    .public-body .qr-menu.theme-noir-catalog.display-visual-price .product-grid-public {
        justify-items: stretch !important;
        width: 100% !important;
    }

    .public-body .qr-menu.theme-noir-catalog .menu-product,
    .public-body .qr-menu.theme-noir-catalog.layout-two-column .menu-product,
    .public-body .qr-menu.theme-noir-catalog.layout-horizontal .menu-product,
    .public-body .qr-menu.theme-noir-catalog.display-visual-price .menu-product {
        box-sizing: border-box !important;
        display: grid !important;
        grid-template-columns: 96px minmax(0, 1fr) !important;
        justify-self: center !important;
        max-width: calc(100vw - 54px) !important;
        min-width: 0 !important;
        overflow: hidden !important;
        width: min(100%, calc(100vw - 54px)) !important;
    }

    .public-body .qr-menu.theme-noir-catalog .menu-product .product-info {
        align-content: stretch !important;
        box-sizing: border-box !important;
        display: grid !important;
        gap: 6px 8px !important;
        grid-template-areas:
            "title title"
            "desc desc"
            "price action" !important;
        grid-template-columns: minmax(0, 1fr) auto !important;
        grid-template-rows: minmax(2.36em, auto) 1.32em 34px !important;
        max-width: calc(100vw - 150px) !important;
        min-width: 0 !important;
        overflow: hidden !important;
        padding: 12px 12px 11px !important;
        position: static !important;
        width: 100% !important;
    }

    .public-body .qr-menu.theme-noir-catalog .menu-product .product-title-row {
        grid-area: title !important;
        min-width: 0 !important;
    }

    .public-body .qr-menu.theme-noir-catalog .menu-product .product-title-row h3 {
        display: -webkit-box !important;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
        min-width: 0 !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
    }

    .public-body .qr-menu.theme-noir-catalog .menu-product .product-description-short,
    .public-body .qr-menu.theme-noir-catalog .menu-product .product-description-trigger {
        grid-area: desc !important;
        min-width: 0 !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
    }

    .public-body .qr-menu.theme-noir-catalog .menu-product .price-stack {
        align-self: center !important;
        grid-area: price !important;
        justify-self: start !important;
        min-width: 0 !important;
        order: initial !important;
    }

    .public-body .qr-menu.theme-noir-catalog .menu-product .price-calorie-line {
        align-items: center !important;
        flex-wrap: nowrap !important;
        min-height: 34px !important;
        min-width: 0 !important;
    }

    .public-body .qr-menu.theme-noir-catalog .menu-product .product-calorie-chip {
        flex: 0 0 auto !important;
    }

    .public-body .qr-menu.theme-noir-catalog .menu-product .product-action-row {
        align-self: center !important;
        bottom: auto !important;
        display: flex !important;
        grid-area: action !important;
        justify-content: flex-end !important;
        justify-self: end !important;
        margin: 0 !important;
        max-width: none !important;
        min-width: 0 !important;
        overflow: visible !important;
        position: static !important;
        right: auto !important;
        width: auto !important;
    }

    .public-body .qr-menu.theme-noir-catalog .menu-product .menu-cart-add {
        align-items: center !important;
        display: inline-flex !important;
        flex: 0 0 auto !important;
        height: 34px !important;
        justify-content: center !important;
        min-height: 34px !important;
        min-width: 44px !important;
        padding: 7px 10px !important;
        width: auto !important;
    }
}

/* v232 theme 2 final override for mobile card width and add alignment */
@media (max-width: 520px) {
    .public-body .qr-menu.theme-noir-catalog .menu-product,
    .public-body .qr-menu.theme-noir-catalog.layout-two-column .menu-product,
    .public-body .qr-menu.theme-noir-catalog.layout-horizontal .menu-product,
    .public-body .qr-menu.theme-noir-catalog.display-visual-price .menu-product {
        grid-template-columns: 96px minmax(0, 1fr) !important;
        justify-self: center !important;
        max-width: calc(100vw - 54px) !important;
        min-width: 0 !important;
        overflow: hidden !important;
        width: calc(100vw - 54px) !important;
    }

    .public-body .qr-menu.theme-noir-catalog .menu-product .product-info {
        grid-template-areas:
            "title title"
            "desc desc"
            "price action" !important;
        grid-template-columns: minmax(0, 1fr) auto !important;
        grid-template-rows: minmax(2.36em, auto) 1.32em 34px !important;
        max-width: calc(100vw - 150px) !important;
        padding: 12px 12px 11px !important;
        position: static !important;
    }

    .public-body .qr-menu.theme-noir-catalog .menu-product .product-action-row {
        align-self: center !important;
        bottom: auto !important;
        grid-area: action !important;
        justify-self: end !important;
        position: static !important;
        right: auto !important;
        width: auto !important;
    }
}

@media (max-width: 370px) {
    .public-body .qr-menu.theme-noir-catalog .menu-product,
    .public-body .qr-menu.theme-noir-catalog.layout-two-column .menu-product,
    .public-body .qr-menu.theme-noir-catalog.layout-horizontal .menu-product,
    .public-body .qr-menu.theme-noir-catalog.display-visual-price .menu-product {
        grid-template-columns: 82px minmax(0, 1fr) !important;
        max-width: calc(100vw - 42px) !important;
        width: min(100%, calc(100vw - 42px)) !important;
    }

    .public-body .qr-menu.theme-noir-catalog .menu-product .product-info {
        max-width: calc(100vw - 124px) !important;
    }
}

/* v225 theme 2 sticky rail overflow fix */
.public-body > main.qr-menu.theme-noir-catalog,
.public-body .qr-menu.theme-noir-catalog {
    overflow-x: clip !important;
    overflow-y: visible !important;
}

.public-body .qr-menu.theme-noir-catalog .menu-main-flow {
    overflow: visible !important;
}

/* v226 theme 2 force sticky ancestor visible overflow */
html body.public-body > main.qr-menu.theme-noir-catalog,
html body.public-body > main.qr-menu.theme-noir-catalog[data-view-mode],
html body.public-body > main.qr-menu.theme-noir-catalog.has-cover {
    overflow: visible !important;
    overflow-x: visible !important;
    overflow-y: visible !important;
}

/* v227 theme 2 fixed toolbar fallback */
.public-body .qr-menu.theme-noir-catalog.noir-toolbar-fixed .menu-toolbar {
    border-radius: 0 0 18px 18px !important;
    left: 0 !important;
    margin: 0 !important;
    position: fixed !important;
    right: 0 !important;
    top: 0 !important;
    transform: none !important;
    width: 100% !important;
    z-index: 920 !important;
}

.public-body .qr-menu.theme-noir-catalog.noir-toolbar-fixed .menu-content {
    padding-top: calc(var(--noir-toolbar-height, 112px) + 18px) !important;
}

@media (min-width: 992px) {
    .public-body > .qr-menu.theme-noir-catalog.noir-toolbar-fixed .menu-toolbar {
        left: 50% !important;
        max-width: var(--qr-desktop-page-width) !important;
        right: auto !important;
        transform: translateX(-50%) !important;
        width: calc(100% - 64px) !important;
    }
}

/* v228 theme 2 cover restore and stable mobile add alignment */
html.has-menu-deep-link body.public-body > main.qr-menu.theme-noir-catalog .menu-hero,
body.public-body > main.qr-menu.theme-noir-catalog .menu-hero {
    display: block !important;
}

html.has-menu-deep-link body.public-body > main.qr-menu.theme-noir-catalog .menu-toolbar {
    border-radius: 18px !important;
    margin-top: -20px !important;
}

@media (max-width: 520px) {
    html.has-menu-deep-link body.public-body > main.qr-menu.theme-noir-catalog .menu-toolbar {
        border-radius: 18px 18px 0 0 !important;
        margin-top: -20px !important;
    }

    .public-body .qr-menu.theme-noir-catalog .menu-product .product-info {
        grid-template-areas:
            "title title"
            "desc desc"
            "price action" !important;
        grid-template-columns: minmax(0, 1fr) auto !important;
        grid-template-rows: minmax(2.36em, auto) 1.32em 34px !important;
        padding-right: 12px !important;
        position: static !important;
    }

    .public-body .qr-menu.theme-noir-catalog .menu-product .price-stack {
        align-self: center !important;
        grid-area: price !important;
    }

    .public-body .qr-menu.theme-noir-catalog .menu-product .product-action-row {
        align-self: center !important;
        bottom: auto !important;
        grid-area: action !important;
        justify-self: end !important;
        overflow: visible !important;
        position: static !important;
        right: auto !important;
        width: auto !important;
    }

    .public-body .qr-menu.theme-noir-catalog .menu-product .menu-cart-add {
        height: 34px !important;
        min-height: 34px !important;
        min-width: 44px !important;
        width: auto !important;
    }
}

/* v229 theme 2 mobile cover and add button alignment */
body.public-body {
    overflow-x: hidden;
}

html.has-menu-deep-link body.public-body > main.qr-menu.theme-noir-catalog .menu-hero,
html.is-menu-deep-link-booting body.public-body > main.qr-menu.theme-noir-catalog .menu-hero,
body.public-body > main.qr-menu.theme-noir-catalog .menu-hero {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
}

html.has-menu-deep-link body.public-body > main.qr-menu.theme-noir-catalog,
html.is-menu-deep-link-booting body.public-body > main.qr-menu.theme-noir-catalog {
    opacity: 1 !important;
}

@media (max-width: 520px) {
    .public-body .qr-menu.theme-noir-catalog,
    html body.public-body > main.qr-menu.theme-noir-catalog {
        overflow-x: hidden !important;
        width: 100% !important;
        max-width: 100% !important;
        inline-size: 100% !important;
        max-inline-size: 100% !important;
    }

    .public-body .qr-menu.theme-noir-catalog .menu-content {
        box-sizing: border-box !important;
        overflow-x: hidden !important;
        padding-left: 12px !important;
        padding-right: 12px !important;
    }

    .public-body .qr-menu.theme-noir-catalog .product-grid-public,
    .public-body .qr-menu.theme-noir-catalog.layout-two-column .product-grid-public,
    .public-body .qr-menu.theme-noir-catalog.layout-horizontal .product-grid-public,
    .public-body .qr-menu.theme-noir-catalog.display-visual-price .product-grid-public {
        justify-items: stretch !important;
        width: 100% !important;
    }

    .public-body .qr-menu.theme-noir-catalog .menu-product,
    .public-body .qr-menu.theme-noir-catalog.layout-two-column .menu-product,
    .public-body .qr-menu.theme-noir-catalog.layout-horizontal .menu-product,
    .public-body .qr-menu.theme-noir-catalog.display-visual-price .menu-product {
        box-sizing: border-box !important;
        display: grid !important;
        grid-template-columns: 96px minmax(0, 1fr) !important;
        max-width: 100% !important;
        min-width: 0 !important;
        overflow: hidden !important;
        width: 100% !important;
    }

    .public-body .qr-menu.theme-noir-catalog .menu-product .product-info {
        align-content: stretch !important;
        box-sizing: border-box !important;
        display: grid !important;
        gap: 6px 8px !important;
        grid-template-areas:
            "title title"
            "desc desc"
            "price action" !important;
        grid-template-columns: minmax(0, 1fr) auto !important;
        grid-template-rows: minmax(2.36em, auto) 1.32em 34px !important;
        min-width: 0 !important;
        overflow: hidden !important;
        padding: 12px 12px 11px !important;
        position: static !important;
        width: 100% !important;
    }

    .public-body .qr-menu.theme-noir-catalog .menu-product .product-title-row {
        grid-area: title !important;
        min-width: 0 !important;
    }

    .public-body .qr-menu.theme-noir-catalog .menu-product .product-title-row h3 {
        display: -webkit-box !important;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
        min-width: 0 !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
    }

    .public-body .qr-menu.theme-noir-catalog .menu-product .product-description-short,
    .public-body .qr-menu.theme-noir-catalog .menu-product .product-description-trigger {
        grid-area: desc !important;
        min-width: 0 !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
    }

    .public-body .qr-menu.theme-noir-catalog .menu-product .price-stack {
        align-self: center !important;
        grid-area: price !important;
        justify-self: start !important;
        min-width: 0 !important;
        order: initial !important;
    }

    .public-body .qr-menu.theme-noir-catalog .menu-product .price-calorie-line {
        align-items: center !important;
        flex-wrap: nowrap !important;
        min-height: 34px !important;
        min-width: 0 !important;
    }

    .public-body .qr-menu.theme-noir-catalog .menu-product .price-calorie-line strong {
        flex: 0 1 auto !important;
        min-width: 0 !important;
    }

    .public-body .qr-menu.theme-noir-catalog .menu-product .product-calorie-chip {
        flex: 0 0 auto !important;
    }

    .public-body .qr-menu.theme-noir-catalog .menu-product .product-action-row {
        align-self: center !important;
        bottom: auto !important;
        display: flex !important;
        grid-area: action !important;
        justify-content: flex-end !important;
        justify-self: end !important;
        margin: 0 !important;
        max-width: none !important;
        min-width: 0 !important;
        overflow: visible !important;
        position: static !important;
        right: auto !important;
        width: auto !important;
    }

    .public-body .qr-menu.theme-noir-catalog .menu-product .menu-cart-add {
        align-items: center !important;
        display: inline-flex !important;
        flex: 0 0 auto !important;
        height: 34px !important;
        justify-content: center !important;
        min-height: 34px !important;
        min-width: 44px !important;
        padding: 7px 10px !important;
        width: auto !important;
    }
}

/* v233 theme 2 eof override for mobile card width and add alignment */
@media (max-width: 520px) {
    .public-body .qr-menu.theme-noir-catalog .menu-product,
    .public-body .qr-menu.theme-noir-catalog.layout-two-column .menu-product,
    .public-body .qr-menu.theme-noir-catalog.layout-horizontal .menu-product,
    .public-body .qr-menu.theme-noir-catalog.display-visual-price .menu-product {
        max-width: calc(100vw - 54px) !important;
        width: calc(100vw - 54px) !important;
    }

    .public-body .qr-menu.theme-noir-catalog .menu-product .product-info {
        max-width: calc(100vw - 150px) !important;
        padding-right: 12px !important;
        position: static !important;
    }

    .public-body .qr-menu.theme-noir-catalog .menu-product .product-action-row {
        bottom: auto !important;
        position: static !important;
        right: auto !important;
    }
}

/* v234 theme 2 mobile add button visible inside clamped card */
@media (max-width: 520px) {
    .public-body .qr-menu.theme-noir-catalog .menu-product .product-info {
        padding-right: 64px !important;
        position: relative !important;
    }

    .public-body .qr-menu.theme-noir-catalog .menu-product .product-action-row {
        align-items: center !important;
        bottom: 18px !important;
        display: flex !important;
        justify-content: flex-end !important;
        overflow: visible !important;
        position: absolute !important;
        right: 10px !important;
        width: auto !important;
        z-index: 2 !important;
    }

    .public-body .qr-menu.theme-noir-catalog .menu-product .menu-cart-add {
        align-items: center !important;
        display: inline-flex !important;
        height: 34px !important;
        justify-content: center !important;
        min-height: 34px !important;
        min-width: 44px !important;
        width: auto !important;
    }
}

/* v236 theme 2 eof remove blank cover space on deep links */
.public-body .qr-menu.theme-noir-catalog:has(.menu-category:target) .menu-hero,
.public-body .qr-menu.theme-noir-catalog:has(.menu-product:target) .menu-hero {
    display: none !important;
    min-height: 0 !important;
    padding: 0 !important;
}

.public-body .qr-menu.theme-noir-catalog:has(.menu-category:target) .menu-toolbar,
.public-body .qr-menu.theme-noir-catalog:has(.menu-product:target) .menu-toolbar {
    border-radius: 0 0 18px 18px !important;
    margin-top: 0 !important;
    position: sticky !important;
    top: 0 !important;
}

.public-body .qr-menu.theme-noir-catalog:has(.menu-category:target) .menu-content,
.public-body .qr-menu.theme-noir-catalog:has(.menu-product:target) .menu-content {
    padding-top: 18px !important;
}

/* v238 theme 2 eof add button exact price line alignment */
@media (max-width: 520px) {
    .public-body .qr-menu.theme-noir-catalog .menu-product .product-info {
        padding-right: 68px !important;
        position: relative !important;
    }

    .public-body .qr-menu.theme-noir-catalog .menu-product .price-stack {
        align-self: end !important;
        grid-area: price !important;
        margin-bottom: 0 !important;
    }

    .public-body .qr-menu.theme-noir-catalog .menu-product .price-calorie-line {
        align-items: center !important;
        min-height: 34px !important;
    }

    .public-body .qr-menu.theme-noir-catalog .menu-product .product-action-row {
        align-items: center !important;
        bottom: 11px !important;
        display: flex !important;
        height: 34px !important;
        justify-content: flex-end !important;
        overflow: visible !important;
        position: absolute !important;
        right: 10px !important;
        width: auto !important;
        z-index: 4 !important;
    }

    .public-body .qr-menu.theme-noir-catalog .menu-product .menu-cart-add {
        height: 34px !important;
        min-height: 34px !important;
    }
}

/* v239 theme 2 stable mobile card, search and cover rules */
.public-body .qr-menu.theme-noir-catalog [data-menu-product][hidden],
.public-body .qr-menu.theme-noir-catalog [data-pro-category-section][hidden] {
    display: none !important;
}

.public-body .qr-menu.theme-noir-catalog:has(.menu-category:target) .menu-hero,
.public-body .qr-menu.theme-noir-catalog:has(.menu-product:target) .menu-hero,
.public-body .qr-menu.theme-noir-catalog .menu-hero,
.public-body .qr-menu.theme-noir-catalog.has-cover .menu-hero {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
}

.public-body .qr-menu.theme-noir-catalog:has(.menu-category:target) .menu-toolbar,
.public-body .qr-menu.theme-noir-catalog:has(.menu-product:target) .menu-toolbar,
.public-body .qr-menu.theme-noir-catalog .menu-toolbar {
    border-radius: 18px !important;
    margin-top: -20px !important;
}

.public-body .qr-menu.theme-noir-catalog:has(.menu-category:target) .menu-content,
.public-body .qr-menu.theme-noir-catalog:has(.menu-product:target) .menu-content {
    padding-top: 16px !important;
}

@media (max-width: 520px) {
    .public-body .qr-menu.theme-noir-catalog:has(.menu-category:target) .menu-toolbar,
    .public-body .qr-menu.theme-noir-catalog:has(.menu-product:target) .menu-toolbar,
    .public-body .qr-menu.theme-noir-catalog .menu-toolbar {
        border-radius: 18px 18px 0 0 !important;
        margin-top: -20px !important;
    }

    .public-body .qr-menu.theme-noir-catalog .menu-product,
    .public-body .qr-menu.theme-noir-catalog.layout-two-column .menu-product,
    .public-body .qr-menu.theme-noir-catalog.layout-horizontal .menu-product,
    .public-body .qr-menu.theme-noir-catalog.display-visual-price .menu-product {
        display: grid !important;
        grid-template-columns: 96px minmax(0, 1fr) !important;
        max-width: calc(100vw - 54px) !important;
        min-width: 0 !important;
        overflow: hidden !important;
        width: calc(100vw - 54px) !important;
    }

    .public-body .qr-menu.theme-noir-catalog .menu-product .product-info {
        align-content: stretch !important;
        display: grid !important;
        gap: 6px 8px !important;
        grid-template-areas:
            "title title"
            "desc desc"
            "price action" !important;
        grid-template-columns: minmax(0, 1fr) auto !important;
        grid-template-rows: minmax(2.36em, auto) 1.32em 34px !important;
        max-width: calc(100vw - 150px) !important;
        min-width: 0 !important;
        overflow: hidden !important;
        padding: 12px 10px 11px 12px !important;
        position: static !important;
        width: 100% !important;
    }

    .public-body .qr-menu.theme-noir-catalog .menu-product .product-title-row {
        display: contents !important;
    }

    .public-body .qr-menu.theme-noir-catalog .menu-product .product-title-row h3 {
        grid-area: title !important;
        margin: 0 !important;
        min-width: 0 !important;
    }

    .public-body .qr-menu.theme-noir-catalog .menu-product .product-description-short,
    .public-body .qr-menu.theme-noir-catalog .menu-product .product-description-trigger {
        grid-area: desc !important;
        min-width: 0 !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
    }

    .public-body .qr-menu.theme-noir-catalog .menu-product .price-stack {
        align-self: center !important;
        display: flex !important;
        grid-area: price !important;
        justify-self: start !important;
        min-width: 0 !important;
        order: initial !important;
    }

    .public-body .qr-menu.theme-noir-catalog .menu-product .price-calorie-line {
        align-items: center !important;
        display: flex !important;
        flex-wrap: nowrap !important;
        gap: 6px !important;
        min-height: 34px !important;
        min-width: 0 !important;
    }

    .public-body .qr-menu.theme-noir-catalog .menu-product .product-action-row {
        align-self: center !important;
        bottom: auto !important;
        display: flex !important;
        grid-area: action !important;
        height: 34px !important;
        justify-content: flex-end !important;
        justify-self: end !important;
        margin: 0 !important;
        overflow: visible !important;
        position: static !important;
        right: auto !important;
        width: auto !important;
    }

    .public-body .qr-menu.theme-noir-catalog .menu-product .menu-cart-add {
        align-items: center !important;
        display: inline-flex !important;
        height: 34px !important;
        justify-content: center !important;
        min-height: 34px !important;
        min-width: 44px !important;
        padding: 7px 10px !important;
        width: auto !important;
    }
}

/* v240 theme 2 mobile list action anchored to price row */
@media (max-width: 520px) {
    .public-body .qr-menu.theme-noir-catalog .menu-product .product-info {
        padding-right: 68px !important;
        position: relative !important;
    }

    .public-body .qr-menu.theme-noir-catalog .menu-product .ingredients-line,
    .public-body .qr-menu.theme-noir-catalog .menu-product .product-meta-row,
    .public-body .qr-menu.theme-noir-catalog .menu-product .pill-row,
    .public-body .qr-menu.theme-noir-catalog .menu-product .goes-with,
    .public-body .qr-menu.theme-noir-catalog .menu-product .product-comments {
        display: none !important;
    }

    .public-body .qr-menu.theme-noir-catalog .menu-product .price-stack {
        align-self: end !important;
        grid-area: price !important;
        margin-bottom: 0 !important;
    }

    .public-body .qr-menu.theme-noir-catalog .menu-product .product-action-row {
        align-items: center !important;
        bottom: 11px !important;
        display: flex !important;
        height: 34px !important;
        justify-content: flex-end !important;
        overflow: visible !important;
        position: absolute !important;
        right: 10px !important;
        width: auto !important;
        z-index: 5 !important;
    }
}

/* v241 theme 2 deep-link toolbar placement */
@media (max-width: 520px) {
    .public-body .qr-menu.theme-noir-catalog:has(.menu-category:target) .menu-toolbar,
    .public-body .qr-menu.theme-noir-catalog:has(.menu-product:target) .menu-toolbar {
        border-radius: 0 0 18px 18px !important;
        left: 0 !important;
        margin: 0 !important;
        position: fixed !important;
        right: 0 !important;
        top: 0 !important;
        transform: none !important;
        width: 100% !important;
        z-index: 980 !important;
    }

    .public-body .qr-menu.theme-noir-catalog:has(.menu-category:target) .menu-content,
    .public-body .qr-menu.theme-noir-catalog:has(.menu-product:target) .menu-content {
        padding-top: calc(var(--noir-toolbar-height, 112px) + 18px) !important;
    }
}

/* v242 theme 2 class-based deep-link toolbar placement */
@media (max-width: 520px) {
    .public-body .qr-menu.theme-noir-catalog.is-noir-deep-link .menu-toolbar {
        border-radius: 0 0 18px 18px !important;
        left: 0 !important;
        margin: 0 !important;
        position: fixed !important;
        right: 0 !important;
        top: 0 !important;
        transform: none !important;
        width: 100% !important;
        z-index: 990 !important;
    }

    .public-body .qr-menu.theme-noir-catalog.is-noir-deep-link .menu-content {
        padding-top: calc(var(--noir-toolbar-height, 112px) + 18px) !important;
    }
}

/* v243 theme 2 restore natural toolbar; keep add button aligned */
.public-body .qr-menu.theme-noir-catalog.is-noir-deep-link .menu-toolbar,
.public-body .qr-menu.theme-noir-catalog:has(.menu-category:target) .menu-toolbar,
.public-body .qr-menu.theme-noir-catalog:has(.menu-product:target) .menu-toolbar,
.public-body .qr-menu.theme-noir-catalog .menu-toolbar {
    left: auto !important;
    position: sticky !important;
    right: auto !important;
    top: 0 !important;
    transform: none !important;
    z-index: 720 !important;
}

.public-body .qr-menu.theme-noir-catalog.is-noir-deep-link .menu-content,
.public-body .qr-menu.theme-noir-catalog:has(.menu-category:target) .menu-content,
.public-body .qr-menu.theme-noir-catalog:has(.menu-product:target) .menu-content {
    padding-top: 16px !important;
}

@media (max-width: 520px) {
    .public-body .qr-menu.theme-noir-catalog.is-noir-deep-link .menu-toolbar,
    .public-body .qr-menu.theme-noir-catalog:has(.menu-category:target) .menu-toolbar,
    .public-body .qr-menu.theme-noir-catalog:has(.menu-product:target) .menu-toolbar,
    .public-body .qr-menu.theme-noir-catalog .menu-toolbar {
        border-radius: 18px 18px 0 0 !important;
        margin: -20px 0 0 !important;
        width: 100% !important;
    }

    .public-body .qr-menu.theme-noir-catalog .menu-product .product-info {
        padding-right: 68px !important;
        position: relative !important;
    }

    .public-body .qr-menu.theme-noir-catalog .menu-product .product-action-row {
        align-items: center !important;
        bottom: 11px !important;
        display: flex !important;
        height: 34px !important;
        justify-content: flex-end !important;
        overflow: visible !important;
        position: absolute !important;
        right: 10px !important;
        width: auto !important;
        z-index: 5 !important;
    }

    .public-body .qr-menu.theme-noir-catalog .menu-product .menu-cart-add {
        height: 34px !important;
        min-height: 34px !important;
    }
}

/* v244 theme 2 mobile add button shape and exact row lock */
@media (max-width: 520px) {
    .public-body .qr-menu.theme-noir-catalog .menu-product .product-info {
        align-content: stretch !important;
        display: grid !important;
        gap: 6px 8px !important;
        grid-template-areas:
            "title title"
            "desc desc"
            "price action" !important;
        grid-template-columns: minmax(0, 1fr) 56px !important;
        grid-template-rows: minmax(2.36em, auto) 1.32em 34px !important;
        padding: 12px 10px 11px 12px !important;
        position: static !important;
    }

    .public-body .qr-menu.theme-noir-catalog .menu-product .product-title-row {
        display: contents !important;
    }

    .public-body .qr-menu.theme-noir-catalog .menu-product .product-title-row h3 {
        grid-area: title !important;
        margin: 0 !important;
    }

    .public-body .qr-menu.theme-noir-catalog .menu-product .product-description-short,
    .public-body .qr-menu.theme-noir-catalog .menu-product .product-description-trigger {
        grid-area: desc !important;
    }

    .public-body .qr-menu.theme-noir-catalog .menu-product .price-stack {
        align-self: center !important;
        grid-area: price !important;
        justify-self: start !important;
        margin: 0 !important;
        order: initial !important;
    }

    .public-body .qr-menu.theme-noir-catalog .menu-product .price-calorie-line {
        align-items: center !important;
        display: flex !important;
        flex-wrap: nowrap !important;
        gap: 6px !important;
        min-height: 34px !important;
    }

    .public-body .qr-menu.theme-noir-catalog .menu-product .product-action-row {
        align-items: center !important;
        align-self: center !important;
        bottom: auto !important;
        display: flex !important;
        grid-area: action !important;
        height: 34px !important;
        justify-content: flex-end !important;
        justify-self: end !important;
        margin: 0 !important;
        overflow: visible !important;
        position: static !important;
        right: auto !important;
        width: 56px !important;
    }

    .public-body .qr-menu.theme-noir-catalog .menu-product .menu-cart-add {
        align-items: center !important;
        background: var(--noir-accent, #e11d2e) !important;
        border: 0 !important;
        border-radius: 11px !important;
        box-shadow: 0 8px 18px rgba(225, 29, 46, .24) !important;
        color: #ffffff !important;
        display: inline-flex !important;
        height: 32px !important;
        justify-content: center !important;
        min-height: 32px !important;
        min-width: 52px !important;
        padding: 0 10px !important;
        width: 52px !important;
    }

    .public-body .qr-menu.theme-noir-catalog .menu-product .menu-cart-add::after {
        content: "Ekle" !important;
        font-size: 11px !important;
        font-weight: 950 !important;
        letter-spacing: 0 !important;
        line-height: 1 !important;
    }
}

/* v245 theme 2 mobile add button visible safe-area alignment */
@media (max-width: 520px) {
    .public-body .qr-menu.theme-noir-catalog .menu-product .product-info {
        padding-right: 68px !important;
        position: relative !important;
    }

    .public-body .qr-menu.theme-noir-catalog .menu-product .product-action-row {
        align-items: center !important;
        bottom: 11px !important;
        display: flex !important;
        height: 34px !important;
        justify-content: flex-end !important;
        overflow: visible !important;
        position: absolute !important;
        right: clamp(10px, calc(100vw - 414px + 10px), 74px) !important;
        width: 56px !important;
        z-index: 6 !important;
    }

    .public-body .qr-menu.theme-noir-catalog .menu-product .menu-cart-add {
        background: var(--noir-accent, #e11d2e) !important;
        border-radius: 11px !important;
        box-shadow: 0 8px 18px rgba(225, 29, 46, .24) !important;
        color: #ffffff !important;
        height: 32px !important;
        min-height: 32px !important;
        min-width: 52px !important;
        width: 52px !important;
    }
}

/* v246 theme 2 mobile add button right aligned without overlap */
@media (max-width: 520px) {
    .public-body .qr-menu.theme-noir-catalog .menu-product .product-info {
        padding-right: 68px !important;
        position: relative !important;
    }

    .public-body .qr-menu.theme-noir-catalog .menu-product .product-action-row {
        bottom: 11px !important;
        position: absolute !important;
        right: 10px !important;
        width: 56px !important;
    }
}

/* v247 theme 2 mobile add button fine position */
@media (max-width: 520px) {
    .public-body .qr-menu.theme-noir-catalog .menu-product .product-action-row {
        bottom: 7px !important;
        right: 6px !important;
    }
}

/* v248 theme 2 mobile add button aligned with calorie chip */
@media (max-width: 520px) {
    .public-body .qr-menu.theme-noir-catalog .menu-product .product-info {
        padding-right: 76px !important;
        position: relative !important;
    }

    .public-body .qr-menu.theme-noir-catalog .menu-product .price-stack {
        align-self: end !important;
        grid-area: price !important;
        max-width: 100% !important;
    }

    .public-body .qr-menu.theme-noir-catalog .menu-product .price-calorie-line {
        align-items: center !important;
        display: flex !important;
        flex-wrap: nowrap !important;
        gap: 6px !important;
        min-height: 34px !important;
        max-width: 100% !important;
        overflow: hidden !important;
        padding-right: 0 !important;
    }

    .public-body .qr-menu.theme-noir-catalog .menu-product .product-calorie-chip {
        flex: 0 0 auto !important;
    }

    .public-body .qr-menu.theme-noir-catalog .menu-product .product-action-row {
        align-items: center !important;
        bottom: 1px !important;
        height: 34px !important;
        position: absolute !important;
        right: 4px !important;
        width: 56px !important;
        z-index: 7 !important;
    }
}

/* v249 theme 2 mobile add button flush right */
@media (max-width: 520px) {
    .public-body .qr-menu.theme-noir-catalog .menu-product .product-action-row {
        right: 0 !important;
    }
}

/* v250 theme 2 minimal catalog redesign */
.public-body .qr-menu.theme-noir-catalog,
.public-body .qr-menu.theme-noir-catalog[data-view-mode="light"] {
    --noir-bg: #f6f7f9;
    --noir-ink: #1f2430;
    --noir-muted: #697386;
    --noir-line: rgba(31, 36, 48, .1);
    --noir-panel: #ffffff;
    --noir-soft: #f0f2f5;
    --noir-accent: var(--primary, #ef1f2d);
    background: var(--noir-bg) !important;
    color: var(--noir-ink) !important;
}

.public-body .qr-menu.theme-noir-catalog .menu-hero,
.public-body .qr-menu.theme-noir-catalog.has-cover .menu-hero {
    border-radius: 0 0 22px 22px !important;
    min-height: clamp(210px, 48vw, 286px) !important;
    overflow: hidden !important;
    padding: 18px 16px 32px !important;
}

.public-body .qr-menu.theme-noir-catalog .menu-hero::after {
    background: linear-gradient(180deg, rgba(7, 10, 16, .08), rgba(7, 10, 16, .42) 62%, rgba(7, 10, 16, .74)) !important;
}

.public-body .qr-menu.theme-noir-catalog .menu-cover-brand {
    align-items: end !important;
    gap: 12px !important;
}

.public-body .qr-menu.theme-noir-catalog .menu-cover-brand .menu-logo {
    border-radius: 16px !important;
    height: 58px !important;
    width: 58px !important;
}

.public-body .qr-menu.theme-noir-catalog .menu-cover-business h1 {
    font-size: clamp(26px, 7vw, 38px) !important;
    letter-spacing: 0 !important;
    line-height: 1.02 !important;
}

.public-body .qr-menu.theme-noir-catalog .menu-cover-subtitle {
    color: rgba(255, 255, 255, .82) !important;
    font-size: 13px !important;
    line-height: 1.35 !important;
}

.public-body .qr-menu.theme-noir-catalog .menu-cover-hours,
.public-body .qr-menu.theme-noir-catalog .menu-cover-action {
    background: rgba(12, 16, 24, .42) !important;
    border: 1px solid rgba(255, 255, 255, .18) !important;
    border-radius: 16px !important;
    box-shadow: none !important;
}

.public-body .qr-menu.theme-noir-catalog .menu-toolbar {
    background: rgba(255, 255, 255, .96) !important;
    border: 1px solid rgba(209, 216, 226, .82) !important;
    border-radius: 18px !important;
    box-shadow: 0 10px 28px rgba(23, 31, 45, .07) !important;
    margin: -18px 12px 0 !important;
    padding: 10px !important;
    position: sticky !important;
    top: 0 !important;
    width: auto !important;
    z-index: 720 !important;
}

.public-body .qr-menu.theme-noir-catalog .menu-search input {
    background: #f7f8fa !important;
    border: 1px solid rgba(209, 216, 226, .9) !important;
    border-radius: 12px !important;
    box-shadow: none !important;
    color: var(--noir-ink) !important;
    font-size: 14px !important;
    min-height: 40px !important;
}

.public-body .qr-menu.theme-noir-catalog .category-tabs {
    gap: 8px !important;
    padding: 2px 1px 0 !important;
}

.public-body .qr-menu.theme-noir-catalog .category-tabs a {
    background: #f5f6f8 !important;
    border: 1px solid rgba(209, 216, 226, .88) !important;
    border-radius: 999px !important;
    box-shadow: none !important;
    color: var(--noir-ink) !important;
    min-height: 34px !important;
    padding: 6px 10px !important;
}

.public-body .qr-menu.theme-noir-catalog .category-tabs a:hover,
.public-body .qr-menu.theme-noir-catalog .category-tabs a:focus-visible {
    background: var(--noir-ink) !important;
    color: #ffffff !important;
}

.public-body .qr-menu.theme-noir-catalog .category-tabs img {
    height: 24px !important;
    width: 24px !important;
}

.public-body .qr-menu.theme-noir-catalog .menu-content {
    box-sizing: border-box !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
    padding: 18px 12px 104px !important;
    width: 100% !important;
}

.public-body .qr-menu.theme-noir-catalog .menu-category {
    gap: 12px !important;
}

.public-body .qr-menu.theme-noir-catalog .menu-category h2 {
    align-items: center !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    color: var(--noir-ink) !important;
    font-size: 19px !important;
    letter-spacing: 0 !important;
    margin: 2px 0 0 !important;
    padding: 4px 2px !important;
}

.public-body .qr-menu.theme-noir-catalog .menu-category h2::before {
    background: var(--noir-accent) !important;
    border-radius: 999px !important;
    height: 24px !important;
    margin-right: 9px !important;
    width: 5px !important;
}

.public-body .qr-menu.theme-noir-catalog .product-grid-public,
.public-body .qr-menu.theme-noir-catalog.layout-two-column .product-grid-public,
.public-body .qr-menu.theme-noir-catalog.layout-horizontal .product-grid-public,
.public-body .qr-menu.theme-noir-catalog.display-visual-price .product-grid-public {
    gap: 12px !important;
    justify-items: stretch !important;
}

.public-body .qr-menu.theme-noir-catalog .menu-product,
.public-body .qr-menu.theme-noir-catalog.layout-two-column .menu-product,
.public-body .qr-menu.theme-noir-catalog.layout-horizontal .menu-product,
.public-body .qr-menu.theme-noir-catalog.display-visual-price .menu-product {
    background: var(--noir-panel) !important;
    border: 1px solid rgba(221, 226, 234, .9) !important;
    border-radius: 16px !important;
    box-shadow: 0 8px 22px rgba(23, 31, 45, .055) !important;
    display: grid !important;
    grid-template-columns: 96px minmax(0, 1fr) !important;
    max-width: 100% !important;
    min-height: 118px !important;
    overflow: hidden !important;
}

.public-body .qr-menu.theme-noir-catalog .product-media,
.public-body .qr-menu.theme-noir-catalog.layout-two-column .product-media,
.public-body .qr-menu.theme-noir-catalog.layout-horizontal .product-media,
.public-body .qr-menu.theme-noir-catalog.display-visual-price .product-media {
    background: #f0f2f5 !important;
    border-radius: 12px !important;
    height: 96px !important;
    margin: 11px 0 11px 11px !important;
    min-height: 96px !important;
    overflow: hidden !important;
    width: 96px !important;
}

.public-body .qr-menu.theme-noir-catalog .product-media img,
.public-body .qr-menu.theme-noir-catalog .image-placeholder,
.public-body .qr-menu.theme-noir-catalog .logo-placeholder {
    height: 96px !important;
    min-height: 96px !important;
    object-fit: cover !important;
    width: 96px !important;
}

.public-body .qr-menu.theme-noir-catalog .product-info {
    display: grid !important;
    gap: 6px 8px !important;
    grid-template-areas:
        "title title"
        "desc desc"
        "price action" !important;
    grid-template-columns: minmax(0, 1fr) 54px !important;
    grid-template-rows: minmax(2.28em, auto) 1.28em 34px !important;
    min-width: 0 !important;
    overflow: hidden !important;
    padding: 12px 10px 11px 14px !important;
    position: static !important;
}

.public-body .qr-menu.theme-noir-catalog .product-title-row {
    display: contents !important;
}

.public-body .qr-menu.theme-noir-catalog .product-title-row h3 {
    display: -webkit-box !important;
    font-size: 15px !important;
    grid-area: title !important;
    line-height: 1.14 !important;
    margin: 0 !important;
    min-width: 0 !important;
    overflow: hidden !important;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.public-body .qr-menu.theme-noir-catalog .product-description-short,
.public-body .qr-menu.theme-noir-catalog .product-description-trigger {
    color: var(--noir-muted) !important;
    font-size: 12px !important;
    grid-area: desc !important;
    line-height: 1.25 !important;
    min-width: 0 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

.public-body .qr-menu.theme-noir-catalog .price-stack {
    align-self: center !important;
    display: flex !important;
    grid-area: price !important;
    justify-self: start !important;
    margin: 0 !important;
    min-width: 0 !important;
    order: initial !important;
}

.public-body .qr-menu.theme-noir-catalog .price-calorie-line {
    align-items: center !important;
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 6px !important;
    min-height: 34px !important;
    min-width: 0 !important;
}

.public-body .qr-menu.theme-noir-catalog .price-stack strong {
    color: var(--noir-ink) !important;
    font-size: 16px !important;
    font-weight: 950 !important;
    white-space: nowrap !important;
}

.public-body .qr-menu.theme-noir-catalog .product-calorie-chip {
    background: rgba(239, 31, 45, .1) !important;
    border-radius: 8px !important;
    color: var(--noir-accent) !important;
    flex: 0 0 auto !important;
    font-size: 10px !important;
    font-weight: 900 !important;
    padding: 3px 6px !important;
}

.public-body .qr-menu.theme-noir-catalog .product-action-row {
    align-items: center !important;
    align-self: center !important;
    bottom: auto !important;
    display: flex !important;
    grid-area: action !important;
    height: 34px !important;
    justify-content: flex-end !important;
    justify-self: end !important;
    margin: 0 !important;
    overflow: visible !important;
    position: static !important;
    right: auto !important;
    width: 54px !important;
}

.public-body .qr-menu.theme-noir-catalog .menu-cart-add {
    align-items: center !important;
    background: var(--noir-accent) !important;
    border: 0 !important;
    border-radius: 10px !important;
    box-shadow: 0 7px 16px rgba(239, 31, 45, .22) !important;
    color: #ffffff !important;
    display: inline-flex !important;
    height: 32px !important;
    justify-content: center !important;
    min-height: 32px !important;
    min-width: 50px !important;
    padding: 0 9px !important;
    width: 50px !important;
}

.public-body .qr-menu.theme-noir-catalog .menu-product .menu-cart-add::after {
    content: "Ekle" !important;
    font-size: 11px !important;
    font-weight: 950 !important;
    line-height: 1 !important;
}

@media (min-width: 768px) {
    .public-body > .qr-menu.theme-noir-catalog .menu-content {
        padding-left: 24px !important;
        padding-right: 24px !important;
    }

    .public-body > .qr-menu.theme-noir-catalog .product-grid-public,
    .public-body > .qr-menu.theme-noir-catalog.layout-two-column .product-grid-public,
    .public-body > .qr-menu.theme-noir-catalog.layout-horizontal .product-grid-public,
    .public-body > .qr-menu.theme-noir-catalog.display-visual-price .product-grid-public {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

/* v251 theme 2 iOS mobile price-calorie overlap fix */
@media (max-width: 520px) {
    .public-body .qr-menu.theme-noir-catalog .menu-product .product-info {
        min-height: 118px !important;
        padding: 12px 72px 46px 14px !important;
        position: relative !important;
    }

    .public-body .qr-menu.theme-noir-catalog .menu-product .product-title-row {
        display: block !important;
        min-width: 0 !important;
    }

    .public-body .qr-menu.theme-noir-catalog .menu-product .product-title-row h3 {
        display: -webkit-box !important;
        margin: 0 !important;
        overflow: hidden !important;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
    }

    .public-body .qr-menu.theme-noir-catalog .menu-product .price-stack {
        bottom: 11px !important;
        display: block !important;
        left: 14px !important;
        margin: 0 !important;
        max-width: calc(100% - 82px) !important;
        min-width: 0 !important;
        position: absolute !important;
        right: 70px !important;
        z-index: 1 !important;
    }

    .public-body .qr-menu.theme-noir-catalog .menu-product .price-calorie-line {
        align-items: center !important;
        display: flex !important;
        flex-wrap: nowrap !important;
        gap: 6px !important;
        min-height: 32px !important;
        min-width: 0 !important;
        overflow: hidden !important;
        white-space: nowrap !important;
    }

    .public-body .qr-menu.theme-noir-catalog .menu-product .price-calorie-line strong {
        flex: 0 0 auto !important;
        line-height: 1 !important;
        white-space: nowrap !important;
    }

    .public-body .qr-menu.theme-noir-catalog .menu-product .product-calorie-chip {
        display: inline-flex !important;
        flex: 0 0 auto !important;
        line-height: 1 !important;
        white-space: nowrap !important;
    }

    .public-body .qr-menu.theme-noir-catalog .menu-product .product-action-row {
        bottom: 11px !important;
        height: 32px !important;
        position: absolute !important;
        right: 8px !important;
        width: 54px !important;
        z-index: 2 !important;
    }
}

/* v252 theme 2 restore visible price and calorie on iOS */
@media (max-width: 520px) {
    .public-body .qr-menu.theme-noir-catalog .menu-product .product-info {
        padding: 12px 72px 46px 14px !important;
        position: relative !important;
    }

    .public-body .qr-menu.theme-noir-catalog .menu-product .price-stack {
        bottom: 11px !important;
        left: 14px !important;
        max-width: none !important;
        overflow: visible !important;
        position: absolute !important;
        right: auto !important;
        width: calc(100% - 86px) !important;
    }

    .public-body .qr-menu.theme-noir-catalog .menu-product .price-calorie-line {
        align-items: center !important;
        display: flex !important;
        flex-wrap: nowrap !important;
        gap: 6px !important;
        min-height: 32px !important;
        overflow: visible !important;
        white-space: nowrap !important;
        width: 100% !important;
    }

    .public-body .qr-menu.theme-noir-catalog .menu-product .price-calorie-line strong {
        display: inline-flex !important;
        flex: 0 0 auto !important;
        min-width: max-content !important;
        white-space: nowrap !important;
    }

    .public-body .qr-menu.theme-noir-catalog .menu-product .product-calorie-chip {
        display: inline-flex !important;
        flex: 0 0 auto !important;
        white-space: nowrap !important;
    }
}

/* v253 theme 2 iOS keep add button outside calorie chip */
@media (max-width: 520px) {
    .public-body .qr-menu.theme-noir-catalog .menu-product .price-stack {
        width: calc(100% - 96px) !important;
    }

    .public-body .qr-menu.theme-noir-catalog .menu-product .price-stack strong {
        font-size: 15px !important;
    }

    .public-body .qr-menu.theme-noir-catalog .menu-product .product-calorie-chip {
        font-size: 9.5px !important;
        padding: 3px 5px !important;
    }

    .public-body .qr-menu.theme-noir-catalog .menu-product .product-action-row {
        right: 0 !important;
    }
}

/* v254 theme 2 mobile compact cards and right aligned add button */
@media (max-width: 520px) {
    .public-body .qr-menu.theme-noir-catalog .menu-product,
    .public-body .qr-menu.theme-noir-catalog.layout-two-column .menu-product,
    .public-body .qr-menu.theme-noir-catalog.layout-horizontal .menu-product,
    .public-body .qr-menu.theme-noir-catalog.display-visual-price .menu-product {
        grid-template-columns: 82px minmax(0, 1fr) !important;
        min-height: 104px !important;
    }

    .public-body .qr-menu.theme-noir-catalog .product-media,
    .public-body .qr-menu.theme-noir-catalog.layout-two-column .product-media,
    .public-body .qr-menu.theme-noir-catalog.layout-horizontal .product-media,
    .public-body .qr-menu.theme-noir-catalog.display-visual-price .product-media {
        height: 82px !important;
        margin: 10px 0 10px 10px !important;
        min-height: 82px !important;
        width: 82px !important;
    }

    .public-body .qr-menu.theme-noir-catalog .product-media img,
    .public-body .qr-menu.theme-noir-catalog .image-placeholder,
    .public-body .qr-menu.theme-noir-catalog .logo-placeholder {
        height: 82px !important;
        min-height: 82px !important;
        width: 82px !important;
    }

    .public-body .qr-menu.theme-noir-catalog .menu-product .product-info {
        min-height: 102px !important;
        padding: 10px 66px 38px 12px !important;
        position: relative !important;
    }

    .public-body .qr-menu.theme-noir-catalog .menu-product .product-title-row h3 {
        font-size: 14px !important;
        line-height: 1.12 !important;
    }

    .public-body .qr-menu.theme-noir-catalog .menu-product .product-description-short,
    .public-body .qr-menu.theme-noir-catalog .menu-product .product-description-trigger {
        font-size: 11.5px !important;
        line-height: 1.2 !important;
    }

    .public-body .qr-menu.theme-noir-catalog .menu-product .price-stack {
        bottom: 8px !important;
        left: 12px !important;
        max-width: none !important;
        overflow: visible !important;
        position: absolute !important;
        right: 68px !important;
        width: auto !important;
        z-index: 1 !important;
    }

    .public-body .qr-menu.theme-noir-catalog .menu-product .price-calorie-line {
        align-items: center !important;
        display: flex !important;
        flex-wrap: nowrap !important;
        gap: 5px !important;
        min-height: 32px !important;
        overflow: visible !important;
        white-space: nowrap !important;
        width: 100% !important;
    }

    .public-body .qr-menu.theme-noir-catalog .menu-product .price-stack strong {
        flex: 0 0 auto !important;
        font-size: 14.5px !important;
        min-width: max-content !important;
        white-space: nowrap !important;
    }

    .public-body .qr-menu.theme-noir-catalog .menu-product .product-calorie-chip {
        display: inline-flex !important;
        flex: 0 0 auto !important;
        font-size: 9px !important;
        line-height: 1 !important;
        padding: 3px 5px !important;
        white-space: nowrap !important;
    }

    .public-body .qr-menu.theme-noir-catalog .menu-product .product-action-row {
        bottom: 8px !important;
        height: 32px !important;
        position: absolute !important;
        right: 0 !important;
        width: 54px !important;
        z-index: 3 !important;
    }

    .public-body .qr-menu.theme-noir-catalog .menu-product .menu-cart-add {
        height: 30px !important;
        min-height: 30px !important;
        min-width: 50px !important;
        width: 50px !important;
    }
}

/* v255 theme 2 denser mobile product cards */
@media (max-width: 520px) {
    .public-body .qr-menu.theme-noir-catalog .product-grid-public,
    .public-body .qr-menu.theme-noir-catalog.layout-two-column .product-grid-public,
    .public-body .qr-menu.theme-noir-catalog.layout-horizontal .product-grid-public,
    .public-body .qr-menu.theme-noir-catalog.display-visual-price .product-grid-public {
        gap: 8px !important;
    }

    .public-body .qr-menu.theme-noir-catalog .menu-product,
    .public-body .qr-menu.theme-noir-catalog.layout-two-column .menu-product,
    .public-body .qr-menu.theme-noir-catalog.layout-horizontal .menu-product,
    .public-body .qr-menu.theme-noir-catalog.display-visual-price .menu-product {
        border-radius: 14px !important;
        grid-template-columns: 70px minmax(0, 1fr) !important;
        min-height: 88px !important;
    }

    .public-body .qr-menu.theme-noir-catalog .product-media,
    .public-body .qr-menu.theme-noir-catalog.layout-two-column .product-media,
    .public-body .qr-menu.theme-noir-catalog.layout-horizontal .product-media,
    .public-body .qr-menu.theme-noir-catalog.display-visual-price .product-media {
        border-radius: 10px !important;
        height: 68px !important;
        margin: 9px 0 9px 9px !important;
        min-height: 68px !important;
        width: 68px !important;
    }

    .public-body .qr-menu.theme-noir-catalog .product-media img,
    .public-body .qr-menu.theme-noir-catalog .image-placeholder,
    .public-body .qr-menu.theme-noir-catalog .logo-placeholder {
        height: 68px !important;
        min-height: 68px !important;
        width: 68px !important;
    }

    .public-body .qr-menu.theme-noir-catalog .menu-product .product-info {
        min-height: 86px !important;
        padding: 8px 62px 34px 10px !important;
    }

    .public-body .qr-menu.theme-noir-catalog .menu-product .product-title-row h3 {
        font-size: 13.5px !important;
        line-height: 1.08 !important;
        -webkit-line-clamp: 1;
    }

    .public-body .qr-menu.theme-noir-catalog .menu-product .product-description-short,
    .public-body .qr-menu.theme-noir-catalog .menu-product .product-description-trigger {
        font-size: 11px !important;
        line-height: 1.15 !important;
    }

    .public-body .qr-menu.theme-noir-catalog .menu-product .price-stack {
        bottom: 6px !important;
        left: 10px !important;
        right: 62px !important;
    }

    .public-body .qr-menu.theme-noir-catalog .menu-product .price-calorie-line {
        gap: 5px !important;
        min-height: 28px !important;
    }

    .public-body .qr-menu.theme-noir-catalog .menu-product .price-stack strong {
        font-size: 14px !important;
    }

    .public-body .qr-menu.theme-noir-catalog .menu-product .product-calorie-chip {
        border-radius: 7px !important;
        font-size: 8.5px !important;
        padding: 2px 4px !important;
    }

    .public-body .qr-menu.theme-noir-catalog .menu-product .product-action-row {
        bottom: 6px !important;
        height: 28px !important;
        right: 0 !important;
        width: 50px !important;
    }

    .public-body .qr-menu.theme-noir-catalog .menu-product .menu-cart-add {
        border-radius: 9px !important;
        height: 28px !important;
        min-height: 28px !important;
        min-width: 46px !important;
        width: 46px !important;
    }

    .public-body .qr-menu.theme-noir-catalog .menu-product .menu-cart-add::after {
        font-size: 10px !important;
    }
}

@media (min-width: 1180px) {
    .public-body > .qr-menu.theme-noir-catalog .product-grid-public,
    .public-body > .qr-menu.theme-noir-catalog.layout-two-column .product-grid-public,
    .public-body > .qr-menu.theme-noir-catalog.layout-horizontal .product-grid-public,
    .public-body > .qr-menu.theme-noir-catalog.display-visual-price .product-grid-public {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 520px) {
    .public-body .qr-menu.theme-noir-catalog .menu-toolbar {
        border-radius: 18px 18px 0 0 !important;
        margin: -18px 0 0 !important;
        width: 100% !important;
    }

    .public-body .qr-menu.theme-noir-catalog .menu-content {
        padding-left: 12px !important;
        padding-right: 12px !important;
    }

    .public-body .qr-menu.theme-noir-catalog .menu-product,
    .public-body .qr-menu.theme-noir-catalog.layout-two-column .menu-product,
    .public-body .qr-menu.theme-noir-catalog.layout-horizontal .menu-product,
    .public-body .qr-menu.theme-noir-catalog.display-visual-price .menu-product {
        grid-template-columns: 96px minmax(0, 1fr) !important;
        width: 100% !important;
    }
}

/* v256 theme 2 reload-safe compact mobile final override */
@media (max-width: 520px) {
    .public-body .qr-menu.theme-noir-catalog .menu-hero,
    .public-body .qr-menu.theme-noir-catalog.has-cover .menu-hero {
        display: block !important;
        opacity: 1 !important;
        visibility: visible !important;
    }

    .public-body .qr-menu.theme-noir-catalog .product-grid-public,
    .public-body .qr-menu.theme-noir-catalog.layout-two-column .product-grid-public,
    .public-body .qr-menu.theme-noir-catalog.layout-horizontal .product-grid-public,
    .public-body .qr-menu.theme-noir-catalog.display-visual-price .product-grid-public {
        gap: 8px !important;
    }

    .public-body .qr-menu.theme-noir-catalog .menu-product,
    .public-body .qr-menu.theme-noir-catalog.layout-two-column .menu-product,
    .public-body .qr-menu.theme-noir-catalog.layout-horizontal .menu-product,
    .public-body .qr-menu.theme-noir-catalog.display-visual-price .menu-product {
        border-radius: 14px !important;
        grid-template-columns: 70px minmax(0, 1fr) !important;
        min-height: 88px !important;
        width: 100% !important;
    }

    .public-body .qr-menu.theme-noir-catalog .product-media,
    .public-body .qr-menu.theme-noir-catalog.layout-two-column .product-media,
    .public-body .qr-menu.theme-noir-catalog.layout-horizontal .product-media,
    .public-body .qr-menu.theme-noir-catalog.display-visual-price .product-media,
    .public-body .qr-menu.theme-noir-catalog .product-media img,
    .public-body .qr-menu.theme-noir-catalog .image-placeholder,
    .public-body .qr-menu.theme-noir-catalog .logo-placeholder {
        height: 68px !important;
        min-height: 68px !important;
        width: 68px !important;
    }

    .public-body .qr-menu.theme-noir-catalog .product-media,
    .public-body .qr-menu.theme-noir-catalog.layout-two-column .product-media,
    .public-body .qr-menu.theme-noir-catalog.layout-horizontal .product-media,
    .public-body .qr-menu.theme-noir-catalog.display-visual-price .product-media {
        margin: 9px 0 9px 9px !important;
    }
}

/* v257 theme 2 reduce mobile product grid height */
@media (max-width: 520px) {
    .public-body .qr-menu.theme-noir-catalog .product-grid-public,
    .public-body .qr-menu.theme-noir-catalog.layout-two-column .product-grid-public,
    .public-body .qr-menu.theme-noir-catalog.layout-horizontal .product-grid-public,
    .public-body .qr-menu.theme-noir-catalog.display-visual-price .product-grid-public {
        gap: 6px !important;
        row-gap: 6px !important;
    }

    .public-body .qr-menu.theme-noir-catalog .menu-product,
    .public-body .qr-menu.theme-noir-catalog.layout-two-column .menu-product,
    .public-body .qr-menu.theme-noir-catalog.layout-horizontal .menu-product,
    .public-body .qr-menu.theme-noir-catalog.display-visual-price .menu-product {
        border-radius: 13px !important;
        grid-template-columns: 62px minmax(0, 1fr) !important;
        min-height: 78px !important;
    }

    .public-body .qr-menu.theme-noir-catalog .product-media,
    .public-body .qr-menu.theme-noir-catalog.layout-two-column .product-media,
    .public-body .qr-menu.theme-noir-catalog.layout-horizontal .product-media,
    .public-body .qr-menu.theme-noir-catalog.display-visual-price .product-media {
        border-radius: 9px !important;
        height: 58px !important;
        margin: 8px 0 8px 8px !important;
        min-height: 58px !important;
        width: 58px !important;
    }

    .public-body .qr-menu.theme-noir-catalog .product-media img,
    .public-body .qr-menu.theme-noir-catalog .image-placeholder,
    .public-body .qr-menu.theme-noir-catalog .logo-placeholder {
        height: 58px !important;
        min-height: 58px !important;
        width: 58px !important;
    }

    .public-body .qr-menu.theme-noir-catalog .menu-product .product-info {
        min-height: 76px !important;
        padding: 7px 58px 30px 9px !important;
    }

    .public-body .qr-menu.theme-noir-catalog .menu-product .product-title-row h3 {
        font-size: 13px !important;
        line-height: 1.05 !important;
        -webkit-line-clamp: 1;
    }

    .public-body .qr-menu.theme-noir-catalog .menu-product .product-description-short,
    .public-body .qr-menu.theme-noir-catalog .menu-product .product-description-trigger {
        font-size: 10.5px !important;
        line-height: 1.1 !important;
    }

    .public-body .qr-menu.theme-noir-catalog .menu-product .price-stack {
        bottom: 5px !important;
        left: 9px !important;
        right: 56px !important;
    }

    .public-body .qr-menu.theme-noir-catalog .menu-product .price-calorie-line {
        min-height: 26px !important;
    }

    .public-body .qr-menu.theme-noir-catalog .menu-product .price-stack strong {
        font-size: 13.5px !important;
    }

    .public-body .qr-menu.theme-noir-catalog .menu-product .product-calorie-chip {
        font-size: 8px !important;
        padding: 2px 4px !important;
    }

    .public-body .qr-menu.theme-noir-catalog .menu-product .product-action-row {
        bottom: 5px !important;
        height: 26px !important;
        width: 48px !important;
    }

    .public-body .qr-menu.theme-noir-catalog .menu-product .menu-cart-add {
        height: 26px !important;
        min-height: 26px !important;
        min-width: 44px !important;
        width: 44px !important;
    }
}

/* v258 theme 2 follows theme 1 visuals, with a single-page sticky category flow */
.public-body .qr-menu.theme-noir-catalog,
.public-body .qr-menu.theme-noir-catalog[data-view-mode="light"] {
    --mono-ink: var(--primary, #111111) !important;
    --mono-accent: var(--accent, #f4f4f0) !important;
    --noir-bg: #050505 !important;
    --noir-ink: #f6f6f1 !important;
    background:
        radial-gradient(circle at 18% -8%, rgba(255,255,255,.18), transparent 24%),
        linear-gradient(180deg, #030303 0%, #0d0d0d 48%, #050505 100%) !important;
    color: #f6f6f1 !important;
    font-family: var(--menu-font), "Manrope", "DM Sans", ui-sans-serif, sans-serif !important;
    overflow-x: hidden !important;
}

.public-body .qr-menu.theme-noir-catalog .category-showcase,
.public-body .qr-menu.theme-noir-catalog .pro-back-bar {
    display: none !important;
}

.public-body .qr-menu.theme-noir-catalog .menu-main-flow {
    background: transparent !important;
    display: block !important;
}

.public-body .qr-menu.theme-noir-catalog .menu-hero,
.public-body .qr-menu.theme-noir-catalog.has-cover .menu-hero {
    background:
        linear-gradient(90deg, #fff 0 58%, #090909 58% 100%) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    color: #111 !important;
    min-height: 220px !important;
    overflow: hidden !important;
    padding: 22px 18px 18px !important;
    position: relative !important;
}

.public-body .qr-menu.theme-noir-catalog .menu-hero::before {
    background: repeating-linear-gradient(90deg, rgba(0,0,0,.08) 0 1px, transparent 1px 14px) !important;
    content: "" !important;
    inset: 0 !important;
    opacity: .42 !important;
    pointer-events: none !important;
    position: absolute !important;
}

.public-body .qr-menu.theme-noir-catalog .menu-hero::after {
    display: none !important;
}

.public-body .qr-menu.theme-noir-catalog .promenu-hero-top {
    left: 14px !important;
    position: relative !important;
    right: auto !important;
    top: auto !important;
    z-index: 4 !important;
}

.public-body .qr-menu.theme-noir-catalog .menu-hero-content {
    align-items: center !important;
    display: grid !important;
    gap: 9px 14px !important;
    grid-template-columns: auto minmax(0, 1fr) !important;
    margin: 0 auto !important;
    max-width: 760px !important;
    min-width: 0 !important;
    padding-top: 8px !important;
    position: relative !important;
    text-align: left !important;
    z-index: 2 !important;
}

.public-body .qr-menu.theme-noir-catalog .menu-cover-brand {
    align-items: center !important;
    display: contents !important;
    gap: 0 !important;
}

.public-body .qr-menu.theme-noir-catalog .menu-logo {
    background: #fff !important;
    border: 2px solid #111 !important;
    border-radius: 10px !important;
    box-shadow: 8px 8px 0 #111 !important;
    grid-row: 1 / 4 !important;
    height: 72px !important;
    object-fit: contain !important;
    padding: 5px !important;
    width: 72px !important;
}

.public-body .qr-menu.theme-noir-catalog .menu-cover-business {
    min-width: 0 !important;
}

.public-body .qr-menu.theme-noir-catalog .menu-hero .eyebrow {
    background: #111 !important;
    border: 0 !important;
    border-radius: 999px !important;
    color: #fff !important;
    display: inline-flex !important;
    font-size: 11px !important;
    font-weight: 950 !important;
    margin: 0 0 6px !important;
    padding: 6px 11px !important;
    width: max-content !important;
}

.public-body .qr-menu.theme-noir-catalog .menu-hero h1 {
    color: inherit !important;
    font-size: 34px !important;
    line-height: 1 !important;
    margin: 0 !important;
    max-width: 100% !important;
    overflow-wrap: anywhere !important;
    text-shadow: none !important;
}

.public-body .qr-menu.theme-noir-catalog .menu-hero p,
.public-body .qr-menu.theme-noir-catalog .menu-cover-subtitle {
    color: currentColor !important;
    font-size: 13px !important;
    line-height: 1.35 !important;
    margin: 0 !important;
    opacity: .76 !important;
}

.public-body .qr-menu.theme-noir-catalog .menu-cover-hours {
    background: rgba(255,255,255,.78) !important;
    border: 1px solid rgba(0,0,0,.12) !important;
    border-radius: 12px !important;
    box-shadow: none !important;
    color: #111 !important;
    grid-column: 2 !important;
    margin: 0 !important;
    max-width: 100% !important;
    padding: 8px 10px !important;
}

.public-body .qr-menu.theme-noir-catalog .menu-cover-actions,
.public-body .qr-menu.theme-noir-catalog .locale-switcher {
    z-index: 3 !important;
}

.public-body .qr-menu.theme-noir-catalog .promenu-social-row {
    display: flex !important;
    grid-column: 1 / -1 !important;
    justify-content: center !important;
    margin-top: 8px !important;
}

.public-body .qr-menu.theme-noir-catalog .menu-toolbar {
    background: rgba(255,255,255,.95) !important;
    border: 0 !important;
    border-bottom: 1px solid rgba(0,0,0,.1) !important;
    border-radius: 0 !important;
    box-shadow: 0 12px 28px rgba(0,0,0,.12) !important;
    display: grid !important;
    gap: 12px !important;
    margin: 0 !important;
    padding: 12px !important;
    position: sticky !important;
    top: 0 !important;
    width: 100% !important;
    z-index: 720 !important;
}

.public-body .qr-menu.theme-noir-catalog.noir-toolbar-fixed .menu-toolbar {
    box-shadow: 0 14px 32px rgba(0,0,0,.18) !important;
}

.public-body .qr-menu.theme-noir-catalog .menu-search input {
    background: #fff !important;
    border: 1px solid #cfcfcf !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    color: #111 !important;
    font-size: 14px !important;
    min-height: 44px !important;
}

.public-body .qr-menu.theme-noir-catalog .category-tabs {
    display: flex !important;
    gap: 8px !important;
    overflow-x: auto !important;
    padding: 0 !important;
    scrollbar-width: none !important;
}

.public-body .qr-menu.theme-noir-catalog .category-tabs::-webkit-scrollbar {
    display: none !important;
}

.public-body .qr-menu.theme-noir-catalog .category-tabs a {
    align-items: center !important;
    background: #111 !important;
    border: 1px solid #111 !important;
    border-radius: 999px !important;
    box-shadow: none !important;
    color: #fff !important;
    display: inline-flex !important;
    flex: 0 0 auto !important;
    font-size: 12px !important;
    font-weight: 900 !important;
    gap: 8px !important;
    min-height: 38px !important;
    padding: 8px 13px !important;
}

.public-body .qr-menu.theme-noir-catalog .category-tabs a.with-image {
    padding-left: 6px !important;
}

.public-body .qr-menu.theme-noir-catalog .category-tabs img {
    border-radius: 999px !important;
    height: 28px !important;
    object-fit: cover !important;
    width: 28px !important;
}

.public-body .qr-menu.theme-noir-catalog .menu-content {
    box-sizing: border-box !important;
    margin: 0 auto !important;
    max-width: 980px !important;
    overflow: visible !important;
    padding: 16px 12px 96px !important;
    width: 100% !important;
}

.public-body .qr-menu.theme-noir-catalog .menu-category {
    display: block !important;
    margin: 0 !important;
    scroll-margin-top: calc(var(--noir-toolbar-height, 112px) + 18px) !important;
}

.public-body .qr-menu.theme-noir-catalog .menu-category[hidden] {
    display: none !important;
}

.public-body .qr-menu.theme-noir-catalog .menu-category h2 {
    align-items: center !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    color: inherit !important;
    display: flex !important;
    font-size: 24px !important;
    gap: 10px !important;
    letter-spacing: 0 !important;
    margin: 20px 0 12px !important;
    padding: 0 !important;
}

.public-body .qr-menu.theme-noir-catalog .menu-category h2::before {
    background: var(--mono-accent) !important;
    border-radius: 0 !important;
    content: "" !important;
    display: inline-flex !important;
    height: 28px !important;
    margin: 0 !important;
    width: 5px !important;
}

.public-body .qr-menu.theme-noir-catalog .product-grid-public,
.public-body .qr-menu.theme-noir-catalog.layout-two-column .product-grid-public,
.public-body .qr-menu.theme-noir-catalog.layout-horizontal .product-grid-public,
.public-body .qr-menu.theme-noir-catalog.display-visual-price .product-grid-public {
    display: grid !important;
    gap: 10px !important;
    grid-template-columns: 1fr !important;
    justify-items: stretch !important;
    min-height: 0 !important;
    row-gap: 10px !important;
}

.public-body .qr-menu.theme-noir-catalog .menu-product,
.public-body .qr-menu.theme-noir-catalog.layout-two-column .menu-product,
.public-body .qr-menu.theme-noir-catalog.layout-horizontal .menu-product,
.public-body .qr-menu.theme-noir-catalog.display-visual-price .menu-product {
    background: #fff !important;
    border: 1px solid #dedede !important;
    border-radius: 0 !important;
    box-shadow: 0 14px 30px rgba(0,0,0,.08) !important;
    color: #111 !important;
    display: grid !important;
    grid-template-columns: 94px minmax(0, 1fr) !important;
    min-height: 110px !important;
    overflow: hidden !important;
    transition: transform .25s ease, border-color .25s ease !important;
    width: 100% !important;
}

.public-body .qr-menu.theme-noir-catalog .menu-product:hover {
    border-color: var(--mono-accent) !important;
    transform: translateY(-2px) !important;
}

.public-body .qr-menu.theme-noir-catalog .product-media,
.public-body .qr-menu.theme-noir-catalog.layout-two-column .product-media,
.public-body .qr-menu.theme-noir-catalog.layout-horizontal .product-media,
.public-body .qr-menu.theme-noir-catalog.display-visual-price .product-media {
    aspect-ratio: auto !important;
    background: #e7e3dc !important;
    border-radius: 0 !important;
    height: 110px !important;
    margin: 0 !important;
    max-height: 110px !important;
    min-height: 110px !important;
    overflow: hidden !important;
    width: 94px !important;
}

.public-body .qr-menu.theme-noir-catalog .product-media img,
.public-body .qr-menu.theme-noir-catalog .image-placeholder,
.public-body .qr-menu.theme-noir-catalog .logo-placeholder {
    border-radius: 0 !important;
    height: 110px !important;
    max-height: 110px !important;
    min-height: 110px !important;
    object-fit: cover !important;
    width: 100% !important;
}

.public-body .qr-menu.theme-noir-catalog .product-info {
    align-content: center !important;
    display: grid !important;
    gap: 6px !important;
    grid-template-areas: none !important;
    grid-template-columns: 1fr !important;
    grid-template-rows: none !important;
    min-height: 0 !important;
    min-width: 0 !important;
    overflow: visible !important;
    padding: 10px 12px !important;
    position: static !important;
}

.public-body .qr-menu.theme-noir-catalog .product-title-row {
    align-items: flex-start !important;
    display: grid !important;
    gap: 4px !important;
}

.public-body .qr-menu.theme-noir-catalog .product-title-row h3 {
    color: inherit !important;
    display: -webkit-box !important;
    font-size: 16px !important;
    font-weight: 900 !important;
    line-height: 1.15 !important;
    margin: 0 !important;
    overflow: hidden !important;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.public-body .qr-menu.theme-noir-catalog .price-stack {
    align-self: auto !important;
    display: grid !important;
    gap: 2px !important;
    justify-items: start !important;
    margin: 0 !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow: visible !important;
    position: static !important;
    width: auto !important;
}

.public-body .qr-menu.theme-noir-catalog .price-calorie-line {
    align-items: center !important;
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 6px !important;
    min-height: 0 !important;
    overflow: visible !important;
    white-space: normal !important;
    width: auto !important;
}

.public-body .qr-menu.theme-noir-catalog .price-stack strong {
    background: transparent !important;
    color: inherit !important;
    display: inline-flex !important;
    font-size: 13px !important;
    font-weight: 950 !important;
    min-width: 0 !important;
    padding: 0 !important;
    white-space: nowrap !important;
}

.public-body .qr-menu.theme-noir-catalog .product-calorie-chip {
    align-items: center !important;
    background: #fff7ed !important;
    border: 1px solid #fed7aa !important;
    border-radius: 999px !important;
    color: #9a3412 !important;
    display: inline-flex !important;
    flex: 0 0 auto !important;
    font-size: 10px !important;
    font-weight: 900 !important;
    height: 24px !important;
    line-height: 1 !important;
    min-height: 24px !important;
    padding: 0 8px !important;
    white-space: nowrap !important;
}

.public-body .qr-menu.theme-noir-catalog .product-description-short,
.public-body .qr-menu.theme-noir-catalog .product-description-trigger {
    background: transparent !important;
    border: 0 !important;
    color: currentColor !important;
    display: -webkit-box !important;
    font-size: 12px !important;
    line-height: 1.25 !important;
    margin: 0 !important;
    opacity: .72 !important;
    overflow: hidden !important;
    padding: 0 !important;
    text-align: left !important;
    text-overflow: ellipsis !important;
    white-space: normal !important;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
}

.public-body .qr-menu.theme-noir-catalog.density-compact .ingredients-line,
.public-body .qr-menu.theme-noir-catalog.density-compact .goes-with {
    display: none !important;
}

.public-body .qr-menu.theme-noir-catalog .product-action-row {
    align-items: center !important;
    align-self: auto !important;
    bottom: auto !important;
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 7px !important;
    grid-area: auto !important;
    height: auto !important;
    justify-content: flex-start !important;
    justify-self: start !important;
    margin: 0 !important;
    overflow: visible !important;
    position: static !important;
    right: auto !important;
    width: auto !important;
}

.public-body .qr-menu.theme-noir-catalog .product-action-row .button,
.public-body .qr-menu.theme-noir-catalog .menu-cart-add {
    align-items: center !important;
    background: #111 !important;
    border: 0 !important;
    border-radius: 999px !important;
    box-shadow: none !important;
    color: #fff !important;
    display: inline-flex !important;
    font-size: 11px !important;
    font-weight: 950 !important;
    height: auto !important;
    justify-content: center !important;
    min-height: 30px !important;
    min-width: 0 !important;
    padding: 6px 10px !important;
    width: auto !important;
}

.public-body .qr-menu.theme-noir-catalog .menu-product .menu-cart-add::after {
    content: none !important;
}

.public-body .qr-menu.theme-noir-catalog .product-comments {
    flex: 0 0 auto !important;
    margin-left: 0 !important;
}

.public-body .qr-menu.theme-noir-catalog .product-comments[open] {
    flex: 1 0 100% !important;
}

.public-body .qr-menu.theme-noir-catalog .product-comments summary {
    align-items: center !important;
    background: #f0f0f0 !important;
    border: 1px solid #d8d8d8 !important;
    border-radius: 999px !important;
    color: #111 !important;
    display: inline-flex !important;
    height: 30px !important;
    justify-content: center !important;
    min-width: 38px !important;
    padding: 0 7px !important;
}

@media (min-width: 760px) {
    .public-body .qr-menu.theme-noir-catalog .menu-toolbar {
        grid-template-columns: minmax(260px, 360px) minmax(0, 1fr) !important;
        align-items: center !important;
    }

    .public-body .qr-menu.theme-noir-catalog .product-grid-public,
    .public-body .qr-menu.theme-noir-catalog.layout-two-column .product-grid-public,
    .public-body .qr-menu.theme-noir-catalog.layout-horizontal .product-grid-public,
    .public-body .qr-menu.theme-noir-catalog.display-visual-price .product-grid-public {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (min-width: 1180px) {
    .public-body .qr-menu.theme-noir-catalog .menu-content {
        max-width: 1120px !important;
    }

    .public-body .qr-menu.theme-noir-catalog .product-grid-public,
    .public-body .qr-menu.theme-noir-catalog.layout-two-column .product-grid-public,
    .public-body .qr-menu.theme-noir-catalog.layout-horizontal .product-grid-public,
    .public-body .qr-menu.theme-noir-catalog.display-visual-price .product-grid-public {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 640px) {
    .public-body .qr-menu.theme-noir-catalog .menu-hero,
    .public-body .qr-menu.theme-noir-catalog.has-cover .menu-hero {
        min-height: 214px !important;
        padding: 16px 14px 16px !important;
    }

    .public-body .qr-menu.theme-noir-catalog .promenu-hero-top {
        left: 0 !important;
    }

    .public-body .qr-menu.theme-noir-catalog .menu-hero-content {
        gap: 8px 12px !important;
        grid-template-columns: 64px minmax(0, 1fr) !important;
        padding-top: 12px !important;
    }

    .public-body .qr-menu.theme-noir-catalog .menu-logo {
        box-shadow: 6px 6px 0 #111 !important;
        height: 64px !important;
        width: 64px !important;
    }

    .public-body .qr-menu.theme-noir-catalog .menu-hero h1 {
        font-size: 29px !important;
    }

    .public-body .qr-menu.theme-noir-catalog .menu-cover-hours {
        grid-column: 1 / -1 !important;
    }

    .public-body .qr-menu.theme-noir-catalog .menu-toolbar {
        gap: 10px !important;
        padding: 10px 10px 9px !important;
    }

    .public-body .qr-menu.theme-noir-catalog .menu-search input {
        min-height: 40px !important;
    }

    .public-body .qr-menu.theme-noir-catalog .category-tabs a {
        min-height: 36px !important;
        padding: 7px 11px !important;
    }

    .public-body .qr-menu.theme-noir-catalog .category-tabs img {
        height: 26px !important;
        width: 26px !important;
    }

    .public-body .qr-menu.theme-noir-catalog .menu-content {
        padding: 12px 10px 92px !important;
    }

    .public-body .qr-menu.theme-noir-catalog .menu-category {
        scroll-margin-top: calc(var(--noir-toolbar-height, 104px) + 12px) !important;
    }

    .public-body .qr-menu.theme-noir-catalog .menu-category h2 {
        font-size: 22px !important;
        margin: 18px 0 10px !important;
    }

    .public-body .qr-menu.theme-noir-catalog .menu-product,
    .public-body .qr-menu.theme-noir-catalog.layout-two-column .menu-product,
    .public-body .qr-menu.theme-noir-catalog.layout-horizontal .menu-product,
    .public-body .qr-menu.theme-noir-catalog.display-visual-price .menu-product {
        grid-template-columns: 90px minmax(0, 1fr) !important;
        min-height: 104px !important;
    }

    .public-body .qr-menu.theme-noir-catalog .product-media,
    .public-body .qr-menu.theme-noir-catalog.layout-two-column .product-media,
    .public-body .qr-menu.theme-noir-catalog.layout-horizontal .product-media,
    .public-body .qr-menu.theme-noir-catalog.display-visual-price .product-media,
    .public-body .qr-menu.theme-noir-catalog .product-media img,
    .public-body .qr-menu.theme-noir-catalog .image-placeholder,
    .public-body .qr-menu.theme-noir-catalog .logo-placeholder {
        height: 104px !important;
        max-height: 104px !important;
        min-height: 104px !important;
    }

    .public-body .qr-menu.theme-noir-catalog .product-media,
    .public-body .qr-menu.theme-noir-catalog.layout-two-column .product-media,
    .public-body .qr-menu.theme-noir-catalog.layout-horizontal .product-media,
    .public-body .qr-menu.theme-noir-catalog.display-visual-price .product-media {
        width: 90px !important;
    }

    .public-body .qr-menu.theme-noir-catalog .product-info {
        padding: 9px 10px !important;
    }

    .public-body .qr-menu.theme-noir-catalog .product-title-row h3 {
        font-size: 15px !important;
    }
}

/* v259 theme 2 cover contrast and exact theme 1 header layout */
.public-body .qr-menu.theme-noir-catalog.has-cover .menu-hero,
.public-body .qr-menu.theme-noir-catalog.has-cover[data-view-mode="light"] .menu-hero {
    background-image: linear-gradient(180deg, rgba(0,0,0,.34), rgba(0,0,0,.78)), var(--cover-image) !important;
    background-position: center !important;
    background-size: cover !important;
    color: #fff !important;
}

.public-body .qr-menu.theme-noir-catalog:not(.has-cover) .menu-hero {
    background:
        linear-gradient(90deg, #fff 0 58%, #090909 58% 100%) !important;
}

.public-body .qr-menu.theme-noir-catalog .menu-hero-content.menu-cover-layout {
    display: grid !important;
    gap: 13px !important;
    grid-template-columns: 1fr !important;
    justify-items: start !important;
    margin: 28px 0 0 !important;
    max-width: 100% !important;
    padding: 0 !important;
    position: relative !important;
    text-align: left !important;
    z-index: 3 !important;
}

.public-body .qr-menu.theme-noir-catalog .menu-cover-brand {
    align-items: center !important;
    display: grid !important;
    gap: 14px !important;
    grid-template-columns: auto minmax(0, 1fr) !important;
    max-width: min(620px, 100%) !important;
}

.public-body .qr-menu.theme-noir-catalog .menu-cover-brand .menu-logo {
    background: rgba(0, 0, 0, .48) !important;
    border: 1px solid rgba(255, 255, 255, .22) !important;
    border-radius: 14px !important;
    box-shadow: 0 12px 30px rgba(0, 0, 0, .22) !important;
    grid-row: auto !important;
    height: 64px !important;
    object-fit: contain !important;
    padding: 7px !important;
    width: 64px !important;
}

.public-body .qr-menu.theme-noir-catalog .menu-cover-business {
    color: #fff !important;
    display: grid !important;
    gap: 3px !important;
    min-width: 0 !important;
}

.public-body .qr-menu.theme-noir-catalog .menu-cover-business .eyebrow {
    display: none !important;
}

.public-body .qr-menu.theme-noir-catalog .menu-cover-business h1 {
    color: #fff !important;
    font-size: clamp(21px, 6.2vw, 30px) !important;
    font-weight: 950 !important;
    letter-spacing: 0 !important;
    line-height: 1.04 !important;
    margin: 0 !important;
    max-width: 100% !important;
    text-shadow: 0 12px 24px rgba(0, 0, 0, .34) !important;
}

.public-body .qr-menu.theme-noir-catalog .menu-cover-subtitle {
    color: rgba(255, 255, 255, .82) !important;
    display: block !important;
    font-size: 13px !important;
    font-style: italic !important;
    font-weight: 850 !important;
    line-height: 1.25 !important;
    margin: 4px 0 0 !important;
    max-width: 260px !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

.public-body .qr-menu.theme-noir-catalog .menu-cover-hours,
.public-body .qr-menu.theme-noir-catalog .menu-cover-action {
    backdrop-filter: blur(12px) !important;
    background: rgba(255, 255, 255, .82) !important;
    border: 1px solid rgba(255, 255, 255, .32) !important;
    border-radius: 999px !important;
    box-shadow: 0 10px 22px rgba(0, 0, 0, .12) !important;
    color: #1f2937 !important;
    min-height: 32px !important;
    padding: 5px 10px 5px 7px !important;
}

.public-body .qr-menu.theme-noir-catalog .menu-cover-hours {
    align-items: center !important;
    display: inline-flex !important;
    gap: 7px !important;
    max-width: max-content !important;
}

.public-body .qr-menu.theme-noir-catalog .menu-cover-hours p {
    color: #111827 !important;
    font-size: 12px !important;
    font-weight: 950 !important;
    line-height: 1 !important;
    white-space: nowrap !important;
}

.public-body .qr-menu.theme-noir-catalog .menu-cover-icon,
.public-body .qr-menu.theme-noir-catalog .menu-cover-action > span {
    background: transparent !important;
    color: #111827 !important;
    height: 20px !important;
    width: 20px !important;
}

.public-body .qr-menu.theme-noir-catalog .menu-cover-icon svg,
.public-body .qr-menu.theme-noir-catalog .menu-cover-action svg {
    height: 15px !important;
    width: 15px !important;
}

.public-body .qr-menu.theme-noir-catalog .menu-cover-action b {
    color: #111827 !important;
    font-size: 12px !important;
    font-weight: 950 !important;
}

/* v260 theme 2 simple brand header with day/night toggle */
.public-body .qr-menu.theme-noir-catalog,
.public-body .qr-menu.theme-noir-catalog[data-view-mode="light"] {
    --theme2-page: #f4f5f7;
    --theme2-panel: #ffffff;
    --theme2-ink: #101114;
    --theme2-muted: #667085;
    --theme2-line: rgba(16, 17, 20, .12);
    background: var(--theme2-page) !important;
    color: var(--theme2-ink) !important;
}

.public-body .qr-menu.theme-noir-catalog[data-view-mode="dark"] {
    --theme2-page: #050505;
    --theme2-panel: #121212;
    --theme2-ink: #f7f7f2;
    --theme2-muted: #b6bac4;
    --theme2-line: rgba(255, 255, 255, .14);
    background: #050505 !important;
    color: var(--theme2-ink) !important;
}

.public-body .qr-menu.theme-noir-catalog .menu-hero,
.public-body .qr-menu.theme-noir-catalog.has-cover .menu-hero,
.public-body .qr-menu.theme-noir-catalog.has-cover[data-view-mode="light"] .menu-hero,
.public-body .qr-menu.theme-noir-catalog.has-cover[data-view-mode="dark"] .menu-hero {
    align-items: center !important;
    background: var(--theme2-panel) !important;
    background-image: none !important;
    border-bottom: 1px solid var(--theme2-line) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    color: var(--theme2-ink) !important;
    display: flex !important;
    min-height: 138px !important;
    overflow: visible !important;
    padding: 26px 72px 24px 24px !important;
}

.public-body .qr-menu.theme-noir-catalog .menu-hero::before,
.public-body .qr-menu.theme-noir-catalog .menu-hero::after {
    display: none !important;
}

.public-body .qr-menu.theme-noir-catalog .menu-hero-content.menu-cover-layout {
    align-items: center !important;
    display: grid !important;
    gap: 14px !important;
    grid-template-columns: 72px minmax(0, 1fr) !important;
    margin: 0 auto !important;
    max-width: 1120px !important;
    padding: 0 !important;
    width: 100% !important;
}

.public-body .qr-menu.theme-noir-catalog .menu-cover-brand {
    align-items: center !important;
    display: contents !important;
    max-width: none !important;
}

.public-body .qr-menu.theme-noir-catalog .menu-cover-brand .menu-logo {
    background: #ffffff !important;
    border: 1px solid var(--theme2-line) !important;
    border-radius: 16px !important;
    box-shadow: 0 14px 30px rgba(16, 17, 20, .1) !important;
    grid-column: 1 !important;
    height: 72px !important;
    object-fit: contain !important;
    padding: 8px !important;
    width: 72px !important;
}

.public-body .qr-menu.theme-noir-catalog[data-view-mode="dark"] .menu-cover-brand .menu-logo {
    background: rgba(255, 255, 255, .94) !important;
    box-shadow: 0 16px 34px rgba(0, 0, 0, .32) !important;
}

.public-body .qr-menu.theme-noir-catalog .menu-cover-business {
    color: var(--theme2-ink) !important;
    display: grid !important;
    gap: 5px !important;
    grid-column: 2 !important;
}

.public-body .qr-menu.theme-noir-catalog .menu-cover-business .eyebrow,
.public-body .qr-menu.theme-noir-catalog .menu-cover-hours,
.public-body .qr-menu.theme-noir-catalog .menu-cover-actions,
.public-body .qr-menu.theme-noir-catalog .promenu-social-row,
.public-body .qr-menu.theme-noir-catalog .locale-switcher {
    display: none !important;
}

.public-body .qr-menu.theme-noir-catalog .menu-cover-business h1 {
    color: var(--theme2-ink) !important;
    font-size: clamp(25px, 4.8vw, 40px) !important;
    font-weight: 950 !important;
    letter-spacing: 0 !important;
    line-height: 1.02 !important;
    margin: 0 !important;
    text-shadow: none !important;
}

.public-body .qr-menu.theme-noir-catalog .menu-cover-subtitle {
    color: var(--theme2-muted) !important;
    display: block !important;
    font-size: 14px !important;
    font-style: italic !important;
    font-weight: 850 !important;
    line-height: 1.25 !important;
    margin: 0 !important;
    max-width: min(540px, 100%) !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

.public-body .qr-menu.theme-noir-catalog .menu-hero .hero-mode-toggle,
.public-body .qr-menu.theme-noir-catalog.has-view-mode-toggle .menu-hero .hero-mode-toggle {
    align-items: center !important;
    backdrop-filter: blur(12px) !important;
    background: var(--theme2-panel) !important;
    border: 1px solid var(--theme2-line) !important;
    border-radius: 999px !important;
    box-shadow: 0 12px 28px rgba(16, 17, 20, .12) !important;
    color: var(--theme2-ink) !important;
    display: inline-flex !important;
    height: 44px !important;
    justify-content: center !important;
    min-height: 44px !important;
    padding: 0 !important;
    position: absolute !important;
    right: 18px !important;
    top: 18px !important;
    transform: none !important;
    width: 44px !important;
    z-index: 8 !important;
}

.public-body .qr-menu.theme-noir-catalog[data-view-mode="dark"] .menu-hero .hero-mode-toggle {
    box-shadow: 0 14px 30px rgba(0, 0, 0, .32) !important;
}

.public-body .qr-menu.theme-noir-catalog .menu-hero .hero-mode-toggle .mode-icon {
    font-size: 19px !important;
    height: auto !important;
    line-height: 1 !important;
    width: auto !important;
}

.public-body .qr-menu.theme-noir-catalog .menu-toolbar {
    background: rgba(255, 255, 255, .95) !important;
    border-bottom: 1px solid var(--theme2-line) !important;
}

.public-body .qr-menu.theme-noir-catalog[data-view-mode="dark"] .menu-toolbar {
    background: rgba(18, 18, 18, .96) !important;
}

.public-body .qr-menu.theme-noir-catalog .menu-search input {
    background: var(--theme2-panel) !important;
    border-color: var(--theme2-line) !important;
    color: var(--theme2-ink) !important;
}

.public-body .qr-menu.theme-noir-catalog .category-tabs a {
    background: var(--theme2-ink) !important;
    border-color: var(--theme2-ink) !important;
    color: var(--theme2-panel) !important;
}

.public-body .qr-menu.theme-noir-catalog[data-view-mode="dark"] .category-tabs a {
    background: #ffffff !important;
    border-color: #ffffff !important;
    color: #111111 !important;
}

.public-body .qr-menu.theme-noir-catalog .menu-category h2 {
    color: var(--theme2-ink) !important;
}

.public-body .qr-menu.theme-noir-catalog .menu-product,
.public-body .qr-menu.theme-noir-catalog.layout-two-column .menu-product,
.public-body .qr-menu.theme-noir-catalog.layout-horizontal .menu-product,
.public-body .qr-menu.theme-noir-catalog.display-visual-price .menu-product {
    background: var(--theme2-panel) !important;
    border-color: var(--theme2-line) !important;
    color: var(--theme2-ink) !important;
}

.public-body .qr-menu.theme-noir-catalog .product-description-short,
.public-body .qr-menu.theme-noir-catalog .product-description-trigger {
    color: var(--theme2-muted) !important;
    opacity: 1 !important;
}

.public-body .qr-menu.theme-noir-catalog .product-action-row .button,
.public-body .qr-menu.theme-noir-catalog .menu-cart-add {
    background: var(--theme2-ink) !important;
    color: var(--theme2-panel) !important;
}

.public-body .qr-menu.theme-noir-catalog[data-view-mode="dark"] .product-action-row .button,
.public-body .qr-menu.theme-noir-catalog[data-view-mode="dark"] .menu-cart-add {
    background: #ffffff !important;
    color: #111111 !important;
}

@media (max-width: 640px) {
    .public-body .qr-menu.theme-noir-catalog .menu-hero,
    .public-body .qr-menu.theme-noir-catalog.has-cover .menu-hero {
        min-height: 118px !important;
        padding: 18px 64px 18px 16px !important;
    }

    .public-body .qr-menu.theme-noir-catalog .menu-hero-content.menu-cover-layout {
        gap: 12px !important;
        grid-template-columns: 58px minmax(0, 1fr) !important;
    }

    .public-body .qr-menu.theme-noir-catalog .menu-cover-brand .menu-logo {
        border-radius: 14px !important;
        height: 58px !important;
        width: 58px !important;
    }

    .public-body .qr-menu.theme-noir-catalog .menu-cover-business h1 {
        font-size: clamp(22px, 7vw, 29px) !important;
    }

    .public-body .qr-menu.theme-noir-catalog .menu-cover-subtitle {
        font-size: 12.5px !important;
        max-width: 100% !important;
    }

    .public-body .qr-menu.theme-noir-catalog .menu-hero .hero-mode-toggle,
    .public-body .qr-menu.theme-noir-catalog.has-view-mode-toggle .menu-hero .hero-mode-toggle {
        height: 40px !important;
        min-height: 40px !important;
        right: 12px !important;
        top: 14px !important;
        width: 40px !important;
    }
}

/* v261 theme 2 light/dark surface and visible toggle polish */
.public-body > main.qr-menu.theme-noir-catalog .menu-content,
.public-body .qr-menu.theme-noir-catalog .menu-content {
    background: var(--theme2-page) !important;
    color: var(--theme2-ink) !important;
}

.public-body > main.qr-menu.theme-noir-catalog .menu-category,
.public-body .qr-menu.theme-noir-catalog .menu-category {
    background: transparent !important;
    color: var(--theme2-ink) !important;
}

.public-body > main.qr-menu.theme-noir-catalog .menu-category h2,
.public-body .qr-menu.theme-noir-catalog .menu-category h2 {
    color: var(--theme2-ink) !important;
    opacity: 1 !important;
}

.public-body .qr-menu.theme-noir-catalog[data-view-mode="light"] .menu-hero .hero-mode-toggle {
    background: #111111 !important;
    border-color: #111111 !important;
    color: #ffffff !important;
}

.public-body .qr-menu.theme-noir-catalog[data-view-mode="dark"] .menu-hero .hero-mode-toggle {
    background: #ffffff !important;
    border-color: #ffffff !important;
    color: #111111 !important;
}

.public-body .qr-menu.theme-noir-catalog[data-view-mode="light"] .menu-hero .hero-mode-toggle .mode-icon-moon,
.public-body .qr-menu.theme-noir-catalog[data-view-mode="dark"] .menu-hero .hero-mode-toggle .mode-icon-sun {
    display: none !important;
}

.public-body .qr-menu.theme-noir-catalog[data-view-mode="light"] .menu-hero .hero-mode-toggle .mode-icon-sun,
.public-body .qr-menu.theme-noir-catalog[data-view-mode="dark"] .menu-hero .hero-mode-toggle .mode-icon-moon {
    display: inline-flex !important;
}

@media (max-width: 640px) {
    .public-body .qr-menu.theme-noir-catalog .menu-hero .hero-mode-toggle,
    .public-body .qr-menu.theme-noir-catalog.has-view-mode-toggle .menu-hero .hero-mode-toggle {
        right: 16px !important;
    }
}

/* v262 theme 2 keep day/night toggle inside mobile viewport */
@media (max-width: 640px) {
    body.public-body > main.qr-menu.theme-noir-catalog .menu-hero .hero-mode-toggle,
    body.public-body > main.qr-menu.theme-noir-catalog.has-view-mode-toggle .menu-hero .hero-mode-toggle {
        position: fixed !important;
        left: auto !important;
        right: 16px !important;
        top: 16px !important;
        z-index: 1200 !important;
    }
}

/* v264 theme 2 viewport-anchored day/night toggle */
body.public-body > main.qr-menu.theme-noir-catalog .menu-hero .hero-mode-toggle,
body.public-body > main.qr-menu.theme-noir-catalog.has-view-mode-toggle .menu-hero .hero-mode-toggle {
    position: fixed !important;
    left: auto !important;
    right: 18px !important;
    top: 42px !important;
    z-index: 1200 !important;
}

@media (max-width: 640px) {
    body.public-body > main.qr-menu.theme-noir-catalog .menu-hero .hero-mode-toggle,
    body.public-body > main.qr-menu.theme-noir-catalog.has-view-mode-toggle .menu-hero .hero-mode-toggle {
        right: 16px !important;
        top: 16px !important;
    }
}

/* v265 final force for theme 2 day/night toggle visibility */
body.public-body > main.qr-menu.theme-noir-catalog button.hero-mode-toggle {
    clip: auto !important;
    display: inline-flex !important;
    height: 44px !important;
    inset: 42px 18px auto auto !important;
    margin: 0 !important;
    min-height: 44px !important;
    min-width: 44px !important;
    opacity: 1 !important;
    overflow: visible !important;
    position: fixed !important;
    transform: none !important;
    visibility: visible !important;
    width: 44px !important;
    z-index: 2147483000 !important;
}

body.public-body > main.qr-menu.theme-noir-catalog[data-view-mode="light"] button.hero-mode-toggle {
    background: #111111 !important;
    border-color: #111111 !important;
    color: #ffffff !important;
}

body.public-body > main.qr-menu.theme-noir-catalog[data-view-mode="dark"] button.hero-mode-toggle {
    background: #ffffff !important;
    border-color: #ffffff !important;
    color: #111111 !important;
}

@media (max-width: 640px) {
    body.public-body > main.qr-menu.theme-noir-catalog button.hero-mode-toggle {
        height: 40px !important;
        inset: 16px 16px auto auto !important;
        min-height: 40px !important;
        min-width: 40px !important;
        width: 40px !important;
    }
}

/* v266 theme 2 full-width sticky search/category toolbar */
body.public-body > main.qr-menu.theme-noir-catalog .menu-toolbar {
    align-items: center !important;
    background: rgba(255, 255, 255, .96) !important;
    border-bottom: 1px solid var(--theme2-line) !important;
    border-radius: 0 !important;
    box-shadow: 0 14px 34px rgba(16, 17, 20, .08) !important;
    box-sizing: border-box !important;
    display: grid !important;
    gap: 12px !important;
    left: 50% !important;
    margin: 0 0 0 -50vw !important;
    max-width: none !important;
    overflow: hidden !important;
    padding: 12px max(12px, calc((100vw - 1120px) / 2)) !important;
    position: sticky !important;
    right: auto !important;
    top: 0 !important;
    transform: none !important;
    width: 100vw !important;
    z-index: 1100 !important;
}

body.public-body > main.qr-menu.theme-noir-catalog[data-view-mode="dark"] .menu-toolbar {
    background: rgba(18, 18, 18, .96) !important;
    box-shadow: 0 16px 36px rgba(0, 0, 0, .24) !important;
}

body.public-body > main.qr-menu.theme-noir-catalog.noir-toolbar-fixed .menu-toolbar {
    box-shadow: 0 16px 36px rgba(16, 17, 20, .15) !important;
}

body.public-body > main.qr-menu.theme-noir-catalog .menu-search,
body.public-body > main.qr-menu.theme-noir-catalog .category-tabs {
    min-width: 0 !important;
    width: 100% !important;
}

body.public-body > main.qr-menu.theme-noir-catalog .menu-search input {
    box-sizing: border-box !important;
    width: 100% !important;
}

body.public-body > main.qr-menu.theme-noir-catalog .category-tabs {
    display: flex !important;
    gap: 8px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scrollbar-width: none !important;
}

body.public-body > main.qr-menu.theme-noir-catalog .category-tabs::-webkit-scrollbar {
    display: none !important;
}

@media (min-width: 760px) {
    body.public-body > main.qr-menu.theme-noir-catalog .menu-toolbar {
        grid-template-columns: minmax(280px, 360px) minmax(0, 1fr) !important;
    }
}

@media (max-width: 759px) {
    body.public-body > main.qr-menu.theme-noir-catalog .menu-toolbar {
        gap: 8px !important;
        grid-template-columns: 1fr !important;
        padding: 10px 10px 9px !important;
    }
}

/* v267 theme 2 fixed toolbar while browsing categories */
body.public-body > main.qr-menu.theme-noir-catalog .menu-toolbar {
    padding-left: 12px !important;
    padding-right: 12px !important;
}

body.public-body > main.qr-menu.theme-noir-catalog.noir-toolbar-fixed .menu-toolbar,
body.public-body > main.qr-menu.theme-noir-catalog:has(.menu-category:target) .menu-toolbar,
body.public-body > main.qr-menu.theme-noir-catalog:has(.menu-product:target) .menu-toolbar {
    inset: 0 0 auto 0 !important;
    left: 0 !important;
    margin: 0 !important;
    position: fixed !important;
    right: 0 !important;
    top: 0 !important;
    width: 100vw !important;
    z-index: 1100 !important;
}

body.public-body > main.qr-menu.theme-noir-catalog.noir-toolbar-fixed .menu-content,
body.public-body > main.qr-menu.theme-noir-catalog:has(.menu-category:target) .menu-content,
body.public-body > main.qr-menu.theme-noir-catalog:has(.menu-product:target) .menu-content {
    padding-top: calc(var(--noir-toolbar-height, 96px) + 18px) !important;
}

@media (min-width: 760px) {
    body.public-body > main.qr-menu.theme-noir-catalog .menu-toolbar {
        grid-template-columns: minmax(300px, 380px) minmax(0, 1fr) !important;
        padding-left: 12px !important;
        padding-right: 12px !important;
    }
}

@media (max-width: 759px) {
    body.public-body > main.qr-menu.theme-noir-catalog.noir-toolbar-fixed .menu-content,
    body.public-body > main.qr-menu.theme-noir-catalog:has(.menu-category:target) .menu-content,
    body.public-body > main.qr-menu.theme-noir-catalog:has(.menu-product:target) .menu-content {
        padding-top: calc(var(--noir-toolbar-height, 92px) + 12px) !important;
    }
}

/* v268 theme 2 mobile toolbar no crop */
@media (max-width: 759px) {
    body.public-body > main.qr-menu.theme-noir-catalog .menu-toolbar,
    body.public-body > main.qr-menu.theme-noir-catalog.noir-toolbar-fixed .menu-toolbar,
    body.public-body > main.qr-menu.theme-noir-catalog:has(.menu-category:target) .menu-toolbar,
    body.public-body > main.qr-menu.theme-noir-catalog:has(.menu-product:target) .menu-toolbar {
        left: 0 !important;
        margin: 0 !important;
        padding-left: 10px !important;
        padding-right: 10px !important;
        right: 0 !important;
        transform: none !important;
        width: 100% !important;
    }

    body.public-body > main.qr-menu.theme-noir-catalog .category-tabs {
        padding-left: 0 !important;
        scroll-padding-left: 0 !important;
    }
}

/* v269 theme 2 hide product descriptions in listing cards */
body.public-body > main.qr-menu.theme-noir-catalog .menu-product .product-description-short,
body.public-body > main.qr-menu.theme-noir-catalog .menu-product .product-description-trigger {
    display: none !important;
}

/* v270 theme 2 definitive toolbar, refresh and category marker rules */
body.public-body > main.qr-menu.theme-noir-catalog {
    --theme2-toolbar-height: var(--noir-toolbar-height, 76px);
}

body.public-body > main.qr-menu.theme-noir-catalog .menu-toolbar {
    align-items: center !important;
    background: rgba(255, 255, 255, .97) !important;
    border-bottom: 1px solid var(--theme2-line) !important;
    border-radius: 0 !important;
    box-shadow: 0 14px 34px rgba(16, 17, 20, .08) !important;
    box-sizing: border-box !important;
    display: grid !important;
    gap: 12px !important;
    grid-template-columns: minmax(300px, 380px) minmax(0, 1fr) !important;
    left: 50% !important;
    margin: 0 0 0 -50vw !important;
    max-width: none !important;
    overflow: hidden !important;
    padding: 12px !important;
    position: sticky !important;
    right: auto !important;
    top: 0 !important;
    transform: none !important;
    width: 100vw !important;
    z-index: 1300 !important;
}

body.public-body > main.qr-menu.theme-noir-catalog[data-view-mode="dark"] .menu-toolbar {
    background: rgba(18, 18, 18, .97) !important;
    box-shadow: 0 16px 36px rgba(0, 0, 0, .26) !important;
}

body.public-body > main.qr-menu.theme-noir-catalog.noir-toolbar-fixed .menu-toolbar,
body.public-body > main.qr-menu.theme-noir-catalog.is-noir-deep-link .menu-toolbar {
    inset: 0 0 auto 0 !important;
    left: 0 !important;
    margin: 0 !important;
    position: fixed !important;
    right: 0 !important;
    top: 0 !important;
    transform: none !important;
    width: 100vw !important;
}

body.public-body > main.qr-menu.theme-noir-catalog.is-noir-deep-link .menu-hero {
    display: none !important;
    min-height: 0 !important;
    padding: 0 !important;
}

body.public-body > main.qr-menu.theme-noir-catalog.noir-toolbar-fixed .menu-content,
body.public-body > main.qr-menu.theme-noir-catalog.is-noir-deep-link .menu-content {
    padding-top: calc(var(--theme2-toolbar-height) + 18px) !important;
}

body.public-body > main.qr-menu.theme-noir-catalog .menu-search,
body.public-body > main.qr-menu.theme-noir-catalog .category-tabs {
    min-width: 0 !important;
    width: 100% !important;
}

body.public-body > main.qr-menu.theme-noir-catalog .menu-search input {
    box-sizing: border-box !important;
    width: 100% !important;
}

body.public-body > main.qr-menu.theme-noir-catalog .category-tabs {
    display: flex !important;
    gap: 8px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    padding: 0 !important;
    scrollbar-width: none !important;
    scroll-padding-left: 0 !important;
}

body.public-body > main.qr-menu.theme-noir-catalog .category-tabs::-webkit-scrollbar {
    display: none !important;
}

body.public-body > main.qr-menu.theme-noir-catalog .menu-category h2::before {
    background: var(--theme2-ink) !important;
}

@media (max-width: 759px) {
    body.public-body > main.qr-menu.theme-noir-catalog .menu-toolbar,
    body.public-body > main.qr-menu.theme-noir-catalog.noir-toolbar-fixed .menu-toolbar,
    body.public-body > main.qr-menu.theme-noir-catalog.is-noir-deep-link .menu-toolbar {
        gap: 8px !important;
        grid-template-columns: 1fr !important;
        left: 0 !important;
        margin: 0 !important;
        padding: 10px !important;
        right: 0 !important;
        width: 100% !important;
    }

    body.public-body > main.qr-menu.theme-noir-catalog.noir-toolbar-fixed .menu-content,
    body.public-body > main.qr-menu.theme-noir-catalog.is-noir-deep-link .menu-content {
        padding-top: calc(var(--theme2-toolbar-height) + 12px) !important;
    }
}

/* v271 theme 2 refresh/deep-link hardening */
body.public-body > main.qr-menu.theme-noir-catalog:has(.menu-category:target) .menu-hero,
body.public-body > main.qr-menu.theme-noir-catalog:has(.menu-product:target) .menu-hero,
body.public-body > main.qr-menu.theme-noir-catalog.is-noir-deep-link .menu-hero {
    display: none !important;
    height: 0 !important;
    margin: 0 !important;
    min-height: 0 !important;
    overflow: hidden !important;
    padding: 0 !important;
}

body.public-body > main.qr-menu.theme-noir-catalog:has(.menu-category:target) .menu-toolbar,
body.public-body > main.qr-menu.theme-noir-catalog:has(.menu-product:target) .menu-toolbar,
body.public-body > main.qr-menu.theme-noir-catalog.is-noir-deep-link .menu-toolbar,
body.public-body > main.qr-menu.theme-noir-catalog.noir-toolbar-fixed .menu-toolbar {
    inset: 0 0 auto 0 !important;
    left: 0 !important;
    margin: 0 !important;
    position: fixed !important;
    right: 0 !important;
    top: 0 !important;
    transform: none !important;
    width: 100vw !important;
    z-index: 1400 !important;
}

body.public-body > main.qr-menu.theme-noir-catalog:has(.menu-category:target) .menu-content,
body.public-body > main.qr-menu.theme-noir-catalog:has(.menu-product:target) .menu-content,
body.public-body > main.qr-menu.theme-noir-catalog.is-noir-deep-link .menu-content,
body.public-body > main.qr-menu.theme-noir-catalog.noir-toolbar-fixed .menu-content {
    padding-top: calc(var(--theme2-toolbar-height) + 18px) !important;
}

body.public-body > main.qr-menu.theme-noir-catalog .menu-category,
body.public-body > main.qr-menu.theme-noir-catalog .menu-product {
    scroll-margin-top: calc(var(--theme2-toolbar-height) + 24px) !important;
}

body.public-body > main.qr-menu.theme-noir-catalog .menu-category h2::before {
    background: currentColor !important;
}

@media (max-width: 759px) {
    body.public-body > main.qr-menu.theme-noir-catalog:has(.menu-category:target) .menu-toolbar,
    body.public-body > main.qr-menu.theme-noir-catalog:has(.menu-product:target) .menu-toolbar,
    body.public-body > main.qr-menu.theme-noir-catalog.is-noir-deep-link .menu-toolbar,
    body.public-body > main.qr-menu.theme-noir-catalog.noir-toolbar-fixed .menu-toolbar {
        width: 100% !important;
    }

    body.public-body > main.qr-menu.theme-noir-catalog:has(.menu-category:target) .menu-content,
    body.public-body > main.qr-menu.theme-noir-catalog:has(.menu-product:target) .menu-content,
    body.public-body > main.qr-menu.theme-noir-catalog.is-noir-deep-link .menu-content,
    body.public-body > main.qr-menu.theme-noir-catalog.noir-toolbar-fixed .menu-content {
        padding-top: calc(var(--theme2-toolbar-height) + 12px) !important;
    }
}

/* v272 theme 2 first-paint refresh guard and full-width sticky toolbar */
html.has-menu-deep-link body.public-body > main.qr-menu.theme-noir-catalog .menu-hero,
html.is-menu-deep-link-booting body.public-body > main.qr-menu.theme-noir-catalog .menu-hero,
body.public-body > main.qr-menu.theme-noir-catalog:has(.menu-category:target) .menu-hero,
body.public-body > main.qr-menu.theme-noir-catalog:has(.menu-product:target) .menu-hero,
body.public-body > main.qr-menu.theme-noir-catalog.is-noir-deep-link .menu-hero {
    display: none !important;
    height: 0 !important;
    margin: 0 !important;
    min-height: 0 !important;
    opacity: 0 !important;
    overflow: hidden !important;
    padding: 0 !important;
    visibility: hidden !important;
}

html.has-menu-deep-link body.public-body > main.qr-menu.theme-noir-catalog .menu-toolbar,
html.is-menu-deep-link-booting body.public-body > main.qr-menu.theme-noir-catalog .menu-toolbar,
body.public-body > main.qr-menu.theme-noir-catalog:has(.menu-category:target) .menu-toolbar,
body.public-body > main.qr-menu.theme-noir-catalog:has(.menu-product:target) .menu-toolbar,
body.public-body > main.qr-menu.theme-noir-catalog.is-noir-deep-link .menu-toolbar,
body.public-body > main.qr-menu.theme-noir-catalog.noir-toolbar-fixed .menu-toolbar {
    box-sizing: border-box !important;
    inset: 0 0 auto 0 !important;
    left: 0 !important;
    margin: 0 !important;
    max-width: none !important;
    position: fixed !important;
    right: 0 !important;
    top: 0 !important;
    transform: none !important;
    width: 100vw !important;
    z-index: 1500 !important;
}

html.has-menu-deep-link body.public-body > main.qr-menu.theme-noir-catalog .menu-content,
html.is-menu-deep-link-booting body.public-body > main.qr-menu.theme-noir-catalog .menu-content,
body.public-body > main.qr-menu.theme-noir-catalog:has(.menu-category:target) .menu-content,
body.public-body > main.qr-menu.theme-noir-catalog:has(.menu-product:target) .menu-content,
body.public-body > main.qr-menu.theme-noir-catalog.is-noir-deep-link .menu-content,
body.public-body > main.qr-menu.theme-noir-catalog.noir-toolbar-fixed .menu-content {
    padding-top: calc(var(--theme2-toolbar-height, 76px) + 18px) !important;
}

body.public-body > main.qr-menu.theme-noir-catalog .menu-toolbar .menu-search,
body.public-body > main.qr-menu.theme-noir-catalog .menu-toolbar .category-tabs,
body.public-body > main.qr-menu.theme-noir-catalog .menu-toolbar .category-tabs-wrap {
    max-width: none !important;
    min-width: 0 !important;
    width: 100% !important;
}

body.public-body > main.qr-menu.theme-noir-catalog .menu-category h2::before {
    background: currentColor !important;
}

@media (max-width: 759px) {
    html.has-menu-deep-link body.public-body > main.qr-menu.theme-noir-catalog .menu-toolbar,
    html.is-menu-deep-link-booting body.public-body > main.qr-menu.theme-noir-catalog .menu-toolbar,
    body.public-body > main.qr-menu.theme-noir-catalog:has(.menu-category:target) .menu-toolbar,
    body.public-body > main.qr-menu.theme-noir-catalog:has(.menu-product:target) .menu-toolbar,
    body.public-body > main.qr-menu.theme-noir-catalog.is-noir-deep-link .menu-toolbar,
    body.public-body > main.qr-menu.theme-noir-catalog.noir-toolbar-fixed .menu-toolbar {
        width: 100% !important;
    }

    html.has-menu-deep-link body.public-body > main.qr-menu.theme-noir-catalog .menu-content,
    html.is-menu-deep-link-booting body.public-body > main.qr-menu.theme-noir-catalog .menu-content,
    body.public-body > main.qr-menu.theme-noir-catalog:has(.menu-category:target) .menu-content,
    body.public-body > main.qr-menu.theme-noir-catalog:has(.menu-product:target) .menu-content,
    body.public-body > main.qr-menu.theme-noir-catalog.is-noir-deep-link .menu-content,
    body.public-body > main.qr-menu.theme-noir-catalog.noir-toolbar-fixed .menu-content {
        padding-top: calc(var(--theme2-toolbar-height, 76px) + 12px) !important;
    }
}

/* v273 theme 2 product listing title and one-line description */
body.public-body > main.qr-menu.theme-noir-catalog .menu-product .product-info {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    grid-template-rows: auto auto minmax(0, 1fr) !important;
    min-width: 0 !important;
}

body.public-body > main.qr-menu.theme-noir-catalog .menu-product .product-title-row {
    display: contents !important;
}

body.public-body > main.qr-menu.theme-noir-catalog .menu-product .product-title-row h3 {
    align-self: start !important;
    grid-column: 1 / 3 !important;
    grid-row: 1 !important;
    margin: 8px 0 0 !important;
    min-width: 0 !important;
}

body.public-body > main.qr-menu.theme-noir-catalog .menu-product .product-description-short,
body.public-body > main.qr-menu.theme-noir-catalog .menu-product .product-description-trigger {
    appearance: none !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    color: var(--theme2-muted) !important;
    display: block !important;
    font: inherit !important;
    grid-column: 1 / 3 !important;
    grid-row: 2 !important;
    line-height: 1.25 !important;
    margin: 5px 0 0 !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow: hidden !important;
    padding: 0 !important;
    text-align: left !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    width: 100% !important;
}

body.public-body > main.qr-menu.theme-noir-catalog .menu-product .product-description-trigger span {
    display: block !important;
    max-width: 100% !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

body.public-body > main.qr-menu.theme-noir-catalog .menu-product .price-stack {
    align-self: end !important;
    grid-column: 1 !important;
    grid-row: 3 !important;
    justify-self: start !important;
}

body.public-body > main.qr-menu.theme-noir-catalog .menu-product .product-action-row {
    align-self: end !important;
    grid-column: 2 !important;
    grid-row: 3 !important;
    justify-self: end !important;
}

@media (min-width: 760px) {
    body.public-body > main.qr-menu.theme-noir-catalog .menu-product .product-info {
        padding-top: 12px !important;
    }

    body.public-body > main.qr-menu.theme-noir-catalog .menu-product .product-title-row h3 {
        margin-top: 2px !important;
    }
}

@media (max-width: 759px) {
    body.public-body > main.qr-menu.theme-noir-catalog .menu-product .product-info {
        min-height: 86px !important;
        padding-top: 12px !important;
    }

    body.public-body > main.qr-menu.theme-noir-catalog .menu-product .product-title-row h3 {
        margin-top: 0 !important;
    }

    body.public-body > main.qr-menu.theme-noir-catalog .menu-product .product-description-short,
    body.public-body > main.qr-menu.theme-noir-catalog .menu-product .product-description-trigger {
        font-size: 11px !important;
        line-height: 1.15 !important;
        margin-top: 4px !important;
    }
}

/* v274 theme 2 mobile product description without action overflow */
@media (max-width: 759px) {
    body.public-body > main.qr-menu.theme-noir-catalog .menu-product .product-info {
        display: block !important;
        min-width: 0 !important;
        overflow: hidden !important;
        padding: 12px 104px 34px 10px !important;
        position: relative !important;
    }

    body.public-body > main.qr-menu.theme-noir-catalog .menu-product .product-title-row {
        display: block !important;
        min-width: 0 !important;
    }

    body.public-body > main.qr-menu.theme-noir-catalog .menu-product .product-title-row h3 {
        display: -webkit-box !important;
        margin: 0 !important;
        max-width: 100% !important;
        overflow: hidden !important;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 1;
    }

    body.public-body > main.qr-menu.theme-noir-catalog .menu-product .product-description-short,
    body.public-body > main.qr-menu.theme-noir-catalog .menu-product .product-description-trigger {
        display: block !important;
        font-size: 10.5px !important;
        line-height: 1.15 !important;
        margin: 6px 0 0 !important;
        max-width: 100% !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
        width: 100% !important;
    }

    body.public-body > main.qr-menu.theme-noir-catalog .menu-product .price-stack {
        bottom: 6px !important;
        left: 10px !important;
        max-width: calc(100% - 108px) !important;
        position: absolute !important;
        right: 98px !important;
        width: auto !important;
    }

    body.public-body > main.qr-menu.theme-noir-catalog .menu-product .product-action-row {
        bottom: 6px !important;
        grid-column: auto !important;
        grid-row: auto !important;
        height: 28px !important;
        position: absolute !important;
        right: 44px !important;
        width: 48px !important;
    }

    body.public-body > main.qr-menu.theme-noir-catalog .menu-product .menu-cart-add {
        height: 28px !important;
        min-height: 28px !important;
        min-width: 44px !important;
        width: 48px !important;
    }
}

/* v276 theme 2 keep cover, logo and mode toggle visible after category navigation */
html.has-menu-deep-link body.public-body > main.qr-menu.theme-noir-catalog .menu-hero,
html.is-menu-deep-link-booting body.public-body > main.qr-menu.theme-noir-catalog .menu-hero,
body.public-body > main.qr-menu.theme-noir-catalog:has(.menu-category:target) .menu-hero,
body.public-body > main.qr-menu.theme-noir-catalog:has(.menu-product:target) .menu-hero,
body.public-body > main.qr-menu.theme-noir-catalog.is-noir-deep-link .menu-hero,
body.public-body > main.qr-menu.theme-noir-catalog.has-cover:has(.menu-category:target) .menu-hero,
body.public-body > main.qr-menu.theme-noir-catalog.has-cover:has(.menu-product:target) .menu-hero {
    align-items: center !important;
    display: flex !important;
    height: auto !important;
    margin: 0 !important;
    min-height: 138px !important;
    opacity: 1 !important;
    overflow: visible !important;
    padding: 26px 72px 24px 24px !important;
    visibility: visible !important;
}

body.public-body > main.qr-menu.theme-noir-catalog:has(.menu-category:target) .menu-hero .hero-mode-toggle,
body.public-body > main.qr-menu.theme-noir-catalog:has(.menu-product:target) .menu-hero .hero-mode-toggle,
body.public-body > main.qr-menu.theme-noir-catalog.is-noir-deep-link .menu-hero .hero-mode-toggle {
    display: inline-flex !important;
    opacity: 1 !important;
    visibility: visible !important;
}

@media (max-width: 640px) {
    html.has-menu-deep-link body.public-body > main.qr-menu.theme-noir-catalog .menu-hero,
    html.is-menu-deep-link-booting body.public-body > main.qr-menu.theme-noir-catalog .menu-hero,
    body.public-body > main.qr-menu.theme-noir-catalog:has(.menu-category:target) .menu-hero,
    body.public-body > main.qr-menu.theme-noir-catalog:has(.menu-product:target) .menu-hero,
    body.public-body > main.qr-menu.theme-noir-catalog.is-noir-deep-link .menu-hero,
    body.public-body > main.qr-menu.theme-noir-catalog.has-cover:has(.menu-category:target) .menu-hero,
    body.public-body > main.qr-menu.theme-noir-catalog.has-cover:has(.menu-product:target) .menu-hero {
        min-height: 118px !important;
        padding: 18px 64px 18px 16px !important;
    }
}

/* v277 theme 2 cover-toolbar alignment */
body.public-body > main.qr-menu.theme-noir-catalog .menu-main-flow {
    background: var(--theme2-page, #f4f5f7) !important;
}

body.public-body > main.qr-menu.theme-noir-catalog .menu-hero,
body.public-body > main.qr-menu.theme-noir-catalog.has-cover .menu-hero,
html.has-menu-deep-link body.public-body > main.qr-menu.theme-noir-catalog .menu-hero,
html.is-menu-deep-link-booting body.public-body > main.qr-menu.theme-noir-catalog .menu-hero,
body.public-body > main.qr-menu.theme-noir-catalog:has(.menu-category:target) .menu-hero,
body.public-body > main.qr-menu.theme-noir-catalog:has(.menu-product:target) .menu-hero,
body.public-body > main.qr-menu.theme-noir-catalog.is-noir-deep-link .menu-hero {
    border-bottom: 1px solid var(--theme2-line, rgba(16, 17, 20, .12)) !important;
    display: flex !important;
    margin: 0 !important;
    min-height: 136px !important;
    overflow: visible !important;
    padding: 24px 78px 22px 22px !important;
    position: relative !important;
    z-index: 30 !important;
}

body.public-body > main.qr-menu.theme-noir-catalog .menu-hero-content.menu-cover-layout {
    align-items: center !important;
    display: grid !important;
    gap: 12px !important;
    grid-template-columns: 70px minmax(0, 1fr) !important;
    margin: 0 auto !important;
    max-width: 1160px !important;
    padding: 0 !important;
    width: 100% !important;
}

body.public-body > main.qr-menu.theme-noir-catalog .menu-cover-business {
    align-self: center !important;
    min-width: 0 !important;
}

body.public-body > main.qr-menu.theme-noir-catalog .menu-cover-business h1 {
    line-height: 1.05 !important;
    margin: 0 !important;
}

body.public-body > main.qr-menu.theme-noir-catalog .menu-cover-subtitle {
    margin-top: 6px !important;
}

body.public-body > main.qr-menu.theme-noir-catalog .menu-hero .hero-mode-toggle,
body.public-body > main.qr-menu.theme-noir-catalog.has-view-mode-toggle .menu-hero .hero-mode-toggle,
body.public-body > main.qr-menu.theme-noir-catalog:has(.menu-category:target) .menu-hero .hero-mode-toggle,
body.public-body > main.qr-menu.theme-noir-catalog:has(.menu-product:target) .menu-hero .hero-mode-toggle,
body.public-body > main.qr-menu.theme-noir-catalog.is-noir-deep-link .menu-hero .hero-mode-toggle {
    display: inline-flex !important;
    height: 42px !important;
    margin: 0 !important;
    min-height: 42px !important;
    opacity: 1 !important;
    position: absolute !important;
    right: 22px !important;
    top: 48px !important;
    transform: none !important;
    visibility: visible !important;
    width: 42px !important;
    z-index: 80 !important;
}

body.public-body > main.qr-menu.theme-noir-catalog .menu-toolbar,
body.public-body > main.qr-menu.theme-noir-catalog.noir-toolbar-fixed .menu-toolbar,
body.public-body > main.qr-menu.theme-noir-catalog.is-noir-deep-link .menu-toolbar,
body.public-body > main.qr-menu.theme-noir-catalog:has(.menu-category:target) .menu-toolbar,
body.public-body > main.qr-menu.theme-noir-catalog:has(.menu-product:target) .menu-toolbar,
html.has-menu-deep-link body.public-body > main.qr-menu.theme-noir-catalog .menu-toolbar,
html.is-menu-deep-link-booting body.public-body > main.qr-menu.theme-noir-catalog .menu-toolbar {
    align-items: center !important;
    background: var(--theme2-panel, #ffffff) !important;
    border-bottom: 1px solid var(--theme2-line, rgba(16, 17, 20, .12)) !important;
    border-radius: 0 !important;
    box-shadow: 0 10px 24px rgba(16, 17, 20, .07) !important;
    box-sizing: border-box !important;
    display: grid !important;
    gap: 12px !important;
    grid-template-columns: minmax(240px, 360px) minmax(0, 1fr) !important;
    inset: auto !important;
    left: auto !important;
    margin: 0 !important;
    max-width: none !important;
    overflow: hidden !important;
    padding: 10px max(12px, calc((100vw - 1160px) / 2)) !important;
    position: sticky !important;
    right: auto !important;
    top: 0 !important;
    transform: none !important;
    width: 100% !important;
    z-index: 70 !important;
}

body.public-body > main.qr-menu.theme-noir-catalog[data-view-mode="dark"] .menu-toolbar {
    background: var(--theme2-panel, #121212) !important;
}

body.public-body > main.qr-menu.theme-noir-catalog .menu-search,
body.public-body > main.qr-menu.theme-noir-catalog .category-tabs {
    max-width: none !important;
    min-width: 0 !important;
    width: 100% !important;
}

body.public-body > main.qr-menu.theme-noir-catalog .category-tabs {
    justify-content: flex-start !important;
    padding: 0 !important;
    scroll-padding-left: 0 !important;
}

body.public-body > main.qr-menu.theme-noir-catalog .menu-content,
body.public-body > main.qr-menu.theme-noir-catalog.noir-toolbar-fixed .menu-content,
body.public-body > main.qr-menu.theme-noir-catalog.is-noir-deep-link .menu-content,
body.public-body > main.qr-menu.theme-noir-catalog:has(.menu-category:target) .menu-content,
body.public-body > main.qr-menu.theme-noir-catalog:has(.menu-product:target) .menu-content,
html.has-menu-deep-link body.public-body > main.qr-menu.theme-noir-catalog .menu-content,
html.is-menu-deep-link-booting body.public-body > main.qr-menu.theme-noir-catalog .menu-content {
    padding-top: 20px !important;
}

body.public-body > main.qr-menu.theme-noir-catalog .menu-category,
body.public-body > main.qr-menu.theme-noir-catalog .menu-product {
    scroll-margin-top: calc(var(--noir-toolbar-height, 76px) + 18px) !important;
}

@media (max-width: 759px) {
    body.public-body > main.qr-menu.theme-noir-catalog .menu-hero,
    body.public-body > main.qr-menu.theme-noir-catalog.has-cover .menu-hero,
    html.has-menu-deep-link body.public-body > main.qr-menu.theme-noir-catalog .menu-hero,
    html.is-menu-deep-link-booting body.public-body > main.qr-menu.theme-noir-catalog .menu-hero,
    body.public-body > main.qr-menu.theme-noir-catalog:has(.menu-category:target) .menu-hero,
    body.public-body > main.qr-menu.theme-noir-catalog:has(.menu-product:target) .menu-hero,
    body.public-body > main.qr-menu.theme-noir-catalog.is-noir-deep-link .menu-hero {
        min-height: 118px !important;
        padding: 18px 62px 18px 14px !important;
    }

    body.public-body > main.qr-menu.theme-noir-catalog .menu-hero-content.menu-cover-layout {
        gap: 10px !important;
        grid-template-columns: 58px minmax(0, 1fr) !important;
    }

    body.public-body > main.qr-menu.theme-noir-catalog .menu-hero .hero-mode-toggle,
    body.public-body > main.qr-menu.theme-noir-catalog.has-view-mode-toggle .menu-hero .hero-mode-toggle,
    body.public-body > main.qr-menu.theme-noir-catalog:has(.menu-category:target) .menu-hero .hero-mode-toggle,
    body.public-body > main.qr-menu.theme-noir-catalog:has(.menu-product:target) .menu-hero .hero-mode-toggle,
    body.public-body > main.qr-menu.theme-noir-catalog.is-noir-deep-link .menu-hero .hero-mode-toggle {
        height: 40px !important;
        min-height: 40px !important;
        right: 12px !important;
        top: 42px !important;
        width: 40px !important;
    }

    body.public-body > main.qr-menu.theme-noir-catalog .menu-toolbar,
    body.public-body > main.qr-menu.theme-noir-catalog.noir-toolbar-fixed .menu-toolbar,
    body.public-body > main.qr-menu.theme-noir-catalog.is-noir-deep-link .menu-toolbar,
    body.public-body > main.qr-menu.theme-noir-catalog:has(.menu-category:target) .menu-toolbar,
    body.public-body > main.qr-menu.theme-noir-catalog:has(.menu-product:target) .menu-toolbar,
    html.has-menu-deep-link body.public-body > main.qr-menu.theme-noir-catalog .menu-toolbar,
    html.is-menu-deep-link-booting body.public-body > main.qr-menu.theme-noir-catalog .menu-toolbar {
        gap: 8px !important;
        grid-template-columns: 1fr !important;
        padding: 10px !important;
        width: 100% !important;
    }

    body.public-body > main.qr-menu.theme-noir-catalog .menu-content,
    body.public-body > main.qr-menu.theme-noir-catalog.noir-toolbar-fixed .menu-content,
    body.public-body > main.qr-menu.theme-noir-catalog.is-noir-deep-link .menu-content,
    body.public-body > main.qr-menu.theme-noir-catalog:has(.menu-category:target) .menu-content,
    body.public-body > main.qr-menu.theme-noir-catalog:has(.menu-product:target) .menu-content,
    html.has-menu-deep-link body.public-body > main.qr-menu.theme-noir-catalog .menu-content,
    html.is-menu-deep-link-booting body.public-body > main.qr-menu.theme-noir-catalog .menu-content {
        padding-top: 12px !important;
    }
}

/* v281 pre-final hard reset for theme 2 day/night button */
body.public-body > main.qr-menu.theme-noir-catalog .menu-hero .menu-mode-toggle.hero-mode-toggle[data-mode-toggle] {
    all: unset !important;
    align-items: center !important;
    background: #111111 !important;
    border: 1px solid #111111 !important;
    border-radius: 999px !important;
    box-shadow: 0 12px 28px rgba(16, 17, 20, .18) !important;
    box-sizing: border-box !important;
    color: #ffffff !important;
    cursor: pointer !important;
    display: inline-flex !important;
    height: 42px !important;
    justify-content: center !important;
    opacity: 1 !important;
    overflow: visible !important;
    pointer-events: auto !important;
    position: absolute !important;
    right: 22px !important;
    top: 48px !important;
    visibility: visible !important;
    width: 42px !important;
    z-index: 9999 !important;
}

body.public-body > main.qr-menu.theme-noir-catalog[data-view-mode="dark"] .menu-hero .menu-mode-toggle.hero-mode-toggle[data-mode-toggle] {
    background: #ffffff !important;
    border-color: #ffffff !important;
    color: #111111 !important;
}

@media (max-width: 759px) {
    body.public-body > main.qr-menu.theme-noir-catalog .menu-hero .menu-mode-toggle.hero-mode-toggle[data-mode-toggle] {
        height: 40px !important;
        right: 12px !important;
        top: 42px !important;
        width: 40px !important;
    }
}

/* v279 final theme 2 day/night button alignment */
body.public-body > main.qr-menu.theme-noir-catalog button.hero-mode-toggle,
body.public-body > main.qr-menu.theme-noir-catalog.has-view-mode-toggle button.hero-mode-toggle,
body.public-body > main.qr-menu.theme-noir-catalog .menu-hero button.hero-mode-toggle,
body.public-body > main.qr-menu.theme-noir-catalog.has-view-mode-toggle .menu-hero button.hero-mode-toggle {
    align-items: center !important;
    clip: auto !important;
    display: inline-flex !important;
    height: 42px !important;
    inset: 48px 22px auto auto !important;
    justify-content: center !important;
    margin: 0 !important;
    min-height: 42px !important;
    min-width: 42px !important;
    opacity: 1 !important;
    overflow: visible !important;
    pointer-events: auto !important;
    position: absolute !important;
    transform: none !important;
    visibility: visible !important;
    width: 42px !important;
    z-index: 999 !important;
}

body.public-body > main.qr-menu.theme-noir-catalog[data-view-mode="light"] button.hero-mode-toggle {
    background: #111111 !important;
    border: 1px solid #111111 !important;
    color: #ffffff !important;
}

body.public-body > main.qr-menu.theme-noir-catalog[data-view-mode="dark"] button.hero-mode-toggle {
    background: #ffffff !important;
    border: 1px solid #ffffff !important;
    color: #111111 !important;
}

body.public-body > main.qr-menu.theme-noir-catalog button.hero-mode-toggle .mode-icon {
    align-items: center !important;
    color: currentColor !important;
    font-size: 18px !important;
    height: 1em !important;
    justify-content: center !important;
    line-height: 1 !important;
    width: 1em !important;
}

body.public-body > main.qr-menu.theme-noir-catalog[data-view-mode="light"] button.hero-mode-toggle .mode-icon-moon,
body.public-body > main.qr-menu.theme-noir-catalog[data-view-mode="dark"] button.hero-mode-toggle .mode-icon-sun {
    display: none !important;
}

body.public-body > main.qr-menu.theme-noir-catalog[data-view-mode="light"] button.hero-mode-toggle .mode-icon-sun,
body.public-body > main.qr-menu.theme-noir-catalog[data-view-mode="dark"] button.hero-mode-toggle .mode-icon-moon {
    display: inline-flex !important;
}

@media (max-width: 759px) {
    body.public-body > main.qr-menu.theme-noir-catalog button.hero-mode-toggle,
    body.public-body > main.qr-menu.theme-noir-catalog.has-view-mode-toggle button.hero-mode-toggle,
    body.public-body > main.qr-menu.theme-noir-catalog .menu-hero button.hero-mode-toggle,
    body.public-body > main.qr-menu.theme-noir-catalog.has-view-mode-toggle .menu-hero button.hero-mode-toggle {
        height: 40px !important;
        inset: 42px 12px auto auto !important;
        min-height: 40px !important;
        min-width: 40px !important;
        width: 40px !important;
    }
}

/* v285 final eof theme 2 mobile-only sticky categories and top-right mode button */
@media (max-width: 759px) {
    body.public-body > main.qr-menu.theme-noir-catalog .menu-hero,
    body.public-body > main.qr-menu.theme-noir-catalog.has-cover .menu-hero,
    body.public-body > main.qr-menu.theme-noir-catalog:has(.menu-category:target) .menu-hero,
    body.public-body > main.qr-menu.theme-noir-catalog:has(.menu-product:target) .menu-hero {
        padding-right: 58px !important;
        position: relative !important;
    }

    body.public-body > main.qr-menu.theme-noir-catalog .theme2-title-row {
        padding-right: 0 !important;
    }

    body.public-body > main.qr-menu.theme-noir-catalog .theme2-title-row .menu-mode-toggle.hero-mode-toggle[data-mode-toggle],
    body.public-body > main.qr-menu.theme-noir-catalog .menu-hero .menu-mode-toggle.hero-mode-toggle[data-mode-toggle],
    body.public-body > main.qr-menu.theme-noir-catalog button.hero-mode-toggle {
        align-items: center !important;
        background: #111111 !important;
        border: 1px solid #111111 !important;
        border-radius: 999px !important;
        box-shadow: 0 10px 24px rgba(16, 17, 20, .18) !important;
        box-sizing: border-box !important;
        color: #ffffff !important;
        cursor: pointer !important;
        display: inline-flex !important;
        height: 38px !important;
        inset: 10px 10px auto auto !important;
        justify-content: center !important;
        margin: 0 !important;
        min-height: 38px !important;
        min-width: 38px !important;
        opacity: 1 !important;
        overflow: visible !important;
        padding: 0 !important;
        pointer-events: auto !important;
        position: absolute !important;
        transform: none !important;
        visibility: visible !important;
        width: 38px !important;
        z-index: 10000 !important;
    }

    body.public-body > main.qr-menu.theme-noir-catalog[data-view-mode="dark"] .theme2-title-row .menu-mode-toggle.hero-mode-toggle[data-mode-toggle],
    body.public-body > main.qr-menu.theme-noir-catalog[data-view-mode="dark"] .menu-hero .menu-mode-toggle.hero-mode-toggle[data-mode-toggle],
    body.public-body > main.qr-menu.theme-noir-catalog[data-view-mode="dark"] button.hero-mode-toggle {
        background: #ffffff !important;
        border-color: #ffffff !important;
        color: #111111 !important;
    }

    body.public-body > main.qr-menu.theme-noir-catalog .menu-toolbar,
    body.public-body > main.qr-menu.theme-noir-catalog.noir-toolbar-fixed .menu-toolbar,
    body.public-body > main.qr-menu.theme-noir-catalog.is-noir-deep-link .menu-toolbar,
    body.public-body > main.qr-menu.theme-noir-catalog:has(.menu-category:target) .menu-toolbar,
    body.public-body > main.qr-menu.theme-noir-catalog:has(.menu-product:target) .menu-toolbar,
    html.has-menu-deep-link body.public-body > main.qr-menu.theme-noir-catalog .menu-toolbar,
    html.is-menu-deep-link-booting body.public-body > main.qr-menu.theme-noir-catalog .menu-toolbar {
        box-sizing: border-box !important;
        display: grid !important;
        gap: 8px !important;
        grid-template-columns: 1fr !important;
        inset: auto !important;
        left: auto !important;
        margin: 0 !important;
        max-width: none !important;
        padding: 10px !important;
        position: sticky !important;
        right: auto !important;
        top: 0 !important;
        transform: none !important;
        width: 100% !important;
        z-index: 1200 !important;
    }

    body.public-body > main.qr-menu.theme-noir-catalog .menu-content,
    body.public-body > main.qr-menu.theme-noir-catalog.noir-toolbar-fixed .menu-content,
    body.public-body > main.qr-menu.theme-noir-catalog.is-noir-deep-link .menu-content,
    body.public-body > main.qr-menu.theme-noir-catalog:has(.menu-category:target) .menu-content,
    body.public-body > main.qr-menu.theme-noir-catalog:has(.menu-product:target) .menu-content,
    html.has-menu-deep-link body.public-body > main.qr-menu.theme-noir-catalog .menu-content,
    html.is-menu-deep-link-booting body.public-body > main.qr-menu.theme-noir-catalog .menu-content {
        padding-top: 12px !important;
    }

    body.public-body > main.qr-menu.theme-noir-catalog .menu-category,
    body.public-body > main.qr-menu.theme-noir-catalog .menu-product {
        scroll-margin-top: calc(var(--noir-toolbar-height, 94px) + 12px) !important;
    }
}

/* v286 theme 2 fixed grid categories and cover-bottom mode button */
body.public-body > main.qr-menu.theme-noir-catalog .menu-hero,
body.public-body > main.qr-menu.theme-noir-catalog.has-cover .menu-hero,
html.has-menu-deep-link body.public-body > main.qr-menu.theme-noir-catalog .menu-hero,
html.is-menu-deep-link-booting body.public-body > main.qr-menu.theme-noir-catalog .menu-hero,
body.public-body > main.qr-menu.theme-noir-catalog:has(.menu-category:target) .menu-hero,
body.public-body > main.qr-menu.theme-noir-catalog:has(.menu-product:target) .menu-hero {
    position: relative !important;
}

body.public-body > main.qr-menu.theme-noir-catalog .theme2-title-row .menu-mode-toggle.hero-mode-toggle[data-mode-toggle],
body.public-body > main.qr-menu.theme-noir-catalog .menu-hero .menu-mode-toggle.hero-mode-toggle[data-mode-toggle],
body.public-body > main.qr-menu.theme-noir-catalog button.hero-mode-toggle {
    align-items: center !important;
    background: #111111 !important;
    border: 1px solid #111111 !important;
    border-radius: 999px !important;
    box-shadow: 0 10px 24px rgba(16, 17, 20, .18) !important;
    box-sizing: border-box !important;
    color: #ffffff !important;
    cursor: pointer !important;
    display: inline-flex !important;
    height: 42px !important;
    inset: auto 24px 20px auto !important;
    justify-content: center !important;
    margin: 0 !important;
    min-height: 42px !important;
    min-width: 42px !important;
    opacity: 1 !important;
    overflow: visible !important;
    padding: 0 !important;
    pointer-events: auto !important;
    position: absolute !important;
    transform: none !important;
    visibility: visible !important;
    width: 42px !important;
    z-index: 10000 !important;
}

body.public-body > main.qr-menu.theme-noir-catalog[data-view-mode="dark"] .theme2-title-row .menu-mode-toggle.hero-mode-toggle[data-mode-toggle],
body.public-body > main.qr-menu.theme-noir-catalog[data-view-mode="dark"] .menu-hero .menu-mode-toggle.hero-mode-toggle[data-mode-toggle],
body.public-body > main.qr-menu.theme-noir-catalog[data-view-mode="dark"] button.hero-mode-toggle {
    background: #ffffff !important;
    border-color: #ffffff !important;
    color: #111111 !important;
}

body.public-body > main.qr-menu.theme-noir-catalog .menu-toolbar,
body.public-body > main.qr-menu.theme-noir-catalog.noir-toolbar-fixed .menu-toolbar,
body.public-body > main.qr-menu.theme-noir-catalog.is-noir-deep-link .menu-toolbar,
body.public-body > main.qr-menu.theme-noir-catalog:has(.menu-category:target) .menu-toolbar,
body.public-body > main.qr-menu.theme-noir-catalog:has(.menu-product:target) .menu-toolbar,
html.has-menu-deep-link body.public-body > main.qr-menu.theme-noir-catalog .menu-toolbar,
html.is-menu-deep-link-booting body.public-body > main.qr-menu.theme-noir-catalog .menu-toolbar {
    background: var(--menu-bg, #f4f5f7) !important;
    box-sizing: border-box !important;
    display: grid !important;
    gap: 10px !important;
    grid-template-columns: 1fr !important;
    inset: auto !important;
    left: auto !important;
    margin: 0 auto !important;
    max-width: min(1160px, calc(100vw - 32px)) !important;
    padding: 12px 0 !important;
    position: sticky !important;
    right: auto !important;
    top: 0 !important;
    transform: none !important;
    width: 100% !important;
    z-index: 1200 !important;
}

body.public-body > main.qr-menu.theme-noir-catalog .category-tabs-wrap {
    overflow: visible !important;
    width: 100% !important;
}

body.public-body > main.qr-menu.theme-noir-catalog .category-tabs {
    display: grid !important;
    gap: 8px !important;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)) !important;
    overflow: visible !important;
    padding: 0 !important;
    width: 100% !important;
}

body.public-body > main.qr-menu.theme-noir-catalog .category-tabs .category-tab,
body.public-body > main.qr-menu.theme-noir-catalog .category-tabs a {
    justify-content: center !important;
    min-width: 0 !important;
    width: 100% !important;
}

body.public-body > main.qr-menu.theme-noir-catalog .menu-category,
body.public-body > main.qr-menu.theme-noir-catalog .menu-product {
    scroll-margin-top: calc(var(--noir-toolbar-height, 120px) + 14px) !important;
}

@media (max-width: 759px) {
    body.public-body > main.qr-menu.theme-noir-catalog .menu-hero,
    body.public-body > main.qr-menu.theme-noir-catalog.has-cover .menu-hero,
    html.has-menu-deep-link body.public-body > main.qr-menu.theme-noir-catalog .menu-hero,
    html.is-menu-deep-link-booting body.public-body > main.qr-menu.theme-noir-catalog .menu-hero,
    body.public-body > main.qr-menu.theme-noir-catalog:has(.menu-category:target) .menu-hero,
    body.public-body > main.qr-menu.theme-noir-catalog:has(.menu-product:target) .menu-hero {
        padding-right: 0 !important;
    }

    body.public-body > main.qr-menu.theme-noir-catalog .theme2-title-row .menu-mode-toggle.hero-mode-toggle[data-mode-toggle],
    body.public-body > main.qr-menu.theme-noir-catalog .menu-hero .menu-mode-toggle.hero-mode-toggle[data-mode-toggle],
    body.public-body > main.qr-menu.theme-noir-catalog button.hero-mode-toggle {
        height: 38px !important;
        inset: auto 14px 14px auto !important;
        min-height: 38px !important;
        min-width: 38px !important;
        width: 38px !important;
    }

    body.public-body > main.qr-menu.theme-noir-catalog .menu-toolbar,
    body.public-body > main.qr-menu.theme-noir-catalog.noir-toolbar-fixed .menu-toolbar,
    body.public-body > main.qr-menu.theme-noir-catalog.is-noir-deep-link .menu-toolbar,
    body.public-body > main.qr-menu.theme-noir-catalog:has(.menu-category:target) .menu-toolbar,
    body.public-body > main.qr-menu.theme-noir-catalog:has(.menu-product:target) .menu-toolbar,
    html.has-menu-deep-link body.public-body > main.qr-menu.theme-noir-catalog .menu-toolbar,
    html.is-menu-deep-link-booting body.public-body > main.qr-menu.theme-noir-catalog .menu-toolbar {
        max-width: none !important;
        padding: 10px !important;
        top: 0 !important;
        width: 100% !important;
    }

    body.public-body > main.qr-menu.theme-noir-catalog .category-tabs {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

/* v287 theme 2 force sticky grid navigation over sticky-pills preset */
body.public-body > main.qr-menu.theme-noir-catalog.nav-sticky_pills .menu-hero,
body.public-body > main.qr-menu.theme-noir-catalog.nav-category_grid .menu-hero,
body.public-body > main.qr-menu.theme-noir-catalog.nav-minimal_tabs .menu-hero {
    position: relative !important;
}

body.public-body > main.qr-menu.theme-noir-catalog.nav-sticky_pills .theme2-title-row .menu-mode-toggle.hero-mode-toggle[data-mode-toggle],
body.public-body > main.qr-menu.theme-noir-catalog.nav-category_grid .theme2-title-row .menu-mode-toggle.hero-mode-toggle[data-mode-toggle],
body.public-body > main.qr-menu.theme-noir-catalog.nav-minimal_tabs .theme2-title-row .menu-mode-toggle.hero-mode-toggle[data-mode-toggle],
body.public-body > main.qr-menu.theme-noir-catalog.nav-sticky_pills .menu-hero .menu-mode-toggle.hero-mode-toggle[data-mode-toggle],
body.public-body > main.qr-menu.theme-noir-catalog.nav-category_grid .menu-hero .menu-mode-toggle.hero-mode-toggle[data-mode-toggle],
body.public-body > main.qr-menu.theme-noir-catalog.nav-minimal_tabs .menu-hero .menu-mode-toggle.hero-mode-toggle[data-mode-toggle] {
    inset: auto 24px 20px auto !important;
    position: absolute !important;
}

body.public-body > main.qr-menu.theme-noir-catalog.nav-sticky_pills .menu-toolbar,
body.public-body > main.qr-menu.theme-noir-catalog.nav-category_grid .menu-toolbar,
body.public-body > main.qr-menu.theme-noir-catalog.nav-minimal_tabs .menu-toolbar,
body.public-body > main.qr-menu.theme-noir-catalog.nav-sticky_pills.noir-toolbar-fixed .menu-toolbar,
body.public-body > main.qr-menu.theme-noir-catalog.nav-category_grid.noir-toolbar-fixed .menu-toolbar,
body.public-body > main.qr-menu.theme-noir-catalog.nav-minimal_tabs.noir-toolbar-fixed .menu-toolbar,
body.public-body > main.qr-menu.theme-noir-catalog.nav-sticky_pills:has(.menu-category:target) .menu-toolbar,
body.public-body > main.qr-menu.theme-noir-catalog.nav-category_grid:has(.menu-category:target) .menu-toolbar,
body.public-body > main.qr-menu.theme-noir-catalog.nav-minimal_tabs:has(.menu-category:target) .menu-toolbar {
    background: var(--menu-bg, #f4f5f7) !important;
    box-sizing: border-box !important;
    display: grid !important;
    gap: 10px !important;
    grid-template-columns: 1fr !important;
    left: auto !important;
    margin: 0 auto !important;
    max-width: min(1160px, calc(100vw - 32px)) !important;
    padding: 12px 0 !important;
    position: sticky !important;
    right: auto !important;
    top: 0 !important;
    transform: none !important;
    width: 100% !important;
    z-index: 1200 !important;
}

body.public-body > main.qr-menu.theme-noir-catalog.nav-sticky_pills .category-tabs,
body.public-body > main.qr-menu.theme-noir-catalog.nav-category_grid .category-tabs,
body.public-body > main.qr-menu.theme-noir-catalog.nav-minimal_tabs .category-tabs {
    display: grid !important;
    gap: 8px !important;
    grid-auto-flow: row !important;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)) !important;
    overflow: visible !important;
    padding: 0 !important;
    scrollbar-width: auto !important;
    width: 100% !important;
}

body.public-body > main.qr-menu.theme-noir-catalog.nav-sticky_pills .category-tabs a,
body.public-body > main.qr-menu.theme-noir-catalog.nav-category_grid .category-tabs a,
body.public-body > main.qr-menu.theme-noir-catalog.nav-minimal_tabs .category-tabs a {
    justify-content: center !important;
    min-width: 0 !important;
    width: 100% !important;
}

@media (max-width: 759px) {
    body.public-body > main.qr-menu.theme-noir-catalog.nav-sticky_pills .theme2-title-row .menu-mode-toggle.hero-mode-toggle[data-mode-toggle],
    body.public-body > main.qr-menu.theme-noir-catalog.nav-category_grid .theme2-title-row .menu-mode-toggle.hero-mode-toggle[data-mode-toggle],
    body.public-body > main.qr-menu.theme-noir-catalog.nav-minimal_tabs .theme2-title-row .menu-mode-toggle.hero-mode-toggle[data-mode-toggle],
    body.public-body > main.qr-menu.theme-noir-catalog.nav-sticky_pills .menu-hero .menu-mode-toggle.hero-mode-toggle[data-mode-toggle],
    body.public-body > main.qr-menu.theme-noir-catalog.nav-category_grid .menu-hero .menu-mode-toggle.hero-mode-toggle[data-mode-toggle],
    body.public-body > main.qr-menu.theme-noir-catalog.nav-minimal_tabs .menu-hero .menu-mode-toggle.hero-mode-toggle[data-mode-toggle] {
        inset: auto 14px 14px auto !important;
    }

    body.public-body > main.qr-menu.theme-noir-catalog.nav-sticky_pills .menu-toolbar,
    body.public-body > main.qr-menu.theme-noir-catalog.nav-category_grid .menu-toolbar,
    body.public-body > main.qr-menu.theme-noir-catalog.nav-minimal_tabs .menu-toolbar,
    body.public-body > main.qr-menu.theme-noir-catalog.nav-sticky_pills.noir-toolbar-fixed .menu-toolbar,
    body.public-body > main.qr-menu.theme-noir-catalog.nav-category_grid.noir-toolbar-fixed .menu-toolbar,
    body.public-body > main.qr-menu.theme-noir-catalog.nav-minimal_tabs.noir-toolbar-fixed .menu-toolbar {
        max-width: none !important;
        padding: 10px !important;
        width: 100% !important;
    }

    body.public-body > main.qr-menu.theme-noir-catalog.nav-sticky_pills .category-tabs,
    body.public-body > main.qr-menu.theme-noir-catalog.nav-category_grid .category-tabs,
    body.public-body > main.qr-menu.theme-noir-catalog.nav-minimal_tabs .category-tabs {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

/* v288 theme 2 anchor mode button to the cover instead of the title row */
body.public-body > main.qr-menu.theme-noir-catalog.nav-sticky_pills .menu-hero-content.menu-cover-layout,
body.public-body > main.qr-menu.theme-noir-catalog.nav-category_grid .menu-hero-content.menu-cover-layout,
body.public-body > main.qr-menu.theme-noir-catalog.nav-minimal_tabs .menu-hero-content.menu-cover-layout,
body.public-body > main.qr-menu.theme-noir-catalog.nav-sticky_pills .theme2-title-row,
body.public-body > main.qr-menu.theme-noir-catalog.nav-category_grid .theme2-title-row,
body.public-body > main.qr-menu.theme-noir-catalog.nav-minimal_tabs .theme2-title-row {
    position: static !important;
}

body.public-body > main.qr-menu.theme-noir-catalog.nav-sticky_pills .theme2-title-row .menu-mode-toggle.hero-mode-toggle[data-mode-toggle],
body.public-body > main.qr-menu.theme-noir-catalog.nav-category_grid .theme2-title-row .menu-mode-toggle.hero-mode-toggle[data-mode-toggle],
body.public-body > main.qr-menu.theme-noir-catalog.nav-minimal_tabs .theme2-title-row .menu-mode-toggle.hero-mode-toggle[data-mode-toggle] {
    bottom: 20px !important;
    left: auto !important;
    position: absolute !important;
    right: 24px !important;
    top: auto !important;
}

@media (max-width: 759px) {
    body.public-body > main.qr-menu.theme-noir-catalog.nav-sticky_pills .theme2-title-row .menu-mode-toggle.hero-mode-toggle[data-mode-toggle],
    body.public-body > main.qr-menu.theme-noir-catalog.nav-category_grid .theme2-title-row .menu-mode-toggle.hero-mode-toggle[data-mode-toggle],
    body.public-body > main.qr-menu.theme-noir-catalog.nav-minimal_tabs .theme2-title-row .menu-mode-toggle.hero-mode-toggle[data-mode-toggle] {
        bottom: 14px !important;
        right: 14px !important;
    }
}

/* v289 theme 2 keep grid navigation and place the visible mode button lower-right */
body.public-body > main.qr-menu.theme-noir-catalog.nav-sticky_pills .menu-hero-content.menu-cover-layout,
body.public-body > main.qr-menu.theme-noir-catalog.nav-category_grid .menu-hero-content.menu-cover-layout,
body.public-body > main.qr-menu.theme-noir-catalog.nav-minimal_tabs .menu-hero-content.menu-cover-layout,
body.public-body > main.qr-menu.theme-noir-catalog.nav-sticky_pills .theme2-title-row,
body.public-body > main.qr-menu.theme-noir-catalog.nav-category_grid .theme2-title-row,
body.public-body > main.qr-menu.theme-noir-catalog.nav-minimal_tabs .theme2-title-row {
    position: relative !important;
}

body.public-body > main.qr-menu.theme-noir-catalog.nav-sticky_pills .theme2-title-row .menu-mode-toggle.hero-mode-toggle[data-mode-toggle],
body.public-body > main.qr-menu.theme-noir-catalog.nav-category_grid .theme2-title-row .menu-mode-toggle.hero-mode-toggle[data-mode-toggle],
body.public-body > main.qr-menu.theme-noir-catalog.nav-minimal_tabs .theme2-title-row .menu-mode-toggle.hero-mode-toggle[data-mode-toggle] {
    bottom: auto !important;
    left: auto !important;
    position: absolute !important;
    right: 0 !important;
    top: 46px !important;
    z-index: 10000 !important;
}

@media (max-width: 759px) {
    body.public-body > main.qr-menu.theme-noir-catalog.nav-sticky_pills .theme2-title-row,
    body.public-body > main.qr-menu.theme-noir-catalog.nav-category_grid .theme2-title-row,
    body.public-body > main.qr-menu.theme-noir-catalog.nav-minimal_tabs .theme2-title-row {
        padding-right: 0 !important;
    }

    body.public-body > main.qr-menu.theme-noir-catalog.nav-sticky_pills .theme2-title-row .menu-mode-toggle.hero-mode-toggle[data-mode-toggle],
    body.public-body > main.qr-menu.theme-noir-catalog.nav-category_grid .theme2-title-row .menu-mode-toggle.hero-mode-toggle[data-mode-toggle],
    body.public-body > main.qr-menu.theme-noir-catalog.nav-minimal_tabs .theme2-title-row .menu-mode-toggle.hero-mode-toggle[data-mode-toggle] {
        right: -2px !important;
        top: 38px !important;
    }
}

/* v290 theme 2 keep category grid during deep links and fit mobile columns */
html.has-menu-deep-link body.public-body > main.qr-menu.theme-noir-catalog.nav-sticky_pills .menu-toolbar,
html.has-menu-deep-link body.public-body > main.qr-menu.theme-noir-catalog.nav-category_grid .menu-toolbar,
html.has-menu-deep-link body.public-body > main.qr-menu.theme-noir-catalog.nav-minimal_tabs .menu-toolbar,
html.is-menu-deep-link-booting body.public-body > main.qr-menu.theme-noir-catalog.nav-sticky_pills .menu-toolbar,
html.is-menu-deep-link-booting body.public-body > main.qr-menu.theme-noir-catalog.nav-category_grid .menu-toolbar,
html.is-menu-deep-link-booting body.public-body > main.qr-menu.theme-noir-catalog.nav-minimal_tabs .menu-toolbar,
body.public-body > main.qr-menu.theme-noir-catalog.nav-sticky_pills .menu-toolbar,
body.public-body > main.qr-menu.theme-noir-catalog.nav-category_grid .menu-toolbar,
body.public-body > main.qr-menu.theme-noir-catalog.nav-minimal_tabs .menu-toolbar {
    display: grid !important;
    grid-template-columns: 1fr !important;
    position: sticky !important;
    top: 0 !important;
}

html.has-menu-deep-link body.public-body > main.qr-menu.theme-noir-catalog.nav-sticky_pills .category-tabs,
html.has-menu-deep-link body.public-body > main.qr-menu.theme-noir-catalog.nav-category_grid .category-tabs,
html.has-menu-deep-link body.public-body > main.qr-menu.theme-noir-catalog.nav-minimal_tabs .category-tabs,
html.is-menu-deep-link-booting body.public-body > main.qr-menu.theme-noir-catalog.nav-sticky_pills .category-tabs,
html.is-menu-deep-link-booting body.public-body > main.qr-menu.theme-noir-catalog.nav-category_grid .category-tabs,
html.is-menu-deep-link-booting body.public-body > main.qr-menu.theme-noir-catalog.nav-minimal_tabs .category-tabs,
body.public-body > main.qr-menu.theme-noir-catalog.nav-sticky_pills .category-tabs,
body.public-body > main.qr-menu.theme-noir-catalog.nav-category_grid .category-tabs,
body.public-body > main.qr-menu.theme-noir-catalog.nav-minimal_tabs .category-tabs {
    display: grid !important;
    gap: 8px !important;
    grid-auto-flow: row !important;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)) !important;
    overflow: visible !important;
    width: 100% !important;
}

html.has-menu-deep-link body.public-body > main.qr-menu.theme-noir-catalog.nav-sticky_pills .category-tabs a,
html.has-menu-deep-link body.public-body > main.qr-menu.theme-noir-catalog.nav-category_grid .category-tabs a,
html.has-menu-deep-link body.public-body > main.qr-menu.theme-noir-catalog.nav-minimal_tabs .category-tabs a,
html.is-menu-deep-link-booting body.public-body > main.qr-menu.theme-noir-catalog.nav-sticky_pills .category-tabs a,
html.is-menu-deep-link-booting body.public-body > main.qr-menu.theme-noir-catalog.nav-category_grid .category-tabs a,
html.is-menu-deep-link-booting body.public-body > main.qr-menu.theme-noir-catalog.nav-minimal_tabs .category-tabs a,
body.public-body > main.qr-menu.theme-noir-catalog.nav-sticky_pills .category-tabs a,
body.public-body > main.qr-menu.theme-noir-catalog.nav-category_grid .category-tabs a,
body.public-body > main.qr-menu.theme-noir-catalog.nav-minimal_tabs .category-tabs a {
    box-sizing: border-box !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow: hidden !important;
    padding-left: 10px !important;
    padding-right: 10px !important;
    width: 100% !important;
}

body.public-body > main.qr-menu.theme-noir-catalog.nav-sticky_pills .category-tabs a span,
body.public-body > main.qr-menu.theme-noir-catalog.nav-category_grid .category-tabs a span,
body.public-body > main.qr-menu.theme-noir-catalog.nav-minimal_tabs .category-tabs a span {
    min-width: 0 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

@media (max-width: 759px) {
    html.has-menu-deep-link body.public-body > main.qr-menu.theme-noir-catalog.nav-sticky_pills .category-tabs,
    html.has-menu-deep-link body.public-body > main.qr-menu.theme-noir-catalog.nav-category_grid .category-tabs,
    html.has-menu-deep-link body.public-body > main.qr-menu.theme-noir-catalog.nav-minimal_tabs .category-tabs,
    html.is-menu-deep-link-booting body.public-body > main.qr-menu.theme-noir-catalog.nav-sticky_pills .category-tabs,
    html.is-menu-deep-link-booting body.public-body > main.qr-menu.theme-noir-catalog.nav-category_grid .category-tabs,
    html.is-menu-deep-link-booting body.public-body > main.qr-menu.theme-noir-catalog.nav-minimal_tabs .category-tabs,
    body.public-body > main.qr-menu.theme-noir-catalog.nav-sticky_pills .category-tabs,
    body.public-body > main.qr-menu.theme-noir-catalog.nav-category_grid .category-tabs,
    body.public-body > main.qr-menu.theme-noir-catalog.nav-minimal_tabs .category-tabs {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    body.public-body > main.qr-menu.theme-noir-catalog.nav-sticky_pills .category-tabs img,
    body.public-body > main.qr-menu.theme-noir-catalog.nav-category_grid .category-tabs img,
    body.public-body > main.qr-menu.theme-noir-catalog.nav-minimal_tabs .category-tabs img {
        flex: 0 0 28px !important;
        height: 28px !important;
        width: 28px !important;
    }
}

/* v291 theme 2 force grid after runtime deep-link classes */
body.public-body > main.qr-menu.theme-noir-catalog.nav-sticky_pills.is-noir-deep-link .menu-toolbar,
body.public-body > main.qr-menu.theme-noir-catalog.nav-category_grid.is-noir-deep-link .menu-toolbar,
body.public-body > main.qr-menu.theme-noir-catalog.nav-minimal_tabs.is-noir-deep-link .menu-toolbar,
body.public-body > main.qr-menu.theme-noir-catalog.nav-sticky_pills.noir-toolbar-fixed .menu-toolbar,
body.public-body > main.qr-menu.theme-noir-catalog.nav-category_grid.noir-toolbar-fixed .menu-toolbar,
body.public-body > main.qr-menu.theme-noir-catalog.nav-minimal_tabs.noir-toolbar-fixed .menu-toolbar {
    box-sizing: border-box !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    left: auto !important;
    max-width: 100% !important;
    overflow: hidden !important;
    position: sticky !important;
    right: auto !important;
    top: 0 !important;
    width: 100% !important;
}

body.public-body > main.qr-menu.theme-noir-catalog.nav-sticky_pills.is-noir-deep-link .category-tabs,
body.public-body > main.qr-menu.theme-noir-catalog.nav-category_grid.is-noir-deep-link .category-tabs,
body.public-body > main.qr-menu.theme-noir-catalog.nav-minimal_tabs.is-noir-deep-link .category-tabs,
body.public-body > main.qr-menu.theme-noir-catalog.nav-sticky_pills.noir-toolbar-fixed .category-tabs,
body.public-body > main.qr-menu.theme-noir-catalog.nav-category_grid.noir-toolbar-fixed .category-tabs,
body.public-body > main.qr-menu.theme-noir-catalog.nav-minimal_tabs.noir-toolbar-fixed .category-tabs,
body.public-body > main.qr-menu.theme-noir-catalog.nav-sticky_pills .category-tabs,
body.public-body > main.qr-menu.theme-noir-catalog.nav-category_grid .category-tabs,
body.public-body > main.qr-menu.theme-noir-catalog.nav-minimal_tabs .category-tabs {
    box-sizing: border-box !important;
    display: grid !important;
    gap: 8px !important;
    grid-auto-flow: row !important;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)) !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow: visible !important;
    width: 100% !important;
}

@media (max-width: 759px) {
    body.public-body > main.qr-menu.theme-noir-catalog.nav-sticky_pills.is-noir-deep-link .category-tabs,
    body.public-body > main.qr-menu.theme-noir-catalog.nav-category_grid.is-noir-deep-link .category-tabs,
    body.public-body > main.qr-menu.theme-noir-catalog.nav-minimal_tabs.is-noir-deep-link .category-tabs,
    body.public-body > main.qr-menu.theme-noir-catalog.nav-sticky_pills.noir-toolbar-fixed .category-tabs,
    body.public-body > main.qr-menu.theme-noir-catalog.nav-category_grid.noir-toolbar-fixed .category-tabs,
    body.public-body > main.qr-menu.theme-noir-catalog.nav-minimal_tabs.noir-toolbar-fixed .category-tabs,
    body.public-body > main.qr-menu.theme-noir-catalog.nav-sticky_pills .category-tabs,
    body.public-body > main.qr-menu.theme-noir-catalog.nav-category_grid .category-tabs,
    body.public-body > main.qr-menu.theme-noir-catalog.nav-minimal_tabs .category-tabs {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    }

    body.public-body > main.qr-menu.theme-noir-catalog.nav-sticky_pills .category-tabs a,
    body.public-body > main.qr-menu.theme-noir-catalog.nav-category_grid .category-tabs a,
    body.public-body > main.qr-menu.theme-noir-catalog.nav-minimal_tabs .category-tabs a {
        box-sizing: border-box !important;
        min-width: 0 !important;
        max-width: 100% !important;
    }
}

/* v292 theme 2 fit image category pills inside the mobile grid */
body.public-body > main.qr-menu.theme-noir-catalog.nav-sticky_pills,
body.public-body > main.qr-menu.theme-noir-catalog.nav-category_grid,
body.public-body > main.qr-menu.theme-noir-catalog.nav-minimal_tabs {
    max-width: 100vw !important;
    overflow-x: hidden !important;
}

body.public-body > main.qr-menu.theme-noir-catalog.nav-sticky_pills .category-tabs a.with-image,
body.public-body > main.qr-menu.theme-noir-catalog.nav-category_grid .category-tabs a.with-image,
body.public-body > main.qr-menu.theme-noir-catalog.nav-minimal_tabs .category-tabs a.with-image,
body.public-body > main.qr-menu.theme-noir-catalog.nav-sticky_pills.is-noir-deep-link .category-tabs a.with-image,
body.public-body > main.qr-menu.theme-noir-catalog.nav-category_grid.is-noir-deep-link .category-tabs a.with-image,
body.public-body > main.qr-menu.theme-noir-catalog.nav-minimal_tabs.is-noir-deep-link .category-tabs a.with-image,
body.public-body > main.qr-menu.theme-noir-catalog.nav-sticky_pills.noir-toolbar-fixed .category-tabs a.with-image,
body.public-body > main.qr-menu.theme-noir-catalog.nav-category_grid.noir-toolbar-fixed .category-tabs a.with-image,
body.public-body > main.qr-menu.theme-noir-catalog.nav-minimal_tabs.noir-toolbar-fixed .category-tabs a.with-image {
    box-sizing: border-box !important;
    gap: 6px !important;
    justify-content: center !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow: hidden !important;
    padding: 6px 8px !important;
    width: 100% !important;
}

body.public-body > main.qr-menu.theme-noir-catalog.nav-sticky_pills .category-tabs a.with-image img,
body.public-body > main.qr-menu.theme-noir-catalog.nav-category_grid .category-tabs a.with-image img,
body.public-body > main.qr-menu.theme-noir-catalog.nav-minimal_tabs .category-tabs a.with-image img {
    flex: 0 0 26px !important;
    height: 26px !important;
    width: 26px !important;
}

body.public-body > main.qr-menu.theme-noir-catalog.nav-sticky_pills .category-tabs a.with-image span,
body.public-body > main.qr-menu.theme-noir-catalog.nav-category_grid .category-tabs a.with-image span,
body.public-body > main.qr-menu.theme-noir-catalog.nav-minimal_tabs .category-tabs a.with-image span {
    display: block !important;
    font-size: 12px !important;
    min-width: 0 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

/* v293 theme 2 mobile sticky horizontal categories */
@media (max-width: 759px) {
    body.public-body > main.qr-menu.theme-noir-catalog.nav-sticky_pills,
    body.public-body > main.qr-menu.theme-noir-catalog.nav-category_grid,
    body.public-body > main.qr-menu.theme-noir-catalog.nav-minimal_tabs {
        overflow-x: hidden !important;
    }

    html.has-menu-deep-link body.public-body > main.qr-menu.theme-noir-catalog .menu-toolbar,
    html.is-menu-deep-link-booting body.public-body > main.qr-menu.theme-noir-catalog .menu-toolbar,
    body.public-body > main.qr-menu.theme-noir-catalog .menu-toolbar,
    body.public-body > main.qr-menu.theme-noir-catalog.noir-toolbar-fixed .menu-toolbar,
    body.public-body > main.qr-menu.theme-noir-catalog.is-noir-deep-link .menu-toolbar,
    body.public-body > main.qr-menu.theme-noir-catalog:has(.menu-category:target) .menu-toolbar,
    body.public-body > main.qr-menu.theme-noir-catalog:has(.menu-product:target) .menu-toolbar {
        background: var(--menu-bg, #f4f5f7) !important;
        box-sizing: border-box !important;
        display: block !important;
        left: 0 !important;
        margin: 0 !important;
        max-width: 100vw !important;
        overflow: hidden !important;
        padding: 10px !important;
        position: sticky !important;
        right: 0 !important;
        top: 0 !important;
        transform: none !important;
        width: 100% !important;
        z-index: 1500 !important;
    }

    body.public-body > main.qr-menu.theme-noir-catalog .menu-search {
        box-sizing: border-box !important;
        margin: 0 0 8px !important;
        width: 100% !important;
    }

    body.public-body > main.qr-menu.theme-noir-catalog .category-tabs,
    body.public-body > main.qr-menu.theme-noir-catalog.nav-sticky_pills .category-tabs,
    body.public-body > main.qr-menu.theme-noir-catalog.nav-category_grid .category-tabs,
    body.public-body > main.qr-menu.theme-noir-catalog.nav-minimal_tabs .category-tabs,
    body.public-body > main.qr-menu.theme-noir-catalog.noir-toolbar-fixed .category-tabs,
    body.public-body > main.qr-menu.theme-noir-catalog.is-noir-deep-link .category-tabs {
        box-sizing: border-box !important;
        display: flex !important;
        flex-wrap: nowrap !important;
        gap: 8px !important;
        grid-template-columns: none !important;
        max-width: 100% !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        padding: 0 2px 2px !important;
        scroll-snap-type: x proximity !important;
        scrollbar-width: none !important;
        width: 100% !important;
        -webkit-overflow-scrolling: touch !important;
    }

    body.public-body > main.qr-menu.theme-noir-catalog .category-tabs::-webkit-scrollbar {
        display: none !important;
    }

    body.public-body > main.qr-menu.theme-noir-catalog .category-tabs a,
    body.public-body > main.qr-menu.theme-noir-catalog .category-tabs a.with-image,
    body.public-body > main.qr-menu.theme-noir-catalog.nav-sticky_pills .category-tabs a,
    body.public-body > main.qr-menu.theme-noir-catalog.nav-sticky_pills .category-tabs a.with-image,
    body.public-body > main.qr-menu.theme-noir-catalog.nav-category_grid .category-tabs a,
    body.public-body > main.qr-menu.theme-noir-catalog.nav-category_grid .category-tabs a.with-image,
    body.public-body > main.qr-menu.theme-noir-catalog.nav-minimal_tabs .category-tabs a,
    body.public-body > main.qr-menu.theme-noir-catalog.nav-minimal_tabs .category-tabs a.with-image {
        border-radius: 4px !important;
        box-sizing: border-box !important;
        flex: 0 0 auto !important;
        gap: 7px !important;
        justify-content: center !important;
        max-width: 190px !important;
        min-height: 42px !important;
        min-width: 118px !important;
        overflow: hidden !important;
        padding: 7px 10px !important;
        scroll-snap-align: start !important;
        width: auto !important;
    }

    body.public-body > main.qr-menu.theme-noir-catalog .category-tabs a img,
    body.public-body > main.qr-menu.theme-noir-catalog .category-tabs a.with-image img {
        border-radius: 3px !important;
        flex: 0 0 28px !important;
        height: 28px !important;
        width: 28px !important;
    }

    body.public-body > main.qr-menu.theme-noir-catalog .category-tabs a span,
    body.public-body > main.qr-menu.theme-noir-catalog .category-tabs a.with-image span {
        display: block !important;
        min-width: 0 !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
    }
}

/* v294 theme 2 hard override: mobile categories are horizontal sticky tabs */
@media (max-width: 759px) {
    html.has-menu-deep-link body.public-body > main.qr-menu.theme-noir-catalog.nav-sticky_pills .category-tabs,
    html.has-menu-deep-link body.public-body > main.qr-menu.theme-noir-catalog.nav-category_grid .category-tabs,
    html.has-menu-deep-link body.public-body > main.qr-menu.theme-noir-catalog.nav-minimal_tabs .category-tabs,
    html.is-menu-deep-link-booting body.public-body > main.qr-menu.theme-noir-catalog.nav-sticky_pills .category-tabs,
    html.is-menu-deep-link-booting body.public-body > main.qr-menu.theme-noir-catalog.nav-category_grid .category-tabs,
    html.is-menu-deep-link-booting body.public-body > main.qr-menu.theme-noir-catalog.nav-minimal_tabs .category-tabs,
    body.public-body > main.qr-menu.theme-noir-catalog.nav-sticky_pills.is-noir-deep-link .category-tabs,
    body.public-body > main.qr-menu.theme-noir-catalog.nav-category_grid.is-noir-deep-link .category-tabs,
    body.public-body > main.qr-menu.theme-noir-catalog.nav-minimal_tabs.is-noir-deep-link .category-tabs,
    body.public-body > main.qr-menu.theme-noir-catalog.nav-sticky_pills.noir-toolbar-fixed .category-tabs,
    body.public-body > main.qr-menu.theme-noir-catalog.nav-category_grid.noir-toolbar-fixed .category-tabs,
    body.public-body > main.qr-menu.theme-noir-catalog.nav-minimal_tabs.noir-toolbar-fixed .category-tabs,
    body.public-body > main.qr-menu.theme-noir-catalog.nav-sticky_pills .category-tabs,
    body.public-body > main.qr-menu.theme-noir-catalog.nav-category_grid .category-tabs,
    body.public-body > main.qr-menu.theme-noir-catalog.nav-minimal_tabs .category-tabs {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        gap: 8px !important;
        grid-auto-flow: unset !important;
        grid-template-columns: none !important;
        max-width: 100% !important;
        min-width: 0 !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        white-space: nowrap !important;
        width: 100% !important;
        -webkit-overflow-scrolling: touch !important;
        scrollbar-width: none !important;
    }

    html.has-menu-deep-link body.public-body > main.qr-menu.theme-noir-catalog.nav-sticky_pills .category-tabs a,
    html.has-menu-deep-link body.public-body > main.qr-menu.theme-noir-catalog.nav-category_grid .category-tabs a,
    html.has-menu-deep-link body.public-body > main.qr-menu.theme-noir-catalog.nav-minimal_tabs .category-tabs a,
    html.is-menu-deep-link-booting body.public-body > main.qr-menu.theme-noir-catalog.nav-sticky_pills .category-tabs a,
    html.is-menu-deep-link-booting body.public-body > main.qr-menu.theme-noir-catalog.nav-category_grid .category-tabs a,
    html.is-menu-deep-link-booting body.public-body > main.qr-menu.theme-noir-catalog.nav-minimal_tabs .category-tabs a,
    body.public-body > main.qr-menu.theme-noir-catalog.nav-sticky_pills.is-noir-deep-link .category-tabs a,
    body.public-body > main.qr-menu.theme-noir-catalog.nav-category_grid.is-noir-deep-link .category-tabs a,
    body.public-body > main.qr-menu.theme-noir-catalog.nav-minimal_tabs.is-noir-deep-link .category-tabs a,
    body.public-body > main.qr-menu.theme-noir-catalog.nav-sticky_pills.noir-toolbar-fixed .category-tabs a,
    body.public-body > main.qr-menu.theme-noir-catalog.nav-category_grid.noir-toolbar-fixed .category-tabs a,
    body.public-body > main.qr-menu.theme-noir-catalog.nav-minimal_tabs.noir-toolbar-fixed .category-tabs a,
    body.public-body > main.qr-menu.theme-noir-catalog.nav-sticky_pills .category-tabs a,
    body.public-body > main.qr-menu.theme-noir-catalog.nav-category_grid .category-tabs a,
    body.public-body > main.qr-menu.theme-noir-catalog.nav-minimal_tabs .category-tabs a {
        border-radius: 3px !important;
        flex: 0 0 auto !important;
        max-width: 180px !important;
        min-width: 118px !important;
        width: auto !important;
    }

    body.public-body > main.qr-menu.theme-noir-catalog .category-tabs a.with-image img {
        border-radius: 2px !important;
    }
}

/* v295 theme 2 remove oval radius from image tabs in every mobile state */
@media (max-width: 759px) {
    html.has-menu-deep-link body.public-body > main.qr-menu.theme-noir-catalog.nav-sticky_pills .category-tabs a.with-image,
    html.has-menu-deep-link body.public-body > main.qr-menu.theme-noir-catalog.nav-category_grid .category-tabs a.with-image,
    html.has-menu-deep-link body.public-body > main.qr-menu.theme-noir-catalog.nav-minimal_tabs .category-tabs a.with-image,
    html.is-menu-deep-link-booting body.public-body > main.qr-menu.theme-noir-catalog.nav-sticky_pills .category-tabs a.with-image,
    html.is-menu-deep-link-booting body.public-body > main.qr-menu.theme-noir-catalog.nav-category_grid .category-tabs a.with-image,
    html.is-menu-deep-link-booting body.public-body > main.qr-menu.theme-noir-catalog.nav-minimal_tabs .category-tabs a.with-image,
    body.public-body > main.qr-menu.theme-noir-catalog.nav-sticky_pills.is-noir-deep-link .category-tabs a.with-image,
    body.public-body > main.qr-menu.theme-noir-catalog.nav-category_grid.is-noir-deep-link .category-tabs a.with-image,
    body.public-body > main.qr-menu.theme-noir-catalog.nav-minimal_tabs.is-noir-deep-link .category-tabs a.with-image,
    body.public-body > main.qr-menu.theme-noir-catalog.nav-sticky_pills.noir-toolbar-fixed .category-tabs a.with-image,
    body.public-body > main.qr-menu.theme-noir-catalog.nav-category_grid.noir-toolbar-fixed .category-tabs a.with-image,
    body.public-body > main.qr-menu.theme-noir-catalog.nav-minimal_tabs.noir-toolbar-fixed .category-tabs a.with-image,
    body.public-body > main.qr-menu.theme-noir-catalog.nav-sticky_pills .category-tabs a.with-image,
    body.public-body > main.qr-menu.theme-noir-catalog.nav-category_grid .category-tabs a.with-image,
    body.public-body > main.qr-menu.theme-noir-catalog.nav-minimal_tabs .category-tabs a.with-image {
        border-radius: 0 !important;
    }
}

/* v296 theme 2 no rounded category items on mobile */
@media (max-width: 759px) {
    body.public-body > main.qr-menu.theme-noir-catalog .category-tabs,
    body.public-body > main.qr-menu.theme-noir-catalog .category-tabs *,
    html.has-menu-deep-link body.public-body > main.qr-menu.theme-noir-catalog .category-tabs,
    html.has-menu-deep-link body.public-body > main.qr-menu.theme-noir-catalog .category-tabs *,
    html.is-menu-deep-link-booting body.public-body > main.qr-menu.theme-noir-catalog .category-tabs,
    html.is-menu-deep-link-booting body.public-body > main.qr-menu.theme-noir-catalog .category-tabs * {
        border-radius: 0 !important;
    }
}

/* v297 Aurora-style rebuild for theme 2 */
body.public-body > main.qr-menu.theme-noir-catalog {
    --aurora-primary: #53887a;
    --aurora-primary-dark: #356a5c;
    --aurora-ink: #1a1f1e;
    --aurora-paper: #f7f8f8;
    --aurora-border: rgba(255, 255, 255, .18);
    --aurora-glass: rgba(24, 28, 27, .46);
    background: #1a1f1e !important;
    color: #f8faf9 !important;
    font-family: "Lato", "Manrope", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
    min-height: 100vh !important;
    overflow-x: hidden !important;
}

body.public-body > main.qr-menu.theme-noir-catalog .menu-main-flow {
    background:
        radial-gradient(circle at 20% 18%, rgba(83, 136, 122, .32), transparent 28rem),
        linear-gradient(135deg, #111615 0%, #213b37 42%, #5d6564 100%) !important;
    min-height: 100vh !important;
    padding: 0 !important;
}

body.public-body > main.qr-menu.theme-noir-catalog .menu-hero,
body.public-body > main.qr-menu.theme-noir-catalog.has-cover .menu-hero,
html.has-menu-deep-link body.public-body > main.qr-menu.theme-noir-catalog .menu-hero,
html.is-menu-deep-link-booting body.public-body > main.qr-menu.theme-noir-catalog .menu-hero,
body.public-body > main.qr-menu.theme-noir-catalog:has(.menu-category:target) .menu-hero,
body.public-body > main.qr-menu.theme-noir-catalog:has(.menu-product:target) .menu-hero,
body.public-body > main.qr-menu.theme-noir-catalog.is-noir-deep-link .menu-hero {
    align-items: stretch !important;
    background-blend-mode: multiply !important;
    background-color: #121615 !important;
    background-position: center !important;
    background-size: cover !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    color: #fff !important;
    display: flex !important;
    justify-content: center !important;
    margin: 0 auto !important;
    min-height: 100svh !important;
    overflow: hidden !important;
    padding: 0 !important;
    position: relative !important;
    width: 100% !important;
}

body.public-body > main.qr-menu.theme-noir-catalog .menu-hero::before {
    background:
        linear-gradient(180deg, rgba(0, 0, 0, .12) 0%, rgba(0, 0, 0, .20) 40%, rgba(0, 0, 0, .58) 100%),
        radial-gradient(circle at 50% 88%, rgba(255, 255, 255, .14), transparent 15rem) !important;
    content: "" !important;
    inset: 0 !important;
    pointer-events: none !important;
    position: absolute !important;
    z-index: 1 !important;
}

body.public-body > main.qr-menu.theme-noir-catalog .menu-hero-content.menu-cover-layout,
body.public-body > main.qr-menu.theme-noir-catalog.nav-sticky_pills .menu-hero-content.menu-cover-layout,
body.public-body > main.qr-menu.theme-noir-catalog.nav-category_grid .menu-hero-content.menu-cover-layout,
body.public-body > main.qr-menu.theme-noir-catalog.nav-minimal_tabs .menu-hero-content.menu-cover-layout {
    align-content: start !important;
    display: grid !important;
    gap: 18px !important;
    grid-template-columns: 1fr !important;
    justify-items: center !important;
    margin: 0 !important;
    max-width: 760px !important;
    min-height: 100svh !important;
    padding: clamp(52px, 8vh, 92px) 18px 92px !important;
    position: relative !important;
    text-align: center !important;
    width: min(100%, 760px) !important;
    z-index: 2 !important;
}

body.public-body > main.qr-menu.theme-noir-catalog .menu-cover-brand {
    align-items: center !important;
    display: grid !important;
    gap: 14px !important;
    grid-template-columns: 1fr !important;
    justify-items: center !important;
    margin: 0 !important;
    max-width: 100% !important;
    text-align: center !important;
}

body.public-body > main.qr-menu.theme-noir-catalog .menu-cover-brand .menu-logo {
    background: rgba(255, 255, 255, .94) !important;
    border: 0 !important;
    border-radius: 16px !important;
    box-shadow: 0 16px 44px rgba(0, 0, 0, .28) !important;
    height: 88px !important;
    object-fit: contain !important;
    padding: 12px !important;
    width: min(220px, 58vw) !important;
}

body.public-body > main.qr-menu.theme-noir-catalog .menu-cover-business {
    color: #fff !important;
    display: grid !important;
    gap: 4px !important;
    justify-items: center !important;
    min-width: 0 !important;
    text-align: center !important;
}

body.public-body > main.qr-menu.theme-noir-catalog .menu-cover-business .eyebrow {
    display: none !important;
}

body.public-body > main.qr-menu.theme-noir-catalog .theme2-title-row,
body.public-body > main.qr-menu.theme-noir-catalog.nav-sticky_pills .theme2-title-row,
body.public-body > main.qr-menu.theme-noir-catalog.nav-category_grid .theme2-title-row,
body.public-body > main.qr-menu.theme-noir-catalog.nav-minimal_tabs .theme2-title-row {
    align-items: center !important;
    display: flex !important;
    justify-content: center !important;
    min-width: 0 !important;
    position: static !important;
    width: 100% !important;
}

body.public-body > main.qr-menu.theme-noir-catalog .menu-cover-business h1 {
    color: #fff !important;
    font-family: "Roboto", "Manrope", system-ui, sans-serif !important;
    font-size: clamp(24px, 8vw, 44px) !important;
    font-weight: 800 !important;
    letter-spacing: 0 !important;
    line-height: 1.05 !important;
    margin: 0 !important;
    text-shadow: 0 14px 34px rgba(0, 0, 0, .45) !important;
}

body.public-body > main.qr-menu.theme-noir-catalog .menu-cover-subtitle {
    color: rgba(255, 255, 255, .88) !important;
    display: block !important;
    font-size: 15px !important;
    font-style: italic !important;
    font-weight: 700 !important;
    line-height: 1.35 !important;
    margin: 0 !important;
    max-width: 32rem !important;
    text-shadow: 0 10px 24px rgba(0, 0, 0, .38) !important;
}

body.public-body > main.qr-menu.theme-noir-catalog .menu-cover-hours,
body.public-body > main.qr-menu.theme-noir-catalog .menu-cover-actions,
body.public-body > main.qr-menu.theme-noir-catalog .promenu-social-row {
    display: none !important;
}

body.public-body > main.qr-menu.theme-noir-catalog .aurora-category-tiles {
    align-self: end !important;
    display: grid !important;
    gap: 16px !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    margin-top: auto !important;
    max-width: 520px !important;
    padding: 22px 0 0 !important;
    width: min(100%, 520px) !important;
}

body.public-body > main.qr-menu.theme-noir-catalog .aurora-category-tiles a {
    align-items: center !important;
    background: rgba(24, 28, 27, .46) !important;
    border: 1px solid rgba(255, 255, 255, .15) !important;
    border-radius: 14px !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .08), 0 18px 40px rgba(0, 0, 0, .24) !important;
    color: rgba(255, 255, 255, .82) !important;
    display: grid !important;
    gap: 8px !important;
    justify-items: center !important;
    min-height: 108px !important;
    overflow: hidden !important;
    padding: 14px 12px !important;
    text-decoration: none !important;
    text-transform: uppercase !important;
    backdrop-filter: blur(18px) !important;
    -webkit-backdrop-filter: blur(18px) !important;
}

body.public-body > main.qr-menu.theme-noir-catalog .aurora-category-tiles img {
    filter: grayscale(1) brightness(1.45) contrast(.78) opacity(.74) !important;
    height: 48px !important;
    object-fit: cover !important;
    width: 48px !important;
}

body.public-body > main.qr-menu.theme-noir-catalog .aurora-category-tiles span {
    display: block !important;
    font-size: 13px !important;
    font-weight: 900 !important;
    letter-spacing: .02em !important;
    line-height: 1.15 !important;
    max-width: 100% !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

body.public-body > main.qr-menu.theme-noir-catalog .menu-mode-toggle.hero-mode-toggle,
body.public-body > main.qr-menu.theme-noir-catalog .theme2-title-row .menu-mode-toggle.hero-mode-toggle[data-mode-toggle],
body.public-body > main.qr-menu.theme-noir-catalog.nav-sticky_pills .theme2-title-row .menu-mode-toggle.hero-mode-toggle[data-mode-toggle],
body.public-body > main.qr-menu.theme-noir-catalog.nav-category_grid .theme2-title-row .menu-mode-toggle.hero-mode-toggle[data-mode-toggle],
body.public-body > main.qr-menu.theme-noir-catalog.nav-minimal_tabs .theme2-title-row .menu-mode-toggle.hero-mode-toggle[data-mode-toggle] {
    align-items: center !important;
    background: rgba(255, 255, 255, .14) !important;
    border: 1px solid rgba(255, 255, 255, .20) !important;
    border-radius: 999px !important;
    box-shadow: 0 12px 30px rgba(0, 0, 0, .22) !important;
    color: #fff !important;
    display: inline-flex !important;
    height: 42px !important;
    justify-content: center !important;
    left: auto !important;
    min-height: 42px !important;
    min-width: 42px !important;
    opacity: 1 !important;
    padding: 0 !important;
    position: absolute !important;
    right: 18px !important;
    top: 18px !important;
    transform: none !important;
    visibility: visible !important;
    width: 42px !important;
    z-index: 6 !important;
    backdrop-filter: blur(14px) !important;
    -webkit-backdrop-filter: blur(14px) !important;
}

body.public-body > main.qr-menu.theme-noir-catalog .locale-switcher {
    bottom: 20px !important;
    position: absolute !important;
    right: 18px !important;
    z-index: 5 !important;
}

body.public-body > main.qr-menu.theme-noir-catalog .menu-toolbar,
body.public-body > main.qr-menu.theme-noir-catalog.noir-toolbar-fixed .menu-toolbar,
body.public-body > main.qr-menu.theme-noir-catalog.is-noir-deep-link .menu-toolbar,
body.public-body > main.qr-menu.theme-noir-catalog:has(.menu-category:target) .menu-toolbar,
body.public-body > main.qr-menu.theme-noir-catalog:has(.menu-product:target) .menu-toolbar,
html.has-menu-deep-link body.public-body > main.qr-menu.theme-noir-catalog .menu-toolbar,
html.is-menu-deep-link-booting body.public-body > main.qr-menu.theme-noir-catalog .menu-toolbar {
    background: rgba(247, 248, 248, .98) !important;
    border-bottom: 1px solid rgba(26, 31, 30, .08) !important;
    box-shadow: 0 14px 32px rgba(26, 31, 30, .10) !important;
    box-sizing: border-box !important;
    display: grid !important;
    gap: 10px !important;
    grid-template-columns: minmax(230px, 320px) minmax(0, 1fr) !important;
    margin: 0 auto !important;
    max-width: 1120px !important;
    overflow: hidden !important;
    padding: 12px 18px !important;
    position: sticky !important;
    top: 0 !important;
    transform: none !important;
    width: 100% !important;
    z-index: 1200 !important;
}

body.public-body > main.qr-menu.theme-noir-catalog .menu-search {
    margin: 0 !important;
    min-width: 0 !important;
    width: 100% !important;
}

body.public-body > main.qr-menu.theme-noir-catalog .menu-search input {
    background: #fff !important;
    border: 1px solid rgba(26, 31, 30, .12) !important;
    border-radius: 8px !important;
    box-shadow: none !important;
    color: #1a1f1e !important;
    font-size: 15px !important;
    height: 44px !important;
}

body.public-body > main.qr-menu.theme-noir-catalog .category-tabs,
body.public-body > main.qr-menu.theme-noir-catalog.nav-sticky_pills .category-tabs,
body.public-body > main.qr-menu.theme-noir-catalog.nav-category_grid .category-tabs,
body.public-body > main.qr-menu.theme-noir-catalog.nav-minimal_tabs .category-tabs,
body.public-body > main.qr-menu.theme-noir-catalog.noir-toolbar-fixed .category-tabs,
body.public-body > main.qr-menu.theme-noir-catalog.is-noir-deep-link .category-tabs {
    box-sizing: border-box !important;
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 8px !important;
    grid-template-columns: none !important;
    max-width: 100% !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    padding: 0 2px 2px !important;
    scrollbar-width: none !important;
    width: 100% !important;
    -webkit-overflow-scrolling: touch !important;
}

body.public-body > main.qr-menu.theme-noir-catalog .category-tabs::-webkit-scrollbar {
    display: none !important;
}

body.public-body > main.qr-menu.theme-noir-catalog .category-tabs a,
body.public-body > main.qr-menu.theme-noir-catalog .category-tabs a.with-image,
body.public-body > main.qr-menu.theme-noir-catalog.nav-sticky_pills .category-tabs a,
body.public-body > main.qr-menu.theme-noir-catalog.nav-sticky_pills .category-tabs a.with-image {
    align-items: center !important;
    background: rgba(26, 31, 30, .06) !important;
    border: 1px solid rgba(26, 31, 30, .08) !important;
    border-radius: 8px !important;
    color: #1a1f1e !important;
    display: inline-flex !important;
    flex: 0 0 auto !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    gap: 7px !important;
    max-width: 190px !important;
    min-height: 42px !important;
    min-width: 120px !important;
    overflow: hidden !important;
    padding: 7px 10px !important;
    text-decoration: none !important;
    width: auto !important;
}

body.public-body > main.qr-menu.theme-noir-catalog .category-tabs a img,
body.public-body > main.qr-menu.theme-noir-catalog .category-tabs a.with-image img,
body.public-body > main.qr-menu.theme-noir-catalog .category-tabs a span,
body.public-body > main.qr-menu.theme-noir-catalog .category-tabs a.with-image span {
    border-radius: 4px !important;
}

body.public-body > main.qr-menu.theme-noir-catalog .category-tabs a img,
body.public-body > main.qr-menu.theme-noir-catalog .category-tabs a.with-image img {
    flex: 0 0 28px !important;
    height: 28px !important;
    object-fit: cover !important;
    width: 28px !important;
}

body.public-body > main.qr-menu.theme-noir-catalog .category-tabs a span,
body.public-body > main.qr-menu.theme-noir-catalog .category-tabs a.with-image span {
    min-width: 0 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

body.public-body > main.qr-menu.theme-noir-catalog .category-showcase {
    display: none !important;
}

body.public-body > main.qr-menu.theme-noir-catalog .menu-content,
body.public-body > main.qr-menu.theme-noir-catalog.noir-toolbar-fixed .menu-content,
body.public-body > main.qr-menu.theme-noir-catalog.is-noir-deep-link .menu-content,
html.has-menu-deep-link body.public-body > main.qr-menu.theme-noir-catalog .menu-content,
html.is-menu-deep-link-booting body.public-body > main.qr-menu.theme-noir-catalog .menu-content {
    background: #f7f8f8 !important;
    box-sizing: border-box !important;
    color: #1a1f1e !important;
    margin: 0 auto !important;
    max-width: 1120px !important;
    padding: 28px 18px 110px !important;
    width: 100% !important;
}

body.public-body > main.qr-menu.theme-noir-catalog .menu-category {
    margin: 0 0 28px !important;
    scroll-margin-top: calc(var(--noir-toolbar-height, 80px) + 16px) !important;
}

body.public-body > main.qr-menu.theme-noir-catalog .menu-category h2 {
    color: #1a1f1e !important;
    font-family: "Roboto", "Manrope", system-ui, sans-serif !important;
    font-size: clamp(22px, 4vw, 30px) !important;
    font-weight: 800 !important;
    letter-spacing: 0 !important;
    margin: 0 0 10px !important;
    padding: 0 !important;
}

body.public-body > main.qr-menu.theme-noir-catalog .menu-category h2::before {
    background: var(--aurora-primary) !important;
    border-radius: 0 !important;
    content: "" !important;
    display: inline-block !important;
    height: 1.1em !important;
    margin-right: 10px !important;
    vertical-align: -.15em !important;
    width: 4px !important;
}

body.public-body > main.qr-menu.theme-noir-catalog .product-grid-public {
    display: grid !important;
    gap: 0 !important;
    grid-template-columns: 1fr !important;
}

body.public-body > main.qr-menu.theme-noir-catalog .menu-product {
    align-items: flex-start !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    border-top: 1px solid rgba(26, 31, 30, .10) !important;
    box-shadow: none !important;
    color: #1a1f1e !important;
    display: grid !important;
    gap: 14px !important;
    grid-template-columns: 78px minmax(0, 1fr) auto !important;
    min-height: 106px !important;
    overflow: visible !important;
    padding: 15px 0 !important;
}

body.public-body > main.qr-menu.theme-noir-catalog .menu-product .product-media {
    align-self: start !important;
    aspect-ratio: 1 / 1 !important;
    background: rgba(26, 31, 30, .04) !important;
    border-radius: 8px !important;
    height: 78px !important;
    overflow: hidden !important;
    width: 78px !important;
}

body.public-body > main.qr-menu.theme-noir-catalog .menu-product .product-media img {
    border-radius: 8px !important;
    height: 100% !important;
    object-fit: cover !important;
    width: 100% !important;
}

body.public-body > main.qr-menu.theme-noir-catalog .visual-price-badge,
body.public-body > main.qr-menu.theme-noir-catalog .representative-media-badge {
    display: none !important;
}

body.public-body > main.qr-menu.theme-noir-catalog .menu-product .product-info {
    display: grid !important;
    gap: 6px !important;
    min-width: 0 !important;
}

body.public-body > main.qr-menu.theme-noir-catalog .menu-product .product-title-row {
    display: grid !important;
    gap: 6px !important;
    grid-template-columns: 1fr !important;
    min-width: 0 !important;
}

body.public-body > main.qr-menu.theme-noir-catalog .menu-product .product-title-row h3 {
    color: #1a1f1e !important;
    display: -webkit-box !important;
    font-size: 16px !important;
    font-weight: 800 !important;
    letter-spacing: 0 !important;
    line-height: 1.25 !important;
    margin: 0 !important;
    overflow: hidden !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 2 !important;
}

body.public-body > main.qr-menu.theme-noir-catalog .menu-product .product-description-short,
body.public-body > main.qr-menu.theme-noir-catalog .menu-product .product-description-trigger {
    color: rgba(26, 31, 30, .68) !important;
    display: -webkit-box !important;
    font-size: 13px !important;
    font-style: italic !important;
    line-height: 1.35 !important;
    margin: 0 !important;
    overflow: hidden !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 2 !important;
}

body.public-body > main.qr-menu.theme-noir-catalog .menu-product .price-stack {
    align-items: center !important;
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 6px !important;
    justify-content: flex-start !important;
}

body.public-body > main.qr-menu.theme-noir-catalog .menu-product .price-stack strong {
    color: #1a1f1e !important;
    font-size: 15px !important;
    font-weight: 900 !important;
}

body.public-body > main.qr-menu.theme-noir-catalog .menu-product .product-action-row {
    align-self: center !important;
    display: flex !important;
    grid-column: 3 !important;
    grid-row: 1 !important;
    justify-content: flex-end !important;
    margin: 0 !important;
}

body.public-body > main.qr-menu.theme-noir-catalog .menu-product .menu-cart-add {
    background: var(--aurora-primary) !important;
    border: 0 !important;
    border-radius: 8px !important;
    color: #fff !important;
    font-size: 12px !important;
    font-weight: 900 !important;
    min-height: 38px !important;
    padding: 0 12px !important;
    white-space: nowrap !important;
}

@media (min-width: 920px) {
    body.public-body > main.qr-menu.theme-noir-catalog .menu-main-flow {
        display: grid !important;
        grid-template-columns: minmax(260px, 332px) minmax(640px, 760px) !important;
        justify-content: center !important;
        min-height: 100vh !important;
        padding: 32px !important;
    }

    body.public-body > main.qr-menu.theme-noir-catalog .menu-hero,
    body.public-body > main.qr-menu.theme-noir-catalog.has-cover .menu-hero {
        border-radius: 28px !important;
        grid-column: 2 !important;
        min-height: calc(100vh - 64px) !important;
        width: 760px !important;
    }

    body.public-body > main.qr-menu.theme-noir-catalog .menu-hero-content.menu-cover-layout {
        min-height: calc(100vh - 64px) !important;
    }

    body.public-body > main.qr-menu.theme-noir-catalog .menu-cover-brand {
        background: rgba(255, 255, 255, .10) !important;
        border: 1px solid rgba(255, 255, 255, .13) !important;
        border-radius: 22px !important;
        box-shadow: 0 22px 56px rgba(0, 0, 0, .16) !important;
        left: -300px !important;
        min-height: 500px !important;
        padding: 28px 22px !important;
        position: absolute !important;
        top: 154px !important;
        width: 300px !important;
        backdrop-filter: blur(18px) !important;
        -webkit-backdrop-filter: blur(18px) !important;
    }

    body.public-body > main.qr-menu.theme-noir-catalog .menu-cover-brand .menu-logo {
        width: 100% !important;
    }

    body.public-body > main.qr-menu.theme-noir-catalog .menu-cover-business h1 {
        font-size: 24px !important;
    }

    body.public-body > main.qr-menu.theme-noir-catalog .menu-cover-subtitle {
        font-size: 14px !important;
    }

    body.public-body > main.qr-menu.theme-noir-catalog .menu-toolbar,
    body.public-body > main.qr-menu.theme-noir-catalog .menu-content {
        grid-column: 1 / -1 !important;
    }
}

@media (max-width: 759px) {
    body.public-body > main.qr-menu.theme-noir-catalog .menu-hero-content.menu-cover-layout {
        padding: 74px 16px calc(86px + env(safe-area-inset-bottom)) !important;
    }

    body.public-body > main.qr-menu.theme-noir-catalog .menu-cover-brand .menu-logo {
        height: 82px !important;
        width: min(200px, 62vw) !important;
    }

    body.public-body > main.qr-menu.theme-noir-catalog .aurora-category-tiles {
        gap: 14px !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        width: 100% !important;
    }

    body.public-body > main.qr-menu.theme-noir-catalog .aurora-category-tiles a {
        min-height: 110px !important;
        padding: 13px 10px !important;
    }

    body.public-body > main.qr-menu.theme-noir-catalog .menu-toolbar,
    body.public-body > main.qr-menu.theme-noir-catalog.noir-toolbar-fixed .menu-toolbar,
    body.public-body > main.qr-menu.theme-noir-catalog.is-noir-deep-link .menu-toolbar,
    html.has-menu-deep-link body.public-body > main.qr-menu.theme-noir-catalog .menu-toolbar,
    html.is-menu-deep-link-booting body.public-body > main.qr-menu.theme-noir-catalog .menu-toolbar {
        display: block !important;
        padding: 10px !important;
    }

    body.public-body > main.qr-menu.theme-noir-catalog .menu-search {
        margin: 0 0 8px !important;
    }

    body.public-body > main.qr-menu.theme-noir-catalog .menu-content {
        padding: 26px 14px calc(104px + env(safe-area-inset-bottom)) !important;
    }

    body.public-body > main.qr-menu.theme-noir-catalog .menu-product {
        grid-template-columns: 84px minmax(0, 1fr) auto !important;
        gap: 12px !important;
        min-height: 112px !important;
        padding: 14px 0 !important;
    }

    body.public-body > main.qr-menu.theme-noir-catalog .menu-product .product-media {
        height: 84px !important;
        width: 84px !important;
    }

    body.public-body > main.qr-menu.theme-noir-catalog .menu-product .product-action-row {
        align-self: end !important;
        grid-column: 3 !important;
        grid-row: 1 !important;
    }
}

/* v298 Aurora theme hard polish */
body.public-body > main.qr-menu.theme-noir-catalog .menu-hero,
body.public-body > main.qr-menu.theme-noir-catalog.has-cover .menu-hero {
    box-shadow: inset 0 0 0 9999px rgba(0, 0, 0, .50) !important;
}

body.public-body > main.qr-menu.theme-noir-catalog .menu-hero::after {
    background:
        radial-gradient(circle at 50% 18%, rgba(255, 255, 255, .08), transparent 14rem),
        linear-gradient(180deg, rgba(0, 0, 0, .12), rgba(0, 0, 0, .62)) !important;
    content: "" !important;
    inset: 0 !important;
    pointer-events: none !important;
    position: absolute !important;
    z-index: 1 !important;
}

body.public-body > main.qr-menu.theme-noir-catalog .menu-hero-content.menu-cover-layout {
    z-index: 3 !important;
}

body.public-body > main.qr-menu.theme-noir-catalog .aurora-category-tiles {
    z-index: 4 !important;
}

@media (min-width: 920px) {
    body.public-body > main.qr-menu.theme-noir-catalog .menu-cover-brand {
        align-content: start !important;
        gap: 22px !important;
        justify-items: center !important;
    }
}

@media (max-width: 759px) {
    body.public-body > main.qr-menu.theme-noir-catalog .menu-cover-brand {
        display: grid !important;
        grid-template-columns: 1fr !important;
        justify-items: center !important;
        margin: 0 auto !important;
        width: 100% !important;
    }

    body.public-body > main.qr-menu.theme-noir-catalog .menu-cover-business {
        display: none !important;
    }

    body.public-body > main.qr-menu.theme-noir-catalog .menu-cover-brand .menu-logo {
        height: 92px !important;
        margin: 0 auto !important;
        max-width: 240px !important;
        width: min(220px, 70vw) !important;
    }

    body.public-body > main.qr-menu.theme-noir-catalog .aurora-category-tiles {
        margin-top: auto !important;
        padding-bottom: 14px !important;
    }
}

/* v299 Aurora theme force dark immersive cover */
body.public-body > main.qr-menu.theme-noir-catalog .menu-hero,
body.public-body > main.qr-menu.theme-noir-catalog.has-cover .menu-hero,
html.has-menu-deep-link body.public-body > main.qr-menu.theme-noir-catalog .menu-hero,
html.is-menu-deep-link-booting body.public-body > main.qr-menu.theme-noir-catalog .menu-hero,
body.public-body > main.qr-menu.theme-noir-catalog:has(.menu-category:target) .menu-hero,
body.public-body > main.qr-menu.theme-noir-catalog:has(.menu-product:target) .menu-hero,
body.public-body > main.qr-menu.theme-noir-catalog.is-noir-deep-link .menu-hero {
    background:
        radial-gradient(circle at 50% 28%, rgba(255, 255, 255, .14), transparent 11rem),
        radial-gradient(circle at 50% 92%, rgba(83, 136, 122, .50), transparent 18rem),
        linear-gradient(180deg, #030605 0%, #15221f 48%, #050706 100%) !important;
    box-shadow: none !important;
}

body.public-body > main.qr-menu.theme-noir-catalog .menu-hero-content.menu-cover-layout,
body.public-body > main.qr-menu.theme-noir-catalog.nav-sticky_pills .menu-hero-content.menu-cover-layout,
body.public-body > main.qr-menu.theme-noir-catalog.nav-category_grid .menu-hero-content.menu-cover-layout,
body.public-body > main.qr-menu.theme-noir-catalog.nav-minimal_tabs .menu-hero-content.menu-cover-layout {
    background: transparent !important;
}

body.public-body > main.qr-menu.theme-noir-catalog .aurora-category-tiles a {
    background: rgba(28, 34, 32, .54) !important;
}

@media (max-width: 759px) {
    body.public-body > main.qr-menu.theme-noir-catalog .menu-cover-brand {
        background: transparent !important;
    }
}

/* v300 Aurora theme darken the actual visible cover panel */
body.public-body > main.qr-menu.theme-noir-catalog .menu-main-flow,
body.public-body > main.qr-menu.theme-noir-catalog .menu-hero,
body.public-body > main.qr-menu.theme-noir-catalog .menu-hero-content,
body.public-body > main.qr-menu.theme-noir-catalog .menu-hero-content.menu-cover-layout {
    background:
        radial-gradient(circle at 50% 24%, rgba(255, 255, 255, .10), transparent 11rem),
        radial-gradient(circle at 50% 92%, rgba(83, 136, 122, .42), transparent 18rem),
        linear-gradient(180deg, #030605 0%, #15221f 48%, #050706 100%) !important;
}

body.public-body > main.qr-menu.theme-noir-catalog .menu-hero-content.menu-cover-layout {
    border-radius: inherit !important;
}

@media (max-width: 759px) {
    body.public-body > main.qr-menu.theme-noir-catalog .menu-hero-content,
    body.public-body > main.qr-menu.theme-noir-catalog .menu-hero-content.menu-cover-layout {
        min-height: 100svh !important;
    }
}

/* v302 Aurora full flow: category screen and product detail */
body.public-body > main.qr-menu.theme-noir-catalog.is-noir-deep-link .menu-hero,
body.public-body > main.qr-menu.theme-noir-catalog:has(.menu-category:target) .menu-hero,
body.public-body > main.qr-menu.theme-noir-catalog:has(.menu-product:target) .menu-hero,
html.has-menu-deep-link body.public-body > main.qr-menu.theme-noir-catalog .menu-hero,
html.is-menu-deep-link-booting body.public-body > main.qr-menu.theme-noir-catalog .menu-hero {
    display: none !important;
    min-height: 0 !important;
}

body.public-body > main.qr-menu.theme-noir-catalog.is-noir-deep-link .menu-main-flow,
body.public-body > main.qr-menu.theme-noir-catalog:has(.menu-category:target) .menu-main-flow,
body.public-body > main.qr-menu.theme-noir-catalog:has(.menu-product:target) .menu-main-flow,
html.has-menu-deep-link body.public-body > main.qr-menu.theme-noir-catalog .menu-main-flow,
html.is-menu-deep-link-booting body.public-body > main.qr-menu.theme-noir-catalog .menu-main-flow {
    background: #0b1714 !important;
    display: block !important;
    min-height: 100vh !important;
    padding: 0 !important;
}

body.public-body > main.qr-menu.theme-noir-catalog.is-noir-deep-link .menu-toolbar,
body.public-body > main.qr-menu.theme-noir-catalog:has(.menu-category:target) .menu-toolbar,
body.public-body > main.qr-menu.theme-noir-catalog:has(.menu-product:target) .menu-toolbar,
html.has-menu-deep-link body.public-body > main.qr-menu.theme-noir-catalog .menu-toolbar,
html.is-menu-deep-link-booting body.public-body > main.qr-menu.theme-noir-catalog .menu-toolbar {
    background: #f7f8f8 !important;
    border-radius: 0 !important;
    box-shadow: 0 12px 26px rgba(0, 0, 0, .22) !important;
    margin: 0 auto !important;
    max-width: min(760px, 100vw) !important;
    position: sticky !important;
    top: 0 !important;
    z-index: 1200 !important;
}

body.public-body > main.qr-menu.theme-noir-catalog.is-noir-deep-link .menu-content,
body.public-body > main.qr-menu.theme-noir-catalog:has(.menu-category:target) .menu-content,
body.public-body > main.qr-menu.theme-noir-catalog:has(.menu-product:target) .menu-content,
html.has-menu-deep-link body.public-body > main.qr-menu.theme-noir-catalog .menu-content,
html.is-menu-deep-link-booting body.public-body > main.qr-menu.theme-noir-catalog .menu-content {
    background: #f7f8f8 !important;
    border-radius: 0 !important;
    margin: 0 auto !important;
    max-width: min(760px, 100vw) !important;
    padding: 0 18px 110px !important;
}

body.public-body > main.qr-menu.theme-noir-catalog .menu-category {
    background: #f7f8f8 !important;
    margin: 0 !important;
    padding: 0 0 22px !important;
}

body.public-body > main.qr-menu.theme-noir-catalog .menu-category h2 {
    align-items: end !important;
    background:
        linear-gradient(180deg, rgba(0,0,0,.02), rgba(0,0,0,.42)),
        radial-gradient(circle at 80% 20%, rgba(83,136,122,.22), transparent 14rem),
        #173d35 !important;
    border-radius: 0 0 18px 18px !important;
    color: #fff !important;
    display: flex !important;
    font-size: clamp(25px, 7vw, 34px) !important;
    font-weight: 900 !important;
    min-height: 168px !important;
    margin: 0 -18px 14px !important;
    padding: 22px 18px !important;
    text-shadow: 0 12px 28px rgba(0,0,0,.42) !important;
}

body.public-body > main.qr-menu.theme-noir-catalog .menu-category h2::before {
    display: none !important;
}

body.public-body > main.qr-menu.theme-noir-catalog .menu-product {
    align-items: flex-start !important;
    background: #f7f8f8 !important;
    border-color: rgba(26, 31, 30, .10) !important;
    grid-template-columns: 76px minmax(0, 1fr) auto !important;
    min-height: 112px !important;
}

body.public-body > main.qr-menu.theme-noir-catalog .menu-product .product-media {
    border-radius: 8px !important;
    height: 76px !important;
    width: 76px !important;
}

body.public-body > main.qr-menu.theme-noir-catalog .menu-product .product-title-row h3 {
    font-size: 16px !important;
    font-weight: 800 !important;
}

body.public-body > main.qr-menu.theme-noir-catalog .menu-product .product-description-short,
body.public-body > main.qr-menu.theme-noir-catalog .menu-product .product-description-trigger {
    color: #6b7280 !important;
    font-size: 13px !important;
    font-style: italic !important;
}

body.public-body > main.qr-menu.theme-noir-catalog .menu-product .menu-cart-add {
    background: #53887a !important;
    border-radius: 8px !important;
    color: #fff !important;
}

body.menu-theme-noir-catalog .description-modal {
    background: #f7f8f8 !important;
    color: #1a1f1e !important;
    z-index: 5000 !important;
}

body.menu-theme-noir-catalog .description-backdrop {
    background: rgba(0, 0, 0, .52) !important;
}

body.menu-theme-noir-catalog .description-dialog {
    background: #f7f8f8 !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    color: #1a1f1e !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    max-height: min(100vh, 920px) !important;
    max-width: min(760px, 100vw) !important;
    overflow: auto !important;
    padding: 0 0 32px !important;
    width: min(760px, 100vw) !important;
}

body.menu-theme-noir-catalog .description-close {
    background: rgba(255,255,255,.9) !important;
    border: 0 !important;
    border-radius: 999px !important;
    color: #1a1f1e !important;
    height: 42px !important;
    position: absolute !important;
    right: 14px !important;
    top: 14px !important;
    width: 42px !important;
    z-index: 4 !important;
}

body.menu-theme-noir-catalog .description-visual {
    background: #173d35 !important;
    border-radius: 0 0 22px 22px !important;
    display: block !important;
    height: clamp(260px, 48vh, 420px) !important;
    margin: 0 0 26px !important;
    overflow: hidden !important;
    position: relative !important;
}

body.menu-theme-noir-catalog .description-visual::after {
    background: linear-gradient(180deg, transparent 40%, rgba(0,0,0,.54)) !important;
    content: "" !important;
    inset: 0 !important;
    pointer-events: none !important;
    position: absolute !important;
}

body.menu-theme-noir-catalog .description-visual img {
    height: 100% !important;
    object-fit: cover !important;
    width: 100% !important;
}

body.menu-theme-noir-catalog .description-visual div {
    bottom: 20px !important;
    color: #fff !important;
    left: 18px !important;
    position: absolute !important;
    right: 18px !important;
    z-index: 2 !important;
}

body.menu-theme-noir-catalog .description-visual h2 {
    color: #fff !important;
    font-size: clamp(28px, 7vw, 44px) !important;
    font-weight: 900 !important;
    line-height: 1.05 !important;
    margin: 0 0 8px !important;
}

body.menu-theme-noir-catalog .description-price {
    background: rgba(255,255,255,.92) !important;
    border-radius: 8px !important;
    color: #1a1f1e !important;
    display: inline-flex !important;
    font-size: 18px !important;
    padding: 6px 10px !important;
}

body.menu-theme-noir-catalog .description-content {
    display: grid !important;
    gap: 18px !important;
    padding: 0 18px !important;
}

body.menu-theme-noir-catalog .description-content > p {
    color: #374151 !important;
    font-size: 15px !important;
    line-height: 1.65 !important;
    margin: 0 !important;
}

body.menu-theme-noir-catalog .description-detail-list {
    background: #fff !important;
    border: 1px solid rgba(26, 31, 30, .08) !important;
    border-radius: 14px !important;
    display: grid !important;
    gap: 10px !important;
    padding: 14px !important;
}

body.menu-theme-noir-catalog .description-pill-row.allergens::before {
    color: #1a1f1e !important;
    content: "Alerjenler" !important;
    display: block !important;
    flex-basis: 100% !important;
    font-size: 22px !important;
    font-weight: 900 !important;
    margin-bottom: 6px !important;
}

body.menu-theme-noir-catalog .description-pill-row {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
}

body.menu-theme-noir-catalog .description-pill-row span {
    background: #fff !important;
    border: 1px solid rgba(26, 31, 30, .10) !important;
    border-radius: 8px !important;
    color: #1a1f1e !important;
    padding: 7px 10px !important;
}

body.menu-theme-noir-catalog .description-goes-with::before {
    color: #1a1f1e !important;
    content: "Müşteriler Ayrıca Baktı" !important;
    display: block !important;
    font-size: 22px !important;
    font-weight: 900 !important;
    margin-bottom: 10px !important;
}

body.menu-theme-noir-catalog .recommendation-grid {
    display: grid !important;
    gap: 10px !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

body.menu-theme-noir-catalog .recommendation-option {
    background: #fff !important;
    border: 1px solid rgba(26, 31, 30, .10) !important;
    border-radius: 12px !important;
    color: #1a1f1e !important;
    padding: 8px !important;
}

body.menu-theme-noir-catalog .recommendation-option img {
    border-radius: 8px !important;
}

body.menu-theme-noir-catalog .description-actions {
    background: rgba(247, 248, 248, .96) !important;
    border-top: 1px solid rgba(26,31,30,.08) !important;
    bottom: 0 !important;
    padding: 12px 18px calc(12px + env(safe-area-inset-bottom)) !important;
    position: sticky !important;
}

/* v305 theme 2: Aurora-style category list page */
body.public-body > main.qr-menu.theme-noir-catalog {
    --aurora-bg: #0b1714;
    --aurora-green: #53887a;
    --aurora-ink: #17201e;
    --aurora-muted: #6c7572;
    --aurora-panel: #f7f8f8;
    background: var(--aurora-bg) !important;
    color: var(--aurora-ink) !important;
    min-height: 100vh !important;
}

body.public-body > main.qr-menu.theme-noir-catalog .aurora-category-tiles,
body.public-body > main.qr-menu.theme-noir-catalog .category-showcase,
body.public-body > main.qr-menu.theme-noir-catalog .pro-back-bar,
body.public-body > main.qr-menu.theme-noir-catalog .menu-cover-hours,
body.public-body > main.qr-menu.theme-noir-catalog .menu-cover-actions,
body.public-body > main.qr-menu.theme-noir-catalog .promenu-social-row,
body.public-body > main.qr-menu.theme-noir-catalog .menu-cover-business .eyebrow {
    display: none !important;
}

body.public-body > main.qr-menu.theme-noir-catalog .menu-main-flow,
body.public-body > main.qr-menu.theme-noir-catalog.is-noir-deep-link .menu-main-flow,
body.public-body > main.qr-menu.theme-noir-catalog:has(.menu-category:target) .menu-main-flow,
body.public-body > main.qr-menu.theme-noir-catalog:has(.menu-product:target) .menu-main-flow,
html.has-menu-deep-link body.public-body > main.qr-menu.theme-noir-catalog .menu-main-flow,
html.is-menu-deep-link-booting body.public-body > main.qr-menu.theme-noir-catalog .menu-main-flow {
    background: var(--aurora-bg) !important;
    display: block !important;
    min-height: 100vh !important;
    padding: 0 !important;
}

body.public-body > main.qr-menu.theme-noir-catalog .menu-hero,
body.public-body > main.qr-menu.theme-noir-catalog.has-cover .menu-hero {
    background: #5b8d80 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    display: block !important;
    margin: 0 auto !important;
    max-width: min(760px, 100vw) !important;
    min-height: 76px !important;
    overflow: visible !important;
    padding: 0 !important;
    width: 100% !important;
}

body.public-body > main.qr-menu.theme-noir-catalog.is-noir-deep-link .menu-hero,
body.public-body > main.qr-menu.theme-noir-catalog:has(.menu-category:target) .menu-hero,
body.public-body > main.qr-menu.theme-noir-catalog:has(.menu-product:target) .menu-hero,
html.has-menu-deep-link body.public-body > main.qr-menu.theme-noir-catalog .menu-hero,
html.is-menu-deep-link-booting body.public-body > main.qr-menu.theme-noir-catalog .menu-hero {
    display: none !important;
    min-height: 0 !important;
}

body.public-body > main.qr-menu.theme-noir-catalog .menu-hero::before,
body.public-body > main.qr-menu.theme-noir-catalog .menu-hero::after {
    display: none !important;
}

body.public-body > main.qr-menu.theme-noir-catalog .menu-hero-content,
body.public-body > main.qr-menu.theme-noir-catalog .menu-hero-content.menu-cover-layout,
body.public-body > main.qr-menu.theme-noir-catalog.nav-sticky_pills .menu-hero-content.menu-cover-layout,
body.public-body > main.qr-menu.theme-noir-catalog.nav-category_grid .menu-hero-content.menu-cover-layout,
body.public-body > main.qr-menu.theme-noir-catalog.nav-minimal_tabs .menu-hero-content.menu-cover-layout {
    align-items: center !important;
    background: #5b8d80 !important;
    border-radius: 0 !important;
    display: flex !important;
    justify-content: space-between !important;
    min-height: 76px !important;
    padding: 10px 14px !important;
    width: 100% !important;
}

body.public-body > main.qr-menu.theme-noir-catalog .menu-cover-brand {
    align-items: center !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    display: flex !important;
    gap: 10px !important;
    justify-content: flex-start !important;
    margin: 0 !important;
    min-width: 0 !important;
    padding: 0 !important;
    width: auto !important;
}

body.public-body > main.qr-menu.theme-noir-catalog .menu-cover-brand .menu-logo,
body.public-body > main.qr-menu.theme-noir-catalog .menu-logo {
    background: rgba(255,255,255,.96) !important;
    border: 0 !important;
    border-radius: 10px !important;
    box-shadow: none !important;
    height: 48px !important;
    margin: 0 !important;
    max-width: 110px !important;
    object-fit: contain !important;
    padding: 5px !important;
    width: 88px !important;
}

body.public-body > main.qr-menu.theme-noir-catalog .menu-cover-business {
    color: #fff !important;
    display: block !important;
    min-width: 0 !important;
}

body.public-body > main.qr-menu.theme-noir-catalog .theme2-title-row {
    align-items: center !important;
    display: flex !important;
    gap: 10px !important;
    margin: 0 !important;
}

body.public-body > main.qr-menu.theme-noir-catalog .menu-cover-business h1 {
    color: #fff !important;
    font-size: 18px !important;
    font-weight: 900 !important;
    line-height: 1.15 !important;
    margin: 0 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

body.public-body > main.qr-menu.theme-noir-catalog .menu-cover-subtitle {
    color: rgba(255,255,255,.78) !important;
    font-size: 12px !important;
    line-height: 1.25 !important;
    margin: 2px 0 0 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

body.public-body > main.qr-menu.theme-noir-catalog .menu-mode-toggle.hero-mode-toggle,
body.public-body > main.qr-menu.theme-noir-catalog .theme2-title-row .menu-mode-toggle.hero-mode-toggle[data-mode-toggle],
body.public-body > main.qr-menu.theme-noir-catalog .menu-hero .menu-mode-toggle.hero-mode-toggle[data-mode-toggle] {
    align-items: center !important;
    background: rgba(255,255,255,.16) !important;
    border: 1px solid rgba(255,255,255,.20) !important;
    border-radius: 999px !important;
    color: #fff !important;
    display: inline-flex !important;
    flex: 0 0 auto !important;
    height: 40px !important;
    justify-content: center !important;
    margin-left: auto !important;
    padding: 0 !important;
    position: static !important;
    width: 40px !important;
}

body.public-body > main.qr-menu.theme-noir-catalog .menu-toolbar,
body.public-body > main.qr-menu.theme-noir-catalog.noir-toolbar-fixed .menu-toolbar,
body.public-body > main.qr-menu.theme-noir-catalog.is-noir-deep-link .menu-toolbar,
body.public-body > main.qr-menu.theme-noir-catalog:has(.menu-category:target) .menu-toolbar,
body.public-body > main.qr-menu.theme-noir-catalog:has(.menu-product:target) .menu-toolbar,
html.has-menu-deep-link body.public-body > main.qr-menu.theme-noir-catalog .menu-toolbar,
html.is-menu-deep-link-booting body.public-body > main.qr-menu.theme-noir-catalog .menu-toolbar {
    background: var(--aurora-panel) !important;
    border-bottom: 1px solid rgba(23,32,30,.08) !important;
    border-radius: 0 !important;
    box-shadow: 0 10px 22px rgba(0,0,0,.16) !important;
    box-sizing: border-box !important;
    display: block !important;
    margin: 0 auto !important;
    max-width: min(760px, 100vw) !important;
    overflow: hidden !important;
    padding: 10px 12px 9px !important;
    position: sticky !important;
    top: 0 !important;
    transform: none !important;
    width: 100% !important;
    z-index: 1200 !important;
}

body.public-body > main.qr-menu.theme-noir-catalog .menu-search {
    display: block !important;
    margin: 0 0 8px !important;
    width: 100% !important;
}

body.public-body > main.qr-menu.theme-noir-catalog .menu-search input {
    background: #fff !important;
    border: 1px solid rgba(23,32,30,.10) !important;
    border-radius: 8px !important;
    box-shadow: none !important;
    color: var(--aurora-ink) !important;
    font-size: 14px !important;
    height: 42px !important;
    padding: 0 14px !important;
}

body.public-body > main.qr-menu.theme-noir-catalog .category-tabs,
body.public-body > main.qr-menu.theme-noir-catalog.nav-sticky_pills .category-tabs,
body.public-body > main.qr-menu.theme-noir-catalog.noir-toolbar-fixed .category-tabs,
body.public-body > main.qr-menu.theme-noir-catalog.is-noir-deep-link .category-tabs {
    align-items: center !important;
    display: flex !important;
    gap: 8px !important;
    margin: 0 !important;
    overflow-x: auto !important;
    padding: 0 0 1px !important;
    scrollbar-width: none !important;
    width: 100% !important;
}

body.public-body > main.qr-menu.theme-noir-catalog .category-tabs::-webkit-scrollbar {
    display: none !important;
}

body.public-body > main.qr-menu.theme-noir-catalog .category-tabs a,
body.public-body > main.qr-menu.theme-noir-catalog .category-tabs a.with-image,
body.public-body > main.qr-menu.theme-noir-catalog.nav-sticky_pills .category-tabs a,
body.public-body > main.qr-menu.theme-noir-catalog.nav-sticky_pills .category-tabs a.with-image {
    align-items: center !important;
    background: rgba(23,32,30,.06) !important;
    border: 1px solid rgba(23,32,30,.07) !important;
    border-radius: 7px !important;
    color: #34423f !important;
    display: inline-flex !important;
    flex: 0 0 auto !important;
    gap: 7px !important;
    min-height: 36px !important;
    min-width: max-content !important;
    padding: 6px 10px !important;
    text-decoration: none !important;
    white-space: nowrap !important;
}

body.public-body > main.qr-menu.theme-noir-catalog .category-tabs a img,
body.public-body > main.qr-menu.theme-noir-catalog .category-tabs a.with-image img {
    border-radius: 5px !important;
    display: block !important;
    height: 22px !important;
    object-fit: cover !important;
    width: 22px !important;
}

body.public-body > main.qr-menu.theme-noir-catalog .category-tabs a span,
body.public-body > main.qr-menu.theme-noir-catalog .category-tabs a.with-image span {
    color: inherit !important;
    font-size: 13px !important;
    font-weight: 800 !important;
}

body.public-body > main.qr-menu.theme-noir-catalog .menu-content,
body.public-body > main.qr-menu.theme-noir-catalog.noir-toolbar-fixed .menu-content,
body.public-body > main.qr-menu.theme-noir-catalog.is-noir-deep-link .menu-content,
html.has-menu-deep-link body.public-body > main.qr-menu.theme-noir-catalog .menu-content,
html.is-menu-deep-link-booting body.public-body > main.qr-menu.theme-noir-catalog .menu-content {
    background: var(--aurora-panel) !important;
    border-radius: 0 !important;
    box-sizing: border-box !important;
    color: var(--aurora-ink) !important;
    margin: 0 auto !important;
    max-width: min(760px, 100vw) !important;
    padding: 0 14px 112px !important;
    width: 100% !important;
}

body.public-body > main.qr-menu.theme-noir-catalog .menu-category {
    background: var(--aurora-panel) !important;
    margin: 0 0 18px !important;
    padding: 0 0 10px !important;
    scroll-margin-top: calc(var(--noir-toolbar-height, 94px) + 10px) !important;
}

body.public-body > main.qr-menu.theme-noir-catalog .menu-category h2 {
    align-items: flex-end !important;
    background:
        linear-gradient(180deg, rgba(0,0,0,.02), rgba(0,0,0,.58)),
        var(--category-hero-image),
        #173d35 !important;
    background-position: center !important;
    background-size: cover !important;
    border-radius: 0 0 18px 18px !important;
    color: #fff !important;
    display: flex !important;
    font-size: clamp(30px, 8vw, 44px) !important;
    font-weight: 950 !important;
    letter-spacing: 0 !important;
    line-height: 1.02 !important;
    margin: 0 -14px 12px !important;
    min-height: 182px !important;
    padding: 22px 18px !important;
    text-shadow: 0 12px 28px rgba(0,0,0,.62) !important;
}

body.public-body > main.qr-menu.theme-noir-catalog .menu-category h2::before {
    display: none !important;
}

body.public-body > main.qr-menu.theme-noir-catalog .product-grid-public {
    display: grid !important;
    gap: 0 !important;
    grid-template-columns: 1fr !important;
}

body.public-body > main.qr-menu.theme-noir-catalog .menu-product {
    align-items: center !important;
    background: var(--aurora-panel) !important;
    border: 0 !important;
    border-radius: 0 !important;
    border-top: 1px solid rgba(23,32,30,.10) !important;
    box-shadow: none !important;
    display: grid !important;
    gap: 12px !important;
    grid-template-columns: 78px minmax(0, 1fr) auto !important;
    margin: 0 !important;
    min-height: 106px !important;
    overflow: visible !important;
    padding: 12px 0 !important;
}

body.public-body > main.qr-menu.theme-noir-catalog .menu-product .product-media {
    align-self: center !important;
    border-radius: 8px !important;
    box-shadow: none !important;
    grid-column: 1 !important;
    height: 78px !important;
    margin: 0 !important;
    overflow: hidden !important;
    width: 78px !important;
}

body.public-body > main.qr-menu.theme-noir-catalog .menu-product .product-media img {
    border-radius: 8px !important;
    display: block !important;
    height: 100% !important;
    object-fit: cover !important;
    width: 100% !important;
}

body.public-body > main.qr-menu.theme-noir-catalog .visual-price-badge,
body.public-body > main.qr-menu.theme-noir-catalog .representative-media-badge {
    display: none !important;
}

body.public-body > main.qr-menu.theme-noir-catalog .menu-product .product-info {
    align-self: center !important;
    display: grid !important;
    gap: 4px !important;
    grid-column: 2 !important;
    min-width: 0 !important;
}

body.public-body > main.qr-menu.theme-noir-catalog .menu-product .product-title-row {
    display: flex !important;
    flex-direction: column !important;
    gap: 4px !important;
    min-width: 0 !important;
}

body.public-body > main.qr-menu.theme-noir-catalog .menu-product .product-title-row h3 {
    color: var(--aurora-ink) !important;
    display: -webkit-box !important;
    font-size: 15px !important;
    font-weight: 900 !important;
    -webkit-line-clamp: 2 !important;
    line-height: 1.18 !important;
    margin: 0 !important;
    overflow: hidden !important;
    text-align: left !important;
    -webkit-box-orient: vertical !important;
}

body.public-body > main.qr-menu.theme-noir-catalog .menu-product .product-description-short,
body.public-body > main.qr-menu.theme-noir-catalog .menu-product .product-description-trigger {
    color: var(--aurora-muted) !important;
    display: -webkit-box !important;
    font-size: 12px !important;
    font-style: italic !important;
    font-weight: 500 !important;
    -webkit-line-clamp: 1 !important;
    line-height: 1.3 !important;
    margin: 0 !important;
    overflow: hidden !important;
    padding: 0 !important;
    text-align: left !important;
    -webkit-box-orient: vertical !important;
}

body.public-body > main.qr-menu.theme-noir-catalog .menu-product .price-stack {
    align-items: center !important;
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 6px !important;
    margin-top: 2px !important;
    min-height: 22px !important;
}

body.public-body > main.qr-menu.theme-noir-catalog .menu-product .price-calorie-line {
    align-items: center !important;
    display: inline-flex !important;
    flex-wrap: wrap !important;
    gap: 6px !important;
}

body.public-body > main.qr-menu.theme-noir-catalog .menu-product .price-stack strong {
    color: #1f2927 !important;
    font-size: 16px !important;
    font-weight: 950 !important;
    line-height: 1 !important;
}

body.public-body > main.qr-menu.theme-noir-catalog .menu-product .product-calorie-chip {
    background: #fff2e7 !important;
    border: 0 !important;
    border-radius: 5px !important;
    color: #ef5c18 !important;
    font-size: 10px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    padding: 4px 5px !important;
    white-space: nowrap !important;
}

body.public-body > main.qr-menu.theme-noir-catalog .menu-product .product-action-row {
    align-self: center !important;
    display: flex !important;
    grid-column: 3 !important;
    grid-row: 1 !important;
    justify-content: flex-end !important;
    margin: 0 !important;
    min-width: 72px !important;
    width: auto !important;
}

body.public-body > main.qr-menu.theme-noir-catalog .menu-product .menu-cart-add {
    align-items: center !important;
    background: #fff !important;
    border: 1px solid rgba(23,32,30,.14) !important;
    border-radius: 7px !important;
    box-shadow: 0 3px 8px rgba(0,0,0,.08) !important;
    color: #3a423f !important;
    display: inline-flex !important;
    font-size: 12px !important;
    font-weight: 950 !important;
    height: 34px !important;
    justify-content: center !important;
    min-height: 34px !important;
    min-width: 64px !important;
    padding: 0 10px !important;
    text-transform: uppercase !important;
    white-space: nowrap !important;
}

body.public-body > main.qr-menu.theme-noir-catalog .menu-product .menu-cart-add[disabled] {
    opacity: .58 !important;
}

@media (min-width: 920px) {
    body.public-body > main.qr-menu.theme-noir-catalog .menu-main-flow,
    body.public-body > main.qr-menu.theme-noir-catalog.is-noir-deep-link .menu-main-flow,
    body.public-body > main.qr-menu.theme-noir-catalog:has(.menu-category:target) .menu-main-flow,
    body.public-body > main.qr-menu.theme-noir-catalog:has(.menu-product:target) .menu-main-flow {
        display: grid !important;
        gap: 0 !important;
        grid-template-columns: 300px minmax(640px, 760px) !important;
        justify-content: center !important;
        padding: 34px 24px !important;
    }

    body.public-body > main.qr-menu.theme-noir-catalog .menu-hero,
    body.public-body > main.qr-menu.theme-noir-catalog.has-cover .menu-hero {
        align-self: start !important;
        background: rgba(255,255,255,.08) !important;
        border-radius: 22px 0 0 22px !important;
        box-shadow: 0 22px 60px rgba(0,0,0,.24) !important;
        display: block !important;
        grid-column: 1 !important;
        grid-row: 1 / span 2 !important;
        margin: 0 !important;
        max-width: 300px !important;
        min-height: 560px !important;
        overflow: hidden !important;
    }

    body.public-body > main.qr-menu.theme-noir-catalog .menu-hero-content,
    body.public-body > main.qr-menu.theme-noir-catalog .menu-hero-content.menu-cover-layout {
        align-content: center !important;
        align-items: center !important;
        background: linear-gradient(180deg, #638f84, #18342e) !important;
        display: grid !important;
        gap: 18px !important;
        justify-items: center !important;
        min-height: 560px !important;
        padding: 28px !important;
        text-align: center !important;
    }

    body.public-body > main.qr-menu.theme-noir-catalog .menu-cover-brand {
        display: grid !important;
        gap: 16px !important;
        justify-items: center !important;
        text-align: center !important;
    }

    body.public-body > main.qr-menu.theme-noir-catalog .menu-cover-brand .menu-logo,
    body.public-body > main.qr-menu.theme-noir-catalog .menu-logo {
        height: 96px !important;
        max-width: 190px !important;
        width: 170px !important;
    }

    body.public-body > main.qr-menu.theme-noir-catalog .menu-cover-business h1 {
        font-size: 26px !important;
        white-space: normal !important;
    }

    body.public-body > main.qr-menu.theme-noir-catalog .menu-cover-subtitle {
        font-size: 14px !important;
        white-space: normal !important;
    }

    body.public-body > main.qr-menu.theme-noir-catalog .menu-mode-toggle.hero-mode-toggle,
    body.public-body > main.qr-menu.theme-noir-catalog .theme2-title-row .menu-mode-toggle.hero-mode-toggle[data-mode-toggle] {
        margin: 14px auto 0 !important;
    }

    body.public-body > main.qr-menu.theme-noir-catalog .menu-toolbar,
    body.public-body > main.qr-menu.theme-noir-catalog .menu-content {
        grid-column: 2 !important;
        max-width: 760px !important;
    }

    body.public-body > main.qr-menu.theme-noir-catalog .menu-toolbar {
        border-radius: 0 22px 0 0 !important;
        top: 0 !important;
    }

    body.public-body > main.qr-menu.theme-noir-catalog .menu-content {
        border-radius: 0 0 22px 0 !important;
        min-height: 560px !important;
    }

    body.public-body > main.qr-menu.theme-noir-catalog .menu-category h2 {
        min-height: 230px !important;
    }
}

@media (max-width: 560px) {
    body.public-body > main.qr-menu.theme-noir-catalog .menu-hero-content,
    body.public-body > main.qr-menu.theme-noir-catalog .menu-hero-content.menu-cover-layout {
        padding: 9px 12px !important;
    }

    body.public-body > main.qr-menu.theme-noir-catalog .menu-cover-brand .menu-logo,
    body.public-body > main.qr-menu.theme-noir-catalog .menu-logo {
        height: 44px !important;
        width: 78px !important;
    }

    body.public-body > main.qr-menu.theme-noir-catalog .menu-cover-business h1 {
        font-size: 16px !important;
        max-width: calc(100vw - 150px) !important;
    }

    body.public-body > main.qr-menu.theme-noir-catalog .menu-cover-subtitle {
        max-width: calc(100vw - 150px) !important;
    }

    body.public-body > main.qr-menu.theme-noir-catalog .menu-category h2 {
        min-height: 168px !important;
    }

    body.public-body > main.qr-menu.theme-noir-catalog .menu-product {
        gap: 10px !important;
        grid-template-columns: 72px minmax(0, 1fr) auto !important;
        min-height: 98px !important;
        padding: 10px 0 !important;
    }

    body.public-body > main.qr-menu.theme-noir-catalog .menu-product .product-media {
        height: 72px !important;
        width: 72px !important;
    }

    body.public-body > main.qr-menu.theme-noir-catalog .menu-product .product-action-row {
        min-width: 62px !important;
    }

    body.public-body > main.qr-menu.theme-noir-catalog .menu-product .menu-cart-add {
        min-width: 58px !important;
        padding: 0 8px !important;
    }
}

/* v306 theme 2 desktop side panel cleanup */
@media (min-width: 920px) {
    body.public-body > main.qr-menu.theme-noir-catalog .menu-hero *,
    body.public-body > main.qr-menu.theme-noir-catalog .menu-hero-content * {
        transform: none !important;
    }

    body.public-body > main.qr-menu.theme-noir-catalog .menu-cover-business,
    body.public-body > main.qr-menu.theme-noir-catalog .menu-hero .menu-cover-business {
        align-items: center !important;
        color: #fff !important;
        display: grid !important;
        gap: 8px !important;
        justify-items: center !important;
        max-width: 230px !important;
        min-width: 0 !important;
        position: static !important;
        text-align: center !important;
        width: 100% !important;
    }

    body.public-body > main.qr-menu.theme-noir-catalog .theme2-title-row,
    body.public-body > main.qr-menu.theme-noir-catalog .menu-hero .theme2-title-row {
        align-items: center !important;
        display: grid !important;
        gap: 12px !important;
        justify-items: center !important;
        margin: 0 !important;
        position: static !important;
        text-align: center !important;
        width: 100% !important;
    }

    body.public-body > main.qr-menu.theme-noir-catalog .menu-cover-business h1,
    body.public-body > main.qr-menu.theme-noir-catalog .menu-hero .menu-cover-business h1 {
        color: #fff !important;
        display: block !important;
        font-size: 26px !important;
        font-weight: 950 !important;
        line-height: 1.08 !important;
        margin: 0 !important;
        max-width: 230px !important;
        overflow: visible !important;
        position: static !important;
        text-align: center !important;
        white-space: normal !important;
        width: 100% !important;
        word-break: normal !important;
    }

    body.public-body > main.qr-menu.theme-noir-catalog .menu-cover-subtitle,
    body.public-body > main.qr-menu.theme-noir-catalog .menu-hero .menu-cover-subtitle {
        color: rgba(255,255,255,.82) !important;
        display: block !important;
        font-size: 14px !important;
        font-style: italic !important;
        font-weight: 700 !important;
        line-height: 1.35 !important;
        margin: 0 !important;
        max-width: 210px !important;
        overflow: visible !important;
        position: static !important;
        text-align: center !important;
        white-space: normal !important;
    }

    body.public-body > main.qr-menu.theme-noir-catalog .menu-mode-toggle.hero-mode-toggle,
    body.public-body > main.qr-menu.theme-noir-catalog .theme2-title-row .menu-mode-toggle.hero-mode-toggle[data-mode-toggle],
    body.public-body > main.qr-menu.theme-noir-catalog .menu-hero .menu-mode-toggle.hero-mode-toggle[data-mode-toggle] {
        inset: auto !important;
        margin: 0 auto !important;
        position: static !important;
    }
}

/* v307 theme 2 desktop: neutralize legacy positioned cover pieces */
@media (min-width: 920px) {
    body.public-body > main.qr-menu.theme-noir-catalog .menu-cover-brand,
    body.public-body > main.qr-menu.theme-noir-catalog .menu-cover-brand .menu-logo,
    body.public-body > main.qr-menu.theme-noir-catalog .menu-logo,
    body.public-body > main.qr-menu.theme-noir-catalog .menu-cover-business,
    body.public-body > main.qr-menu.theme-noir-catalog .theme2-title-row,
    body.public-body > main.qr-menu.theme-noir-catalog .menu-cover-business h1,
    body.public-body > main.qr-menu.theme-noir-catalog .menu-cover-subtitle,
    body.public-body > main.qr-menu.theme-noir-catalog .menu-mode-toggle.hero-mode-toggle {
        bottom: auto !important;
        float: none !important;
        inset: auto !important;
        left: auto !important;
        max-height: none !important;
        min-height: 0 !important;
        opacity: 1 !important;
        position: static !important;
        right: auto !important;
        top: auto !important;
        transform: none !important;
        visibility: visible !important;
    }

    body.public-body > main.qr-menu.theme-noir-catalog .menu-cover-brand,
    body.public-body > main.qr-menu.theme-noir-catalog .menu-hero .menu-cover-brand {
        align-items: center !important;
        background: transparent !important;
        border: 0 !important;
        box-shadow: none !important;
        display: grid !important;
        gap: 18px !important;
        height: auto !important;
        justify-content: center !important;
        justify-items: center !important;
        margin: 0 auto !important;
        max-width: 240px !important;
        padding: 0 !important;
        text-align: center !important;
        width: 100% !important;
    }

    body.public-body > main.qr-menu.theme-noir-catalog .menu-cover-brand .menu-logo,
    body.public-body > main.qr-menu.theme-noir-catalog .menu-hero .menu-cover-brand .menu-logo,
    body.public-body > main.qr-menu.theme-noir-catalog .menu-logo {
        background: rgba(255,255,255,.96) !important;
        border-radius: 12px !important;
        display: block !important;
        height: 92px !important;
        margin: 0 auto !important;
        max-width: 180px !important;
        object-fit: contain !important;
        padding: 9px !important;
        width: 180px !important;
    }

    body.public-body > main.qr-menu.theme-noir-catalog .theme2-title-row,
    body.public-body > main.qr-menu.theme-noir-catalog .menu-hero .theme2-title-row {
        display: grid !important;
        gap: 12px !important;
        justify-content: center !important;
        justify-items: center !important;
        text-align: center !important;
    }
}

/* v308 theme 2 desktop: force the brand block into one clean column */
@media (min-width: 920px) {
    body.public-body > main.qr-menu.theme-noir-catalog .menu-cover-brand,
    body.public-body > main.qr-menu.theme-noir-catalog .menu-hero .menu-cover-brand {
        grid-auto-flow: row !important;
        grid-template-columns: minmax(0, 1fr) !important;
        grid-template-rows: auto auto !important;
    }

    body.public-body > main.qr-menu.theme-noir-catalog .menu-cover-brand > *,
    body.public-body > main.qr-menu.theme-noir-catalog .menu-cover-business > *,
    body.public-body > main.qr-menu.theme-noir-catalog .theme2-title-row > * {
        clear: both !important;
        grid-column: 1 !important;
        grid-row: auto !important;
        justify-self: center !important;
        max-width: 100% !important;
    }

    body.public-body > main.qr-menu.theme-noir-catalog .menu-cover-business,
    body.public-body > main.qr-menu.theme-noir-catalog .menu-hero .menu-cover-business {
        grid-column: 1 !important;
        justify-self: center !important;
        margin: 0 auto !important;
        max-width: 220px !important;
        width: 220px !important;
    }

    body.public-body > main.qr-menu.theme-noir-catalog .menu-cover-business h1,
    body.public-body > main.qr-menu.theme-noir-catalog .menu-hero .menu-cover-business h1 {
        max-width: 220px !important;
        width: 220px !important;
    }

    body.public-body > main.qr-menu.theme-noir-catalog .menu-cover-subtitle,
    body.public-body > main.qr-menu.theme-noir-catalog .menu-hero .menu-cover-subtitle {
        max-width: 200px !important;
        width: 200px !important;
    }
}

/* v310 theme 2 mobile click-state fix */
@media (max-width: 759px) {
    body.public-body > main.qr-menu.theme-noir-catalog .menu-toolbar,
    body.public-body > main.qr-menu.theme-noir-catalog.is-noir-deep-link .menu-toolbar,
    body.public-body > main.qr-menu.theme-noir-catalog:has(.menu-category:target) .menu-toolbar,
    html.has-menu-deep-link body.public-body > main.qr-menu.theme-noir-catalog .menu-toolbar {
        left: auto !important;
        position: sticky !important;
        right: auto !important;
        top: 0 !important;
        transform: none !important;
    }

    body.public-body > main.qr-menu.theme-noir-catalog.noir-toolbar-fixed .menu-toolbar {
        left: 50% !important;
        max-width: min(760px, 100vw) !important;
        position: fixed !important;
        right: auto !important;
        top: 0 !important;
        transform: translateX(-50%) !important;
        width: 100% !important;
        z-index: 5000 !important;
    }

    body.public-body > main.qr-menu.theme-noir-catalog.noir-toolbar-fixed .menu-content {
        padding-top: calc(var(--noir-toolbar-height, 122px) + 8px) !important;
    }

    body.public-body > main.qr-menu.theme-noir-catalog .category-tabs,
    body.public-body > main.qr-menu.theme-noir-catalog.noir-toolbar-fixed .category-tabs,
    body.public-body > main.qr-menu.theme-noir-catalog.is-noir-deep-link .category-tabs,
    body.public-body > main.qr-menu.theme-noir-catalog:has(.menu-category:target) .category-tabs,
    html.has-menu-deep-link body.public-body > main.qr-menu.theme-noir-catalog .category-tabs {
        align-items: center !important;
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        gap: 8px !important;
        grid-auto-columns: unset !important;
        grid-auto-flow: unset !important;
        grid-template-columns: none !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        scrollbar-width: none !important;
        white-space: nowrap !important;
        width: 100% !important;
        -webkit-overflow-scrolling: touch !important;
    }

    body.public-body > main.qr-menu.theme-noir-catalog .category-tabs a,
    body.public-body > main.qr-menu.theme-noir-catalog .category-tabs a.with-image,
    body.public-body > main.qr-menu.theme-noir-catalog.noir-toolbar-fixed .category-tabs a,
    body.public-body > main.qr-menu.theme-noir-catalog.noir-toolbar-fixed .category-tabs a.with-image,
    body.public-body > main.qr-menu.theme-noir-catalog.is-noir-deep-link .category-tabs a,
    body.public-body > main.qr-menu.theme-noir-catalog.is-noir-deep-link .category-tabs a.with-image,
    body.public-body > main.qr-menu.theme-noir-catalog:has(.menu-category:target) .category-tabs a,
    body.public-body > main.qr-menu.theme-noir-catalog:has(.menu-category:target) .category-tabs a.with-image,
    html.has-menu-deep-link body.public-body > main.qr-menu.theme-noir-catalog .category-tabs a,
    html.has-menu-deep-link body.public-body > main.qr-menu.theme-noir-catalog .category-tabs a.with-image {
        flex: 0 0 auto !important;
        max-width: 220px !important;
        min-width: max-content !important;
        width: auto !important;
    }
}

/* v312 theme 2 final click-state override */
body.public-body > main.qr-menu.theme-noir-catalog.noir-toolbar-fixed .menu-toolbar {
    left: 50% !important;
    max-width: min(760px, 100vw) !important;
    position: fixed !important;
    right: auto !important;
    top: 0 !important;
    transform: translateX(-50%) !important;
    width: 100% !important;
    z-index: 5000 !important;
}

body.public-body > main.qr-menu.theme-noir-catalog.noir-toolbar-fixed .menu-content {
    padding-top: calc(var(--noir-toolbar-height, 122px) + 8px) !important;
}

body.public-body > main.qr-menu.theme-noir-catalog.noir-toolbar-fixed .category-tabs,
body.public-body > main.qr-menu.theme-noir-catalog.is-noir-deep-link .category-tabs,
html.has-menu-deep-link body.public-body > main.qr-menu.theme-noir-catalog .category-tabs {
    align-items: center !important;
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    gap: 8px !important;
    grid-auto-columns: unset !important;
    grid-auto-flow: unset !important;
    grid-template-columns: none !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scrollbar-width: none !important;
    white-space: nowrap !important;
    width: 100% !important;
    -webkit-overflow-scrolling: touch !important;
}

body.public-body > main.qr-menu.theme-noir-catalog.noir-toolbar-fixed .category-tabs a,
body.public-body > main.qr-menu.theme-noir-catalog.noir-toolbar-fixed .category-tabs a.with-image,
body.public-body > main.qr-menu.theme-noir-catalog.is-noir-deep-link .category-tabs a,
body.public-body > main.qr-menu.theme-noir-catalog.is-noir-deep-link .category-tabs a.with-image,
html.has-menu-deep-link body.public-body > main.qr-menu.theme-noir-catalog .category-tabs a,
html.has-menu-deep-link body.public-body > main.qr-menu.theme-noir-catalog .category-tabs a.with-image {
    flex: 0 0 auto !important;
    max-width: 220px !important;
    min-width: max-content !important;
    width: auto !important;
}

/* v315 theme 2 final product row override */
body.public-body > main.qr-menu.theme-noir-catalog.noir-toolbar-fixed .menu-product,
body.public-body > main.qr-menu.theme-noir-catalog.is-noir-deep-link .menu-product {
    align-items: center !important;
    display: grid !important;
    gap: 10px !important;
    grid-template-columns: 72px minmax(0, 1fr) 64px !important;
    min-height: 98px !important;
    padding: 10px 0 !important;
}

body.public-body > main.qr-menu.theme-noir-catalog.noir-toolbar-fixed .menu-product .product-media,
body.public-body > main.qr-menu.theme-noir-catalog.is-noir-deep-link .menu-product .product-media {
    align-self: center !important;
    grid-column: 1 !important;
    grid-row: 1 !important;
    height: 72px !important;
    width: 72px !important;
}

body.public-body > main.qr-menu.theme-noir-catalog.noir-toolbar-fixed .menu-product .product-info,
body.public-body > main.qr-menu.theme-noir-catalog.is-noir-deep-link .menu-product .product-info {
    align-self: center !important;
    display: grid !important;
    gap: 4px !important;
    grid-column: 2 !important;
    grid-row: 1 !important;
    min-width: 0 !important;
}

body.public-body > main.qr-menu.theme-noir-catalog.noir-toolbar-fixed .menu-product .product-action-row,
body.public-body > main.qr-menu.theme-noir-catalog.is-noir-deep-link .menu-product .product-action-row {
    align-self: center !important;
    display: flex !important;
    grid-column: 3 !important;
    grid-row: 1 !important;
    justify-content: flex-end !important;
    min-width: 64px !important;
    position: static !important;
    width: 64px !important;
}

/* v317 theme 2 final inner product info layout */
body.public-body > main.qr-menu.theme-noir-catalog.noir-toolbar-fixed .menu-product,
body.public-body > main.qr-menu.theme-noir-catalog.is-noir-deep-link .menu-product {
    grid-template-columns: 72px minmax(0, 1fr) !important;
}

body.public-body > main.qr-menu.theme-noir-catalog.noir-toolbar-fixed .menu-product .product-info,
body.public-body > main.qr-menu.theme-noir-catalog.is-noir-deep-link .menu-product .product-info {
    column-gap: 8px !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 64px !important;
    grid-template-rows: auto auto auto !important;
    width: 100% !important;
}

body.public-body > main.qr-menu.theme-noir-catalog.noir-toolbar-fixed .menu-product .product-title-row,
body.public-body > main.qr-menu.theme-noir-catalog.is-noir-deep-link .menu-product .product-title-row {
    grid-column: 1 !important;
    grid-row: 1 !important;
    min-width: 0 !important;
    width: 100% !important;
}

body.public-body > main.qr-menu.theme-noir-catalog.noir-toolbar-fixed .menu-product .product-title-row h3,
body.public-body > main.qr-menu.theme-noir-catalog.is-noir-deep-link .menu-product .product-title-row h3 {
    max-width: 100% !important;
    min-width: 0 !important;
    width: 100% !important;
}

body.public-body > main.qr-menu.theme-noir-catalog.noir-toolbar-fixed .menu-product .product-description-short,
body.public-body > main.qr-menu.theme-noir-catalog.noir-toolbar-fixed .menu-product .product-description-trigger,
body.public-body > main.qr-menu.theme-noir-catalog.is-noir-deep-link .menu-product .product-description-short,
body.public-body > main.qr-menu.theme-noir-catalog.is-noir-deep-link .menu-product .product-description-trigger {
    grid-column: 1 !important;
    grid-row: 2 !important;
    min-width: 0 !important;
}

body.public-body > main.qr-menu.theme-noir-catalog.noir-toolbar-fixed .menu-product .price-stack,
body.public-body > main.qr-menu.theme-noir-catalog.is-noir-deep-link .menu-product .price-stack {
    grid-column: 1 !important;
    grid-row: 3 !important;
}

body.public-body > main.qr-menu.theme-noir-catalog.noir-toolbar-fixed .menu-product .product-action-row,
body.public-body > main.qr-menu.theme-noir-catalog.is-noir-deep-link .menu-product .product-action-row {
    align-self: center !important;
    grid-column: 2 !important;
    grid-row: 1 / span 3 !important;
    justify-self: end !important;
}

/* v319 theme 2 final single-color mobile cover */
body.public-body > main.qr-menu.theme-noir-catalog .hero-mode-toggle,
body.public-body > main.qr-menu.theme-noir-catalog .menu-mode-toggle.hero-mode-toggle,
body.public-body > main.qr-menu.theme-noir-catalog .theme2-title-row .menu-mode-toggle.hero-mode-toggle[data-mode-toggle],
body.public-body > main.qr-menu.theme-noir-catalog .menu-hero .menu-mode-toggle.hero-mode-toggle[data-mode-toggle] {
    display: none !important;
}

@media (max-width: 759px) {
    html,
    body.public-body,
    body.public-body > main.qr-menu.theme-noir-catalog,
    body.public-body > main.qr-menu.theme-noir-catalog .menu-main-flow,
    body.public-body > main.qr-menu.theme-noir-catalog.is-noir-deep-link .menu-main-flow,
    body.public-body > main.qr-menu.theme-noir-catalog:has(.menu-category:target) .menu-main-flow,
    html.has-menu-deep-link body.public-body > main.qr-menu.theme-noir-catalog .menu-main-flow {
        background: #f7f8f8 !important;
    }

    body.public-body > main.qr-menu.theme-noir-catalog .menu-hero,
    body.public-body > main.qr-menu.theme-noir-catalog.has-cover .menu-hero,
    body.public-body > main.qr-menu.theme-noir-catalog.is-noir-deep-link .menu-hero,
    body.public-body > main.qr-menu.theme-noir-catalog:has(.menu-category:target) .menu-hero,
    html.has-menu-deep-link body.public-body > main.qr-menu.theme-noir-catalog .menu-hero {
        background: #5f9386 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        display: block !important;
        margin: 0 !important;
        max-width: none !important;
        min-height: 76px !important;
        overflow: visible !important;
        padding: 0 !important;
        width: 100% !important;
    }

    body.public-body > main.qr-menu.theme-noir-catalog .menu-hero-content,
    body.public-body > main.qr-menu.theme-noir-catalog .menu-hero-content.menu-cover-layout,
    body.public-body > main.qr-menu.theme-noir-catalog.nav-sticky_pills .menu-hero-content.menu-cover-layout,
    body.public-body > main.qr-menu.theme-noir-catalog.nav-category_grid .menu-hero-content.menu-cover-layout,
    body.public-body > main.qr-menu.theme-noir-catalog.nav-minimal_tabs .menu-hero-content.menu-cover-layout {
        background: #5f9386 !important;
        border-radius: 0 !important;
        box-sizing: border-box !important;
        display: flex !important;
        margin: 0 !important;
        max-width: none !important;
        min-height: 76px !important;
        padding: 10px 14px !important;
        width: 100% !important;
    }
}

/* v320 prevent mobile zoom on menu search focus */
@media (max-width: 759px) {
    body.public-body main.qr-menu .menu-search input[data-menu-search] {
        font-size: 16px !important;
    }
}

/* v321 theme 2 product detail image background */
body.menu-theme-noir-catalog .description-visual {
    background: #fff !important;
}

/* v322 theme 2 desktop layout polish */
@media (min-width: 920px) {
    body.public-body > main.qr-menu.theme-noir-catalog,
    body.public-body > main.qr-menu.theme-noir-catalog .menu-main-flow,
    body.public-body > main.qr-menu.theme-noir-catalog.is-noir-deep-link .menu-main-flow,
    body.public-body > main.qr-menu.theme-noir-catalog:has(.menu-category:target) .menu-main-flow,
    body.public-body > main.qr-menu.theme-noir-catalog:has(.menu-product:target) .menu-main-flow {
        background: #071b17 !important;
    }

    body.public-body > main.qr-menu.theme-noir-catalog .menu-main-flow,
    body.public-body > main.qr-menu.theme-noir-catalog.is-noir-deep-link .menu-main-flow,
    body.public-body > main.qr-menu.theme-noir-catalog:has(.menu-category:target) .menu-main-flow,
    body.public-body > main.qr-menu.theme-noir-catalog:has(.menu-product:target) .menu-main-flow {
        align-items: start !important;
        display: grid !important;
        gap: 22px !important;
        grid-template-columns: 320px minmax(0, 940px) !important;
        justify-content: center !important;
        margin: 0 auto !important;
        max-width: 1340px !important;
        min-height: 100vh !important;
        padding: 32px 28px 120px !important;
        width: 100% !important;
    }

    body.public-body > main.qr-menu.theme-noir-catalog .menu-hero,
    body.public-body > main.qr-menu.theme-noir-catalog.has-cover .menu-hero,
    body.public-body > main.qr-menu.theme-noir-catalog.is-noir-deep-link .menu-hero,
    body.public-body > main.qr-menu.theme-noir-catalog:has(.menu-category:target) .menu-hero,
    body.public-body > main.qr-menu.theme-noir-catalog:has(.menu-product:target) .menu-hero {
        align-self: start !important;
        background: transparent !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        grid-column: 1 !important;
        grid-row: 1 / span 2 !important;
        height: auto !important;
        margin: 0 !important;
        max-width: none !important;
        min-height: 0 !important;
        overflow: visible !important;
        padding: 0 !important;
        position: sticky !important;
        top: 32px !important;
        width: 100% !important;
    }

    body.public-body > main.qr-menu.theme-noir-catalog .menu-hero-content,
    body.public-body > main.qr-menu.theme-noir-catalog .menu-hero-content.menu-cover-layout,
    body.public-body > main.qr-menu.theme-noir-catalog.nav-sticky_pills .menu-hero-content.menu-cover-layout,
    body.public-body > main.qr-menu.theme-noir-catalog.nav-category_grid .menu-hero-content.menu-cover-layout,
    body.public-body > main.qr-menu.theme-noir-catalog.nav-minimal_tabs .menu-hero-content.menu-cover-layout {
        align-content: start !important;
        align-items: stretch !important;
        background: linear-gradient(180deg, #6b9b8f 0%, #22443c 58%, #112b25 100%) !important;
        border: 1px solid rgba(255,255,255,.14) !important;
        border-radius: 24px !important;
        box-shadow: 0 28px 70px rgba(0,0,0,.34) !important;
        display: grid !important;
        gap: 24px !important;
        justify-items: stretch !important;
        min-height: calc(100vh - 64px) !important;
        padding: 28px !important;
        text-align: left !important;
        width: 100% !important;
    }

    body.public-body > main.qr-menu.theme-noir-catalog .menu-cover-brand,
    body.public-body > main.qr-menu.theme-noir-catalog .menu-hero .menu-cover-brand {
        align-items: start !important;
        background: transparent !important;
        border: 0 !important;
        box-shadow: none !important;
        display: grid !important;
        gap: 22px !important;
        justify-content: stretch !important;
        justify-items: stretch !important;
        margin: 0 !important;
        max-width: none !important;
        padding: 0 !important;
        text-align: left !important;
        width: 100% !important;
    }

    body.public-body > main.qr-menu.theme-noir-catalog .menu-cover-brand .menu-logo,
    body.public-body > main.qr-menu.theme-noir-catalog .menu-hero .menu-cover-brand .menu-logo,
    body.public-body > main.qr-menu.theme-noir-catalog .menu-logo {
        background: rgba(255,255,255,.96) !important;
        border-radius: 18px !important;
        box-shadow: 0 14px 32px rgba(0,0,0,.18) !important;
        display: block !important;
        height: 112px !important;
        margin: 0 !important;
        max-width: 100% !important;
        object-fit: contain !important;
        padding: 16px !important;
        width: 100% !important;
    }

    body.public-body > main.qr-menu.theme-noir-catalog .menu-cover-business,
    body.public-body > main.qr-menu.theme-noir-catalog .menu-hero .menu-cover-business,
    body.public-body > main.qr-menu.theme-noir-catalog .theme2-title-row,
    body.public-body > main.qr-menu.theme-noir-catalog .menu-hero .theme2-title-row {
        align-items: start !important;
        display: grid !important;
        gap: 10px !important;
        justify-items: start !important;
        margin: 0 !important;
        max-width: none !important;
        position: static !important;
        text-align: left !important;
        width: 100% !important;
    }

    body.public-body > main.qr-menu.theme-noir-catalog .menu-cover-business h1,
    body.public-body > main.qr-menu.theme-noir-catalog .menu-hero .menu-cover-business h1 {
        color: #fff !important;
        font-size: clamp(30px, 2.2vw, 42px) !important;
        font-weight: 950 !important;
        line-height: 1.04 !important;
        margin: 0 !important;
        max-width: 100% !important;
        text-align: left !important;
        text-shadow: 0 14px 32px rgba(0,0,0,.32) !important;
        width: 100% !important;
    }

    body.public-body > main.qr-menu.theme-noir-catalog .menu-cover-subtitle,
    body.public-body > main.qr-menu.theme-noir-catalog .menu-hero .menu-cover-subtitle {
        color: rgba(255,255,255,.84) !important;
        font-size: 15px !important;
        font-style: normal !important;
        font-weight: 700 !important;
        line-height: 1.45 !important;
        margin: 0 !important;
        max-width: 100% !important;
        text-align: left !important;
        width: 100% !important;
    }

    body.public-body > main.qr-menu.theme-noir-catalog .menu-toolbar,
    body.public-body > main.qr-menu.theme-noir-catalog.noir-toolbar-fixed .menu-toolbar,
    body.public-body > main.qr-menu.theme-noir-catalog.is-noir-deep-link .menu-toolbar,
    body.public-body > main.qr-menu.theme-noir-catalog:has(.menu-category:target) .menu-toolbar,
    body.public-body > main.qr-menu.theme-noir-catalog:has(.menu-product:target) .menu-toolbar,
    html.has-menu-deep-link body.public-body > main.qr-menu.theme-noir-catalog .menu-toolbar {
        background: rgba(255,255,255,.96) !important;
        border: 1px solid rgba(17,24,39,.08) !important;
        border-radius: 22px 22px 0 0 !important;
        box-shadow: 0 18px 50px rgba(0,0,0,.18) !important;
        box-sizing: border-box !important;
        display: grid !important;
        gap: 12px !important;
        grid-column: 2 !important;
        margin: 0 !important;
        max-width: none !important;
        overflow: hidden !important;
        padding: 14px 16px 12px !important;
        position: sticky !important;
        top: 16px !important;
        transform: none !important;
        width: 100% !important;
        z-index: 1200 !important;
    }

    body.public-body > main.qr-menu.theme-noir-catalog .menu-search {
        margin: 0 !important;
        width: 100% !important;
    }

    body.public-body > main.qr-menu.theme-noir-catalog .menu-search input,
    body.public-body > main.qr-menu.theme-noir-catalog .menu-search input[data-menu-search] {
        background: #f8faf9 !important;
        border: 1px solid rgba(15,23,42,.10) !important;
        border-radius: 12px !important;
        box-shadow: inset 0 1px 0 rgba(255,255,255,.9) !important;
        color: #17201e !important;
        font-size: 15px !important;
        font-weight: 750 !important;
        height: 46px !important;
        padding: 0 16px !important;
    }

    body.public-body > main.qr-menu.theme-noir-catalog .category-tabs,
    body.public-body > main.qr-menu.theme-noir-catalog.nav-sticky_pills .category-tabs,
    body.public-body > main.qr-menu.theme-noir-catalog.noir-toolbar-fixed .category-tabs,
    body.public-body > main.qr-menu.theme-noir-catalog.is-noir-deep-link .category-tabs,
    body.public-body > main.qr-menu.theme-noir-catalog:has(.menu-category:target) .category-tabs {
        align-items: center !important;
        display: flex !important;
        gap: 10px !important;
        margin: 0 !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        padding: 0 0 2px !important;
        scrollbar-width: none !important;
        width: 100% !important;
    }

    body.public-body > main.qr-menu.theme-noir-catalog .category-tabs a,
    body.public-body > main.qr-menu.theme-noir-catalog .category-tabs a.with-image,
    body.public-body > main.qr-menu.theme-noir-catalog.nav-sticky_pills .category-tabs a,
    body.public-body > main.qr-menu.theme-noir-catalog.nav-sticky_pills .category-tabs a.with-image {
        background: #f1f4f3 !important;
        border: 1px solid rgba(15,23,42,.08) !important;
        border-radius: 12px !important;
        color: #25312e !important;
        gap: 8px !important;
        min-height: 44px !important;
        padding: 7px 12px !important;
    }

    body.public-body > main.qr-menu.theme-noir-catalog .category-tabs a img,
    body.public-body > main.qr-menu.theme-noir-catalog .category-tabs a.with-image img {
        border-radius: 8px !important;
        height: 30px !important;
        width: 30px !important;
    }

    body.public-body > main.qr-menu.theme-noir-catalog .menu-content,
    body.public-body > main.qr-menu.theme-noir-catalog.noir-toolbar-fixed .menu-content,
    body.public-body > main.qr-menu.theme-noir-catalog.is-noir-deep-link .menu-content,
    html.has-menu-deep-link body.public-body > main.qr-menu.theme-noir-catalog .menu-content,
    html.is-menu-deep-link-booting body.public-body > main.qr-menu.theme-noir-catalog .menu-content {
        background: rgba(255,255,255,.96) !important;
        border: 1px solid rgba(17,24,39,.08) !important;
        border-radius: 0 0 22px 22px !important;
        border-top: 0 !important;
        box-shadow: 0 28px 70px rgba(0,0,0,.22) !important;
        box-sizing: border-box !important;
        color: #17201e !important;
        grid-column: 2 !important;
        margin: 0 !important;
        max-width: none !important;
        min-height: calc(100vh - 210px) !important;
        padding: 0 18px 112px !important;
        width: 100% !important;
    }

    body.public-body > main.qr-menu.theme-noir-catalog .menu-category {
        background: transparent !important;
        margin: 0 0 28px !important;
        padding: 0 !important;
        scroll-margin-top: 150px !important;
    }

    body.public-body > main.qr-menu.theme-noir-catalog .menu-category h2 {
        border-radius: 18px !important;
        font-size: clamp(34px, 3.2vw, 52px) !important;
        margin: 18px 0 !important;
        min-height: 210px !important;
        padding: 28px !important;
    }

    body.public-body > main.qr-menu.theme-noir-catalog .product-grid-public {
        display: grid !important;
        gap: 14px !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    body.public-body > main.qr-menu.theme-noir-catalog .menu-product,
    body.public-body > main.qr-menu.theme-noir-catalog.noir-toolbar-fixed .menu-product,
    body.public-body > main.qr-menu.theme-noir-catalog.is-noir-deep-link .menu-product {
        align-items: center !important;
        background: #fff !important;
        border: 1px solid rgba(15,23,42,.08) !important;
        border-radius: 16px !important;
        box-shadow: 0 10px 26px rgba(15,23,42,.07) !important;
        display: grid !important;
        gap: 14px !important;
        grid-template-columns: 92px minmax(0, 1fr) !important;
        margin: 0 !important;
        min-height: 126px !important;
        overflow: hidden !important;
        padding: 14px !important;
        position: relative !important;
    }

    body.public-body > main.qr-menu.theme-noir-catalog .menu-product .product-media,
    body.public-body > main.qr-menu.theme-noir-catalog.noir-toolbar-fixed .menu-product .product-media,
    body.public-body > main.qr-menu.theme-noir-catalog.is-noir-deep-link .menu-product .product-media {
        align-self: center !important;
        border-radius: 14px !important;
        grid-column: 1 !important;
        grid-row: 1 !important;
        height: 92px !important;
        width: 92px !important;
    }

    body.public-body > main.qr-menu.theme-noir-catalog .menu-product .product-info,
    body.public-body > main.qr-menu.theme-noir-catalog.noir-toolbar-fixed .menu-product .product-info,
    body.public-body > main.qr-menu.theme-noir-catalog.is-noir-deep-link .menu-product .product-info {
        align-self: stretch !important;
        display: grid !important;
        gap: 6px !important;
        grid-column: 2 !important;
        grid-row: 1 !important;
        grid-template-rows: auto auto 1fr auto !important;
        min-width: 0 !important;
        padding-right: 86px !important;
        width: 100% !important;
    }

    body.public-body > main.qr-menu.theme-noir-catalog .menu-product .product-title-row,
    body.public-body > main.qr-menu.theme-noir-catalog.noir-toolbar-fixed .menu-product .product-title-row,
    body.public-body > main.qr-menu.theme-noir-catalog.is-noir-deep-link .menu-product .product-title-row {
        display: block !important;
        min-width: 0 !important;
        width: 100% !important;
    }

    body.public-body > main.qr-menu.theme-noir-catalog .menu-product .product-title-row h3,
    body.public-body > main.qr-menu.theme-noir-catalog.noir-toolbar-fixed .menu-product .product-title-row h3,
    body.public-body > main.qr-menu.theme-noir-catalog.is-noir-deep-link .menu-product .product-title-row h3 {
        color: #121a18 !important;
        font-size: 17px !important;
        font-weight: 950 !important;
        line-height: 1.18 !important;
        min-height: 20px !important;
    }

    body.public-body > main.qr-menu.theme-noir-catalog .menu-product .product-description-short,
    body.public-body > main.qr-menu.theme-noir-catalog .menu-product .product-description-trigger,
    body.public-body > main.qr-menu.theme-noir-catalog.noir-toolbar-fixed .menu-product .product-description-short,
    body.public-body > main.qr-menu.theme-noir-catalog.noir-toolbar-fixed .menu-product .product-description-trigger,
    body.public-body > main.qr-menu.theme-noir-catalog.is-noir-deep-link .menu-product .product-description-short,
    body.public-body > main.qr-menu.theme-noir-catalog.is-noir-deep-link .menu-product .product-description-trigger {
        color: #64706c !important;
        font-size: 13px !important;
        font-style: normal !important;
        line-height: 1.35 !important;
    }

    body.public-body > main.qr-menu.theme-noir-catalog .menu-product .price-stack,
    body.public-body > main.qr-menu.theme-noir-catalog.noir-toolbar-fixed .menu-product .price-stack,
    body.public-body > main.qr-menu.theme-noir-catalog.is-noir-deep-link .menu-product .price-stack {
        align-self: end !important;
        grid-column: auto !important;
        grid-row: auto !important;
        margin: 0 !important;
    }

    body.public-body > main.qr-menu.theme-noir-catalog .menu-product .price-stack strong {
        font-size: 18px !important;
    }

    body.public-body > main.qr-menu.theme-noir-catalog .menu-product .product-action-row,
    body.public-body > main.qr-menu.theme-noir-catalog.noir-toolbar-fixed .menu-product .product-action-row,
    body.public-body > main.qr-menu.theme-noir-catalog.is-noir-deep-link .menu-product .product-action-row {
        align-items: center !important;
        bottom: 14px !important;
        display: flex !important;
        grid-column: auto !important;
        grid-row: auto !important;
        justify-content: flex-end !important;
        margin: 0 !important;
        min-width: 0 !important;
        position: absolute !important;
        right: 14px !important;
        top: auto !important;
        transform: none !important;
        width: auto !important;
    }

    body.public-body > main.qr-menu.theme-noir-catalog .menu-product .menu-cart-add {
        border-radius: 10px !important;
        height: 38px !important;
        min-height: 38px !important;
        min-width: 72px !important;
    }

    body.public-body > main.qr-menu.theme-noir-catalog .mobile-actions {
        border-radius: 18px !important;
        bottom: 24px !important;
        box-shadow: 0 18px 50px rgba(0,0,0,.20) !important;
        left: calc(50% + 190px) !important;
        max-width: 940px !important;
        right: auto !important;
        transform: translateX(-50%) !important;
        width: min(940px, calc(100vw - 456px)) !important;
    }
}

@media (min-width: 920px) and (max-width: 1180px) {
    body.public-body > main.qr-menu.theme-noir-catalog .menu-main-flow,
    body.public-body > main.qr-menu.theme-noir-catalog.is-noir-deep-link .menu-main-flow,
    body.public-body > main.qr-menu.theme-noir-catalog:has(.menu-category:target) .menu-main-flow,
    body.public-body > main.qr-menu.theme-noir-catalog:has(.menu-product:target) .menu-main-flow {
        grid-template-columns: 280px minmax(0, 1fr) !important;
        padding-left: 20px !important;
        padding-right: 20px !important;
    }

    body.public-body > main.qr-menu.theme-noir-catalog .product-grid-public {
        grid-template-columns: 1fr !important;
    }
}

@media (min-width: 1181px) {
    html body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog .mobile-actions {
        left: calc(50% + 170px) !important;
        max-width: 940px !important;
        right: auto !important;
        transform: translateX(-50%) !important;
        width: min(940px, calc(100vw - 456px)) !important;
    }
}

/* v323 theme 2 desktop Aurora-style reset */
@media (min-width: 920px) {
    html,
    body.public-body,
    body.public-body.menu-theme-noir-catalog,
    body.public-body > main.qr-menu.theme-noir-catalog,
    body.public-body > main.qr-menu.theme-noir-catalog .menu-main-flow,
    body.public-body > main.qr-menu.theme-noir-catalog.is-noir-deep-link .menu-main-flow,
    body.public-body > main.qr-menu.theme-noir-catalog:has(.menu-category:target) .menu-main-flow,
    body.public-body > main.qr-menu.theme-noir-catalog:has(.menu-product:target) .menu-main-flow {
        background: #1f2020 !important;
    }

    body.public-body > main.qr-menu.theme-noir-catalog .menu-main-flow,
    body.public-body > main.qr-menu.theme-noir-catalog.is-noir-deep-link .menu-main-flow,
    body.public-body > main.qr-menu.theme-noir-catalog:has(.menu-category:target) .menu-main-flow,
    body.public-body > main.qr-menu.theme-noir-catalog:has(.menu-product:target) .menu-main-flow {
        display: block !important;
        margin: 0 !important;
        max-width: none !important;
        min-height: 100vh !important;
        padding: 0 0 120px !important;
        width: 100% !important;
    }

    body.public-body > main.qr-menu.theme-noir-catalog .menu-toolbar,
    body.public-body > main.qr-menu.theme-noir-catalog.noir-toolbar-fixed .menu-toolbar,
    body.public-body > main.qr-menu.theme-noir-catalog.is-noir-deep-link .menu-toolbar,
    body.public-body > main.qr-menu.theme-noir-catalog:has(.menu-category:target) .menu-toolbar,
    body.public-body > main.qr-menu.theme-noir-catalog:has(.menu-product:target) .menu-toolbar,
    html.has-menu-deep-link body.public-body > main.qr-menu.theme-noir-catalog .menu-toolbar {
        background: #f7f7f7 !important;
        border: 0 !important;
        border-bottom: 1px solid rgba(0, 0, 0, .08) !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        box-sizing: border-box !important;
        display: grid !important;
        gap: 12px !important;
        margin: 0 auto !important;
        max-width: 800px !important;
        overflow: hidden !important;
        padding: 14px 16px 12px !important;
        position: sticky !important;
        top: 0 !important;
        transform: none !important;
        width: min(800px, 100vw) !important;
        z-index: 1200 !important;
    }

    body.public-body > main.qr-menu.theme-noir-catalog .menu-search {
        margin: 0 !important;
        width: 100% !important;
    }

    body.public-body > main.qr-menu.theme-noir-catalog .menu-search input,
    body.public-body > main.qr-menu.theme-noir-catalog .menu-search input[data-menu-search] {
        background: #fff !important;
        border: 1px solid rgba(0, 0, 0, .10) !important;
        border-radius: 10px !important;
        box-shadow: none !important;
        color: #202322 !important;
        font-size: 15px !important;
        font-weight: 700 !important;
        height: 46px !important;
        padding: 0 16px !important;
    }

    body.public-body > main.qr-menu.theme-noir-catalog .category-tabs,
    body.public-body > main.qr-menu.theme-noir-catalog.nav-sticky_pills .category-tabs,
    body.public-body > main.qr-menu.theme-noir-catalog.noir-toolbar-fixed .category-tabs,
    body.public-body > main.qr-menu.theme-noir-catalog.is-noir-deep-link .category-tabs,
    body.public-body > main.qr-menu.theme-noir-catalog:has(.menu-category:target) .category-tabs {
        align-items: center !important;
        display: flex !important;
        gap: 10px !important;
        margin: 0 !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        padding: 0 0 2px !important;
        scrollbar-width: none !important;
        width: 100% !important;
    }

    body.public-body > main.qr-menu.theme-noir-catalog .category-tabs a,
    body.public-body > main.qr-menu.theme-noir-catalog .category-tabs a.with-image,
    body.public-body > main.qr-menu.theme-noir-catalog.nav-sticky_pills .category-tabs a,
    body.public-body > main.qr-menu.theme-noir-catalog.nav-sticky_pills .category-tabs a.with-image,
    body.public-body > main.qr-menu.theme-noir-catalog.noir-toolbar-fixed .category-tabs a,
    body.public-body > main.qr-menu.theme-noir-catalog.noir-toolbar-fixed .category-tabs a.with-image {
        background: #ededed !important;
        border: 1px solid rgba(0, 0, 0, .07) !important;
        border-radius: 9px !important;
        color: #303634 !important;
        display: inline-flex !important;
        flex: 0 0 auto !important;
        gap: 8px !important;
        min-height: 44px !important;
        padding: 7px 12px !important;
        white-space: nowrap !important;
    }

    body.public-body > main.qr-menu.theme-noir-catalog .category-tabs a img,
    body.public-body > main.qr-menu.theme-noir-catalog .category-tabs a.with-image img {
        border-radius: 8px !important;
        height: 30px !important;
        width: 30px !important;
    }

    body.public-body > main.qr-menu.theme-noir-catalog .menu-content,
    body.public-body > main.qr-menu.theme-noir-catalog.noir-toolbar-fixed .menu-content,
    body.public-body > main.qr-menu.theme-noir-catalog.is-noir-deep-link .menu-content,
    html.has-menu-deep-link body.public-body > main.qr-menu.theme-noir-catalog .menu-content,
    html.is-menu-deep-link-booting body.public-body > main.qr-menu.theme-noir-catalog .menu-content {
        background: #f7f7f7 !important;
        border: 0 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        box-sizing: border-box !important;
        color: #151817 !important;
        margin: 0 auto !important;
        max-width: 800px !important;
        min-height: 100vh !important;
        padding: 0 16px 120px !important;
        width: min(800px, 100vw) !important;
    }

    body.public-body > main.qr-menu.theme-noir-catalog .menu-category {
        background: transparent !important;
        margin: 0 0 34px !important;
        padding: 0 !important;
        scroll-margin-top: 132px !important;
    }

    body.public-body > main.qr-menu.theme-noir-catalog .menu-category h2 {
        align-items: flex-end !important;
        background:
            linear-gradient(180deg, rgba(0,0,0,.04), rgba(0,0,0,.58)),
            var(--category-hero-image),
            #1f2b28 !important;
        background-position: center !important;
        background-size: cover !important;
        border-radius: 0 !important;
        color: #fff !important;
        display: flex !important;
        font-size: clamp(42px, 4vw, 58px) !important;
        font-weight: 950 !important;
        line-height: .98 !important;
        margin: 0 -16px 18px !important;
        min-height: 520px !important;
        padding: 34px 30px !important;
        text-shadow: 0 14px 34px rgba(0,0,0,.58) !important;
    }

    body.public-body > main.qr-menu.theme-noir-catalog .menu-category h2::before {
        display: none !important;
    }

    body.public-body > main.qr-menu.theme-noir-catalog .product-grid-public {
        display: grid !important;
        gap: 0 !important;
        grid-template-columns: 1fr !important;
    }

    body.public-body > main.qr-menu.theme-noir-catalog .menu-product,
    body.public-body > main.qr-menu.theme-noir-catalog.noir-toolbar-fixed .menu-product,
    body.public-body > main.qr-menu.theme-noir-catalog.is-noir-deep-link .menu-product {
        align-items: center !important;
        background: transparent !important;
        border: 0 !important;
        border-bottom: 1px solid rgba(0, 0, 0, .08) !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        display: grid !important;
        gap: 16px !important;
        grid-template-columns: 98px minmax(0, 1fr) auto !important;
        margin: 0 !important;
        min-height: 134px !important;
        overflow: visible !important;
        padding: 18px 0 !important;
        position: relative !important;
    }

    body.public-body > main.qr-menu.theme-noir-catalog .menu-product .product-media,
    body.public-body > main.qr-menu.theme-noir-catalog.noir-toolbar-fixed .menu-product .product-media,
    body.public-body > main.qr-menu.theme-noir-catalog.is-noir-deep-link .menu-product .product-media {
        align-self: center !important;
        border-radius: 12px !important;
        grid-column: 1 !important;
        grid-row: 1 !important;
        height: 98px !important;
        margin: 0 !important;
        overflow: hidden !important;
        width: 98px !important;
    }

    body.public-body > main.qr-menu.theme-noir-catalog .menu-product .product-info,
    body.public-body > main.qr-menu.theme-noir-catalog.noir-toolbar-fixed .menu-product .product-info,
    body.public-body > main.qr-menu.theme-noir-catalog.is-noir-deep-link .menu-product .product-info {
        align-self: center !important;
        display: grid !important;
        gap: 7px !important;
        grid-column: 2 !important;
        grid-row: 1 !important;
        min-width: 0 !important;
        padding-right: 0 !important;
        width: 100% !important;
    }

    body.public-body > main.qr-menu.theme-noir-catalog .menu-product .product-title-row,
    body.public-body > main.qr-menu.theme-noir-catalog.noir-toolbar-fixed .menu-product .product-title-row,
    body.public-body > main.qr-menu.theme-noir-catalog.is-noir-deep-link .menu-product .product-title-row {
        display: grid !important;
        gap: 7px !important;
        min-width: 0 !important;
        width: 100% !important;
    }

    body.public-body > main.qr-menu.theme-noir-catalog .menu-product .product-title-row h3,
    body.public-body > main.qr-menu.theme-noir-catalog.noir-toolbar-fixed .menu-product .product-title-row h3,
    body.public-body > main.qr-menu.theme-noir-catalog.is-noir-deep-link .menu-product .product-title-row h3 {
        color: #111514 !important;
        font-size: 18px !important;
        font-weight: 950 !important;
        line-height: 1.16 !important;
        margin: 0 !important;
        text-align: left !important;
    }

    body.public-body > main.qr-menu.theme-noir-catalog .menu-product .product-description-short,
    body.public-body > main.qr-menu.theme-noir-catalog .menu-product .product-description-trigger,
    body.public-body > main.qr-menu.theme-noir-catalog.noir-toolbar-fixed .menu-product .product-description-short,
    body.public-body > main.qr-menu.theme-noir-catalog.noir-toolbar-fixed .menu-product .product-description-trigger,
    body.public-body > main.qr-menu.theme-noir-catalog.is-noir-deep-link .menu-product .product-description-short,
    body.public-body > main.qr-menu.theme-noir-catalog.is-noir-deep-link .menu-product .product-description-trigger {
        color: #686f6d !important;
        display: -webkit-box !important;
        font-size: 13px !important;
        font-style: normal !important;
        font-weight: 500 !important;
        -webkit-line-clamp: 1 !important;
        line-height: 1.35 !important;
        margin: 0 !important;
        overflow: hidden !important;
        padding: 0 !important;
        text-align: left !important;
        -webkit-box-orient: vertical !important;
    }

    body.public-body > main.qr-menu.theme-noir-catalog .menu-product .price-stack,
    body.public-body > main.qr-menu.theme-noir-catalog.noir-toolbar-fixed .menu-product .price-stack,
    body.public-body > main.qr-menu.theme-noir-catalog.is-noir-deep-link .menu-product .price-stack {
        align-items: center !important;
        display: flex !important;
        grid-column: auto !important;
        grid-row: auto !important;
        margin: 0 !important;
    }

    body.public-body > main.qr-menu.theme-noir-catalog .menu-product .price-stack strong {
        color: #111514 !important;
        font-size: 18px !important;
        font-weight: 950 !important;
    }

    body.public-body > main.qr-menu.theme-noir-catalog .menu-product .product-action-row,
    body.public-body > main.qr-menu.theme-noir-catalog.noir-toolbar-fixed .menu-product .product-action-row,
    body.public-body > main.qr-menu.theme-noir-catalog.is-noir-deep-link .menu-product .product-action-row {
        align-self: center !important;
        bottom: auto !important;
        display: flex !important;
        grid-column: 3 !important;
        grid-row: 1 !important;
        justify-content: flex-end !important;
        margin: 0 !important;
        min-width: 82px !important;
        position: static !important;
        right: auto !important;
        top: auto !important;
        transform: none !important;
        width: auto !important;
    }

    body.public-body > main.qr-menu.theme-noir-catalog .menu-product .menu-cart-add {
        background: #fff !important;
        border: 1px solid rgba(0, 0, 0, .12) !important;
        border-radius: 8px !important;
        box-shadow: 0 4px 12px rgba(0, 0, 0, .09) !important;
        color: #1f2422 !important;
        height: 38px !important;
        min-height: 38px !important;
        min-width: 74px !important;
    }

    html body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog .mobile-actions {
        bottom: 24px !important;
        left: 50% !important;
        max-width: 800px !important;
        right: auto !important;
        transform: translateX(-50%) !important;
        width: min(800px, 100vw) !important;
    }
}

@media (min-width: 1181px) {
    body.public-body > main.qr-menu.theme-noir-catalog .menu-hero,
    body.public-body > main.qr-menu.theme-noir-catalog.has-cover .menu-hero,
    body.public-body > main.qr-menu.theme-noir-catalog.is-noir-deep-link .menu-hero,
    body.public-body > main.qr-menu.theme-noir-catalog:has(.menu-category:target) .menu-hero,
    body.public-body > main.qr-menu.theme-noir-catalog:has(.menu-product:target) .menu-hero {
        background: #101817 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        display: block !important;
        height: 100vh !important;
        left: max(0px, calc(50vw - 720px)) !important;
        margin: 0 !important;
        max-width: none !important;
        min-height: 100vh !important;
        overflow: hidden !important;
        padding: 0 !important;
        position: fixed !important;
        top: 0 !important;
        width: min(320px, calc((100vw - 800px) / 2)) !important;
        z-index: 1 !important;
    }

    body.public-body > main.qr-menu.theme-noir-catalog .menu-hero-content,
    body.public-body > main.qr-menu.theme-noir-catalog .menu-hero-content.menu-cover-layout,
    body.public-body > main.qr-menu.theme-noir-catalog.nav-sticky_pills .menu-hero-content.menu-cover-layout,
    body.public-body > main.qr-menu.theme-noir-catalog.nav-category_grid .menu-hero-content.menu-cover-layout,
    body.public-body > main.qr-menu.theme-noir-catalog.nav-minimal_tabs .menu-hero-content.menu-cover-layout {
        align-content: start !important;
        align-items: stretch !important;
        background: linear-gradient(180deg, rgba(38, 69, 63, .90), rgba(7, 20, 17, .98)) !important;
        border: 0 !important;
        border-radius: 0 !important;
        box-shadow: 18px 0 44px rgba(0,0,0,.28) !important;
        display: grid !important;
        gap: 30px !important;
        height: 100vh !important;
        justify-items: stretch !important;
        min-height: 100vh !important;
        padding: 84px 54px 44px !important;
        text-align: left !important;
        width: 100% !important;
    }

    body.public-body > main.qr-menu.theme-noir-catalog .menu-cover-brand,
    body.public-body > main.qr-menu.theme-noir-catalog .menu-hero .menu-cover-brand {
        align-items: start !important;
        display: grid !important;
        gap: 28px !important;
        justify-items: start !important;
        margin: 0 !important;
        max-width: none !important;
        text-align: left !important;
        width: 100% !important;
    }

    body.public-body > main.qr-menu.theme-noir-catalog .menu-cover-brand .menu-logo,
    body.public-body > main.qr-menu.theme-noir-catalog .menu-hero .menu-cover-brand .menu-logo,
    body.public-body > main.qr-menu.theme-noir-catalog .menu-logo {
        background: rgba(255,255,255,.88) !important;
        border-radius: 16px !important;
        box-shadow: 0 18px 40px rgba(0,0,0,.32) !important;
        height: 92px !important;
        margin: 0 !important;
        max-width: 210px !important;
        object-fit: contain !important;
        padding: 14px !important;
        width: 210px !important;
    }

    body.public-body > main.qr-menu.theme-noir-catalog .menu-cover-business,
    body.public-body > main.qr-menu.theme-noir-catalog .menu-hero .menu-cover-business,
    body.public-body > main.qr-menu.theme-noir-catalog .theme2-title-row,
    body.public-body > main.qr-menu.theme-noir-catalog .menu-hero .theme2-title-row {
        align-items: start !important;
        display: grid !important;
        gap: 10px !important;
        justify-items: start !important;
        margin: 0 !important;
        max-width: 220px !important;
        text-align: left !important;
        width: 100% !important;
    }

    body.public-body > main.qr-menu.theme-noir-catalog .menu-cover-business h1,
    body.public-body > main.qr-menu.theme-noir-catalog .menu-hero .menu-cover-business h1 {
        color: #fff !important;
        font-size: 26px !important;
        font-weight: 950 !important;
        line-height: 1.06 !important;
        margin: 0 !important;
        max-width: 220px !important;
        text-align: left !important;
        text-shadow: 0 10px 24px rgba(0,0,0,.38) !important;
        width: 100% !important;
    }

    body.public-body > main.qr-menu.theme-noir-catalog .menu-cover-subtitle,
    body.public-body > main.qr-menu.theme-noir-catalog .menu-hero .menu-cover-subtitle {
        color: rgba(255,255,255,.78) !important;
        font-size: 14px !important;
        font-style: normal !important;
        font-weight: 700 !important;
        line-height: 1.4 !important;
        max-width: 220px !important;
        text-align: left !important;
    }
}

@media (min-width: 920px) and (max-width: 1180px) {
    body.public-body > main.qr-menu.theme-noir-catalog .menu-hero,
    body.public-body > main.qr-menu.theme-noir-catalog.has-cover .menu-hero {
        display: none !important;
    }
}

@media (min-width: 920px) {
    html body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog > .menu-main-flow > section.menu-toolbar {
        left: auto !important;
        margin-left: auto !important;
        margin-right: auto !important;
        max-width: 800px !important;
        right: auto !important;
        transform: none !important;
        width: min(800px, 100vw) !important;
    }
}

/* v324 theme 2 desktop: match Aurora scale and composition */
@media (min-width: 920px) {
    html,
    body.public-body,
    body.public-body.menu-theme-noir-catalog,
    body.public-body > main.qr-menu.theme-noir-catalog,
    body.public-body > main.qr-menu.theme-noir-catalog .menu-main-flow {
        background: #1f2020 !important;
    }

    body.public-body > main.qr-menu.theme-noir-catalog .menu-main-flow,
    body.public-body > main.qr-menu.theme-noir-catalog.is-noir-deep-link .menu-main-flow,
    body.public-body > main.qr-menu.theme-noir-catalog:has(.menu-category:target) .menu-main-flow,
    body.public-body > main.qr-menu.theme-noir-catalog:has(.menu-product:target) .menu-main-flow {
        display: block !important;
        margin: 0 !important;
        max-width: none !important;
        min-height: 100vh !important;
        padding: 32px 0 120px !important;
        width: 100% !important;
    }

    body.public-body > main.qr-menu.theme-noir-catalog .menu-hero,
    body.public-body > main.qr-menu.theme-noir-catalog.has-cover .menu-hero,
    body.public-body > main.qr-menu.theme-noir-catalog.is-noir-deep-link .menu-hero,
    body.public-body > main.qr-menu.theme-noir-catalog:has(.menu-category:target) .menu-hero,
    body.public-body > main.qr-menu.theme-noir-catalog:has(.menu-product:target) .menu-hero {
        background: rgba(255,255,255,.06) !important;
        border: 1px solid rgba(255,255,255,.10) !important;
        border-radius: 22px !important;
        box-shadow: 0 30px 70px rgba(0,0,0,.26) !important;
        display: block !important;
        height: 529px !important;
        left: 32px !important;
        margin: 0 !important;
        max-width: none !important;
        min-height: 529px !important;
        overflow: hidden !important;
        padding: 0 !important;
        position: fixed !important;
        top: 225px !important;
        width: 300px !important;
        z-index: 1 !important;
    }

    body.public-body > main.qr-menu.theme-noir-catalog .menu-hero-content,
    body.public-body > main.qr-menu.theme-noir-catalog .menu-hero-content.menu-cover-layout,
    body.public-body > main.qr-menu.theme-noir-catalog.nav-sticky_pills .menu-hero-content.menu-cover-layout,
    body.public-body > main.qr-menu.theme-noir-catalog.nav-category_grid .menu-hero-content.menu-cover-layout,
    body.public-body > main.qr-menu.theme-noir-catalog.nav-minimal_tabs .menu-hero-content.menu-cover-layout {
        align-content: start !important;
        background: linear-gradient(180deg, rgba(91, 124, 118, .78), rgba(20, 48, 42, .86)) !important;
        border: 0 !important;
        border-radius: 22px !important;
        box-shadow: none !important;
        display: grid !important;
        gap: 26px !important;
        height: 100% !important;
        justify-items: start !important;
        min-height: 0 !important;
        padding: 24px 22px !important;
        text-align: left !important;
        width: 100% !important;
    }

    body.public-body > main.qr-menu.theme-noir-catalog .menu-cover-brand,
    body.public-body > main.qr-menu.theme-noir-catalog .menu-hero .menu-cover-brand {
        align-items: start !important;
        display: grid !important;
        gap: 28px !important;
        justify-items: start !important;
        margin: 0 !important;
        max-width: none !important;
        width: 100% !important;
    }

    body.public-body > main.qr-menu.theme-noir-catalog .menu-cover-brand .menu-logo,
    body.public-body > main.qr-menu.theme-noir-catalog .menu-hero .menu-cover-brand .menu-logo,
    body.public-body > main.qr-menu.theme-noir-catalog .menu-logo {
        background: rgba(255,255,255,.95) !important;
        border-radius: 14px !important;
        box-shadow: none !important;
        height: 92px !important;
        margin: 0 !important;
        max-width: none !important;
        object-fit: contain !important;
        padding: 14px !important;
        width: 254px !important;
    }

    body.public-body > main.qr-menu.theme-noir-catalog .menu-cover-business,
    body.public-body > main.qr-menu.theme-noir-catalog .menu-hero .menu-cover-business,
    body.public-body > main.qr-menu.theme-noir-catalog .theme2-title-row,
    body.public-body > main.qr-menu.theme-noir-catalog .menu-hero .theme2-title-row {
        align-items: start !important;
        display: grid !important;
        gap: 8px !important;
        justify-items: start !important;
        margin: 0 !important;
        max-width: 230px !important;
        text-align: left !important;
        width: 100% !important;
    }

    body.public-body > main.qr-menu.theme-noir-catalog .menu-cover-business h1,
    body.public-body > main.qr-menu.theme-noir-catalog .menu-hero .menu-cover-business h1 {
        color: #fff !important;
        font-size: 26px !important;
        font-weight: 950 !important;
        line-height: 1.06 !important;
        margin: 0 !important;
        max-width: 230px !important;
        text-align: left !important;
        text-shadow: 0 12px 28px rgba(0,0,0,.28) !important;
    }

    body.public-body > main.qr-menu.theme-noir-catalog .menu-cover-subtitle,
    body.public-body > main.qr-menu.theme-noir-catalog .menu-hero .menu-cover-subtitle {
        color: rgba(255,255,255,.82) !important;
        font-size: 14px !important;
        font-style: normal !important;
        font-weight: 800 !important;
        line-height: 1.35 !important;
        max-width: 210px !important;
        text-align: left !important;
    }

    body.public-body > main.qr-menu.theme-noir-catalog .menu-toolbar,
    body.public-body > main.qr-menu.theme-noir-catalog.noir-toolbar-fixed .menu-toolbar,
    body.public-body > main.qr-menu.theme-noir-catalog.is-noir-deep-link .menu-toolbar,
    body.public-body > main.qr-menu.theme-noir-catalog:has(.menu-category:target) .menu-toolbar,
    body.public-body > main.qr-menu.theme-noir-catalog:has(.menu-product:target) .menu-toolbar,
    html.has-menu-deep-link body.public-body > main.qr-menu.theme-noir-catalog .menu-toolbar,
    html body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog > .menu-main-flow > section.menu-toolbar {
        background: linear-gradient(180deg, #5b9385 0 70px, #fcfcfc 70px 100%) !important;
        border: 0 !important;
        border-radius: 28px 28px 0 0 !important;
        box-shadow: none !important;
        box-sizing: border-box !important;
        display: grid !important;
        gap: 0 !important;
        height: 126px !important;
        margin: 0 auto !important;
        max-width: 760px !important;
        overflow: hidden !important;
        padding: 70px 16px 0 !important;
        position: sticky !important;
        top: 0 !important;
        transform: none !important;
        width: 760px !important;
        z-index: 1200 !important;
    }

    body.public-body > main.qr-menu.theme-noir-catalog .menu-search {
        display: none !important;
    }

    body.public-body > main.qr-menu.theme-noir-catalog .category-tabs,
    body.public-body > main.qr-menu.theme-noir-catalog.nav-sticky_pills .category-tabs,
    body.public-body > main.qr-menu.theme-noir-catalog.noir-toolbar-fixed .category-tabs,
    body.public-body > main.qr-menu.theme-noir-catalog.is-noir-deep-link .category-tabs,
    body.public-body > main.qr-menu.theme-noir-catalog:has(.menu-category:target) .category-tabs {
        align-items: center !important;
        background: #fcfcfc !important;
        display: flex !important;
        gap: 4px !important;
        height: 56px !important;
        margin: 0 !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        padding: 8px 0 !important;
        scrollbar-width: none !important;
        width: 100% !important;
    }

    body.public-body > main.qr-menu.theme-noir-catalog .category-tabs a,
    body.public-body > main.qr-menu.theme-noir-catalog .category-tabs a.with-image,
    body.public-body > main.qr-menu.theme-noir-catalog.nav-sticky_pills .category-tabs a,
    body.public-body > main.qr-menu.theme-noir-catalog.nav-sticky_pills .category-tabs a.with-image,
    body.public-body > main.qr-menu.theme-noir-catalog.noir-toolbar-fixed .category-tabs a,
    body.public-body > main.qr-menu.theme-noir-catalog.noir-toolbar-fixed .category-tabs a.with-image {
        align-items: center !important;
        background: rgba(0,0,0,.04) !important;
        border: 0 !important;
        border-radius: 8px !important;
        color: #2b302e !important;
        display: inline-flex !important;
        flex: 0 0 auto !important;
        gap: 7px !important;
        height: 40px !important;
        min-height: 40px !important;
        min-width: max-content !important;
        padding: 0 14px !important;
        white-space: nowrap !important;
    }

    body.public-body > main.qr-menu.theme-noir-catalog .category-tabs a:first-child,
    body.public-body > main.qr-menu.theme-noir-catalog .category-tabs a.with-image:first-child {
        background: #53887a !important;
        color: #fff !important;
    }

    body.public-body > main.qr-menu.theme-noir-catalog .category-tabs a img,
    body.public-body > main.qr-menu.theme-noir-catalog .category-tabs a.with-image img {
        border-radius: 7px !important;
        height: 28px !important;
        width: 28px !important;
    }

    body.public-body > main.qr-menu.theme-noir-catalog .category-tabs a span,
    body.public-body > main.qr-menu.theme-noir-catalog .category-tabs a.with-image span {
        font-size: 13px !important;
        font-weight: 800 !important;
    }

    body.public-body > main.qr-menu.theme-noir-catalog .menu-content,
    body.public-body > main.qr-menu.theme-noir-catalog.noir-toolbar-fixed .menu-content,
    body.public-body > main.qr-menu.theme-noir-catalog.is-noir-deep-link .menu-content,
    html.has-menu-deep-link body.public-body > main.qr-menu.theme-noir-catalog .menu-content,
    html.is-menu-deep-link-booting body.public-body > main.qr-menu.theme-noir-catalog .menu-content {
        background: #fcfcfc !important;
        border: 0 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        box-sizing: border-box !important;
        color: #151817 !important;
        margin: 0 auto !important;
        max-width: 760px !important;
        min-height: 100vh !important;
        padding: 0 16px 120px !important;
        width: 760px !important;
    }

    body.public-body > main.qr-menu.theme-noir-catalog .menu-category {
        background: transparent !important;
        margin: 0 0 34px !important;
        padding: 0 !important;
        scroll-margin-top: 132px !important;
    }

    body.public-body > main.qr-menu.theme-noir-catalog .menu-category h2 {
        align-items: flex-end !important;
        background:
            linear-gradient(180deg, rgba(0,0,0,.05), rgba(0,0,0,.58)),
            var(--category-hero-image),
            #1f2b28 !important;
        background-position: center !important;
        background-size: cover !important;
        border-radius: 0 !important;
        color: #fff !important;
        display: flex !important;
        font-size: 32px !important;
        font-weight: 950 !important;
        height: 220px !important;
        line-height: 1.05 !important;
        margin: 0 -36px -28px !important;
        min-height: 220px !important;
        padding: 84px 24px 42px 44px !important;
        position: relative !important;
        text-shadow: 0 12px 26px rgba(0,0,0,.50) !important;
        width: 800px !important;
        z-index: 1 !important;
    }

    body.public-body > main.qr-menu.theme-noir-catalog .product-grid-public {
        background: #fff !important;
        border-radius: 16px 16px 0 0 !important;
        display: grid !important;
        gap: 0 !important;
        grid-template-columns: 1fr !important;
        margin: 0 0 0 !important;
        padding: 0 !important;
        position: relative !important;
        z-index: 2 !important;
    }

    body.public-body > main.qr-menu.theme-noir-catalog .menu-product,
    body.public-body > main.qr-menu.theme-noir-catalog.noir-toolbar-fixed .menu-product,
    body.public-body > main.qr-menu.theme-noir-catalog.is-noir-deep-link .menu-product {
        align-items: start !important;
        background: transparent !important;
        border: 0 !important;
        border-bottom: 1px solid rgba(0,0,0,.08) !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        display: grid !important;
        gap: 16px !important;
        grid-template-columns: 76px minmax(0, 1fr) !important;
        margin: 0 !important;
        min-height: 138px !important;
        overflow: visible !important;
        padding: 16px !important;
        position: relative !important;
    }

    body.public-body > main.qr-menu.theme-noir-catalog .menu-product .product-media,
    body.public-body > main.qr-menu.theme-noir-catalog.noir-toolbar-fixed .menu-product .product-media,
    body.public-body > main.qr-menu.theme-noir-catalog.is-noir-deep-link .menu-product .product-media {
        align-self: start !important;
        border-radius: 8px !important;
        grid-column: 1 !important;
        grid-row: 1 !important;
        height: 62px !important;
        margin: 0 !important;
        overflow: hidden !important;
        width: 76px !important;
    }

    body.public-body > main.qr-menu.theme-noir-catalog .menu-product .product-info,
    body.public-body > main.qr-menu.theme-noir-catalog.noir-toolbar-fixed .menu-product .product-info,
    body.public-body > main.qr-menu.theme-noir-catalog.is-noir-deep-link .menu-product .product-info {
        align-self: start !important;
        display: grid !important;
        gap: 7px !important;
        grid-column: 2 !important;
        grid-row: 1 !important;
        min-width: 0 !important;
        padding-right: 92px !important;
        width: 100% !important;
    }

    body.public-body > main.qr-menu.theme-noir-catalog .menu-product .product-title-row,
    body.public-body > main.qr-menu.theme-noir-catalog.noir-toolbar-fixed .menu-product .product-title-row,
    body.public-body > main.qr-menu.theme-noir-catalog.is-noir-deep-link .menu-product .product-title-row {
        display: block !important;
        min-width: 0 !important;
        width: 100% !important;
    }

    body.public-body > main.qr-menu.theme-noir-catalog .menu-product .product-title-row h3,
    body.public-body > main.qr-menu.theme-noir-catalog.noir-toolbar-fixed .menu-product .product-title-row h3,
    body.public-body > main.qr-menu.theme-noir-catalog.is-noir-deep-link .menu-product .product-title-row h3 {
        color: #151817 !important;
        font-size: 16px !important;
        font-weight: 850 !important;
        line-height: 1.2 !important;
        margin: 20px 0 0 !important;
        text-align: left !important;
    }

    body.public-body > main.qr-menu.theme-noir-catalog .menu-product .product-description-short,
    body.public-body > main.qr-menu.theme-noir-catalog .menu-product .product-description-trigger,
    body.public-body > main.qr-menu.theme-noir-catalog.noir-toolbar-fixed .menu-product .product-description-short,
    body.public-body > main.qr-menu.theme-noir-catalog.noir-toolbar-fixed .menu-product .product-description-trigger,
    body.public-body > main.qr-menu.theme-noir-catalog.is-noir-deep-link .menu-product .product-description-short,
    body.public-body > main.qr-menu.theme-noir-catalog.is-noir-deep-link .menu-product .product-description-trigger {
        color: #4f5654 !important;
        display: -webkit-box !important;
        font-size: 14px !important;
        font-style: italic !important;
        font-weight: 450 !important;
        -webkit-line-clamp: 2 !important;
        line-height: 1.42 !important;
        margin: 0 !important;
        overflow: hidden !important;
        padding: 0 !important;
        text-align: left !important;
        -webkit-box-orient: vertical !important;
    }

    body.public-body > main.qr-menu.theme-noir-catalog .menu-product .price-stack,
    body.public-body > main.qr-menu.theme-noir-catalog.noir-toolbar-fixed .menu-product .price-stack,
    body.public-body > main.qr-menu.theme-noir-catalog.is-noir-deep-link .menu-product .price-stack {
        align-items: center !important;
        display: flex !important;
        grid-column: auto !important;
        grid-row: auto !important;
        margin: 0 !important;
        position: absolute !important;
        right: 16px !important;
        top: 18px !important;
    }

    body.public-body > main.qr-menu.theme-noir-catalog .menu-product .price-stack strong {
        color: #53887a !important;
        font-size: 16px !important;
        font-weight: 950 !important;
    }

    body.public-body > main.qr-menu.theme-noir-catalog .menu-product .product-action-row,
    body.public-body > main.qr-menu.theme-noir-catalog.noir-toolbar-fixed .menu-product .product-action-row,
    body.public-body > main.qr-menu.theme-noir-catalog.is-noir-deep-link .menu-product .product-action-row {
        display: none !important;
    }

    html body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog .mobile-actions {
        background: rgba(252,252,252,.96) !important;
        border-radius: 0 !important;
        bottom: 0 !important;
        box-shadow: 0 -16px 40px rgba(0,0,0,.12) !important;
        height: 56px !important;
        left: 50% !important;
        max-width: 760px !important;
        right: auto !important;
        transform: translateX(-50%) !important;
        width: 760px !important;
    }

    html body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog .mobile-dock-edge {
        background: transparent !important;
        border-radius: 0 !important;
        color: #17201e !important;
        height: 56px !important;
        width: 72px !important;
    }
}

/* v325 theme 2 desktop Aurora pixel alignment */
@media (min-width: 920px) {
    body.public-body > main.qr-menu.theme-noir-catalog .menu-main-flow,
    body.public-body > main.qr-menu.theme-noir-catalog.is-noir-deep-link .menu-main-flow,
    body.public-body > main.qr-menu.theme-noir-catalog:has(.menu-category:target) .menu-main-flow,
    body.public-body > main.qr-menu.theme-noir-catalog:has(.menu-product:target) .menu-main-flow {
        padding-top: 8px !important;
    }

    html body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog > .menu-main-flow > section.menu-toolbar,
    body.public-body > main.qr-menu.theme-noir-catalog .menu-content,
    body.public-body > main.qr-menu.theme-noir-catalog.noir-toolbar-fixed .menu-content,
    body.public-body > main.qr-menu.theme-noir-catalog.is-noir-deep-link .menu-content,
    html.has-menu-deep-link body.public-body > main.qr-menu.theme-noir-catalog .menu-content,
    html.is-menu-deep-link-booting body.public-body > main.qr-menu.theme-noir-catalog .menu-content {
        left: 5px !important;
        position: relative !important;
    }

    html body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog .mobile-actions {
        left: calc(50% + 5px) !important;
    }

    body.public-body > main.qr-menu.theme-noir-catalog .menu-product,
    body.public-body > main.qr-menu.theme-noir-catalog.noir-toolbar-fixed .menu-product,
    body.public-body > main.qr-menu.theme-noir-catalog.is-noir-deep-link .menu-product {
        min-height: 138px !important;
    }

    body.public-body > main.qr-menu.theme-noir-catalog .menu-product .product-media,
    body.public-body > main.qr-menu.theme-noir-catalog.noir-toolbar-fixed .menu-product .product-media,
    body.public-body > main.qr-menu.theme-noir-catalog.is-noir-deep-link .menu-product .product-media {
        aspect-ratio: auto !important;
        height: 76px !important;
        max-height: 76px !important;
        min-height: 76px !important;
        width: 76px !important;
    }

    html body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog > .menu-main-flow > section.menu-hero {
        background: rgba(255,255,255,.06) !important;
        border: 1px solid rgba(255,255,255,.10) !important;
        border-radius: 22px !important;
        box-shadow: 0 30px 70px rgba(0,0,0,.26) !important;
        display: block !important;
        height: 529px !important;
        left: 32px !important;
        min-height: 529px !important;
        padding: 0 !important;
        top: 225px !important;
        width: 300px !important;
    }

    html body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog > .menu-main-flow > section.menu-hero > .menu-hero-content {
        height: 100% !important;
        margin: 0 !important;
        width: 100% !important;
    }
}

/* v327 theme 2 desktop refresh/deep-link category stability */
@media (min-width: 920px) {
    html body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog.noir-toolbar-fixed > .menu-main-flow > section.menu-toolbar,
    html body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog.is-noir-deep-link > .menu-main-flow > section.menu-toolbar,
    html.has-menu-deep-link body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog > .menu-main-flow > section.menu-toolbar {
        background: linear-gradient(180deg, #5b9385 0 70px, #fcfcfc 70px 100%) !important;
        border: 0 !important;
        border-radius: 28px 28px 0 0 !important;
        box-shadow: none !important;
        display: grid !important;
        gap: 0 !important;
        height: 126px !important;
        left: calc(50% - 2px) !important;
        margin: 0 !important;
        max-width: 760px !important;
        overflow: hidden !important;
        padding: 70px 16px 0 !important;
        position: fixed !important;
        right: auto !important;
        top: 0 !important;
        transform: translateX(-50%) !important;
        width: 760px !important;
        z-index: 5000 !important;
    }

    html body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog.noir-toolbar-fixed > .menu-main-flow > section.menu-toolbar .menu-search,
    html body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog.is-noir-deep-link > .menu-main-flow > section.menu-toolbar .menu-search,
    html.has-menu-deep-link body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog > .menu-main-flow > section.menu-toolbar .menu-search {
        display: none !important;
    }

    html body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog.noir-toolbar-fixed > .menu-main-flow > section.menu-toolbar .category-tabs,
    html body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog.is-noir-deep-link > .menu-main-flow > section.menu-toolbar .category-tabs,
    html.has-menu-deep-link body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog > .menu-main-flow > section.menu-toolbar .category-tabs {
        background: #fcfcfc !important;
        display: flex !important;
        gap: 4px !important;
        height: 56px !important;
        margin: 0 !important;
        overflow-x: auto !important;
        padding: 8px 0 !important;
        width: 728px !important;
    }

    html body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog.noir-toolbar-fixed > .menu-main-flow > section.menu-toolbar .category-tabs a,
    html body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog.noir-toolbar-fixed > .menu-main-flow > section.menu-toolbar .category-tabs a.with-image,
    html body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog.is-noir-deep-link > .menu-main-flow > section.menu-toolbar .category-tabs a,
    html body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog.is-noir-deep-link > .menu-main-flow > section.menu-toolbar .category-tabs a.with-image,
    html.has-menu-deep-link body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog > .menu-main-flow > section.menu-toolbar .category-tabs a,
    html.has-menu-deep-link body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog > .menu-main-flow > section.menu-toolbar .category-tabs a.with-image {
        align-items: center !important;
        background: rgba(0,0,0,.04) !important;
        border: 0 !important;
        border-radius: 8px !important;
        color: #2b302e !important;
        display: inline-flex !important;
        flex: 0 0 auto !important;
        gap: 7px !important;
        height: 40px !important;
        max-width: none !important;
        min-height: 40px !important;
        min-width: max-content !important;
        padding: 0 14px !important;
        width: auto !important;
        white-space: nowrap !important;
    }

    html body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog.noir-toolbar-fixed > .menu-main-flow > section.menu-toolbar .category-tabs a:first-child,
    html body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog.is-noir-deep-link > .menu-main-flow > section.menu-toolbar .category-tabs a:first-child,
    html.has-menu-deep-link body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog > .menu-main-flow > section.menu-toolbar .category-tabs a:first-child {
        background: #53887a !important;
        color: #fff !important;
    }
}

/* v330 theme 2 desktop final layer - mobile untouched */
@media (min-width: 920px) {
    html body.public-body.menu-theme-noir-catalog,
    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog,
    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog .menu-main-flow {
        background:
            radial-gradient(circle at 14% 8%, rgba(255,255,255,.16), transparent 18rem),
            radial-gradient(circle at 88% 16%, rgba(96,151,137,.32), transparent 24rem),
            linear-gradient(135deg, rgba(18,28,25,.96), rgba(32,42,39,.97)),
            var(--cover-image),
            #202827 !important;
        background-attachment: fixed !important;
        background-position: center !important;
        background-size: cover !important;
        overflow-x: hidden !important;
    }

    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog .menu-main-flow,
    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog.is-noir-deep-link .menu-main-flow,
    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog:has(.menu-category:target) .menu-main-flow,
    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog:has(.menu-product:target) .menu-main-flow {
        display: block !important;
        margin: 0 !important;
        max-width: none !important;
        min-height: 100vh !important;
        padding: 32px 0 118px !important;
        width: 100% !important;
    }

    html body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog > .menu-main-flow > section.menu-toolbar,
    html body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog.noir-toolbar-fixed > .menu-main-flow > section.menu-toolbar,
    html body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog.is-noir-deep-link > .menu-main-flow > section.menu-toolbar,
    html.has-menu-deep-link body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog > .menu-main-flow > section.menu-toolbar,
    html.is-menu-deep-link-booting body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog > .menu-main-flow > section.menu-toolbar {
        background: linear-gradient(180deg, #609789 0 70px, #fafafa 70px 100%) !important;
        border: 0 !important;
        border-radius: 26px 26px 0 0 !important;
        box-shadow: 0 24px 60px rgba(0,0,0,.22) !important;
        box-sizing: border-box !important;
        display: grid !important;
        gap: 0 !important;
        height: 126px !important;
        left: auto !important;
        margin: 0 auto !important;
        max-width: 760px !important;
        overflow: hidden !important;
        padding: 70px 16px 0 !important;
        position: sticky !important;
        right: auto !important;
        top: 0 !important;
        transform: none !important;
        width: min(760px, calc(100vw - 48px)) !important;
        z-index: 3000 !important;
    }

    html.has-menu-deep-link body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog > .menu-main-flow > section.menu-toolbar,
    html.is-menu-deep-link-booting body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog > .menu-main-flow > section.menu-toolbar,
    html body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog.noir-toolbar-fixed > .menu-main-flow > section.menu-toolbar,
    html body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog.is-noir-deep-link > .menu-main-flow > section.menu-toolbar {
        left: 50% !important;
        margin: 0 !important;
        position: fixed !important;
        transform: translateX(-50%) !important;
    }

    html body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog > .menu-main-flow > section.menu-toolbar::before {
        background:
            var(--theme2-logo-image) center / auto 54px no-repeat,
            linear-gradient(180deg, rgba(255,255,255,.12), rgba(255,255,255,0)) !important;
        content: "" !important;
        display: block !important;
        height: 70px !important;
        left: 0 !important;
        pointer-events: none !important;
        position: absolute !important;
        top: 0 !important;
        width: 100% !important;
    }

    html body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog > .menu-main-flow > section.menu-toolbar::after {
        align-items: center !important;
        background: rgba(255,255,255,.18) !important;
        border-radius: 999px !important;
        color: #fff !important;
        content: "‹" !important;
        display: flex !important;
        font-size: 34px !important;
        font-weight: 500 !important;
        height: 42px !important;
        justify-content: center !important;
        line-height: 1 !important;
        pointer-events: none !important;
        position: absolute !important;
        right: 24px !important;
        top: 14px !important;
        width: 42px !important;
    }

    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog .menu-search,
    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog .category-showcase {
        display: none !important;
    }

    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog .category-tabs,
    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog.nav-sticky_pills .category-tabs,
    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog.noir-toolbar-fixed .category-tabs,
    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog.is-noir-deep-link .category-tabs,
    html.has-menu-deep-link body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog .category-tabs {
        align-items: center !important;
        background: #fafafa !important;
        border-radius: 0 !important;
        display: flex !important;
        gap: 6px !important;
        height: 56px !important;
        margin: 0 !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        padding: 8px 0 !important;
        scrollbar-width: none !important;
        width: 100% !important;
    }

    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog .category-tabs::-webkit-scrollbar {
        display: none !important;
    }

    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog .category-tabs a,
    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog .category-tabs a.with-image {
        align-items: center !important;
        background: #eef1f0 !important;
        border: 0 !important;
        border-radius: 10px !important;
        color: #2d3532 !important;
        display: inline-flex !important;
        flex: 0 0 auto !important;
        gap: 8px !important;
        height: 40px !important;
        min-height: 40px !important;
        min-width: max-content !important;
        padding: 0 14px !important;
        white-space: nowrap !important;
        width: auto !important;
    }

    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog .category-tabs a:first-child,
    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog .category-tabs a.with-image:first-child {
        background: #609789 !important;
        color: #fff !important;
    }

    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog .category-tabs a img,
    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog .category-tabs a.with-image img {
        border-radius: 8px !important;
        height: 28px !important;
        object-fit: cover !important;
        width: 28px !important;
    }

    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog .category-tabs a span,
    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog .category-tabs a.with-image span {
        font-size: 13px !important;
        font-weight: 850 !important;
        letter-spacing: 0 !important;
    }

    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog .menu-content,
    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog.noir-toolbar-fixed .menu-content,
    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog.is-noir-deep-link .menu-content,
    html.has-menu-deep-link body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog .menu-content,
    html.is-menu-deep-link-booting body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog .menu-content {
        background: #fafafa !important;
        border: 0 !important;
        border-radius: 0 !important;
        box-shadow: 0 30px 70px rgba(0,0,0,.20) !important;
        box-sizing: border-box !important;
        color: #17201d !important;
        left: auto !important;
        margin: 0 auto !important;
        max-width: 760px !important;
        min-height: calc(100vh - 158px) !important;
        padding: 0 16px 116px !important;
        position: relative !important;
        width: min(760px, calc(100vw - 48px)) !important;
    }

    html.has-menu-deep-link body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog .menu-content,
    html.is-menu-deep-link-booting body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog .menu-content,
    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog.noir-toolbar-fixed .menu-content,
    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog.is-noir-deep-link .menu-content {
        padding-top: 126px !important;
    }

    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog .menu-category {
        background: transparent !important;
        border: 0 !important;
        margin: 0 0 34px !important;
        padding: 0 !important;
        scroll-margin-top: 132px !important;
    }

    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog .menu-category h2 {
        align-items: flex-end !important;
        background:
            linear-gradient(180deg, rgba(0,0,0,.10), rgba(0,0,0,.58)),
            var(--category-hero-image),
            #22312d !important;
        background-position: center !important;
        background-size: cover !important;
        border-radius: 0 !important;
        color: #fff !important;
        display: flex !important;
        font-size: 32px !important;
        font-weight: 950 !important;
        height: 220px !important;
        line-height: 1.05 !important;
        margin: 0 -36px -28px !important;
        min-height: 220px !important;
        padding: 84px 28px 42px 44px !important;
        position: relative !important;
        text-align: left !important;
        text-shadow: 0 12px 28px rgba(0,0,0,.55) !important;
        width: calc(100% + 72px) !important;
        z-index: 1 !important;
    }

    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog .menu-category h2::before {
        display: none !important;
    }

    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog .product-grid-public {
        background: #fff !important;
        border-radius: 18px 18px 0 0 !important;
        box-shadow: 0 -12px 34px rgba(0,0,0,.10) !important;
        display: grid !important;
        gap: 0 !important;
        grid-template-columns: 1fr !important;
        margin: 0 !important;
        overflow: hidden !important;
        padding: 0 !important;
        position: relative !important;
        z-index: 2 !important;
    }

    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog .menu-product,
    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog.noir-toolbar-fixed .menu-product,
    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog.is-noir-deep-link .menu-product {
        align-items: center !important;
        background: #fff !important;
        border: 0 !important;
        border-bottom: 1px solid rgba(23,32,29,.08) !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        display: grid !important;
        gap: 16px !important;
        grid-template-columns: 94px minmax(0, 1fr) 104px !important;
        margin: 0 !important;
        min-height: 132px !important;
        overflow: visible !important;
        padding: 17px 18px !important;
        position: relative !important;
    }

    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog .menu-product .product-media {
        align-self: center !important;
        border-radius: 12px !important;
        grid-column: 1 !important;
        grid-row: 1 !important;
        height: 94px !important;
        margin: 0 !important;
        overflow: hidden !important;
        width: 94px !important;
    }

    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog .menu-product .product-info {
        align-self: center !important;
        display: grid !important;
        gap: 7px !important;
        grid-column: 2 !important;
        grid-row: 1 !important;
        min-width: 0 !important;
        padding: 0 !important;
        width: 100% !important;
    }

    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog .menu-product .product-title-row {
        display: block !important;
        min-width: 0 !important;
        width: 100% !important;
    }

    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog .menu-product .product-title-row h3 {
        color: #141a18 !important;
        display: -webkit-box !important;
        font-size: 18px !important;
        font-weight: 950 !important;
        -webkit-line-clamp: 2 !important;
        line-height: 1.14 !important;
        margin: 0 !important;
        overflow: hidden !important;
        text-align: left !important;
        -webkit-box-orient: vertical !important;
    }

    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog .menu-product .product-description-short,
    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog .menu-product .product-description-trigger {
        color: #6b7470 !important;
        display: -webkit-box !important;
        font-size: 13px !important;
        font-style: normal !important;
        font-weight: 600 !important;
        -webkit-line-clamp: 1 !important;
        line-height: 1.35 !important;
        margin: 0 !important;
        overflow: hidden !important;
        padding: 0 !important;
        text-align: left !important;
        -webkit-box-orient: vertical !important;
    }

    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog .menu-product .price-stack {
        align-items: center !important;
        display: flex !important;
        gap: 8px !important;
        grid-column: 3 !important;
        grid-row: 1 !important;
        justify-content: flex-end !important;
        margin: 0 !important;
        min-width: 96px !important;
        position: static !important;
        right: auto !important;
        top: auto !important;
    }

    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog .menu-product .price-stack strong {
        color: #17201d !important;
        font-size: 18px !important;
        font-weight: 950 !important;
        white-space: nowrap !important;
    }

    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog .menu-product .product-action-row {
        align-self: center !important;
        display: flex !important;
        grid-column: 3 !important;
        grid-row: 1 !important;
        justify-content: flex-end !important;
        margin: 54px 0 0 !important;
        min-width: 96px !important;
        position: static !important;
        right: auto !important;
        top: auto !important;
        transform: none !important;
    }

    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog .menu-product .menu-cart-add {
        background: #fff !important;
        border: 1px solid rgba(23,32,29,.14) !important;
        border-radius: 9px !important;
        box-shadow: 0 4px 12px rgba(0,0,0,.08) !important;
        color: #2b302e !important;
        height: 38px !important;
        min-height: 38px !important;
        min-width: 78px !important;
        padding: 0 16px !important;
    }

    html body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog .mobile-actions {
        background: rgba(250,250,250,.96) !important;
        border-radius: 0 0 26px 26px !important;
        bottom: 18px !important;
        box-shadow: 0 -16px 45px rgba(0,0,0,.18) !important;
        height: 58px !important;
        left: 50% !important;
        max-width: 760px !important;
        right: auto !important;
        transform: translateX(-50%) !important;
        width: min(760px, calc(100vw - 48px)) !important;
        z-index: 3200 !important;
    }

    html body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog .mobile-dock-edge {
        background: transparent !important;
        border-radius: 0 !important;
        color: #17201d !important;
        height: 58px !important;
        width: 74px !important;
    }
}

@media (min-width: 1181px) {
    html body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog > .menu-main-flow > section.menu-hero,
    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog.has-cover > .menu-main-flow > section.menu-hero,
    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog.is-noir-deep-link > .menu-main-flow > section.menu-hero,
    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog:has(.menu-category:target) > .menu-main-flow > section.menu-hero,
    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog:has(.menu-product:target) > .menu-main-flow > section.menu-hero {
        background: rgba(255,255,255,.08) !important;
        border: 1px solid rgba(255,255,255,.14) !important;
        border-radius: 22px !important;
        box-shadow: 0 30px 70px rgba(0,0,0,.28) !important;
        display: block !important;
        height: 529px !important;
        left: max(24px, calc(50% - 688px)) !important;
        margin: 0 !important;
        max-width: none !important;
        min-height: 529px !important;
        overflow: hidden !important;
        padding: 0 !important;
        position: fixed !important;
        top: 225px !important;
        width: 300px !important;
        z-index: 1 !important;
    }

    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog .menu-hero-content,
    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog .menu-hero-content.menu-cover-layout,
    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog.nav-sticky_pills .menu-hero-content.menu-cover-layout,
    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog.nav-category_grid .menu-hero-content.menu-cover-layout,
    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog.nav-minimal_tabs .menu-hero-content.menu-cover-layout {
        align-content: start !important;
        background: linear-gradient(180deg, rgba(98,145,134,.78), rgba(16,36,32,.92)) !important;
        border: 0 !important;
        border-radius: 22px !important;
        box-shadow: none !important;
        display: grid !important;
        gap: 22px !important;
        height: 100% !important;
        justify-items: start !important;
        min-height: 0 !important;
        padding: 24px 22px !important;
        text-align: left !important;
        width: 100% !important;
    }

    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog .menu-cover-brand,
    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog .menu-hero .menu-cover-brand {
        align-items: start !important;
        display: grid !important;
        gap: 24px !important;
        justify-items: start !important;
        margin: 0 !important;
        max-width: none !important;
        text-align: left !important;
        width: 100% !important;
    }

    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog .menu-cover-brand .menu-logo,
    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog .menu-hero .menu-cover-brand .menu-logo,
    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog .menu-logo {
        background: rgba(255,255,255,.94) !important;
        border-radius: 14px !important;
        box-shadow: 0 18px 42px rgba(0,0,0,.20) !important;
        height: 92px !important;
        margin: 0 !important;
        max-width: none !important;
        object-fit: contain !important;
        padding: 14px !important;
        width: 254px !important;
    }

    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog .menu-cover-business,
    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog .menu-hero .menu-cover-business,
    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog .theme2-title-row,
    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog .menu-hero .theme2-title-row {
        align-items: start !important;
        display: grid !important;
        gap: 8px !important;
        justify-items: start !important;
        margin: 0 !important;
        max-width: 230px !important;
        text-align: left !important;
        width: 100% !important;
    }

    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog .menu-cover-business h1,
    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog .menu-hero .menu-cover-business h1 {
        color: #fff !important;
        font-size: 26px !important;
        font-weight: 950 !important;
        line-height: 1.06 !important;
        margin: 0 !important;
        max-width: 230px !important;
        text-align: left !important;
        text-shadow: 0 12px 28px rgba(0,0,0,.32) !important;
    }

    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog .menu-cover-subtitle,
    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog .menu-hero .menu-cover-subtitle {
        color: rgba(255,255,255,.82) !important;
        font-size: 14px !important;
        font-style: normal !important;
        font-weight: 800 !important;
        line-height: 1.35 !important;
        max-width: 230px !important;
        text-align: left !important;
    }

    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog .menu-cover-hours,
    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog .menu-cover-actions,
    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog .promenu-social-row,
    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog .locale-switcher {
        max-width: 254px !important;
    }
}

@media (min-width: 920px) and (max-width: 1180px) {
    html body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog > .menu-main-flow > section.menu-hero,
    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog.has-cover > .menu-main-flow > section.menu-hero {
        display: none !important;
    }
}

/* v333 theme 2 desktop final spacing correction - appended at EOF */
@media (min-width: 920px) {
    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog .menu-main-flow,
    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog.is-noir-deep-link .menu-main-flow,
    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog:has(.menu-category:target) .menu-main-flow,
    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog:has(.menu-product:target) .menu-main-flow {
        padding-top: 8px !important;
    }

    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog .menu-product,
    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog.noir-toolbar-fixed .menu-product,
    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog.is-noir-deep-link .menu-product {
        grid-template-columns: 94px minmax(0, 1fr) !important;
        min-height: 132px !important;
        padding: 17px 18px !important;
    }

    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog .menu-product .product-info,
    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog.noir-toolbar-fixed .menu-product .product-info,
    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog.is-noir-deep-link .menu-product .product-info {
        padding-right: 116px !important;
    }

    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog .menu-product .price-stack,
    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog.noir-toolbar-fixed .menu-product .price-stack,
    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog.is-noir-deep-link .menu-product .price-stack {
        position: absolute !important;
        right: 18px !important;
        top: 24px !important;
    }

    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog .menu-product .product-action-row,
    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog.noir-toolbar-fixed .menu-product .product-action-row,
    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog.is-noir-deep-link .menu-product .product-action-row {
        bottom: 18px !important;
        margin: 0 !important;
        position: absolute !important;
        right: 18px !important;
        top: auto !important;
    }
}

@media (min-width: 1181px) {
    html body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog > .menu-main-flow > section.menu-hero,
    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog.has-cover > .menu-main-flow > section.menu-hero {
        left: 32px !important;
    }
}

/* table heatmap analytics - final cascade */
.customer-nav-icon.is-heat::before {
    border: 0;
    border-radius: 999px;
    background: radial-gradient(circle at 50% 50%, #ef4444 0 26%, #f59e0b 27% 48%, #38bdf8 49% 72%, transparent 73%);
    box-shadow: 0 0 0 1px rgba(15, 23, 42, .14) inset;
    height: 18px;
    width: 18px;
}

.customer-nav-icon.is-heat::after {
    display: none;
}

.heatmap-range-actions {
    flex-wrap: wrap;
}

.heatmap-summary-grid {
    margin-bottom: 18px;
}

.heatmap-hour-grid {
    display: grid;
    gap: 8px;
    grid-template-columns: repeat(12, minmax(0, 1fr));
}

.heatmap-hour-cell {
    align-items: center;
    background:
        linear-gradient(180deg, rgba(255,255,255,.78), rgba(255,255,255,.92)),
        linear-gradient(135deg, #38bdf8, #f59e0b var(--heat), #ef4444);
    border: 1px solid rgba(15, 23, 42, .08);
    border-radius: 8px;
    display: grid;
    min-height: 66px;
    padding: 10px;
}

.heatmap-hour-cell b {
    color: #111827;
    font-size: 12px;
    font-weight: 900;
}

.heatmap-hour-cell span {
    color: #475569;
    font-size: 18px;
    font-weight: 950;
}

.table-heatmap-board {
    display: grid;
    gap: 12px;
    grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
}

.table-heat-card {
    background:
        linear-gradient(180deg, rgba(255,255,255,.80), rgba(255,255,255,.94)),
        linear-gradient(135deg, #38bdf8, #22c55e 34%, #f59e0b 68%, #ef4444);
    border: 1px solid rgba(15, 23, 42, .08);
    border-radius: 10px;
    box-shadow: 0 10px 26px rgba(15, 23, 42, .06);
    display: grid;
    gap: 8px;
    min-height: 150px;
    overflow: hidden;
    padding: 14px;
    position: relative;
}

.table-heat-card::before {
    background: linear-gradient(90deg, rgba(56,189,248,.94), rgba(245,158,11,.94), rgba(239,68,68,.96));
    border-radius: 999px;
    bottom: 0;
    content: "";
    height: 5px;
    left: 0;
    position: absolute;
    width: max(10%, var(--heat));
}

.table-heat-card.is-live {
    border-color: rgba(34, 197, 94, .42);
    box-shadow: 0 14px 32px rgba(34, 197, 94, .12);
}

.table-heat-card div {
    display: grid;
    gap: 3px;
}

.table-heat-card strong {
    color: #111827;
    font-size: 16px;
    font-weight: 950;
}

.table-heat-card div span,
.table-heat-card small,
.table-heat-card em {
    color: #64748b;
    font-size: 12px;
    font-style: normal;
    font-weight: 700;
}

.table-heat-card b {
    color: #111827;
    font-size: 34px;
    font-weight: 950;
    line-height: 1;
}

.heatmap-detail-grid {
    display: grid;
    gap: 18px;
    grid-template-columns: minmax(0, 1.25fr) minmax(280px, .75fr);
}

.heatmap-ranking-list,
.heatmap-trend-list {
    display: grid;
    gap: 10px;
}

.heatmap-ranking-row {
    align-items: center;
    border: 1px solid rgba(15, 23, 42, .08);
    border-radius: 8px;
    display: grid;
    gap: 12px;
    grid-template-columns: 34px minmax(0, 1fr) auto;
    padding: 12px;
}

.heatmap-ranking-row > span {
    align-items: center;
    background: #eef2ff;
    border-radius: 999px;
    color: #3730a3;
    display: inline-flex;
    font-size: 13px;
    font-weight: 900;
    height: 28px;
    justify-content: center;
    width: 28px;
}

.heatmap-ranking-row strong,
.heatmap-trend-list strong {
    color: #111827;
    font-weight: 950;
}

.heatmap-ranking-row small,
.heatmap-trend-list small {
    color: #64748b;
    display: block;
    font-size: 12px;
    font-weight: 700;
    margin-top: 3px;
}

.heatmap-ranking-row b {
    color: #0f766e;
    font-size: 20px;
    font-weight: 950;
}

.heatmap-trend-list div {
    border: 1px solid rgba(15, 23, 42, .08);
    border-radius: 10px;
    padding: 16px;
}

.heatmap-trend-list span {
    color: #64748b;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
}

.heatmap-trend-list strong {
    display: block;
    font-size: 34px;
    line-height: 1;
    margin-top: 8px;
}

@media (max-width: 900px) {
    .heatmap-hour-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .heatmap-detail-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 560px) {
    .heatmap-hour-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .table-heatmap-board {
        grid-template-columns: 1fr;
    }

    .heatmap-ranking-row {
        grid-template-columns: 30px minmax(0, 1fr) auto;
        padding: 10px;
    }
}

/* table heatmap summary alignment - final cascade */
.panel-body.customer-panel .heatmap-summary-grid {
    display: grid !important;
    gap: 14px !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}

.panel-body.customer-panel .heatmap-summary-grid .stat-card {
    min-width: 0 !important;
}

@media (max-width: 900px) {
    .panel-body.customer-panel .heatmap-summary-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 520px) {
    .panel-body.customer-panel .heatmap-summary-grid {
        grid-template-columns: 1fr !important;
    }
}

/* customer sidebar no inner scroll */
@media (min-width: 981px) {
    .panel-body.customer-panel > .sidebar[data-customer-sidebar] {
        height: auto !important;
        max-height: none !important;
        min-height: 100vh !important;
        overflow-x: visible !important;
        overflow-y: visible !important;
    }

    .panel-body.customer-panel > .sidebar[data-customer-sidebar] .nav-list {
        overflow: visible !important;
    }
}

/* table heatmap compact ranking cards */
.panel-body.customer-panel .heatmap-ranking-list {
    display: grid !important;
    gap: 10px !important;
    grid-template-columns: repeat(auto-fit, minmax(138px, 1fr)) !important;
}

.panel-body.customer-panel .heatmap-ranking-row {
    align-content: space-between !important;
    align-items: stretch !important;
    background: linear-gradient(180deg, #ffffff, #f8fafc) !important;
    border: 1px solid rgba(15, 23, 42, .08) !important;
    border-radius: 10px !important;
    box-shadow: 0 10px 22px rgba(15, 23, 42, .05) !important;
    display: grid !important;
    gap: 8px !important;
    grid-template-columns: 1fr auto !important;
    min-height: 116px !important;
    padding: 12px !important;
}

.panel-body.customer-panel .heatmap-ranking-row > span {
    grid-column: 1 !important;
    grid-row: 1 !important;
    height: 26px !important;
    width: 26px !important;
}

.panel-body.customer-panel .heatmap-ranking-row > div {
    grid-column: 1 / -1 !important;
    grid-row: 2 !important;
    min-width: 0 !important;
}

.panel-body.customer-panel .heatmap-ranking-row strong {
    display: block !important;
    font-size: 14px !important;
    line-height: 1.2 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

.panel-body.customer-panel .heatmap-ranking-row small {
    font-size: 11px !important;
    line-height: 1.25 !important;
}

.panel-body.customer-panel .heatmap-ranking-row b {
    align-self: start !important;
    color: #0f766e !important;
    font-size: 24px !important;
    grid-column: 2 !important;
    grid-row: 1 !important;
    line-height: 1 !important;
}

@media (max-width: 520px) {
    .panel-body.customer-panel .heatmap-ranking-list {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

/* customer license and logout side by side */
.panel-body.customer-panel .customer-account-row {
    align-items: stretch;
    display: grid;
    gap: 8px;
    grid-template-columns: minmax(0, 1fr) auto;
}

.panel-body.customer-panel .customer-account-row .customer-license-card {
    min-width: 0;
}

.panel-body.customer-panel .customer-license-logout.logout-form {
    align-items: stretch !important;
    background: transparent !important;
    border: 0 !important;
    display: flex !important;
    margin: 0 !important;
    padding: 0 !important;
}

.panel-body.customer-panel .customer-license-logout.logout-form button {
    align-items: center !important;
    border-radius: 10px !important;
    display: inline-flex !important;
    font-size: 12px !important;
    font-weight: 900 !important;
    justify-content: center !important;
    min-height: 100% !important;
    padding: 0 12px !important;
    white-space: nowrap !important;
}

@media (max-width: 980px) {
    .customer-mobile-menu-meta {
        grid-template-columns: minmax(0, 1fr) auto auto !important;
    }

    .customer-mobile-logout {
        align-items: stretch !important;
        display: flex !important;
        margin: 0 !important;
        min-height: 58px !important;
    }

    .customer-mobile-logout button {
        align-items: center !important;
        background: #ef4444 !important;
        border: 0 !important;
        border-radius: 10px !important;
        color: #fff !important;
        display: inline-flex !important;
        font-size: 12.5px !important;
        font-weight: 900 !important;
        justify-content: center !important;
        padding: 10px 12px !important;
        white-space: nowrap !important;
    }
}

@media (max-width: 430px) {
    .customer-mobile-menu-meta {
        grid-template-columns: minmax(0, 1fr) auto !important;
    }

    .customer-mobile-preview {
        grid-column: 1 / -1;
    }
}

/* product allergen picker and public allergen icons */
.allergen-picker {
    border: 1px solid rgba(148, 163, 184, .28);
    border-radius: 14px;
    display: grid;
    gap: 10px;
    margin: 0;
    padding: 14px;
}

.allergen-picker legend {
    color: #0f172a;
    font-size: 13px;
    font-weight: 900;
    padding: 0 6px;
}

.allergen-picker > small {
    color: #64748b;
    font-size: 12px;
    line-height: 1.35;
}

.allergen-option-grid {
    display: grid;
    gap: 8px;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}

.allergen-option {
    align-items: center;
    background: #fff;
    border: 1px solid rgba(148, 163, 184, .25);
    border-radius: 12px;
    cursor: pointer;
    display: grid;
    gap: 9px;
    grid-template-columns: auto 30px minmax(0, 1fr);
    line-height: 1.25;
    margin: 0;
    padding: 9px 10px;
}

.allergen-option input {
    accent-color: #ef4444;
    height: 17px;
    margin: 0;
    width: 17px;
}

.allergen-option span:last-child {
    color: #1f2937;
    font-size: 12.5px;
    font-weight: 800;
}

.allergen-option:has(input:checked) {
    background: #fff7ed;
    border-color: rgba(239, 68, 68, .42);
    box-shadow: 0 10px 24px rgba(239, 68, 68, .08);
}

.allergen-symbol {
    align-items: center;
    background: #fff1f2;
    border: 1px solid rgba(248, 113, 113, .28);
    border-radius: 999px;
    color: #dc2626;
    display: inline-flex;
    flex: 0 0 auto;
    font-size: 15px;
    font-weight: 950;
    height: 30px;
    justify-content: center;
    letter-spacing: 0;
    line-height: 1;
    min-width: 30px;
    padding: 0 6px;
}

.allergen-option-icon,
.allergen-custom-icon {
    background: #fff;
    border: 1px solid rgba(148, 163, 184, .28);
    border-radius: 999px;
    display: inline-flex;
    height: 30px;
    object-fit: contain;
    padding: 4px;
    width: 30px;
}

.allergen-symbol-soy,
.allergen-symbol-celery,
.allergen-symbol-mustard,
.allergen-symbol-sesame,
.allergen-symbol-sulphites,
.allergen-symbol-lupin,
.allergen-symbol-custom {
    font-size: 11px;
}

.qr-menu .pill-row .allergen-icon-button,
.description-pill-row.allergens .allergen-icon-button {
    align-items: center;
    background: transparent;
    border: 0;
    border-radius: 999px;
    cursor: pointer;
    display: inline-flex;
    height: 34px;
    justify-content: center;
    margin: 0;
    padding: 0;
    width: 34px;
}

.qr-menu .pill-row .allergen-icon-button:hover,
.description-pill-row.allergens .allergen-icon-button:hover {
    transform: translateY(-1px);
}

.description-pill-row.allergens {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
}

.description-pill-row.allergens .allergen-icon-button .allergen-symbol,
.qr-menu .pill-row .allergen-icon-button .allergen-symbol {
    box-shadow: 0 8px 16px rgba(15, 23, 42, .08);
}

.allergen-info-popover {
    background: rgba(15, 23, 42, .96);
    border-radius: 12px;
    box-shadow: 0 18px 40px rgba(15, 23, 42, .22);
    color: #fff;
    font-size: 12px;
    font-weight: 900;
    left: 12px;
    line-height: 1.25;
    max-width: min(260px, calc(100vw - 24px));
    padding: 9px 11px;
    position: fixed;
    text-align: center;
    top: 12px;
    z-index: 99999;
}

.allergen-management-grid {
    align-items: start;
    display: grid;
    gap: 16px;
    grid-template-columns: minmax(280px, 360px) minmax(0, 1fr);
}

.allergen-create-form input[type="file"] {
    background: #f8fafc;
    border-style: dashed;
}

.allergen-create-form label small {
    color: #64748b;
    display: block;
    font-size: 12px;
    line-height: 1.35;
    margin-top: 6px;
}

.allergen-list-panel {
    margin: 0;
}

.allergen-admin-grid {
    display: grid;
    gap: 10px;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
}

.allergen-admin-card {
    align-items: center;
    background: #fff;
    border: 1px solid rgba(148, 163, 184, .22);
    border-radius: 14px;
    box-shadow: 0 10px 24px rgba(15, 23, 42, .04);
    display: grid;
    gap: 10px;
    grid-template-columns: 42px minmax(0, 1fr) auto auto;
    min-height: 72px;
    padding: 12px;
}

.allergen-admin-icon {
    align-items: center;
    display: inline-flex;
    justify-content: center;
}

.allergen-admin-icon img {
    background: #fff;
    border: 1px solid rgba(148, 163, 184, .22);
    border-radius: 999px;
    height: 34px;
    object-fit: contain;
    padding: 5px;
    width: 34px;
}

.allergen-admin-copy {
    min-width: 0;
}

.allergen-admin-copy strong,
.allergen-admin-copy small {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.allergen-admin-copy strong {
    color: #111827;
    font-size: 13.5px;
    font-weight: 900;
}

.allergen-admin-copy small {
    color: #64748b;
    font-size: 12px;
}

.allergen-admin-card form {
    margin: 0;
}

.allergen-admin-card .icon-action-button {
    height: 34px;
    width: 34px;
}

.allergen-admin-card .icon-action-button span {
    font-size: 18px;
    font-weight: 900;
    line-height: 1;
}

.existing-allergen-icon {
    align-items: center;
    background: #f8fafc;
    border: 1px solid rgba(148, 163, 184, .24);
    border-radius: 12px;
    display: flex;
    gap: 10px;
    padding: 10px;
}

.existing-allergen-icon span {
    color: #64748b;
    font-size: 12px;
    font-weight: 800;
}

.existing-allergen-icon img {
    background: #fff;
    border: 1px solid rgba(148, 163, 184, .24);
    border-radius: 999px;
    height: 38px;
    object-fit: contain;
    padding: 5px;
    width: 38px;
}

.product-list-allergen-icons {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
    min-width: 96px;
}

.product-list-allergen-icons .allergen-icon-button.readonly {
    cursor: help;
    height: 32px;
    pointer-events: auto;
    width: 32px;
}

.product-list-allergen-icons .allergen-symbol,
.product-list-allergen-icons .allergen-custom-icon {
    height: 28px;
    min-width: 28px;
    width: 28px;
}

.products-table-wrap .product-management-table {
    min-width: 0;
}

@media (max-width: 640px) {
    .allergen-picker {
        border-radius: 12px;
        padding: 12px;
    }

    .allergen-option-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 980px) {
    .allergen-management-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 520px) {
    .allergen-admin-card {
        grid-template-columns: 38px minmax(0, 1fr) auto auto;
    }

    .allergen-admin-card form {
        grid-column: auto;
    }
}

@media (max-width: 760px) {
    .panel-body.customer-panel .products-table-wrap {
        overflow: visible !important;
    }

    .panel-body.customer-panel .products-table-wrap .product-management-table {
        border-collapse: separate !important;
        border-spacing: 0 10px !important;
        display: block !important;
        min-width: 0 !important;
        width: 100% !important;
    }

    .panel-body.customer-panel .products-table-wrap thead {
        display: none !important;
    }

    .panel-body.customer-panel .products-table-wrap tbody,
    .panel-body.customer-panel .products-table-wrap tr,
    .panel-body.customer-panel .products-table-wrap td {
        display: block !important;
        width: 100% !important;
    }

    .panel-body.customer-panel .products-table-wrap .product-management-row {
        background: #fff !important;
        border: 1px solid rgba(148, 163, 184, .24) !important;
        border-radius: 14px !important;
        box-shadow: 0 12px 28px rgba(15, 23, 42, .05) !important;
        overflow: hidden !important;
        padding: 8px 10px !important;
    }

    .panel-body.customer-panel .products-table-wrap .product-management-row td {
        align-items: center !important;
        border: 0 !important;
        display: grid !important;
        gap: 10px !important;
        grid-template-columns: 86px minmax(0, 1fr) !important;
        min-height: 38px !important;
        padding: 8px 0 !important;
    }

    .panel-body.customer-panel .products-table-wrap .product-management-row td::before {
        color: #64748b;
        content: attr(data-label);
        font-size: 11px;
        font-weight: 900;
        letter-spacing: 0;
        text-transform: uppercase;
    }

    .panel-body.customer-panel .products-table-wrap .product-cell {
        min-width: 0 !important;
    }

    .panel-body.customer-panel .products-table-wrap .product-cell img {
        height: 44px !important;
        width: 44px !important;
    }

    .panel-body.customer-panel .products-table-wrap .product-cell strong,
    .panel-body.customer-panel .products-table-wrap .product-cell small {
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
    }

    .panel-body.customer-panel .products-table-wrap .product-list-actions {
        justify-content: flex-start !important;
    }
}

/* allergen admin layout hardening */
.panel-body.customer-panel .allergen-management-grid,
.panel-body.customer-panel .allergen-management-grid * {
    min-width: 0;
}

.panel-body.customer-panel .allergen-create-form {
    overflow: hidden;
}

.panel-body.customer-panel .allergen-list-panel {
    overflow: hidden;
}

.panel-body.customer-panel .allergen-admin-grid {
    align-items: stretch;
    grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)) !important;
}

.panel-body.customer-panel .allergen-admin-card {
    align-items: center !important;
    grid-template-columns: 38px minmax(0, 1fr) 34px 34px !important;
    max-width: 100% !important;
    min-height: 66px !important;
    overflow: hidden !important;
}

.panel-body.customer-panel .allergen-admin-card .allergen-admin-icon,
.panel-body.customer-panel .allergen-admin-card .icon-action-button,
.panel-body.customer-panel .allergen-admin-card form {
    flex: 0 0 auto !important;
    height: 34px !important;
    min-width: 0 !important;
    width: 34px !important;
}

.panel-body.customer-panel .allergen-admin-card form {
    align-items: center !important;
    display: flex !important;
    justify-content: center !important;
    margin: 0 !important;
}

.panel-body.customer-panel .allergen-admin-icon img,
.panel-body.customer-panel .allergen-admin-icon .allergen-symbol,
.panel-body.customer-panel .existing-allergen-icon img,
.panel-body.customer-panel .allergen-option-icon {
    aspect-ratio: 1 / 1 !important;
    display: inline-flex !important;
    flex: 0 0 auto !important;
    height: 34px !important;
    max-height: 34px !important;
    max-width: 34px !important;
    min-height: 34px !important;
    min-width: 34px !important;
    object-fit: contain !important;
    overflow: hidden !important;
    width: 34px !important;
}

.panel-body.customer-panel .existing-allergen-icon {
    align-items: center !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 42px !important;
    max-width: 100% !important;
    overflow: hidden !important;
}

.panel-body.customer-panel .existing-allergen-icon span {
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

.panel-body.customer-panel .allergen-create-form input[type="file"] {
    display: block !important;
    max-width: 100% !important;
    overflow: hidden !important;
}

@media (max-width: 560px) {
    .panel-body.customer-panel .allergen-admin-grid {
        grid-template-columns: 1fr !important;
    }
}

/* public allergen buttons: remove tap/focus line in both menu themes */
.public-body .qr-menu .pill-row .allergen-icon-button,
.public-body .description-pill-row.allergens .allergen-icon-button {
    -webkit-tap-highlight-color: transparent !important;
    appearance: none !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    outline: 0 !important;
    text-decoration: none !important;
}

.public-body .qr-menu .pill-row .allergen-icon-button:focus,
.public-body .qr-menu .pill-row .allergen-icon-button:focus-visible,
.public-body .qr-menu .pill-row .allergen-icon-button:active,
.public-body .description-pill-row.allergens .allergen-icon-button:focus,
.public-body .description-pill-row.allergens .allergen-icon-button:focus-visible,
.public-body .description-pill-row.allergens .allergen-icon-button:active {
    background: transparent !important;
    border-color: transparent !important;
    box-shadow: none !important;
    outline: 0 !important;
    text-decoration: none !important;
}

.public-body .description-pill-row.allergens .allergen-icon-button span,
.public-body .description-pill-row.allergens .allergen-icon-button .allergen-symbol,
.public-body .description-pill-row.allergens .allergen-icon-button .sr-only {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    color: inherit;
    margin: 0 !important;
    padding: 0 !important;
}

.public-body .description-pill-row.allergens .allergen-icon-button .allergen-symbol {
    background: #fff1f2 !important;
    border: 1px solid rgba(248, 113, 113, .28) !important;
    color: #dc2626 !important;
}

.public-body .description-pill-row.allergens .allergen-icon-button span::before,
.public-body .description-pill-row.allergens .allergen-icon-button span::after {
    content: none !important;
    display: none !important;
}

/* customer products: polished mobile card list */
@media (max-width: 760px) {
    .panel-body.customer-panel .filter-bar {
        gap: 10px !important;
    }

    .panel-body.customer-panel .bulk-toolbar {
        align-items: stretch !important;
        display: grid !important;
        gap: 8px !important;
        grid-template-columns: 1fr !important;
    }

    .panel-body.customer-panel .bulk-toolbar .button {
        justify-content: center !important;
        min-height: 42px !important;
        width: 100% !important;
    }

    .panel-body.customer-panel .products-table-wrap .product-management-table,
    .panel-body.customer-panel .products-table-wrap tbody {
        display: block !important;
        width: 100% !important;
    }

    .panel-body.customer-panel .products-table-wrap tbody {
        display: grid !important;
        gap: 12px !important;
    }

    .panel-body.customer-panel .products-table-wrap .product-management-row {
        background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%) !important;
        border: 1px solid rgba(148, 163, 184, .22) !important;
        border-radius: 16px !important;
        box-shadow: 0 14px 32px rgba(15, 23, 42, .07) !important;
        display: grid !important;
        gap: 9px !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        overflow: hidden !important;
        padding: 12px !important;
        position: relative !important;
        width: 100% !important;
    }

    .panel-body.customer-panel .products-table-wrap .product-management-row td {
        align-items: start !important;
        background: #f8fafc !important;
        border: 1px solid rgba(226, 232, 240, .9) !important;
        border-radius: 12px !important;
        display: grid !important;
        gap: 4px !important;
        grid-template-columns: 1fr !important;
        min-height: 54px !important;
        padding: 9px 10px !important;
        width: auto !important;
    }

    .panel-body.customer-panel .products-table-wrap .product-management-row td::before {
        color: #64748b !important;
        content: attr(data-label) !important;
        display: block !important;
        font-size: 10px !important;
        font-weight: 900 !important;
        letter-spacing: .02em !important;
        line-height: 1.1 !important;
        text-transform: uppercase !important;
    }

    .panel-body.customer-panel .products-table-wrap .product-management-row td:nth-child(1) {
        background: transparent !important;
        border: 0 !important;
        min-height: 0 !important;
        padding: 0 !important;
        position: absolute !important;
        right: 12px !important;
        top: 12px !important;
        width: 34px !important;
        z-index: 2 !important;
    }

    .panel-body.customer-panel .products-table-wrap .product-management-row td:nth-child(1)::before {
        display: none !important;
    }

    .panel-body.customer-panel .products-table-wrap .product-management-row td:nth-child(1) .table-check {
        height: 22px !important;
        width: 22px !important;
    }

    .panel-body.customer-panel .products-table-wrap .product-management-row td:nth-child(2) {
        background: transparent !important;
        border: 0 !important;
        grid-column: 1 / -1 !important;
        min-height: 62px !important;
        padding: 2px 42px 8px 0 !important;
    }

    .panel-body.customer-panel .products-table-wrap .product-management-row td:nth-child(2)::before,
    .panel-body.customer-panel .products-table-wrap .product-management-row td:nth-child(9)::before {
        display: none !important;
    }

    .panel-body.customer-panel .products-table-wrap .product-cell {
        align-items: center !important;
        display: grid !important;
        gap: 10px !important;
        grid-template-columns: 56px minmax(0, 1fr) !important;
        min-width: 0 !important;
        width: 100% !important;
    }

    .panel-body.customer-panel .products-table-wrap .product-cell img {
        border-radius: 12px !important;
        height: 56px !important;
        object-fit: cover !important;
        width: 56px !important;
    }

    .panel-body.customer-panel .products-table-wrap .product-cell strong {
        color: #0f172a !important;
        display: block !important;
        font-size: 14px !important;
        font-weight: 950 !important;
        line-height: 1.2 !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
    }

    .panel-body.customer-panel .products-table-wrap .product-cell small {
        color: #64748b !important;
        display: block !important;
        font-size: 11px !important;
        line-height: 1.2 !important;
        margin-top: 3px !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
    }

    .panel-body.customer-panel .products-table-wrap .product-management-row td:nth-child(4) {
        background: #fff7ed !important;
        border-color: rgba(251, 146, 60, .25) !important;
        color: #9a3412 !important;
        font-size: 14px !important;
        font-weight: 950 !important;
    }

    .panel-body.customer-panel .products-table-wrap .product-management-row td:nth-child(7) {
        grid-column: 1 / -1 !important;
    }

    .panel-body.customer-panel .products-table-wrap .product-list-allergen-icons {
        gap: 6px !important;
        min-width: 0 !important;
    }

    .panel-body.customer-panel .products-table-wrap .product-management-row td:nth-child(9) {
        background: transparent !important;
        border: 0 !important;
        grid-column: 1 / -1 !important;
        min-height: 42px !important;
        padding: 2px 0 0 !important;
    }

    .panel-body.customer-panel .products-table-wrap .product-list-actions {
        display: grid !important;
        gap: 8px !important;
        grid-template-columns: repeat(3, 42px) !important;
        justify-content: end !important;
        width: 100% !important;
    }

    .panel-body.customer-panel .products-table-wrap .product-list-actions form {
        margin: 0 !important;
    }

    .panel-body.customer-panel .products-table-wrap .product-list-actions .icon-action-button {
        height: 42px !important;
        width: 42px !important;
    }
}

@media (max-width: 420px) {
    .panel-body.customer-panel .products-table-wrap .product-management-row {
        gap: 8px !important;
        padding: 10px !important;
    }

    .panel-body.customer-panel .products-table-wrap .product-management-row td {
        padding: 8px !important;
    }

    .panel-body.customer-panel .products-table-wrap .product-cell {
        grid-template-columns: 50px minmax(0, 1fr) !important;
    }

    .panel-body.customer-panel .products-table-wrap .product-cell img {
        height: 50px !important;
        width: 50px !important;
    }
}

/* final guard: no bottom dock if operational actions are all off */
.public-body .qr-menu:not(.has-cart-action):not(.has-service-action) .mobile-actions {
    display: none !important;
}

@media (max-width: 760px) {
    .public-body .qr-menu:not(.has-cart-action):not(.has-service-action) {
        padding-bottom: 0 !important;
    }
}

/* final QR menu compact phones: iPhone 15 / 393px viewport */
@media (max-width: 420px) {
    html,
    body.public-body,
    body.public-body > main.qr-menu {
        max-width: 100vw !important;
        overflow-x: hidden !important;
    }

    body.public-body > main.qr-menu {
        --compact-inline-pad: 10px;
    }

    body.public-body > main.qr-menu .menu-main-flow,
    body.public-body > main.qr-menu .menu-hero,
    body.public-body > main.qr-menu .menu-toolbar,
    body.public-body > main.qr-menu .menu-content,
    body.public-body > main.qr-menu .menu-category,
    body.public-body > main.qr-menu .product-grid-public {
        box-sizing: border-box !important;
        max-width: 100vw !important;
        min-width: 0 !important;
        overflow-x: hidden !important;
        width: 100% !important;
    }

    body.public-body > main.qr-menu .menu-hero,
    body.public-body > main.qr-menu.theme-menutje-mono .menu-hero,
    body.public-body > main.qr-menu.theme-noir-catalog .menu-hero {
        border-radius: 0 !important;
        min-height: auto !important;
        padding-left: var(--compact-inline-pad) !important;
        padding-right: var(--compact-inline-pad) !important;
    }

    body.public-body > main.qr-menu .menu-hero-content,
    body.public-body > main.qr-menu .menu-hero-content.menu-cover-layout,
    body.public-body > main.qr-menu .menu-cover-brand,
    body.public-body > main.qr-menu .theme2-title-row {
        align-items: center !important;
        display: grid !important;
        gap: 8px !important;
        grid-template-columns: 44px minmax(0, 1fr) auto !important;
        max-width: 100% !important;
        min-width: 0 !important;
    }

    body.public-body > main.qr-menu .menu-logo {
        height: 44px !important;
        min-height: 44px !important;
        min-width: 44px !important;
        width: 44px !important;
    }

    body.public-body > main.qr-menu .menu-cover-business,
    body.public-body > main.qr-menu .menu-cover-business h1,
    body.public-body > main.qr-menu .menu-cover-subtitle,
    body.public-body > main.qr-menu .theme2-title-row h1 {
        max-width: 100% !important;
        min-width: 0 !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
    }

    body.public-body > main.qr-menu .menu-cover-business h1,
    body.public-body > main.qr-menu .theme2-title-row h1 {
        font-size: clamp(18px, 5.4vw, 22px) !important;
        line-height: 1.12 !important;
        margin: 0 !important;
        white-space: nowrap !important;
    }

    body.public-body > main.qr-menu .menu-cover-subtitle {
        font-size: 12px !important;
        line-height: 1.25 !important;
        white-space: nowrap !important;
    }

    body.public-body > main.qr-menu .menu-toolbar,
    html body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog > .menu-main-flow > section.menu-toolbar {
        gap: 8px !important;
        padding-left: var(--compact-inline-pad) !important;
        padding-right: var(--compact-inline-pad) !important;
    }

    body.public-body > main.qr-menu .menu-search,
    body.public-body > main.qr-menu .menu-search input {
        max-width: 100% !important;
        min-width: 0 !important;
        width: 100% !important;
    }

    body.public-body > main.qr-menu .menu-search input {
        font-size: 16px !important;
        min-height: 42px !important;
    }

    body.public-body > main.qr-menu .category-tabs,
    body.public-body > main.qr-menu .category-showcase {
        max-width: 100% !important;
        min-width: 0 !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        padding-inline: 0 !important;
        scrollbar-width: none !important;
        width: 100% !important;
    }

    body.public-body > main.qr-menu .category-tabs::-webkit-scrollbar {
        display: none !important;
    }

    body.public-body > main.qr-menu .category-tabs a,
    body.public-body > main.qr-menu .category-tabs a.with-image {
        flex: 0 0 auto !important;
        max-width: 132px !important;
        min-width: 84px !important;
        padding: 7px 9px !important;
        white-space: nowrap !important;
    }

    body.public-body > main.qr-menu .category-tabs a span,
    body.public-body > main.qr-menu .category-tabs a.with-image span {
        display: block !important;
        max-width: 100% !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
    }

    body.public-body > main.qr-menu .menu-content {
        padding-left: var(--compact-inline-pad) !important;
        padding-right: var(--compact-inline-pad) !important;
    }

    body.public-body > main.qr-menu .menu-category h2 {
        align-items: center !important;
        display: flex !important;
        font-size: 18px !important;
        gap: 8px !important;
        line-height: 1.2 !important;
        max-width: 100% !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
    }

    body.public-body > main.qr-menu .product-grid-public {
        display: grid !important;
        gap: 9px !important;
        grid-template-columns: 1fr !important;
    }

    body.public-body > main.qr-menu .menu-product {
        align-items: stretch !important;
        display: grid !important;
        gap: 9px !important;
        grid-template-columns: 76px minmax(0, 1fr) !important;
        min-height: 104px !important;
        padding: 9px !important;
        width: 100% !important;
    }

    body.public-body > main.qr-menu .menu-product .product-media {
        align-self: start !important;
        aspect-ratio: 1 / 1 !important;
        height: 76px !important;
        min-height: 76px !important;
        min-width: 76px !important;
        width: 76px !important;
    }

    body.public-body > main.qr-menu .menu-product .product-media img {
        height: 100% !important;
        object-fit: cover !important;
        width: 100% !important;
    }

    body.public-body > main.qr-menu .menu-product .product-info {
        display: grid !important;
        gap: 5px !important;
        grid-template-rows: auto minmax(14px, auto) auto !important;
        min-width: 0 !important;
    }

    body.public-body > main.qr-menu .menu-product .product-title-row {
        align-items: start !important;
        display: grid !important;
        gap: 4px !important;
        grid-template-columns: minmax(0, 1fr) !important;
        min-width: 0 !important;
    }

    body.public-body > main.qr-menu .menu-product .product-title-row h3 {
        -webkit-box-orient: vertical !important;
        -webkit-line-clamp: 2 !important;
        display: -webkit-box !important;
        font-size: 14px !important;
        line-height: 1.18 !important;
        max-height: 34px !important;
        max-width: 100% !important;
        min-width: 0 !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        white-space: normal !important;
    }

    body.public-body > main.qr-menu .menu-product .product-description-short,
    body.public-body > main.qr-menu .menu-product .product-description-trigger {
        -webkit-box-orient: vertical !important;
        -webkit-line-clamp: 1 !important;
        display: -webkit-box !important;
        font-size: 11.5px !important;
        line-height: 1.25 !important;
        max-width: 100% !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        white-space: normal !important;
    }

    body.public-body > main.qr-menu .menu-product .price-stack {
        align-items: start !important;
        display: flex !important;
        flex-direction: column !important;
        gap: 4px !important;
        justify-content: end !important;
        min-width: 0 !important;
    }

    body.public-body > main.qr-menu .menu-product .price-calorie-line {
        align-items: center !important;
        display: flex !important;
        flex-wrap: wrap !important;
        gap: 5px !important;
        min-width: 0 !important;
    }

    body.public-body > main.qr-menu .menu-product .price-stack strong {
        font-size: 14px !important;
        line-height: 1.1 !important;
        white-space: nowrap !important;
    }

    body.public-body > main.qr-menu .product-calorie-chip,
    body.public-body > main.qr-menu .cooking-time-badge {
        font-size: 10px !important;
        line-height: 1 !important;
        max-width: 86px !important;
        overflow: hidden !important;
        padding: 4px 5px !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
    }

    body.public-body > main.qr-menu .menu-product .product-action-row {
        align-items: end !important;
        display: flex !important;
        flex-wrap: wrap !important;
        gap: 6px !important;
        justify-content: flex-end !important;
        margin-top: 2px !important;
        min-width: 0 !important;
    }

    body.public-body > main.qr-menu .menu-product .menu-cart-add,
    body.public-body > main.qr-menu .menu-product .product-detail-button {
        border-radius: 9px !important;
        font-size: 11px !important;
        min-height: 32px !important;
        min-width: 58px !important;
        padding: 7px 9px !important;
        white-space: nowrap !important;
    }

    body.public-body > main.qr-menu .menu-product .product-comments {
        max-width: 42px !important;
    }

    body.public-body > main.qr-menu .pill-row,
    body.public-body > main.qr-menu .goes-with,
    body.public-body > main.qr-menu .ingredients-line,
    body.public-body > main.qr-menu .product-meta-row {
        max-width: 100% !important;
        min-width: 0 !important;
        overflow: hidden !important;
    }

    body.public-body .description-modal {
        align-items: end !important;
        padding: 0 !important;
    }

    body.public-body .description-dialog {
        border-radius: 18px 18px 0 0 !important;
        display: grid !important;
        grid-template-rows: minmax(160px, 34dvh) minmax(0, 1fr) !important;
        max-height: 96dvh !important;
        max-width: 100vw !important;
        min-height: 0 !important;
        overflow: hidden !important;
        width: 100vw !important;
    }

    body.public-body .description-visual {
        min-height: 0 !important;
        overflow: hidden !important;
    }

    body.public-body .description-visual img {
        height: 100% !important;
        object-fit: contain !important;
        width: 100% !important;
    }

    body.public-body .description-visual-caption {
        gap: 5px !important;
        padding: 10px !important;
    }

    body.public-body .description-visual-caption h2 {
        -webkit-box-orient: vertical !important;
        -webkit-line-clamp: 2 !important;
        display: -webkit-box !important;
        font-size: 19px !important;
        line-height: 1.1 !important;
        overflow: hidden !important;
    }

    body.public-body .description-copy {
        max-height: none !important;
        min-height: 0 !important;
        overflow-y: auto !important;
        padding: 14px 12px calc(14px + env(safe-area-inset-bottom)) !important;
    }

    body.public-body .description-detail-list {
        gap: 8px !important;
        grid-template-columns: 1fr !important;
    }

    body.public-body .description-extras,
    body.public-body .description-goes-with,
    body.public-body .description-comments {
        max-width: 100% !important;
        overflow-x: hidden !important;
    }

    body.public-body .cart-panel,
    body.public-body .service-dialog,
    body.public-body .service-table-dialog,
    body.public-body .unit-choice-dialog,
    body.public-body .extra-choice-dialog {
        max-height: 92dvh !important;
        max-width: calc(100vw - 18px) !important;
        overflow-y: auto !important;
        width: calc(100vw - 18px) !important;
    }

    body.public-body > main.qr-menu .mobile-actions {
        bottom: max(8px, env(safe-area-inset-bottom)) !important;
        max-width: calc(100vw - 16px) !important;
        min-width: 0 !important;
        width: calc(100vw - 16px) !important;
    }
}

@media (max-width: 374px) {
    body.public-body > main.qr-menu .menu-product {
        grid-template-columns: 68px minmax(0, 1fr) !important;
        padding: 8px !important;
    }

    body.public-body > main.qr-menu .menu-product .product-media {
        height: 68px !important;
        min-height: 68px !important;
        min-width: 68px !important;
        width: 68px !important;
    }

    body.public-body > main.qr-menu .menu-product .menu-cart-add,
    body.public-body > main.qr-menu .menu-product .product-detail-button {
        min-width: 52px !important;
        padding-inline: 7px !important;
    }
}
/* v341 opened category screens use their own category image header, not the main cover */
body.public-body > main.qr-menu.theme-menutje-mono.is-category-open > .menu-main-flow > .menu-hero,
body.public-body > main.qr-menu.theme-signature-grid.is-category-open > .menu-main-flow > .menu-hero {
    display: none !important;
}
/* v342 shorter full-width category image header */
body.public-body > main.qr-menu.theme-menutje-mono .pro-back-bar.has-category-image,
body.public-body > main.qr-menu.theme-signature-grid .pro-back-bar.has-category-image {
    border-radius: 14px !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    min-height: clamp(74px, 18vw, 104px) !important;
    padding: 11px 12px !important;
    width: 100% !important;
}

@media (min-width: 992px) {
    body.public-body > main.qr-menu.theme-menutje-mono .pro-back-bar.has-category-image,
    body.public-body > main.qr-menu.theme-signature-grid .pro-back-bar.has-category-image {
        border-radius: 16px !important;
        min-height: 112px !important;
        padding: 14px 16px !important;
    }
}

@media (max-width: 480px) {
    body.public-body > main.qr-menu.theme-menutje-mono .pro-back-bar.has-category-image,
    body.public-body > main.qr-menu.theme-signature-grid .pro-back-bar.has-category-image {
        border-radius: 12px !important;
        min-height: 76px !important;
        padding: 10px !important;
    }
}
/* v343 mobile category header mirrors the compact AKINSOFT-style image bar */
@media (max-width: 991px) {
    body.public-body > main.qr-menu.theme-menutje-mono.is-category-open .menu-content,
    body.public-body > main.qr-menu.theme-signature-grid.is-category-open .menu-content {
        border-radius: 0 !important;
        margin-top: 0 !important;
        padding-top: 0 !important;
    }

    body.public-body > main.qr-menu.theme-menutje-mono .pro-back-bar.has-category-image,
    body.public-body > main.qr-menu.theme-signature-grid .pro-back-bar.has-category-image {
        align-items: flex-end !important;
        background-position: center !important;
        background-size: cover !important;
        border: 0 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        gap: 0 !important;
        margin: 0 0 10px calc(50% - 50vw) !important;
        min-height: 55px !important;
        padding: 0 !important;
        top: 0 !important;
        width: 100vw !important;
    }

    body.public-body > main.qr-menu.theme-menutje-mono .pro-back-bar.has-category-image::after,
    body.public-body > main.qr-menu.theme-signature-grid .pro-back-bar.has-category-image::after {
        background: linear-gradient(180deg, transparent 0%, rgba(0, 0, 0, .8) 80%, #000 100%) !important;
        bottom: 0 !important;
        content: "" !important;
        height: 57px !important;
        left: 0 !important;
        pointer-events: none !important;
        position: absolute !important;
        width: 100% !important;
        z-index: 0 !important;
    }

    body.public-body > main.qr-menu.theme-menutje-mono .pro-back-bar.has-category-image .button,
    body.public-body > main.qr-menu.theme-signature-grid .pro-back-bar.has-category-image .button {
        align-self: stretch !important;
        background: transparent !important;
        border: 0 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        color: #fff !important;
        flex: 0 0 60px !important;
        height: 55px !important;
        min-height: 55px !important;
        position: relative !important;
        width: 60px !important;
        z-index: 1 !important;
    }

    body.public-body > main.qr-menu.theme-menutje-mono .pro-back-bar.has-category-image strong,
    body.public-body > main.qr-menu.theme-signature-grid .pro-back-bar.has-category-image strong {
        align-self: flex-end !important;
        color: #fff !important;
        font-size: 14px !important;
        font-weight: 700 !important;
        line-height: 1.2 !important;
        padding: 0 12px 14px 0 !important;
        position: relative !important;
        text-transform: none !important;
        z-index: 1 !important;
    }

    body.public-body > main.qr-menu.theme-menutje-mono .pro-back-bar.has-category-image strong::before,
    body.public-body > main.qr-menu.theme-signature-grid .pro-back-bar.has-category-image strong::before {
        content: none !important;
        display: none !important;
    }
}
/* v344 directional transitions between category home and product list */
@keyframes qrCategoryPageInFromRight {
    from {
        opacity: .65;
        transform: translate3d(24%, 0, 0);
    }

    to {
        opacity: 1;
        transform: translate3d(0, 0, 0);
    }
}

@keyframes qrCategoryHomeInFromLeft {
    from {
        opacity: .7;
        transform: translate3d(-18%, 0, 0);
    }

    to {
        opacity: 1;
        transform: translate3d(0, 0, 0);
    }
}

@media (prefers-reduced-motion: no-preference) {
    body.public-body > main.qr-menu.theme-menutje-mono.is-category-entering .menu-content,
    body.public-body > main.qr-menu.theme-signature-grid.is-category-entering .menu-content {
        animation: qrCategoryPageInFromRight .32s cubic-bezier(.22, .75, .28, 1) both !important;
        will-change: transform, opacity;
    }

    body.public-body > main.qr-menu.theme-menutje-mono.is-home-entering .category-showcase,
    body.public-body > main.qr-menu.theme-signature-grid.is-home-entering .category-showcase {
        animation: qrCategoryHomeInFromLeft .3s cubic-bezier(.22, .75, .28, 1) both !important;
        will-change: transform, opacity;
    }
}

/* v345 align category back arrow with category title */
@media (max-width: 991px) {
    body.public-body > main.qr-menu.theme-menutje-mono .pro-back-bar.has-category-image .button,
    body.public-body > main.qr-menu.theme-signature-grid .pro-back-bar.has-category-image .button {
        align-self: flex-end !important;
        height: 30px !important;
        min-height: 30px !important;
        margin-bottom: 7px !important;
        width: 48px !important;
    }

    body.public-body > main.qr-menu.theme-menutje-mono .pro-back-bar.has-category-image .button::before,
    body.public-body > main.qr-menu.theme-signature-grid .pro-back-bar.has-category-image .button::before {
        font-size: 26px !important;
        line-height: 1 !important;
        transform: translateY(-1px) !important;
    }
}

/* v351 white references and final QR menu title fit */
.launch-references {
    background: #ffffff !important;
    border: 1px solid rgba(15, 23, 42, .08) !important;
    box-shadow: 0 22px 58px rgba(15, 23, 42, .08) !important;
    color: #0f172a !important;
}

.launch-references .launch-kicker {
    background: #eefdfb !important;
    border-color: rgba(20, 184, 166, .22) !important;
    color: #0f766e !important;
}

.launch-references .launch-section-title h2 {
    color: #0f172a !important;
}

.launch-references .launch-section-title p {
    color: #475569 !important;
}

.launch-reference-marquee::before {
    background: linear-gradient(90deg, #ffffff 0%, rgba(255, 255, 255, 0) 100%) !important;
}

.launch-reference-marquee::after {
    background: linear-gradient(270deg, #ffffff 0%, rgba(255, 255, 255, 0) 100%) !important;
}

.launch-reference-phone strong {
    color: #0f172a !important;
}

.launch-reference-phone small {
    color: #64748b !important;
}

.reference-phone-frame {
    border-color: #111827 !important;
    box-shadow: 0 22px 48px rgba(15, 23, 42, .22) !important;
}

body.public-body > main.qr-menu .welcome-brand-chip strong,
body.public-body > main.qr-menu .home-welcome-panel h1,
body.public-body > main.qr-menu .menu-cover-business h1,
body.public-body > main.qr-menu .theme2-title-row h1,
body.public-body > main.qr-menu .menu-footer-brand strong {
    display: block !important;
    hyphens: none !important;
    letter-spacing: 0 !important;
    min-width: 0 !important;
    overflow: hidden !important;
    overflow-wrap: normal !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    word-break: keep-all !important;
}

body.public-body > main.qr-menu .menu-cover-brand,
body.public-body > main.qr-menu .menu-cover-business,
body.public-body > main.qr-menu .theme2-title-row,
body.public-body > main.qr-menu .welcome-brand-chip,
body.public-body > main.qr-menu .home-welcome-panel {
    min-width: 0 !important;
}

body.public-body > main.qr-menu .welcome-brand-chip strong {
    font-size: clamp(12px, 3.8vw, 17px) !important;
    max-width: min(280px, calc(100vw - 80px)) !important;
}

body.public-body > main.qr-menu .home-welcome-panel h1 {
    font-size: clamp(20px, 6.4vw, 34px) !important;
    max-width: min(360px, calc(100vw - 28px)) !important;
}

body.public-body > main.qr-menu .menu-cover-business h1,
body.public-body > main.qr-menu .theme2-title-row h1 {
    font-size: clamp(14px, 4.4vw, 24px) !important;
    max-width: min(360px, calc(100vw - 96px)) !important;
}

body.public-body > main.qr-menu.theme-noir-catalog .menu-cover-business h1,
body.public-body > main.qr-menu.theme-noir-catalog .theme2-title-row h1,
body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog .menu-cover-business h1,
body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog .theme2-title-row h1 {
    font-size: clamp(13px, 3.8vw, 22px) !important;
    max-width: min(360px, calc(100vw - 104px)) !important;
    width: auto !important;
}

@media (max-width: 420px) {
    body.public-body > main.qr-menu .menu-cover-business h1,
    body.public-body > main.qr-menu .theme2-title-row h1 {
        font-size: clamp(13px, 3.6vw, 19px) !important;
        max-width: calc(100vw - 102px) !important;
    }

    body.public-body > main.qr-menu .home-welcome-panel h1 {
        font-size: clamp(18px, 5.8vw, 28px) !important;
    }
}

/* v354 compact cover: fit long brand names by shrinking cover controls, never by ellipsis */
body.public-body > main.qr-menu.is-compact-cover-title .menu-cover-brand {
    gap: 6px !important;
    grid-template-columns: clamp(30px, 10vw, 42px) minmax(0, 1fr) !important;
    max-width: 100% !important;
}

body.public-body > main.qr-menu.is-compact-cover-title .menu-cover-brand .menu-logo {
    height: clamp(30px, 10vw, 42px) !important;
    min-height: clamp(30px, 10vw, 42px) !important;
    min-width: clamp(30px, 10vw, 42px) !important;
    padding: 4px !important;
    width: clamp(30px, 10vw, 42px) !important;
}

body.public-body > main.qr-menu.is-compact-cover-title .menu-cover-actions {
    gap: 5px !important;
}

body.public-body > main.qr-menu.is-compact-cover-title .menu-cover-action {
    border-radius: 10px !important;
    font-size: clamp(9px, 2.8vw, 11px) !important;
    gap: 4px !important;
    min-height: 30px !important;
    padding: 5px 7px !important;
}

body.public-body > main.qr-menu.is-compact-cover-title .menu-cover-hours {
    gap: 5px !important;
    padding: 5px 7px !important;
}

body.public-body > main.qr-menu.is-compact-cover-title .menu-cover-hours p {
    font-size: clamp(9px, 2.7vw, 11px) !important;
    line-height: 1.12 !important;
}

body.public-body > main.qr-menu.is-compact-cover-title .menu-cover-icon {
    height: 16px !important;
    width: 16px !important;
}

body.public-body > main.qr-menu.is-compact-cover-title .menu-cover-business h1,
body.public-body > main.qr-menu.is-compact-cover-title .theme2-title-row h1,
body.public-body > main.qr-menu.is-compact-cover-title .home-welcome-panel h1,
body.public-body > main.qr-menu.is-compact-cover-title .welcome-brand-chip strong {
    overflow: visible !important;
    text-overflow: clip !important;
}

/* v355 public legal and KVKK consent */
.legal-consent {
    align-items: flex-start;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 14px;
    color: #475569;
    display: flex !important;
    font-size: 13px;
    font-weight: 650;
    gap: 10px;
    line-height: 1.45;
    padding: 12px;
}

.legal-consent input {
    flex: 0 0 auto;
    height: 18px;
    margin-top: 2px;
    width: 18px;
}

.legal-consent a {
    color: #0f766e;
    font-weight: 850;
    text-decoration: none;
}

.legal-consent a:hover {
    text-decoration: underline;
}

.callback-legal-consent {
    border-radius: 10px;
    font-size: 11px !important;
    padding: 9px;
}

.legal-page {
    background:
        radial-gradient(circle at 18% 12%, rgba(15, 118, 110, .12), transparent 30%),
        linear-gradient(135deg, #f8fbfa, #eef4f3);
    min-height: 100vh;
    padding: clamp(24px, 5vw, 72px);
}

.legal-card {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 24px;
    box-shadow: 0 24px 70px rgba(15, 23, 42, .12);
    display: grid;
    gap: 18px;
    margin: 0 auto;
    max-width: 960px;
    padding: clamp(24px, 4vw, 48px);
}

.legal-back-link {
    color: #0f766e;
    font-size: 13px;
    font-weight: 850;
    text-decoration: none;
}

.legal-card h1 {
    color: #0f172a;
    font-size: clamp(30px, 4vw, 52px);
    letter-spacing: 0;
    line-height: 1.05;
    margin: 0;
}

.legal-content {
    color: #475569;
    font-size: 15px;
    line-height: 1.8;
    white-space: normal;
}

.legal-contact {
    align-items: center;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 16px;
    display: flex;
    flex-wrap: wrap;
    gap: 10px 16px;
    padding: 14px 16px;
}

.legal-contact strong {
    color: #0f172a;
}

.legal-contact a {
    color: #0f766e;
    font-weight: 800;
    text-decoration: none;
}

.public-body .app-copyright {
    gap: 10px;
}

@media (max-width: 620px) {
    .legal-page {
        padding: 16px;
    }

    .legal-card {
        border-radius: 18px;
    }
}

/* v355 admin landing settings redesign */
.settings-page-header {
    align-items: flex-start;
    display: flex;
    gap: 24px;
    justify-content: space-between;
    margin-bottom: 24px;
    min-width: 0;
}

.settings-page-header h1 {
    color: #0f172a;
    font-size: clamp(26px, 2.6vw, 36px);
    letter-spacing: 0;
    line-height: 1.08;
    margin: 6px 0 8px;
}

.settings-page-header p {
    color: #64748b;
    line-height: 1.55;
    margin: 0;
    max-width: 720px;
}

.settings-preview-button {
    align-items: center;
    border-color: rgba(79, 70, 229, .42) !important;
    color: #4f46e5 !important;
    display: inline-flex;
    flex: 0 0 auto;
    gap: 10px;
    min-height: 46px;
    padding-inline: 18px !important;
}

.landing-settings-form {
    align-items: start;
    display: grid;
    gap: 24px;
    grid-template-columns: 260px minmax(0, 1fr);
}

.settings-nav {
    background: rgba(255, 255, 255, .96);
    border: 1px solid rgba(226, 232, 240, .96);
    border-radius: 18px;
    box-shadow: 0 16px 38px rgba(15, 23, 42, .07);
    display: flex;
    flex-direction: column;
    gap: 6px;
    overflow: hidden;
    padding: 12px;
    position: sticky;
    top: 24px;
}

.settings-nav > strong {
    color: #0f172a;
    font-size: 13px;
    letter-spacing: .04em;
    padding: 9px 12px 12px;
    text-transform: uppercase;
}

.settings-nav a {
    align-items: center;
    border-left: 3px solid transparent;
    border-radius: 0 12px 12px 0;
    color: #334155;
    display: flex;
    gap: 12px;
    font-weight: 750;
    min-height: 46px;
    padding: 11px 12px;
    text-decoration: none;
    transition: background .2s ease, border-color .2s ease, color .2s ease, transform .2s ease;
}

.settings-nav a:hover,
.settings-nav a.active {
    background: linear-gradient(90deg, rgba(79, 70, 229, .1), rgba(255, 255, 255, .88));
    border-left-color: #4f46e5;
    color: #4338ca;
}

.settings-nav a:hover {
    transform: translateX(2px);
}

.settings-nav-icon {
    align-items: center;
    color: currentColor;
    display: inline-flex;
    flex: 0 0 22px;
    font-size: 18px;
    font-weight: 850;
    justify-content: center;
    line-height: 1;
}

.settings-content {
    display: grid;
    gap: 12px;
    min-width: 0;
}

.settings-card {
    background: rgba(255, 255, 255, .98);
    border: 1px solid rgba(226, 232, 240, .98);
    border-radius: 16px;
    box-shadow: 0 14px 34px rgba(15, 23, 42, .07);
    overflow: hidden;
}

.settings-card summary {
    align-items: center;
    cursor: pointer;
    display: flex;
    gap: 16px;
    justify-content: space-between;
    list-style: none;
    min-height: 64px;
    padding: 16px 20px;
}

.settings-card summary::-webkit-details-marker {
    display: none;
}

.settings-card summary::after {
    align-items: center;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 999px;
    color: #0f172a;
    content: "+";
    display: inline-flex;
    flex: 0 0 30px;
    font-size: 20px;
    font-weight: 850;
    height: 30px;
    justify-content: center;
    line-height: 1;
    width: 30px;
}

.settings-card[open] summary::after {
    content: "-";
}

.settings-card-heading {
    align-items: center;
    display: flex;
    gap: 14px;
    min-width: 0;
}

.settings-card-heading > span:last-child {
    display: grid;
    gap: 3px;
    min-width: 0;
}

.settings-card-icon {
    align-items: center;
    background: #f1f5ff;
    border-radius: 12px;
    color: #4f46e5;
    display: inline-flex;
    flex: 0 0 38px;
    font-size: 22px;
    font-weight: 900;
    height: 38px;
    justify-content: center;
    line-height: 1;
    width: 38px;
}

.settings-card summary strong {
    color: #0f172a;
    font-size: 16px;
    line-height: 1.15;
}

.settings-card summary small {
    color: #64748b;
    font-size: 13px;
    font-weight: 500;
    line-height: 1.25;
}

.settings-card-body {
    background: #ffffff;
    border-top: 1px solid #e2e8f0;
    display: grid;
    gap: 16px;
    padding: 20px;
}

.field {
    color: #334155;
    display: grid;
    font-size: 13px;
    font-weight: 750;
    gap: 8px;
    min-width: 0;
}

.field input,
.field select,
.field textarea {
    background: #f8fafc;
    border: 1px solid #cbd5e1;
    border-radius: 12px;
    color: #0f172a;
    font: inherit;
    font-weight: 500;
    min-height: 44px;
    outline: none;
    padding: 11px 12px;
    transition: background .2s ease, border-color .2s ease, box-shadow .2s ease;
    width: 100%;
}

.field textarea {
    min-height: 96px;
    resize: vertical;
}

.field input:focus,
.field select:focus,
.field textarea:focus {
    background: #ffffff;
    border-color: #4f46e5;
    box-shadow: 0 0 0 4px rgba(79, 70, 229, .12);
}

.field-grid {
    display: grid;
    gap: 14px;
}

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

.repeat-list {
    display: grid;
    gap: 14px;
}

.repeat-item {
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 16px;
    display: grid;
    gap: 14px;
    padding: 16px;
}

.repeat-title {
    color: #0f172a;
    font-size: 14px;
    font-weight: 850;
}

.settings-savebar {
    align-items: center;
    backdrop-filter: blur(12px);
    background: rgba(255, 255, 255, .94);
    border: 1px solid #e2e8f0;
    border-radius: 18px;
    box-shadow: 0 18px 42px rgba(15, 23, 42, .14);
    display: flex;
    gap: 16px;
    grid-column: 1 / -1;
    justify-content: space-between;
    padding: 14px 16px;
    position: sticky;
    bottom: 16px;
    z-index: 20;
}

.settings-savebar p {
    color: #64748b;
    font-size: 14px;
    line-height: 1.45;
    margin: 0;
    max-width: 620px;
}

.settings-savebar .button {
    align-items: center;
    display: inline-flex;
    gap: 10px;
    justify-content: center;
    min-height: 50px;
    min-width: 270px;
}

@media (max-width: 1100px) {
    .landing-settings-form {
        grid-template-columns: 230px minmax(0, 1fr);
        gap: 18px;
    }
}

@media (max-width: 900px) {
    .settings-page-header {
        flex-direction: column;
    }

    .settings-preview-button {
        width: 100%;
        justify-content: center;
    }

    .landing-settings-form {
        grid-template-columns: 1fr;
    }

    .settings-nav {
        flex-direction: row;
        overflow-x: auto;
        position: static;
        scrollbar-width: none;
        white-space: nowrap;
    }

    .settings-nav::-webkit-scrollbar {
        display: none;
    }

    .settings-nav > strong {
        align-items: center;
        display: inline-flex;
        flex: 0 0 auto;
        padding: 0 8px;
    }

    .settings-nav a {
        border-left: 0;
        border-bottom: 3px solid transparent;
        border-radius: 12px;
        flex: 0 0 auto;
    }

    .settings-nav a:hover,
    .settings-nav a.active {
        border-bottom-color: #4f46e5;
        transform: none;
    }

    .field-grid.two {
        grid-template-columns: 1fr;
    }

    .settings-savebar {
        align-items: stretch;
        flex-direction: column;
        position: static;
    }

    .settings-savebar .button {
        min-width: 0;
        width: 100%;
    }
}

@media (max-width: 560px) {
    .settings-page-header {
        gap: 14px;
        margin-bottom: 16px;
    }

    .settings-card summary,
    .settings-card-body {
        padding: 14px;
    }

    .settings-card-heading {
        gap: 10px;
    }

    .settings-card-icon {
        flex-basis: 34px;
        height: 34px;
        width: 34px;
    }
}

/* v356 unified admin page headers and general settings page */
.panel-body.admin-panel .page-header,
.panel-body.admin-panel .settings-page-header,
.panel-body.admin-panel .admin-unified-page-header {
    align-items: flex-start;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    display: flex;
    gap: 24px;
    justify-content: space-between;
    margin: 0 0 24px !important;
    padding: 0 !important;
}

.panel-body.admin-panel .page-header > div,
.panel-body.admin-panel .settings-page-header > div,
.panel-body.admin-panel .admin-unified-page-header > div {
    min-width: 0;
}

.panel-body.admin-panel .page-header h1,
.panel-body.admin-panel .settings-page-header h1,
.panel-body.admin-panel .admin-unified-page-header h1 {
    color: #0f172a;
    font-size: clamp(26px, 2.6vw, 36px) !important;
    letter-spacing: 0;
    line-height: 1.08;
    margin: 6px 0 8px;
}

.panel-body.admin-panel .page-header p,
.panel-body.admin-panel .settings-page-header p,
.panel-body.admin-panel .admin-unified-page-header p {
    color: #64748b;
    line-height: 1.55;
    margin: 0;
    max-width: 720px;
}

.panel-body.admin-panel .page-header .button,
.panel-body.admin-panel .settings-page-header .button,
.panel-body.admin-panel .admin-unified-page-header .button {
    flex: 0 0 auto;
}

.general-settings-subnav {
    margin-bottom: 24px;
}

.general-settings-form .settings-media-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.general-settings-form .settings-media-item {
    min-width: 0;
}

.general-settings-form .settings-media-item.wide {
    grid-column: 1 / -1;
}

.general-settings-form .settings-media-preview {
    min-height: 104px;
}

.general-settings-form .settings-media-preview.social {
    min-height: 130px;
}

.general-settings-form .general-theme-color {
    max-width: 220px;
}

.mail-settings-page-form {
    align-items: start;
}

.mail-settings-save-form {
    display: grid;
    gap: 12px;
}

.mail-settings-page-form .mail-recipient-section {
    margin: 0;
}

.mail-settings-page-form .mail-filter-bar {
    margin: 0;
}

.mail-settings-media-item {
    max-width: 720px;
}

.mail-settings-savebar {
    margin-top: 4px;
}

@media (max-width: 900px) {
    .panel-body.admin-panel .page-header,
    .panel-body.admin-panel .settings-page-header,
    .panel-body.admin-panel .admin-unified-page-header {
        flex-direction: column;
    }

    .panel-body.admin-panel .page-header .button,
    .panel-body.admin-panel .settings-page-header .button,
    .panel-body.admin-panel .admin-unified-page-header .button {
        justify-content: center;
        width: 100%;
    }

    .general-settings-form .settings-media-grid {
        grid-template-columns: 1fr;
    }
}

/* v357 full admin responsive consolidation */
.panel-body.admin-panel {
    min-width: 0;
    overflow-x: hidden;
}

.panel-body.admin-panel .panel-main,
.panel-body.admin-panel .panel-main > *,
.panel-body.admin-panel .form-panel,
.panel-body.admin-panel .panel-section,
.panel-body.admin-panel .settings-card,
.panel-body.admin-panel .admin-panel-card,
.panel-body.admin-panel .table-wrap {
    max-width: 100%;
    min-width: 0;
}

.panel-body.admin-panel img,
.panel-body.admin-panel video,
.panel-body.admin-panel iframe {
    max-width: 100%;
}

.panel-body.admin-panel input,
.panel-body.admin-panel select,
.panel-body.admin-panel textarea {
    font-size: 16px;
}

.panel-body.admin-panel .button,
.panel-body.admin-panel button {
    min-width: 0;
    overflow-wrap: anywhere;
}

.panel-body.admin-panel .filter-bar,
.panel-body.admin-panel .admin-filter-bar {
    align-items: end;
    display: grid;
    gap: 12px;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
}

.panel-body.admin-panel .filter-actions,
.panel-body.admin-panel .header-actions,
.panel-body.admin-panel .table-actions,
.panel-body.admin-panel .mail-send-actions {
    min-width: 0;
}

@media (min-width: 981px) {
    .panel-body.admin-panel {
        display: grid !important;
        grid-template-columns: 244px minmax(0, 1fr) !important;
        padding-top: 0 !important;
    }

    .panel-body.admin-panel .admin-mobile-bar,
    .panel-body.admin-panel .admin-menu-backdrop {
        display: none !important;
    }

    .panel-body.admin-panel .sidebar {
        height: 100dvh;
        max-height: 100dvh;
        overflow-y: auto;
        scrollbar-width: thin;
    }

    .panel-body.admin-panel .nav-list {
        display: grid !important;
        overflow: visible !important;
    }

    .panel-body.admin-panel .panel-main {
        min-width: 0;
        width: 100%;
    }
}

@media (max-width: 980px) {
    .panel-body.admin-panel {
        display: block !important;
        min-height: 100dvh;
        padding-top: 64px !important;
        width: 100%;
    }

    .panel-body.admin-panel .admin-mobile-bar {
        align-items: center;
        background: rgba(255, 255, 255, .98);
        border-bottom: 1px solid rgba(203, 213, 225, .92);
        box-shadow: 0 10px 28px rgba(15, 23, 42, .1);
        display: flex !important;
        gap: 12px;
        height: 64px;
        inset: 0 0 auto;
        padding: 10px 14px;
        position: fixed;
        z-index: 1000;
    }

    .panel-body.admin-panel .admin-menu-toggle {
        flex: 0 0 42px;
    }

    .panel-body.admin-panel .admin-mobile-brand {
        flex: 1 1 auto;
        min-width: 0;
    }

    .panel-body.admin-panel .admin-mobile-brand img {
        background: #0f172a;
        border-radius: 8px;
        max-height: 32px;
        max-width: min(142px, 42vw);
        object-fit: contain;
        padding: 4px 6px;
    }

    .panel-body.admin-panel .admin-mobile-brand strong {
        min-width: 0;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .panel-body.admin-panel .admin-menu-backdrop {
        background: rgba(15, 23, 42, .48);
        border: 0;
        display: block !important;
        inset: 0;
        opacity: 0;
        pointer-events: none;
        position: fixed;
        transition: opacity .18s ease;
        z-index: 1001;
    }

    .panel-body.admin-panel .sidebar {
        border-radius: 0 18px 18px 0 !important;
        display: flex !important;
        flex-direction: column !important;
        gap: 12px !important;
        height: 100dvh !important;
        left: 0;
        max-height: 100dvh !important;
        max-width: 340px;
        min-height: 100dvh !important;
        overflow-x: hidden !important;
        overflow-y: auto !important;
        padding: 14px !important;
        position: fixed !important;
        top: 0;
        transform: translateX(-105%) !important;
        transition: transform .22s ease;
        width: min(88vw, 340px) !important;
        z-index: 1002;
    }

    .panel-body.admin-panel.admin-nav-open {
        overflow: hidden !important;
    }

    .panel-body.admin-panel.admin-nav-open .admin-menu-backdrop {
        opacity: 1;
        pointer-events: auto;
    }

    .panel-body.admin-panel.admin-nav-open .sidebar {
        transform: translateX(0) !important;
    }

    .panel-body.admin-panel .sidebar .brand {
        flex: 0 0 auto;
        width: 100%;
    }

    .panel-body.admin-panel .sidebar .nav-list {
        display: grid !important;
        flex: 1 1 auto;
        gap: 6px !important;
        grid-template-columns: 1fr !important;
        max-width: none !important;
        overflow: visible !important;
        padding: 0 !important;
    }

    .panel-body.admin-panel .sidebar .nav-list a {
        align-items: center;
        display: flex !important;
        justify-content: flex-start !important;
        min-height: 44px;
        width: 100%;
        white-space: normal !important;
    }

    .panel-body.admin-panel .sidebar .nav-list a strong,
    .panel-body.admin-panel .sidebar .nav-list a small {
        white-space: normal !important;
    }

    .panel-body.admin-panel .sidebar .logout-form {
        flex: 0 0 auto;
        margin-top: 8px !important;
        width: 100%;
    }

    .panel-body.admin-panel .panel-main {
        min-height: calc(100dvh - 64px);
        padding: clamp(12px, 3.8vw, 20px) !important;
        width: 100%;
    }

    .panel-body.admin-panel .page-header,
    .panel-body.admin-panel .settings-page-header,
    .panel-body.admin-panel .admin-unified-page-header {
        align-items: stretch !important;
        display: grid !important;
        gap: 12px !important;
        grid-template-columns: 1fr !important;
        margin-bottom: 14px !important;
        width: 100%;
    }

    .panel-body.admin-panel .page-header h1,
    .panel-body.admin-panel .settings-page-header h1,
    .panel-body.admin-panel .admin-unified-page-header h1 {
        font-size: clamp(23px, 6vw, 32px) !important;
        line-height: 1.08 !important;
        overflow-wrap: anywhere;
    }

    .panel-body.admin-panel .page-header .button,
    .panel-body.admin-panel .settings-page-header .button,
    .panel-body.admin-panel .admin-unified-page-header .button {
        justify-content: center;
        width: 100%;
    }

    .panel-body.admin-panel .header-actions {
        display: grid !important;
        gap: 8px;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        width: 100%;
    }

    .panel-body.admin-panel .header-actions .button,
    .panel-body.admin-panel .header-actions button,
    .panel-body.admin-panel .filter-actions .button,
    .panel-body.admin-panel .filter-actions button {
        justify-content: center;
        width: 100%;
    }

    .panel-body.admin-panel .stat-grid,
    .panel-body.admin-panel .admin-summary-strip,
    .panel-body.admin-panel .admin-dashboard-grid,
    .panel-body.admin-panel .admin-quick-grid,
    .panel-body.admin-panel .pricing-admin-grid,
    .panel-body.admin-panel .panel-form.two-column,
    .panel-body.admin-panel .panel-form.single-column,
    .panel-body.admin-panel .field-grid,
    .panel-body.admin-panel .field-grid.two,
    .panel-body.admin-panel .check-grid,
    .panel-body.admin-panel .info-grid,
    .panel-body.admin-panel .theme-preview-grid,
    .panel-body.admin-panel .theme-preview-grid.two,
    .panel-body.admin-panel .landing-settings-form,
    .panel-body.admin-panel .payment-settings-grid {
        grid-template-columns: 1fr !important;
    }

    .panel-body.admin-panel .settings-nav {
        flex-direction: row !important;
        overflow-x: auto !important;
        position: static !important;
        scrollbar-width: none;
        white-space: nowrap;
    }

    .panel-body.admin-panel .settings-nav::-webkit-scrollbar {
        display: none;
    }

    .panel-body.admin-panel .settings-savebar,
    .panel-body.admin-panel .sticky-save-bar,
    .panel-body.admin-panel .mail-send-bar {
        align-items: stretch !important;
        flex-direction: column !important;
        gap: 10px !important;
        position: static !important;
        width: 100%;
    }

    .panel-body.admin-panel .settings-savebar .button,
    .panel-body.admin-panel .sticky-save-bar .button,
    .panel-body.admin-panel .mail-send-actions,
    .panel-body.admin-panel .mail-send-actions .button {
        width: 100%;
    }

    .panel-body.admin-panel .filter-bar,
    .panel-body.admin-panel .admin-filter-bar {
        align-items: stretch !important;
        grid-template-columns: 1fr !important;
    }

    .panel-body.admin-panel .filter-actions {
        display: grid !important;
        gap: 8px;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        width: 100%;
    }

    .panel-body.admin-panel .table-wrap {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }
}

@media (max-width: 760px) {
    .panel-body.admin-panel .admin-table-wrap {
        overflow: visible !important;
    }

    .panel-body.admin-panel .admin-responsive-table,
    .panel-body.admin-panel .admin-responsive-table thead,
    .panel-body.admin-panel .admin-responsive-table tbody,
    .panel-body.admin-panel .admin-responsive-table tr,
    .panel-body.admin-panel .admin-responsive-table th,
    .panel-body.admin-panel .admin-responsive-table td {
        display: block;
        width: 100% !important;
    }

    .panel-body.admin-panel .admin-responsive-table thead {
        display: none !important;
    }

    .panel-body.admin-panel .admin-responsive-table tbody {
        display: grid;
        gap: 10px;
    }

    .panel-body.admin-panel .admin-responsive-table tr {
        background: #ffffff;
        border: 1px solid rgba(203, 213, 225, .9);
        border-radius: 12px;
        box-shadow: 0 10px 24px rgba(15, 23, 42, .06);
        overflow: hidden;
    }

    .panel-body.admin-panel .admin-responsive-table td {
        align-items: start;
        border-bottom: 1px solid rgba(226, 232, 240, .92);
        display: grid;
        gap: 8px;
        grid-template-columns: minmax(82px, 32%) minmax(0, 1fr);
        min-width: 0 !important;
        padding: 10px 12px !important;
    }

    .panel-body.admin-panel .admin-responsive-table td:last-child {
        border-bottom: 0;
    }

    .panel-body.admin-panel .admin-responsive-table td::before {
        color: #64748b;
        content: attr(data-label);
        font-size: 11px;
        font-weight: 900;
        line-height: 1.25;
        text-transform: uppercase;
    }

    .panel-body.admin-panel .admin-responsive-table td:not([data-label]),
    .panel-body.admin-panel .admin-responsive-table td[data-label=""] {
        grid-template-columns: 1fr;
    }

    .panel-body.admin-panel .admin-responsive-table td:not([data-label])::before,
    .panel-body.admin-panel .admin-responsive-table td[data-label=""]::before {
        display: none;
    }

    .panel-body.admin-panel .admin-responsive-table td > * {
        max-width: 100%;
        min-width: 0;
    }

    .panel-body.admin-panel .admin-responsive-table .table-actions,
    .panel-body.admin-panel .admin-responsive-table .admin-icon-actions {
        align-items: center;
        display: flex !important;
        flex-wrap: wrap;
        gap: 8px;
        justify-content: flex-start !important;
        width: 100%;
    }

    .panel-body.admin-panel .admin-responsive-table .table-actions .button,
    .panel-body.admin-panel .admin-responsive-table .table-actions button {
        flex: 1 1 130px;
        justify-content: center;
    }
}

@media (max-width: 560px) {
    .panel-body.admin-panel {
        padding-top: 58px !important;
    }

    .panel-body.admin-panel .admin-mobile-bar {
        height: 58px;
        padding: 8px 10px;
    }

    .panel-body.admin-panel .admin-menu-toggle {
        flex-basis: 40px;
        height: 40px;
        min-height: 40px;
        width: 40px;
    }

    .panel-body.admin-panel .panel-main {
        min-height: calc(100dvh - 58px);
        padding: 10px !important;
    }

    .panel-body.admin-panel .form-panel,
    .panel-body.admin-panel .panel-section,
    .panel-body.admin-panel .stat-card,
    .panel-body.admin-panel .settings-card,
    .panel-body.admin-panel .admin-panel-card,
    .panel-body.admin-panel .admin-quick-grid a,
    .panel-body.admin-panel .admin-summary-strip > div {
        border-radius: 12px !important;
        padding: 12px !important;
    }

    .panel-body.admin-panel .page-header,
    .panel-body.admin-panel .settings-page-header,
    .panel-body.admin-panel .admin-unified-page-header {
        padding: 0 !important;
    }

    .panel-body.admin-panel .header-actions,
    .panel-body.admin-panel .filter-actions,
    .panel-body.admin-panel .mail-send-actions {
        grid-template-columns: 1fr !important;
    }

    .panel-body.admin-panel .button,
    .panel-body.admin-panel button {
        min-height: 40px;
        padding: 9px 12px;
    }

    .panel-body.admin-panel .admin-responsive-table td {
        grid-template-columns: 1fr !important;
    }

    .panel-body.admin-panel .admin-responsive-table td::before {
        margin-bottom: -3px;
    }
}

/* v358 category image/video media support */
.panel-body.customer-panel .existing-media video,
.panel-body.customer-panel video.table-thumb {
    background: #0f172a;
    border-radius: 10px;
    display: block;
    object-fit: cover;
}

.panel-body.customer-panel .existing-media video {
    max-height: 150px;
    width: min(100%, 280px);
}

.panel-body.customer-panel video.table-thumb {
    height: 54px;
    width: 72px;
}

.public-body .qr-menu .category-tabs video {
    border-radius: 999px;
    display: block;
    height: 34px;
    object-fit: cover;
    width: 34px;
}

.public-body .qr-menu .category-showcase a video {
    display: block;
    filter: saturate(.94) contrast(1.05);
    height: 100%;
    inset: 0;
    object-fit: cover;
    position: absolute;
    transform: scale(1.02);
    transition: transform .35s ease;
    width: 100%;
}

.public-body .qr-menu .category-showcase a:hover video {
    transform: scale(1.08);
}

.public-body .qr-menu .category-hero-media {
    aspect-ratio: 16 / 7;
    border-radius: 18px;
    box-shadow: 0 16px 34px rgba(15, 23, 42, .14);
    margin: 0 0 14px;
    max-height: 260px;
    overflow: hidden;
    position: relative;
    width: 100%;
}

.public-body .qr-menu .category-hero-media video,
.public-body .qr-menu .category-hero-media img {
    display: block;
    height: 100%;
    object-fit: cover;
    width: 100%;
}

.public-body .qr-menu.theme-menutje-mono .category-hero-media,
.public-body .qr-menu.theme-noir-catalog .category-hero-media {
    border-radius: 0;
    margin-bottom: 10px;
}

@media (max-width: 560px) {
    .public-body .qr-menu .category-hero-media {
        aspect-ratio: 16 / 6;
        border-radius: 14px;
        max-height: 148px;
    }

    .panel-body.customer-panel .existing-media video {
        max-height: 120px;
        width: 100%;
    }
}

/* v359 category video performance, language layer and desktop sizing */
.public-body .qr-menu .locale-switcher,
.public-body .qr-menu.theme-menutje-mono .locale-switcher,
.public-body .qr-menu.theme-noir-catalog .locale-switcher,
.public-body .qr-menu .promenu-lang-select,
.public-body .qr-menu .promenu-lang-dropdown {
    z-index: 80 !important;
}

.public-body .qr-menu .menu-hero,
.public-body .qr-menu .menu-hero-content {
    overflow: visible;
}

.public-body .qr-menu .category-tabs video[data-category-video],
.public-body .qr-menu .category-showcase video[data-category-video],
.public-body .qr-menu .category-hero-media video[data-category-video] {
    background: linear-gradient(135deg, rgba(15, 23, 42, .16), rgba(15, 118, 110, .12));
}

.public-body .qr-menu.theme-noir-catalog .category-video-thumb-fallback {
    align-items: center;
    background:
        radial-gradient(circle at 32% 24%, rgba(216, 183, 106, .32), transparent 36%),
        linear-gradient(135deg, #1a211a, #090c0a);
    border: 1px solid rgba(216, 183, 106, .32);
    border-radius: 999px;
    color: #d8b76a;
    display: inline-flex;
    flex: 0 0 34px;
    font-size: 13px;
    font-weight: 950;
    height: 34px;
    justify-content: center;
    line-height: 1;
    overflow: hidden;
    text-transform: uppercase;
    width: 34px;
}

.public-body .qr-menu.theme-noir-catalog video[data-category-video] {
    transform: translateZ(0);
}

.public-body .qr-menu.theme-noir-catalog .category-tabs video.category-tab-video {
    background:
        radial-gradient(circle at 32% 24%, rgba(216, 183, 106, .32), transparent 36%),
        linear-gradient(135deg, #1a211a, #090c0a);
    border: 1px solid rgba(216, 183, 106, .32);
    border-radius: 999px;
    display: block;
    flex: 0 0 34px;
    height: 34px;
    object-fit: cover;
    overflow: hidden;
    width: 34px;
}

@media (min-width: 981px) {
    .public-body .qr-menu .menu-category.has-category-video .category-hero-media {
        height: clamp(170px, 18vw, 240px);
        margin-left: auto;
        margin-right: auto;
        max-height: 240px;
        max-width: 860px;
    }
}
/* v362 stable QR cover title on first paint */
body.public-body > main.qr-menu .menu-cover-brand {
    min-width: 0 !important;
    max-width: 100% !important;
}

body.public-body > main.qr-menu .menu-cover-business,
body.public-body > main.qr-menu .theme2-title-row {
    min-width: 0 !important;
    max-width: 100% !important;
    overflow: hidden !important;
}

body.public-body > main.qr-menu .menu-cover-business h1.menu-cover-title,
body.public-body > main.qr-menu .theme2-title-row h1.menu-cover-title,
body.public-body > main.qr-menu.theme-noir-catalog .menu-cover-business h1.menu-cover-title,
body.public-body > main.qr-menu.theme-noir-catalog .theme2-title-row h1.menu-cover-title {
    display: block !important;
    width: 100% !important;
    max-width: min(360px, calc(100vw - 96px)) !important;
    margin: 0 !important;
    font-size: clamp(10px, var(--cover-title-size, 22px), 24px) !important;
    line-height: 1.08 !important;
    letter-spacing: 0 !important;
    white-space: nowrap !important;
    word-break: keep-all !important;
    overflow-wrap: normal !important;
    hyphens: none !important;
    overflow: hidden !important;
    text-overflow: clip !important;
    transform: none !important;
    transform-origin: left center !important;
    writing-mode: horizontal-tb !important;
}

@media (max-width: 420px) {
    body.public-body > main.qr-menu .menu-cover-brand {
        grid-template-columns: clamp(40px, 12vw, 54px) minmax(0, 1fr) !important;
        gap: 8px !important;
    }

    body.public-body > main.qr-menu .menu-cover-business h1.menu-cover-title,
    body.public-body > main.qr-menu .theme2-title-row h1.menu-cover-title,
    body.public-body > main.qr-menu.theme-noir-catalog .menu-cover-business h1.menu-cover-title,
    body.public-body > main.qr-menu.theme-noir-catalog .theme2-title-row h1.menu-cover-title {
        max-width: calc(100vw - 92px) !important;
        font-size: clamp(9px, calc(var(--cover-title-size, 22px) * .9), 21px) !important;
    }
}

@media (max-width: 360px) {
    body.public-body > main.qr-menu .menu-cover-brand {
        grid-template-columns: clamp(34px, 11vw, 46px) minmax(0, 1fr) !important;
        gap: 6px !important;
    }

    body.public-body > main.qr-menu .menu-cover-business h1.menu-cover-title,
    body.public-body > main.qr-menu .theme2-title-row h1.menu-cover-title,
    body.public-body > main.qr-menu.theme-noir-catalog .menu-cover-business h1.menu-cover-title,
    body.public-body > main.qr-menu.theme-noir-catalog .theme2-title-row h1.menu-cover-title {
        max-width: calc(100vw - 78px) !important;
        font-size: clamp(8px, calc(var(--cover-title-size, 22px) * .78), 18px) !important;
    }
}

/* v363 Samsung/Android cover title width fix */
body.public-body > main.qr-menu .menu-cover-brand,
body.public-body > main.qr-menu.theme-menutje-mono .menu-cover-brand,
body.public-body > main.qr-menu.theme-noir-catalog .menu-cover-brand {
    align-items: center !important;
    display: grid !important;
    grid-template-columns: clamp(58px, 18vw, 88px) minmax(0, 1fr) !important;
    gap: clamp(8px, 2.4vw, 14px) !important;
    inline-size: 100% !important;
    max-inline-size: 100% !important;
    min-inline-size: 0 !important;
}

body.public-body > main.qr-menu .menu-cover-business,
body.public-body > main.qr-menu .theme2-title-row,
body.public-body > main.qr-menu.theme-menutje-mono .menu-cover-business,
body.public-body > main.qr-menu.theme-menutje-mono .theme2-title-row,
body.public-body > main.qr-menu.theme-noir-catalog .menu-cover-business,
body.public-body > main.qr-menu.theme-noir-catalog .theme2-title-row {
    display: block !important;
    inline-size: 100% !important;
    max-inline-size: 100% !important;
    min-inline-size: 0 !important;
    overflow: visible !important;
}

body.public-body > main.qr-menu .menu-cover-business h1.menu-cover-title,
body.public-body > main.qr-menu .theme2-title-row h1.menu-cover-title,
body.public-body > main.qr-menu.theme-menutje-mono .menu-cover-business h1.menu-cover-title,
body.public-body > main.qr-menu.theme-menutje-mono .theme2-title-row h1.menu-cover-title,
body.public-body > main.qr-menu.theme-noir-catalog .menu-cover-business h1.menu-cover-title,
body.public-body > main.qr-menu.theme-noir-catalog .theme2-title-row h1.menu-cover-title {
    display: inline-block !important;
    inline-size: auto !important;
    max-inline-size: 100% !important;
    min-inline-size: 0 !important;
    width: auto !important;
    max-width: 100% !important;
    overflow: visible !important;
    text-overflow: clip !important;
    white-space: nowrap !important;
}

@media (max-width: 420px) {
    body.public-body > main.qr-menu .menu-cover-brand,
    body.public-body > main.qr-menu.theme-menutje-mono .menu-cover-brand,
    body.public-body > main.qr-menu.theme-noir-catalog .menu-cover-brand {
        grid-template-columns: clamp(48px, 17vw, 68px) minmax(0, 1fr) !important;
        gap: 8px !important;
    }

    body.public-body > main.qr-menu .menu-cover-brand .menu-logo,
    body.public-body > main.qr-menu.theme-menutje-mono .menu-cover-brand .menu-logo,
    body.public-body > main.qr-menu.theme-noir-catalog .menu-cover-brand .menu-logo {
        height: clamp(48px, 17vw, 68px) !important;
        min-height: clamp(48px, 17vw, 68px) !important;
        min-width: clamp(48px, 17vw, 68px) !important;
        width: clamp(48px, 17vw, 68px) !important;
    }

    body.public-body > main.qr-menu .menu-cover-business h1.menu-cover-title,
    body.public-body > main.qr-menu .theme2-title-row h1.menu-cover-title,
    body.public-body > main.qr-menu.theme-menutje-mono .menu-cover-business h1.menu-cover-title,
    body.public-body > main.qr-menu.theme-menutje-mono .theme2-title-row h1.menu-cover-title,
    body.public-body > main.qr-menu.theme-noir-catalog .menu-cover-business h1.menu-cover-title,
    body.public-body > main.qr-menu.theme-noir-catalog .theme2-title-row h1.menu-cover-title {
        font-size: clamp(9px, calc(var(--cover-title-size, 22px) * .88), 21px) !important;
    }
}

@media (max-width: 360px) {
    body.public-body > main.qr-menu .menu-cover-brand,
    body.public-body > main.qr-menu.theme-menutje-mono .menu-cover-brand,
    body.public-body > main.qr-menu.theme-noir-catalog .menu-cover-brand {
        grid-template-columns: clamp(42px, 16vw, 58px) minmax(0, 1fr) !important;
        gap: 7px !important;
    }

    body.public-body > main.qr-menu .menu-cover-brand .menu-logo,
    body.public-body > main.qr-menu.theme-menutje-mono .menu-cover-brand .menu-logo,
    body.public-body > main.qr-menu.theme-noir-catalog .menu-cover-brand .menu-logo {
        height: clamp(42px, 16vw, 58px) !important;
        min-height: clamp(42px, 16vw, 58px) !important;
        min-width: clamp(42px, 16vw, 58px) !important;
        width: clamp(42px, 16vw, 58px) !important;
    }

    body.public-body > main.qr-menu .menu-cover-business h1.menu-cover-title,
    body.public-body > main.qr-menu .theme2-title-row h1.menu-cover-title,
    body.public-body > main.qr-menu.theme-menutje-mono .menu-cover-business h1.menu-cover-title,
    body.public-body > main.qr-menu.theme-menutje-mono .theme2-title-row h1.menu-cover-title,
    body.public-body > main.qr-menu.theme-noir-catalog .menu-cover-business h1.menu-cover-title,
    body.public-body > main.qr-menu.theme-noir-catalog .theme2-title-row h1.menu-cover-title {
        font-size: clamp(8px, calc(var(--cover-title-size, 22px) * .76), 18px) !important;
    }
}

/* v370 Android-only detail modal list height fix */
@media (max-width: 767px) {
    @supports not (-webkit-touch-callout: none) {
        body.public-body .description-modal .description-dialog,
        body.public-body > .description-modal .description-dialog,
        body.menu-theme-noir-catalog .description-modal .description-dialog {
            display: grid !important;
            grid-template-rows: auto minmax(0, 1fr) !important;
            max-height: calc(100dvh - 8px) !important;
            min-height: 0 !important;
            overflow: hidden !important;
        }

        body.public-body .description-modal .description-visual,
        body.public-body > .description-modal .description-visual,
        body.menu-theme-noir-catalog .description-modal .description-visual {
            max-height: min(30dvh, 260px) !important;
            min-height: 150px !important;
        }

        body.public-body .description-modal .description-copy,
        body.public-body > .description-modal .description-copy,
        body.menu-theme-noir-catalog .description-modal .description-copy {
            align-content: start !important;
            display: grid !important;
            gap: 12px !important;
            max-height: none !important;
            min-height: 0 !important;
            overflow-x: hidden !important;
            overflow-y: auto !important;
            overscroll-behavior: contain !important;
            padding-bottom: calc(18px + env(safe-area-inset-bottom)) !important;
            -webkit-overflow-scrolling: touch !important;
        }

        body.public-body .description-modal .description-goes-with,
        body.public-body > .description-modal .description-goes-with,
        body.public-body .description-modal .description-extras,
        body.public-body > .description-modal .description-extras,
        body.public-body .description-modal .description-comments,
        body.public-body > .description-modal .description-comments,
        body.menu-theme-noir-catalog .description-modal .description-goes-with,
        body.menu-theme-noir-catalog .description-modal .description-extras,
        body.menu-theme-noir-catalog .description-modal .description-comments {
            max-height: none !important;
            min-height: 0 !important;
            overflow: visible !important;
            position: static !important;
        }

        body.public-body .description-modal .description-goes-with-list,
        body.public-body > .description-modal .description-goes-with-list,
        body.menu-theme-noir-catalog .description-modal .description-goes-with-list {
            display: grid !important;
            gap: 8px !important;
            grid-template-columns: 1fr !important;
            max-height: none !important;
            overflow: visible !important;
            position: static !important;
        }

        body.public-body .description-modal .description-goes-with-list a,
        body.public-body > .description-modal .description-goes-with-list a,
        body.public-body .description-modal .description-goes-with-list label,
        body.public-body > .description-modal .description-goes-with-list label,
        body.public-body .description-modal .description-extra-option,
        body.public-body > .description-modal .description-extra-option {
            max-height: none !important;
            min-height: 52px !important;
            overflow: visible !important;
            position: relative !important;
        }
    }
}

/* v371 mobile detail modal bottom cleanup */
@media (max-width: 767px) {
    body.public-body.modal-open > main.qr-menu .mobile-actions,
    body.public-body.modal-open > main.qr-menu .cart-fab,
    body.public-body.modal-open > main.qr-menu .service-fab,
    body.public-body.modal-open .cart-fab,
    body.public-body.modal-open .service-fab,
    body.public-body.modal-open > main.qr-menu .menu-footer[data-mobile-footer-panel] {
        opacity: 0 !important;
        pointer-events: none !important;
        transform: translateY(110%) !important;
        visibility: hidden !important;
    }

    body.public-body .description-modal:not([hidden]) {
        inset: 0 !important;
        overflow: hidden !important;
        padding: 0 !important;
        z-index: 1200 !important;
    }

    body.public-body .description-modal:not([hidden]) .description-dialog {
        border-radius: 22px 22px 0 0 !important;
        display: grid !important;
        grid-template-rows: minmax(168px, min(34dvh, 260px)) minmax(0, 1fr) !important;
        height: min(100dvh, 100%) !important;
        max-height: 100dvh !important;
        max-width: 100dvw !important;
        min-height: 0 !important;
        overflow: hidden !important;
        width: 100dvw !important;
    }

    body.public-body .description-modal:not([hidden]) .description-visual {
        min-height: 0 !important;
        overflow: hidden !important;
    }

    body.public-body .description-modal:not([hidden]) .description-copy {
        align-content: start !important;
        display: grid !important;
        gap: 12px !important;
        min-height: 0 !important;
        overflow-x: hidden !important;
        overflow-y: auto !important;
        overscroll-behavior: contain !important;
        padding: 14px 16px calc(18px + env(safe-area-inset-bottom)) !important;
        scrollbar-width: none !important;
        -webkit-overflow-scrolling: touch !important;
    }

    body.public-body .description-modal:not([hidden]) .description-copy::-webkit-scrollbar {
        display: none !important;
    }

    body.public-body .description-modal:not([hidden]) .description-goes-with,
    body.public-body .description-modal:not([hidden]) .description-extras,
    body.public-body .description-modal:not([hidden]) .description-comments {
        display: grid !important;
        gap: 10px !important;
        max-height: none !important;
        min-height: 0 !important;
        overflow: visible !important;
        position: static !important;
    }

    body.public-body .description-modal:not([hidden]) .description-goes-with-list {
        display: grid !important;
        gap: 9px !important;
        grid-template-columns: 1fr !important;
        max-height: none !important;
        overflow: visible !important;
    }

    body.public-body .description-modal:not([hidden]) .description-goes-with-list label.is-selectable {
        align-items: center !important;
        border-radius: 13px !important;
        grid-template-columns: 22px 56px minmax(0, 1fr) !important;
        min-height: 70px !important;
        padding: 10px 12px !important;
    }

    body.public-body .description-modal:not([hidden]) .description-goes-with-list label.is-selectable img {
        height: 56px !important;
        width: 56px !important;
    }

    body.public-body .description-modal:not([hidden]) .description-goes-with-list label.is-selectable strong {
        font-size: 14px !important;
        line-height: 1.18 !important;
        white-space: normal !important;
    }

    body.public-body .description-modal:not([hidden]) .description-goes-with-list label.is-selectable small {
        font-size: 12px !important;
        line-height: 1.12 !important;
    }

    body.public-body .description-modal:not([hidden]) .description-extra-option {
        border-radius: 12px !important;
        gap: 10px !important;
        grid-template-columns: 22px minmax(0, 1fr) auto !important;
        min-height: 54px !important;
        padding: 11px 12px !important;
    }

    body.public-body .description-modal:not([hidden]) .description-extra-option.is-readonly {
        grid-template-columns: minmax(0, 1fr) auto !important;
    }

    body.public-body .description-modal:not([hidden]) .description-extra-option strong {
        line-height: 1.18 !important;
        min-width: 0 !important;
        overflow-wrap: anywhere !important;
    }

    body.public-body .description-modal:not([hidden]) .description-extra-option span {
        white-space: nowrap !important;
    }

    body.public-body .description-modal:not([hidden]) .description-cart-button {
        align-items: center !important;
        bottom: 0 !important;
        box-shadow: 0 -18px 24px rgba(255, 255, 255, .96), 0 16px 32px color-mix(in srgb, var(--primary, #0f766e) 30%, transparent) !important;
        display: flex !important;
        justify-content: center !important;
        margin: 8px 0 0 !important;
        min-height: 56px !important;
        position: sticky !important;
        width: 100% !important;
        z-index: 5 !important;
    }
}

/* v372 detail modal fixed action bar */
.public-body .description-action-bar[hidden] {
    display: none !important;
}

.public-body .description-action-bar {
    background: #fff;
    border-top: 1px solid rgba(15, 23, 42, .08);
    box-shadow: 0 -14px 28px rgba(255, 255, 255, .96);
    padding: 12px 16px calc(12px + env(safe-area-inset-bottom));
    position: relative;
    z-index: 6;
}

.public-body .description-action-bar .description-cart-button,
.public-body .description-modal:not([hidden]) .description-action-bar .description-cart-button {
    bottom: auto !important;
    box-shadow: 0 14px 28px color-mix(in srgb, var(--primary, #0f766e) 26%, transparent) !important;
    margin: 0 !important;
    min-height: 56px !important;
    position: static !important;
    width: 100% !important;
}

@media (max-width: 767px) {
    body.public-body .description-modal:not([hidden]) .description-dialog {
        grid-template-rows: minmax(168px, min(34dvh, 260px)) minmax(0, 1fr) auto !important;
    }

    body.public-body .description-modal:not([hidden]) .description-copy {
        padding-bottom: 14px !important;
    }

    body.public-body .description-modal:not([hidden]) .description-goes-with-list label.is-selectable,
    body.public-body .description-modal:not([hidden]) .description-extra-option {
        box-shadow: none !important;
    }
}

/* v373 compact product detail for shorter Android screens */
@media (max-width: 380px) and (max-height: 780px) {
    body.public-body .description-modal:not([hidden]) .description-dialog {
        gap: 0 !important;
        grid-template-rows: minmax(150px, 28dvh) minmax(0, 1fr) auto !important;
    }

    body.public-body .description-modal:not([hidden]) .description-visual {
        max-height: 28dvh !important;
        min-height: 150px !important;
    }

    body.public-body .description-modal:not([hidden]) .description-copy {
        gap: 10px !important;
        padding-top: 12px !important;
    }

    body.public-body .description-modal:not([hidden]) .description-detail-list {
        gap: 8px !important;
    }
}

/* v375 rebuilt product detail modal layout */
body.public-body .description-modal:not([hidden]) {
    align-items: center !important;
    background: rgba(15, 23, 42, .58) !important;
    display: flex !important;
    inset: 0 !important;
    justify-content: center !important;
    overflow: hidden !important;
    padding: 14px !important;
    position: fixed !important;
    z-index: 2000 !important;
}

body.public-body .description-modal:not([hidden]) .description-backdrop {
    background: transparent !important;
    inset: 0 !important;
    position: absolute !important;
}

body.public-body .description-modal:not([hidden]) .description-dialog {
    background: #fff !important;
    border: 0 !important;
    border-radius: 24px !important;
    box-shadow: 0 28px 90px rgba(15, 23, 42, .34) !important;
    display: grid !important;
    grid-template-rows: minmax(190px, min(34dvh, 310px)) minmax(0, 1fr) auto !important;
    height: min(92dvh, 880px) !important;
    max-height: min(92dvh, 880px) !important;
    max-width: 560px !important;
    min-height: 0 !important;
    overflow: hidden !important;
    padding: 0 !important;
    position: relative !important;
    width: min(560px, calc(100dvw - 28px)) !important;
    z-index: 1 !important;
}

body.public-body .description-modal:not([hidden]) .description-close {
    position: absolute !important;
    right: 14px !important;
    top: 14px !important;
    z-index: 8 !important;
}

body.public-body .description-modal:not([hidden]) .description-visual {
    aspect-ratio: auto !important;
    background: #fff !important;
    border-radius: 0 !important;
    height: auto !important;
    max-height: none !important;
    min-height: 0 !important;
    overflow: hidden !important;
    position: relative !important;
}

body.public-body .description-modal:not([hidden]) .description-visual img {
    background: #fff !important;
    display: block !important;
    height: 100% !important;
    object-fit: contain !important;
    object-position: center !important;
    width: 100% !important;
}

body.public-body .description-modal:not([hidden]) .description-visual::after {
    background: linear-gradient(180deg, rgba(15, 23, 42, 0) 38%, rgba(15, 23, 42, .64) 100%) !important;
    content: "" !important;
    inset: 0 !important;
    pointer-events: none !important;
    position: absolute !important;
}

body.public-body .description-modal:not([hidden]) .description-visual-caption {
    bottom: 18px !important;
    display: grid !important;
    gap: 8px !important;
    left: 18px !important;
    max-width: calc(100% - 92px) !important;
    padding: 0 !important;
    position: absolute !important;
    right: auto !important;
    z-index: 2 !important;
}

body.public-body .description-modal:not([hidden]) .description-visual-caption h2 {
    color: #fff !important;
    display: -webkit-box !important;
    font-size: clamp(24px, 6vw, 34px) !important;
    font-weight: 950 !important;
    line-height: 1.08 !important;
    margin: 0 !important;
    overflow: hidden !important;
    text-shadow: 0 2px 16px rgba(0, 0, 0, .35) !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 2 !important;
}

body.public-body .description-modal:not([hidden]) .description-price {
    align-self: start !important;
    background: #fff !important;
    border-radius: 999px !important;
    color: #111827 !important;
    display: inline-flex !important;
    font-size: clamp(18px, 5vw, 25px) !important;
    font-weight: 950 !important;
    line-height: 1 !important;
    padding: 10px 16px !important;
    width: max-content !important;
}

body.public-body .description-modal:not([hidden]) .description-copy {
    align-content: start !important;
    background: #fff !important;
    display: grid !important;
    gap: 14px !important;
    min-height: 0 !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    overscroll-behavior: contain !important;
    padding: 18px 18px 16px !important;
    position: relative !important;
    scrollbar-width: none !important;
    -webkit-overflow-scrolling: touch !important;
}

body.public-body .description-modal:not([hidden]) .description-copy::-webkit-scrollbar {
    display: none !important;
}

body.public-body .description-modal:not([hidden]) .description-copy > * {
    min-width: 0 !important;
    position: static !important;
}

body.public-body .description-modal:not([hidden]) .description-copy p {
    color: #374151 !important;
    font-size: clamp(15px, 4.1vw, 18px) !important;
    line-height: 1.55 !important;
    margin: 0 !important;
    overflow-wrap: anywhere !important;
}

body.public-body .description-modal:not([hidden]) .description-detail-list {
    display: grid !important;
    gap: 10px !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    margin: 0 !important;
}

body.public-body .description-modal:not([hidden]) .description-detail-row {
    align-items: center !important;
    background: #f8fafc !important;
    border: 1px solid #e5e7eb !important;
    border-radius: 14px !important;
    display: grid !important;
    gap: 10px !important;
    grid-template-columns: 38px minmax(0, 1fr) !important;
    min-height: 58px !important;
    padding: 10px !important;
}

body.public-body .description-modal:not([hidden]) .description-detail-row.ingredients,
body.public-body .description-modal:not([hidden]) .description-detail-row.units {
    grid-column: 1 / -1 !important;
}

body.public-body .description-modal:not([hidden]) .description-detail-icon {
    height: 38px !important;
    width: 38px !important;
}

body.public-body .description-modal:not([hidden]) .description-detail-row strong {
    color: #111827 !important;
    font-size: 12px !important;
    line-height: 1.1 !important;
}

body.public-body .description-modal:not([hidden]) .description-detail-row small {
    color: #475569 !important;
    font-size: 13px !important;
    line-height: 1.25 !important;
    margin: 2px 0 0 !important;
    overflow-wrap: anywhere !important;
}

body.public-body .description-modal:not([hidden]) .description-pill-row {
    align-items: center !important;
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 9px !important;
    margin: 0 !important;
    min-height: 0 !important;
}

body.public-body .description-modal:not([hidden]) .description-pill-row.allergens {
    border: 0 !important;
    padding: 0 !important;
}

body.public-body .description-modal:not([hidden]) .description-pill-row.allergens::before,
body.public-body .description-modal:not([hidden]) .description-pill-row.allergens::after,
body.public-body .description-modal:not([hidden]) .description-pill-row.allergens span::before,
body.public-body .description-modal:not([hidden]) .description-pill-row.allergens span::after {
    content: none !important;
    display: none !important;
}

body.public-body .description-modal:not([hidden]) .description-pill-row.allergens .allergen-icon-button {
    flex: 0 0 auto !important;
}

body.public-body .description-modal:not([hidden]) .description-goes-with,
body.public-body .description-modal:not([hidden]) .description-extras,
body.public-body .description-modal:not([hidden]) .description-comments {
    border-top: 1px solid #e5e7eb !important;
    display: grid !important;
    gap: 12px !important;
    margin: 0 !important;
    max-height: none !important;
    min-height: 0 !important;
    overflow: visible !important;
    padding-top: 14px !important;
    position: static !important;
}

body.public-body .description-modal:not([hidden]) .description-goes-with-head,
body.public-body .description-modal:not([hidden]) .description-extras-head {
    align-items: center !important;
    display: flex !important;
    gap: 10px !important;
    justify-content: space-between !important;
}

body.public-body .description-modal:not([hidden]) .description-goes-with-head > strong,
body.public-body .description-modal:not([hidden]) .description-extras-head strong {
    color: #111827 !important;
    font-size: clamp(17px, 4.6vw, 22px) !important;
    line-height: 1.15 !important;
}

body.public-body .description-modal:not([hidden]) .description-goes-with-head > span,
body.public-body .description-modal:not([hidden]) .description-extras-head span {
    background: #f3f4f6 !important;
    border-radius: 999px !important;
    color: #667085 !important;
    flex: 0 0 auto !important;
    font-size: 11px !important;
    font-weight: 900 !important;
    padding: 7px 9px !important;
}

body.public-body .description-modal:not([hidden]) .description-goes-with-list {
    display: grid !important;
    gap: 10px !important;
    grid-template-columns: 1fr !important;
    max-height: none !important;
    overflow: visible !important;
    position: static !important;
}

body.public-body .description-modal:not([hidden]) .description-goes-with-list a,
body.public-body .description-modal:not([hidden]) .description-goes-with-list label {
    align-items: center !important;
    background: #f8fafc !important;
    border: 1px solid #e5e7eb !important;
    border-radius: 16px !important;
    box-shadow: none !important;
    color: #111827 !important;
    display: grid !important;
    gap: 12px !important;
    min-height: 72px !important;
    overflow: hidden !important;
    padding: 10px 12px !important;
    position: static !important;
    width: 100% !important;
}

body.public-body .description-modal:not([hidden]) .description-goes-with-list a {
    grid-template-columns: 58px minmax(0, 1fr) !important;
}

body.public-body .description-modal:not([hidden]) .description-goes-with-list label,
body.public-body .description-modal:not([hidden]) .description-goes-with-list label.is-selectable {
    grid-template-columns: 24px 58px minmax(0, 1fr) !important;
}

body.public-body .description-modal:not([hidden]) .description-goes-with-list input[type="checkbox"] {
    grid-column: 1 !important;
    grid-row: 1 !important;
    height: 20px !important;
    justify-self: center !important;
    margin: 0 !important;
    width: 20px !important;
}

body.public-body .description-modal:not([hidden]) .description-goes-with-list img,
body.public-body .description-modal:not([hidden]) .description-goes-with-list label.is-selectable img {
    border-radius: 12px !important;
    grid-column: 2 !important;
    height: 58px !important;
    object-fit: cover !important;
    width: 58px !important;
}

body.public-body .description-modal:not([hidden]) .description-goes-with-list a img {
    grid-column: 1 !important;
}

body.public-body .description-modal:not([hidden]) .description-goes-with-list label > span,
body.public-body .description-modal:not([hidden]) .description-goes-with-list label.is-selectable > span {
    align-self: center !important;
    display: grid !important;
    gap: 4px !important;
    grid-column: 3 !important;
    min-width: 0 !important;
}

body.public-body .description-modal:not([hidden]) .description-goes-with-list a > span {
    align-self: center !important;
    display: grid !important;
    gap: 4px !important;
    grid-column: 2 !important;
    min-width: 0 !important;
}

body.public-body .description-modal:not([hidden]) .description-goes-with-list strong {
    color: #111827 !important;
    font-size: 15px !important;
    line-height: 1.2 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

body.public-body .description-modal:not([hidden]) .description-goes-with-list small {
    color: #667085 !important;
    font-size: 12px !important;
    line-height: 1.15 !important;
}

body.public-body .description-modal:not([hidden]) .description-extra-option {
    align-items: center !important;
    background: #fff !important;
    border: 1px solid #dbe1ea !important;
    border-radius: 14px !important;
    display: grid !important;
    gap: 12px !important;
    grid-template-columns: 24px minmax(0, 1fr) auto !important;
    min-height: 56px !important;
    overflow: hidden !important;
    padding: 11px 12px !important;
    position: static !important;
}

body.public-body .description-modal:not([hidden]) .description-extra-option.is-readonly {
    grid-template-columns: minmax(0, 1fr) auto !important;
}

body.public-body .description-modal:not([hidden]) .description-extra-option input {
    height: 20px !important;
    margin: 0 !important;
    width: 20px !important;
}

body.public-body .description-modal:not([hidden]) .description-extra-option strong {
    color: #111827 !important;
    font-size: 14px !important;
    line-height: 1.2 !important;
    min-width: 0 !important;
    overflow-wrap: anywhere !important;
}

body.public-body .description-modal:not([hidden]) .description-extra-option span {
    color: #1f2937 !important;
    font-size: 14px !important;
    line-height: 1 !important;
    white-space: nowrap !important;
}

body.public-body .description-modal:not([hidden]) .description-action-bar {
    background: #fff !important;
    border-top: 1px solid #e5e7eb !important;
    box-shadow: 0 -16px 30px rgba(255, 255, 255, .98) !important;
    display: block !important;
    padding: 12px 18px calc(12px + env(safe-area-inset-bottom)) !important;
    position: static !important;
    z-index: 7 !important;
}

body.public-body .description-modal:not([hidden]) .description-action-bar[hidden] {
    display: none !important;
}

body.public-body .description-modal:not([hidden]) .description-cart-button {
    bottom: auto !important;
    margin: 0 !important;
    min-height: 56px !important;
    position: static !important;
    width: 100% !important;
}

body.public-body.modal-open .mobile-actions,
body.public-body.modal-open .cart-fab,
body.public-body.modal-open .service-fab,
body.public-body.modal-open .menu-footer[data-mobile-footer-panel] {
    opacity: 0 !important;
    pointer-events: none !important;
    visibility: hidden !important;
}

@media (max-width: 767px) {
    body.public-body .description-modal:not([hidden]) {
        align-items: end !important;
        padding: 0 !important;
    }

    body.public-body .description-modal:not([hidden]) .description-dialog {
        border-radius: 22px 22px 0 0 !important;
        grid-template-rows: minmax(160px, min(30dvh, 236px)) minmax(0, 1fr) auto !important;
        height: 100dvh !important;
        max-height: 100dvh !important;
        max-width: 100dvw !important;
        width: 100dvw !important;
    }

    body.public-body .description-modal:not([hidden]) .description-copy {
        gap: 12px !important;
        padding: 14px 16px 14px !important;
    }

    body.public-body .description-modal:not([hidden]) .description-copy p {
        font-size: 15px !important;
        line-height: 1.48 !important;
    }

    body.public-body .description-modal:not([hidden]) .description-detail-list {
        grid-template-columns: 1fr 1fr !important;
    }

    body.public-body .description-modal:not([hidden]) .description-detail-row {
        border-radius: 13px !important;
        min-height: 54px !important;
        padding: 9px !important;
    }

    body.public-body .description-modal:not([hidden]) .description-detail-row.ingredients,
    body.public-body .description-modal:not([hidden]) .description-detail-row.units {
        grid-column: 1 / -1 !important;
    }

    body.public-body .description-modal:not([hidden]) .description-goes-with-list a,
    body.public-body .description-modal:not([hidden]) .description-goes-with-list label {
        min-height: 68px !important;
    }
}

@media (max-width: 380px) {
    body.public-body .description-modal:not([hidden]) .description-dialog {
        grid-template-rows: minmax(142px, 26dvh) minmax(0, 1fr) auto !important;
    }

    body.public-body .description-modal:not([hidden]) .description-visual-caption {
        bottom: 12px !important;
        left: 14px !important;
        max-width: calc(100% - 82px) !important;
    }

    body.public-body .description-modal:not([hidden]) .description-visual-caption h2 {
        font-size: 22px !important;
    }

    body.public-body .description-modal:not([hidden]) .description-price {
        font-size: 18px !important;
        padding: 9px 14px !important;
    }

    body.public-body .description-modal:not([hidden]) .description-copy {
        gap: 10px !important;
        padding-inline: 14px !important;
    }

    body.public-body .description-modal:not([hidden]) .description-goes-with-head > strong,
    body.public-body .description-modal:not([hidden]) .description-extras-head strong {
        font-size: 18px !important;
    }
}

/* v376 product detail content uses normal document flow */
body.public-body .description-modal:not([hidden]) .description-copy {
    display: block !important;
}

body.public-body .description-modal:not([hidden]) .description-copy > * {
    margin: 0 0 14px !important;
}

body.public-body .description-modal:not([hidden]) .description-copy > *:last-child {
    margin-bottom: 0 !important;
}

body.public-body .description-modal:not([hidden]) .description-detail-list,
body.public-body .description-modal:not([hidden]) .description-pill-row,
body.public-body .description-modal:not([hidden]) .description-goes-with,
body.public-body .description-modal:not([hidden]) .description-extras,
body.public-body .description-modal:not([hidden]) .description-comments {
    height: auto !important;
    min-height: 0 !important;
}

body.public-body .description-modal:not([hidden]) .description-goes-with::after,
body.public-body .description-modal:not([hidden]) .description-extras::after,
body.public-body .description-modal:not([hidden]) .description-comments::after {
    clear: both !important;
    content: "" !important;
    display: block !important;
}

body.public-body .description-modal:not([hidden]) .description-goes-with-list {
    margin-top: 12px !important;
}

body.public-body .description-modal:not([hidden]) .description-extras-head + .description-extra-option {
    margin-top: 12px !important;
}

body.public-body .description-modal:not([hidden]) .description-extra-option + .description-extra-option {
    margin-top: 10px !important;
}

body.public-body .description-modal:not([hidden]) .description-goes-with-list a,
body.public-body .description-modal:not([hidden]) .description-goes-with-list label,
body.public-body .description-modal:not([hidden]) .description-extra-option {
    box-sizing: border-box !important;
}

/* v377 hide every floating public action while product detail is open */
body.public-body:has(.description-modal:not([hidden])) .mobile-actions,
body.public-body:has(.description-modal:not([hidden])) .mobile-actions *,
body.public-body:has(.description-modal:not([hidden])) .mobile-dock-edge,
body.public-body:has(.description-modal:not([hidden])) .mobile-dock-cart,
body.public-body:has(.description-modal:not([hidden])) .mobile-dock-service,
body.public-body:has(.description-modal:not([hidden])) .cart-fab,
body.public-body:has(.description-modal:not([hidden])) .cart-fab *,
body.public-body:has(.description-modal:not([hidden])) .service-fab,
body.public-body:has(.description-modal:not([hidden])) .service-fab *,
body.public-body:has(.description-modal:not([hidden])) .menu-footer[data-mobile-footer-panel],
body.public-body:has(.description-modal:not([hidden])) [data-cart-count] {
    display: none !important;
    opacity: 0 !important;
    pointer-events: none !important;
    visibility: hidden !important;
}

/* v378 product detail square media top and no empty dividers */
body.public-body .description-modal:not([hidden]) .description-dialog {
    border-radius: 0 0 24px 24px !important;
}

body.public-body .description-modal:not([hidden]) .description-visual,
body.public-body .description-modal:not([hidden]) .description-visual img,
body.public-body .description-modal:not([hidden]) .description-visual::after {
    border-radius: 0 !important;
}

body.public-body .description-modal:not([hidden]) .description-goes-with[hidden],
body.public-body .description-modal:not([hidden]) .description-extras[hidden],
body.public-body .description-modal:not([hidden]) .description-comments[hidden],
body.public-body .description-modal:not([hidden]) .description-pill-row[hidden],
body.public-body .description-modal:not([hidden]) .description-detail-list[hidden] {
    border: 0 !important;
    display: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

body.public-body .description-modal:not([hidden]) .description-goes-with:empty,
body.public-body .description-modal:not([hidden]) .description-extras:empty,
body.public-body .description-modal:not([hidden]) .description-comments:empty {
    border: 0 !important;
    display: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

@media (max-width: 767px) {
    body.public-body .description-modal:not([hidden]) .description-dialog {
        border-radius: 0 !important;
    }
}

/* v379 test: fit product detail image fully at top */
body.public-body .description-modal:not([hidden]) .description-dialog {
    grid-template-rows: minmax(240px, min(42dvh, 360px)) minmax(0, 1fr) auto !important;
}

body.public-body .description-modal:not([hidden]) .description-visual {
    align-items: start !important;
    background: #fff !important;
    display: flex !important;
    justify-content: center !important;
}

body.public-body .description-modal:not([hidden]) .description-visual img {
    height: 100% !important;
    max-height: 100% !important;
    max-width: 100% !important;
    object-fit: cover !important;
    object-position: center center !important;
    width: 100% !important;
}

@media (max-width: 767px) {
    body.public-body .description-modal:not([hidden]) .description-dialog {
        grid-template-rows: minmax(220px, 36dvh) minmax(0, 1fr) auto !important;
    }
}

/* v380 product detail image fills top area without side gaps */
body.public-body .description-modal:not([hidden]) .description-visual img {
    object-fit: cover !important;
    object-position: center center !important;
}

@media (max-width: 380px) {
    body.public-body .description-modal:not([hidden]) .description-dialog {
        grid-template-rows: minmax(202px, 34dvh) minmax(0, 1fr) auto !important;
    }
}

/* v383 modern public menu typography with full theme font support */
body.public-body > main.qr-menu,
body.public-body > main.qr-menu *,
body.public-body .description-modal,
body.public-body .description-modal * {
    font-family: var(--menu-font, var(--qr-public-font, "Manrope")), "Manrope", "Inter", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
    letter-spacing: 0 !important;
    text-rendering: optimizeLegibility;
}

body.public-body > main.qr-menu .menu-cover-title,
body.public-body > main.qr-menu .theme2-title-row h1,
body.public-body > main.qr-menu .menu-category h2,
body.public-body > main.qr-menu .category-showcase strong,
body.public-body .description-modal .description-visual-caption h2 {
    font-weight: 900 !important;
    letter-spacing: 0 !important;
}

body.public-body > main.qr-menu .menu-cover-subtitle,
body.public-body > main.qr-menu .menu-hero p,
body.public-body > main.qr-menu .category-showcase h2,
body.public-body .description-modal .description-copy p {
    font-weight: 600 !important;
    letter-spacing: 0 !important;
}

body.public-body > main.qr-menu .menu-product .product-title-row h3,
body.public-body > main.qr-menu .menu-product .product-name,
body.public-body > main.qr-menu .theme-noir-product-title {
    font-weight: 850 !important;
    letter-spacing: 0 !important;
}

body.public-body > main.qr-menu .product-description-short,
body.public-body > main.qr-menu .product-description-trigger,
body.public-body > main.qr-menu .menu-product small,
body.public-body .description-modal .description-detail-card,
body.public-body .description-modal .description-option-row {
    font-weight: 550 !important;
    letter-spacing: 0 !important;
}

body.public-body > main.qr-menu .price-stack strong,
body.public-body > main.qr-menu .menu-product-price,
body.public-body .description-modal .description-price,
body.public-body .description-modal .description-cart-button {
    font-weight: 900 !important;
    letter-spacing: 0 !important;
}

@media (max-width: 420px) {
    body.public-body > main.qr-menu .menu-cover-title,
    body.public-body > main.qr-menu .theme2-title-row h1,
    body.public-body .description-modal .description-visual-caption h2 {
        font-weight: 850 !important;
    }
}

/* v384 Noir Gold rebuild for theme 2 only */
body.public-body > main.qr-menu.theme-noir-catalog {
    --bg: #0d100e;
    --bg-soft: #151a16;
    --card: rgba(255, 250, 235, 0.075);
    --card-strong: rgba(255, 250, 235, 0.12);
    --line: rgba(255, 240, 205, 0.14);
    --text: #fff7e8;
    --muted: #bfb3a0;
    --muted-2: #897f70;
    --gold: #d8b76a;
    --gold-soft: rgba(216, 183, 106, 0.18);
    --olive: #263528;
    --danger: #d66a55;
    --radius-xl: 28px;
    --radius-lg: 22px;
    --radius-md: 16px;
    --shadow: 0 24px 70px rgba(0, 0, 0, 0.34);
    background:
        radial-gradient(circle at top left, rgba(216, 183, 106, 0.16), transparent 34rem),
        radial-gradient(circle at 85% 12%, rgba(70, 110, 76, 0.22), transparent 28rem),
        linear-gradient(180deg, #101410 0%, var(--bg) 45%, #080a09 100%) !important;
    color: var(--text) !important;
    min-height: 100svh !important;
    overflow-x: hidden !important;
}

body.public-body > main.qr-menu.theme-noir-catalog::before {
    background-image:
        linear-gradient(rgba(255, 255, 255, 0.035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, 0.035) 1px, transparent 1px);
    background-size: 42px 42px;
    content: "" !important;
    inset: 0 !important;
    opacity: .18 !important;
    pointer-events: none !important;
    position: fixed !important;
    z-index: 0 !important;
}

body.public-body > main.qr-menu.theme-noir-catalog > * {
    position: relative !important;
    z-index: 1 !important;
}

body.public-body > main.qr-menu.theme-noir-catalog .menu-main-flow {
    background: transparent !important;
    margin: 0 auto !important;
    max-width: 760px !important;
    min-height: 100svh !important;
    padding: 18px 16px max(120px, env(safe-area-inset-bottom)) !important;
    width: min(100%, 760px) !important;
}

body.public-body > main.qr-menu.theme-noir-catalog .menu-hero,
body.public-body > main.qr-menu.theme-noir-catalog.has-cover .menu-hero,
body.public-body > main.qr-menu.theme-noir-catalog.is-noir-deep-link .menu-hero,
html.has-menu-deep-link body.public-body > main.qr-menu.theme-noir-catalog .menu-hero,
html.is-menu-deep-link-booting body.public-body > main.qr-menu.theme-noir-catalog .menu-hero {
    background:
        linear-gradient(135deg, rgba(255, 250, 235, 0.12), rgba(255, 255, 255, 0.04)),
        linear-gradient(145deg, rgba(38, 53, 40, 0.86), rgba(12, 16, 13, 0.9)) !important;
    border: 1px solid var(--line) !important;
    border-radius: var(--radius-xl) !important;
    box-shadow: var(--shadow) !important;
    color: var(--text) !important;
    display: block !important;
    margin: 10px 0 18px !important;
    min-height: auto !important;
    overflow: hidden !important;
    padding: 26px !important;
    position: relative !important;
    width: 100% !important;
}

body.public-body > main.qr-menu.theme-noir-catalog.has-cover .menu-hero {
    background:
        linear-gradient(135deg, rgba(255, 250, 235, 0.14), rgba(255, 255, 255, 0.04)),
        linear-gradient(145deg, rgba(38, 53, 40, 0.80), rgba(12, 16, 13, 0.92)),
        var(--cover-image) center / cover no-repeat !important;
}

body.public-body > main.qr-menu.theme-noir-catalog .menu-hero::before {
    background:
        linear-gradient(180deg, rgba(0, 0, 0, .20), rgba(0, 0, 0, .48)),
        radial-gradient(circle at 88% 8%, rgba(216, 183, 106, .22), transparent 13rem) !important;
    content: "" !important;
    inset: 0 !important;
    opacity: 1 !important;
    pointer-events: none !important;
    position: absolute !important;
    z-index: 0 !important;
}

body.public-body > main.qr-menu.theme-noir-catalog .menu-hero::after {
    background: radial-gradient(circle, rgba(216, 183, 106, 0.16), transparent 66%) !important;
    border: 1px solid rgba(216, 183, 106, 0.28) !important;
    border-radius: 50% !important;
    content: "" !important;
    height: 220px !important;
    pointer-events: none !important;
    position: absolute !important;
    right: -86px !important;
    top: -96px !important;
    width: 220px !important;
    z-index: 0 !important;
}

body.public-body > main.qr-menu.theme-noir-catalog .menu-hero-content,
body.public-body > main.qr-menu.theme-noir-catalog .menu-hero-content.menu-cover-layout {
    align-items: start !important;
    display: grid !important;
    gap: 18px !important;
    grid-template-columns: minmax(0, 1fr) !important;
    justify-items: start !important;
    margin: 0 !important;
    max-width: 100% !important;
    min-height: 0 !important;
    padding: 0 !important;
    position: relative !important;
    text-align: left !important;
    width: 100% !important;
    z-index: 1 !important;
}

body.public-body > main.qr-menu.theme-noir-catalog .menu-cover-brand {
    align-items: center !important;
    display: flex !important;
    gap: 12px !important;
    justify-content: flex-start !important;
    margin: 0 !important;
    max-width: 100% !important;
    min-width: 0 !important;
    text-align: left !important;
}

body.public-body > main.qr-menu.theme-noir-catalog .menu-logo {
    background: linear-gradient(145deg, var(--gold-soft), rgba(255, 255, 255, 0.035)) !important;
    border: 1px solid var(--line) !important;
    border-radius: 16px !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.12) !important;
    flex: 0 0 52px !important;
    height: 52px !important;
    object-fit: contain !important;
    padding: 8px !important;
    width: 52px !important;
}

body.public-body > main.qr-menu.theme-noir-catalog .menu-cover-business,
body.public-body > main.qr-menu.theme-noir-catalog .theme2-title-row,
body.public-body > main.qr-menu.theme-noir-catalog .menu-hero .theme2-title-row {
    align-items: start !important;
    display: grid !important;
    gap: 6px !important;
    min-width: 0 !important;
    text-align: left !important;
}

body.public-body > main.qr-menu.theme-noir-catalog .menu-cover-title,
body.public-body > main.qr-menu.theme-noir-catalog .menu-cover-business h1,
body.public-body > main.qr-menu.theme-noir-catalog .theme2-title-row h1 {
    color: var(--text) !important;
    display: block !important;
    font-size: clamp(28px, 8vw, 52px) !important;
    font-weight: 900 !important;
    line-height: .98 !important;
    margin: 0 !important;
    max-width: min(100%, 12ch) !important;
    overflow-wrap: normal !important;
    text-wrap: balance !important;
    white-space: normal !important;
}

body.public-body > main.qr-menu.theme-noir-catalog .menu-cover-subtitle,
body.public-body > main.qr-menu.theme-noir-catalog .menu-hero p {
    color: var(--muted) !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    line-height: 1.6 !important;
    margin: 0 !important;
    max-width: 48ch !important;
}

body.public-body > main.qr-menu.theme-noir-catalog .hero-contact-row,
body.public-body > main.qr-menu.theme-noir-catalog .hero-social-row {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
    justify-content: flex-start !important;
    margin: 4px 0 0 !important;
    width: 100% !important;
}

body.public-body > main.qr-menu.theme-noir-catalog .hero-contact-row a,
body.public-body > main.qr-menu.theme-noir-catalog .hero-contact-row span,
body.public-body > main.qr-menu.theme-noir-catalog .hero-social-row a,
body.public-body > main.qr-menu.theme-noir-catalog .hero-social-row button {
    background: rgba(0, 0, 0, .18) !important;
    border: 1px solid var(--line) !important;
    border-radius: 18px !important;
    color: var(--text) !important;
    min-height: 44px !important;
    padding: 10px 13px !important;
}

body.public-body > main.qr-menu.theme-noir-catalog .locale-switcher {
    background: rgba(255, 250, 235, .075) !important;
    border: 1px solid var(--line) !important;
    border-radius: 999px !important;
    display: inline-flex !important;
    gap: 4px !important;
    margin: 0 !important;
    padding: 4px !important;
    position: absolute !important;
    right: 18px !important;
    top: 18px !important;
    z-index: 4 !important;
}

body.public-body > main.qr-menu.theme-noir-catalog .locale-switcher a {
    background: transparent !important;
    border: 0 !important;
    border-radius: 999px !important;
    color: var(--muted) !important;
    font-size: 12px !important;
    font-weight: 900 !important;
    min-height: 34px !important;
    min-width: 38px !important;
    padding: 8px 10px !important;
}

body.public-body > main.qr-menu.theme-noir-catalog .locale-switcher a.active {
    background: linear-gradient(135deg, #e8cc82, var(--gold)) !important;
    color: #171105 !important;
}

body.public-body > main.qr-menu.theme-noir-catalog .menu-toolbar,
body.public-body > main.qr-menu.theme-noir-catalog.noir-toolbar-fixed .menu-toolbar,
body.public-body > main.qr-menu.theme-noir-catalog.is-noir-deep-link .menu-toolbar,
html.has-menu-deep-link body.public-body > main.qr-menu.theme-noir-catalog .menu-toolbar {
    background: rgba(13, 16, 14, .82) !important;
    border: 1px solid rgba(216, 183, 106, .24) !important;
    border-radius: var(--radius-lg) !important;
    box-shadow: 0 18px 44px rgba(0, 0, 0, .28) !important;
    display: grid !important;
    gap: 12px !important;
    margin: 0 0 22px !important;
    max-width: 100% !important;
    padding: 12px !important;
    position: sticky !important;
    top: max(8px, env(safe-area-inset-top)) !important;
    width: 100% !important;
    z-index: 25 !important;
}

body.public-body > main.qr-menu.theme-noir-catalog .menu-search {
    display: block !important;
    margin: 0 !important;
    position: relative !important;
    width: 100% !important;
}

body.public-body > main.qr-menu.theme-noir-catalog .menu-search::before {
    color: var(--gold) !important;
    content: "⌕" !important;
    font-size: 19px !important;
    left: 18px !important;
    line-height: 1 !important;
    opacity: .92 !important;
    pointer-events: none !important;
    position: absolute !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    z-index: 2 !important;
}

body.public-body > main.qr-menu.theme-noir-catalog .menu-search input {
    background: rgba(255, 250, 235, 0.07) !important;
    border: 1px solid var(--line) !important;
    border-radius: 18px !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06) !important;
    color: var(--text) !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    height: 54px !important;
    outline: none !important;
    padding: 0 18px 0 48px !important;
    width: 100% !important;
}

body.public-body > main.qr-menu.theme-noir-catalog .menu-search input::placeholder {
    color: var(--muted-2) !important;
}

body.public-body > main.qr-menu.theme-noir-catalog .category-tabs,
body.public-body > main.qr-menu.theme-noir-catalog.nav-sticky_pills .category-tabs,
body.public-body > main.qr-menu.theme-noir-catalog.noir-toolbar-fixed .category-tabs {
    align-items: center !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    display: flex !important;
    gap: 10px !important;
    margin: 0 !important;
    overflow-x: auto !important;
    padding: 0 0 2px !important;
    scrollbar-width: none !important;
    width: 100% !important;
}

body.public-body > main.qr-menu.theme-noir-catalog .category-tabs::-webkit-scrollbar {
    display: none !important;
}

body.public-body > main.qr-menu.theme-noir-catalog .category-tabs a,
body.public-body > main.qr-menu.theme-noir-catalog .category-tabs a.with-image {
    align-items: center !important;
    background: rgba(255, 250, 235, 0.055) !important;
    border: 1px solid var(--line) !important;
    border-radius: 999px !important;
    color: var(--muted) !important;
    display: inline-flex !important;
    flex: 0 0 auto !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    gap: 8px !important;
    height: 44px !important;
    justify-content: center !important;
    max-width: none !important;
    min-width: auto !important;
    overflow: hidden !important;
    padding: 8px 14px !important;
    text-decoration: none !important;
    white-space: nowrap !important;
}

body.public-body > main.qr-menu.theme-noir-catalog .category-tabs a:hover,
body.public-body > main.qr-menu.theme-noir-catalog .category-tabs a:focus-visible,
body.public-body > main.qr-menu.theme-noir-catalog .category-tabs a:first-child {
    background: linear-gradient(135deg, #e8cc82, var(--gold)) !important;
    border-color: transparent !important;
    color: #1a1408 !important;
}

body.public-body > main.qr-menu.theme-noir-catalog .category-tabs a img,
body.public-body > main.qr-menu.theme-noir-catalog .category-tabs a.with-image img {
    border-radius: 999px !important;
    flex: 0 0 28px !important;
    height: 28px !important;
    object-fit: cover !important;
    width: 28px !important;
}

body.public-body > main.qr-menu.theme-noir-catalog .menu-content {
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    display: grid !important;
    gap: 26px !important;
    margin: 0 !important;
    max-width: 100% !important;
    padding: 0 !important;
    width: 100% !important;
}

body.public-body > main.qr-menu.theme-noir-catalog .menu-category {
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

body.public-body > main.qr-menu.theme-noir-catalog .menu-category h2 {
    align-items: center !important;
    color: var(--text) !important;
    display: flex !important;
    font-size: 18px !important;
    font-weight: 900 !important;
    gap: 10px !important;
    line-height: 1.2 !important;
    margin: 0 0 12px !important;
}

body.public-body > main.qr-menu.theme-noir-catalog .menu-category h2::before {
    background: var(--gold) !important;
    border-radius: 999px !important;
    content: "" !important;
    height: 18px !important;
    width: 3px !important;
}

body.public-body > main.qr-menu.theme-noir-catalog .product-grid-public {
    display: grid !important;
    gap: 12px !important;
    grid-template-columns: 1fr !important;
}

body.public-body > main.qr-menu.theme-noir-catalog .menu-product,
body.public-body > main.qr-menu.theme-noir-catalog.noir-toolbar-fixed .menu-product,
body.public-body > main.qr-menu.theme-noir-catalog.is-noir-deep-link .menu-product {
    align-items: stretch !important;
    background: var(--card) !important;
    border: 1px solid var(--line) !important;
    border-radius: var(--radius-lg) !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.055) !important;
    display: grid !important;
    gap: 14px !important;
    grid-template-columns: minmax(0, 1fr) 84px !important;
    margin: 0 !important;
    min-height: 0 !important;
    overflow: hidden !important;
    padding: 16px !important;
    position: relative !important;
    transition: transform 160ms ease, border-color 160ms ease, background 160ms ease !important;
}

body.public-body > main.qr-menu.theme-noir-catalog .menu-product:hover {
    background: var(--card-strong) !important;
    border-color: rgba(216, 183, 106, .36) !important;
    transform: translateY(-2px) !important;
}

body.public-body > main.qr-menu.theme-noir-catalog .menu-product.is-featured {
    background:
        linear-gradient(135deg, rgba(216, 183, 106, .12), transparent),
        var(--card) !important;
    border-color: rgba(216, 183, 106, .50) !important;
}

body.public-body > main.qr-menu.theme-noir-catalog .menu-product .product-info {
    align-content: start !important;
    display: grid !important;
    gap: 8px !important;
    grid-column: 1 !important;
    grid-row: 1 !important;
    min-width: 0 !important;
    padding: 0 !important;
}

body.public-body > main.qr-menu.theme-noir-catalog .menu-product .featured-label {
    color: var(--gold) !important;
    display: inline-flex !important;
    font-size: 11px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    margin: 0 0 2px !important;
    text-transform: uppercase !important;
}

body.public-body > main.qr-menu.theme-noir-catalog .menu-product .product-title-row {
    align-items: start !important;
    display: grid !important;
    gap: 8px !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    margin: 0 !important;
    min-width: 0 !important;
}

body.public-body > main.qr-menu.theme-noir-catalog .menu-product .product-title-row h3 {
    color: var(--text) !important;
    display: -webkit-box !important;
    font-size: 16px !important;
    font-weight: 900 !important;
    line-height: 1.25 !important;
    margin: 0 !important;
    max-width: 100% !important;
    overflow: hidden !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 2 !important;
}

body.public-body > main.qr-menu.theme-noir-catalog .menu-product .price-stack {
    align-items: end !important;
    display: grid !important;
    gap: 3px !important;
    justify-items: end !important;
    min-width: max-content !important;
    position: static !important;
}

body.public-body > main.qr-menu.theme-noir-catalog .menu-product .price-stack strong {
    color: var(--gold) !important;
    font-size: 16px !important;
    font-weight: 950 !important;
    line-height: 1.15 !important;
    white-space: nowrap !important;
}

body.public-body > main.qr-menu.theme-noir-catalog .menu-product .price-calorie-line {
    align-items: center !important;
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 7px !important;
    justify-content: flex-end !important;
}

body.public-body > main.qr-menu.theme-noir-catalog .menu-product .product-calorie-chip {
    background: rgba(216, 183, 106, .12) !important;
    border: 1px solid rgba(216, 183, 106, .22) !important;
    border-radius: 999px !important;
    color: var(--gold) !important;
    font-size: 11px !important;
    font-weight: 900 !important;
    padding: 4px 7px !important;
    white-space: nowrap !important;
}

body.public-body > main.qr-menu.theme-noir-catalog .menu-product .product-description-short,
body.public-body > main.qr-menu.theme-noir-catalog .menu-product .product-description-trigger {
    background: transparent !important;
    border: 0 !important;
    color: var(--muted) !important;
    display: -webkit-box !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    line-height: 1.55 !important;
    margin: 0 !important;
    overflow: hidden !important;
    padding: 0 !important;
    text-align: left !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 2 !important;
}

body.public-body > main.qr-menu.theme-noir-catalog .menu-product .ingredients-line,
body.public-body > main.qr-menu.theme-noir-catalog .menu-product .product-meta-row,
body.public-body > main.qr-menu.theme-noir-catalog .menu-product .goes-with {
    display: none !important;
}

body.public-body > main.qr-menu.theme-noir-catalog .menu-product .pill-row {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 7px !important;
    margin: 4px 0 0 !important;
}

body.public-body > main.qr-menu.theme-noir-catalog .menu-product .pill-row span,
body.public-body > main.qr-menu.theme-noir-catalog .menu-product .allergen-icon-button {
    align-items: center !important;
    background: rgba(0, 0, 0, .22) !important;
    border: 1px solid rgba(255, 240, 205, .10) !important;
    border-radius: 999px !important;
    color: var(--muted) !important;
    display: inline-flex !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    min-height: 28px !important;
    padding: 5px 8px !important;
}

body.public-body > main.qr-menu.theme-noir-catalog .menu-product .product-media {
    align-self: start !important;
    background:
        radial-gradient(circle at 30% 20%, rgba(255, 255, 255, 0.18), transparent 38%),
        linear-gradient(145deg, rgba(216, 183, 106, 0.2), rgba(0, 0, 0, 0.18)) !important;
    border: 1px solid var(--line) !important;
    border-radius: 22px !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08) !important;
    grid-column: 2 !important;
    grid-row: 1 !important;
    height: 84px !important;
    max-height: 84px !important;
    min-height: 84px !important;
    overflow: hidden !important;
    padding: 0 !important;
    position: relative !important;
    width: 84px !important;
}

body.public-body > main.qr-menu.theme-noir-catalog .menu-product .product-media img,
body.public-body > main.qr-menu.theme-noir-catalog .menu-product .product-media video {
    border-radius: inherit !important;
    height: 100% !important;
    object-fit: cover !important;
    width: 100% !important;
}

body.public-body > main.qr-menu.theme-noir-catalog .menu-product .visual-price-badge {
    display: none !important;
}

body.public-body > main.qr-menu.theme-noir-catalog .menu-product .visual-detail-hit {
    inset: 0 !important;
}

body.public-body > main.qr-menu.theme-noir-catalog .menu-product .product-action-row {
    align-items: center !important;
    display: flex !important;
    gap: 8px !important;
    justify-content: flex-start !important;
    margin: 4px 0 0 !important;
}

body.public-body > main.qr-menu.theme-noir-catalog .menu-product .product-detail-button {
    background: rgba(255, 250, 235, .07) !important;
    border: 1px solid var(--line) !important;
    border-radius: 999px !important;
    color: var(--muted) !important;
    min-height: 36px !important;
    padding: 8px 12px !important;
}

body.public-body > main.qr-menu.theme-noir-catalog .menu-product .menu-cart-add {
    background: linear-gradient(135deg, #efd88f, var(--gold)) !important;
    border: 0 !important;
    border-radius: 999px !important;
    color: #171105 !important;
    font-size: 13px !important;
    font-weight: 950 !important;
    min-height: 38px !important;
    padding: 8px 14px !important;
    white-space: nowrap !important;
}

body.public-body > main.qr-menu.theme-noir-catalog .home-featured-section {
    background:
        linear-gradient(135deg, rgba(216, 183, 106, .10), transparent),
        rgba(255, 250, 235, .055) !important;
    border: 1px solid rgba(216, 183, 106, .26) !important;
    border-radius: var(--radius-lg) !important;
    margin: 0 0 22px !important;
    padding: 16px !important;
}

body.public-body > main.qr-menu.theme-noir-catalog .home-featured-section h2 {
    color: var(--gold) !important;
    font-size: 16px !important;
    font-weight: 950 !important;
    margin: 0 0 12px !important;
    text-transform: uppercase !important;
}

body.public-body > main.qr-menu.theme-noir-catalog .home-featured-strip {
    display: flex !important;
    gap: 12px !important;
    overflow-x: auto !important;
    padding-bottom: 2px !important;
    scrollbar-width: none !important;
}

body.public-body > main.qr-menu.theme-noir-catalog .home-featured-strip::-webkit-scrollbar {
    display: none !important;
}

body.public-body > main.qr-menu.theme-noir-catalog .home-featured-strip a {
    background: rgba(0, 0, 0, .20) !important;
    border: 1px solid var(--line) !important;
    border-radius: 18px !important;
    color: var(--text) !important;
    flex: 0 0 150px !important;
    overflow: hidden !important;
    padding: 10px !important;
    text-decoration: none !important;
}

body.public-body > main.qr-menu.theme-noir-catalog .home-featured-strip img {
    aspect-ratio: 1 / .72 !important;
    border-radius: 14px !important;
    height: auto !important;
    object-fit: cover !important;
    width: 100% !important;
}

body.public-body > main.qr-menu.theme-noir-catalog .home-featured-strip strong,
body.public-body > main.qr-menu.theme-noir-catalog .home-featured-strip small {
    color: inherit !important;
}

body.public-body > main.qr-menu.theme-noir-catalog .home-featured-strip small {
    color: var(--gold) !important;
    font-weight: 900 !important;
}

body.public-body > main.qr-menu.theme-noir-catalog .menu-footer,
body.public-body > main.qr-menu.theme-noir-catalog .mobile-actions,
body.public-body > main.qr-menu.theme-noir-catalog .mobile-dock-edge {
    background: rgba(13, 16, 14, .88) !important;
    border-color: rgba(216, 183, 106, .24) !important;
    color: var(--text) !important;
}

body.public-body > main.qr-menu.theme-noir-catalog .description-modal .description-dialog {
    background: var(--bg) !important;
    color: var(--text) !important;
}

@media (min-width: 900px) {
    body.public-body > main.qr-menu.theme-noir-catalog .menu-main-flow {
        max-width: 1120px !important;
        width: min(100%, 1120px) !important;
    }

    body.public-body > main.qr-menu.theme-noir-catalog .menu-hero {
        padding: 32px !important;
    }

    body.public-body > main.qr-menu.theme-noir-catalog .product-grid-public {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    body.public-body > main.qr-menu.theme-noir-catalog .menu-content {
        gap: 32px !important;
    }
}

@media (max-width: 560px) {
    body.public-body > main.qr-menu.theme-noir-catalog .menu-main-flow {
        padding: 14px 12px max(112px, env(safe-area-inset-bottom)) !important;
    }

    body.public-body > main.qr-menu.theme-noir-catalog .menu-hero {
        border-radius: 24px !important;
        margin-top: 8px !important;
        padding: 22px !important;
    }

    body.public-body > main.qr-menu.theme-noir-catalog .menu-cover-title,
    body.public-body > main.qr-menu.theme-noir-catalog .menu-cover-business h1,
    body.public-body > main.qr-menu.theme-noir-catalog .theme2-title-row h1 {
        font-size: clamp(27px, 9vw, 42px) !important;
        max-width: min(100%, 11ch) !important;
    }

    body.public-body > main.qr-menu.theme-noir-catalog .menu-toolbar {
        border-radius: 20px !important;
        padding: 10px !important;
    }

    body.public-body > main.qr-menu.theme-noir-catalog .menu-product {
        grid-template-columns: minmax(0, 1fr) 78px !important;
        padding: 14px !important;
    }

    body.public-body > main.qr-menu.theme-noir-catalog .menu-product .product-media {
        height: 78px !important;
        max-height: 78px !important;
        min-height: 78px !important;
        width: 78px !important;
    }

    body.public-body > main.qr-menu.theme-noir-catalog .menu-product .product-title-row {
        grid-template-columns: minmax(0, 1fr) !important;
    }

    body.public-body > main.qr-menu.theme-noir-catalog .menu-product .price-stack {
        align-items: center !important;
        justify-items: start !important;
    }

    body.public-body > main.qr-menu.theme-noir-catalog .menu-product .price-calorie-line {
        justify-content: flex-start !important;
    }
}

@media (max-width: 370px) {
    body.public-body > main.qr-menu.theme-noir-catalog .menu-product {
        gap: 10px !important;
        grid-template-columns: minmax(0, 1fr) 70px !important;
    }

    body.public-body > main.qr-menu.theme-noir-catalog .menu-product .product-media {
        height: 70px !important;
        max-height: 70px !important;
        min-height: 70px !important;
        width: 70px !important;
    }

    body.public-body > main.qr-menu.theme-noir-catalog .menu-product .menu-cart-add,
    body.public-body > main.qr-menu.theme-noir-catalog .menu-product .product-detail-button {
        min-height: 34px !important;
        padding-inline: 10px !important;
    }
}

/* v385 high-specificity Noir Gold lock for theme 2 */
html body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog.theme-noir-catalog {
    --bg: #0d100e;
    --bg-soft: #151a16;
    --card: rgba(255, 250, 235, 0.075);
    --card-strong: rgba(255, 250, 235, 0.12);
    --line: rgba(255, 240, 205, 0.14);
    --text: #fff7e8;
    --muted: #bfb3a0;
    --muted-2: #897f70;
    --gold: #d8b76a;
    --gold-soft: rgba(216, 183, 106, 0.18);
    --olive: #263528;
    --shadow: 0 24px 70px rgba(0, 0, 0, 0.34);
    background:
        radial-gradient(circle at top left, rgba(216, 183, 106, 0.16), transparent 34rem),
        radial-gradient(circle at 85% 12%, rgba(70, 110, 76, 0.22), transparent 28rem),
        linear-gradient(180deg, #101410 0%, var(--bg) 45%, #080a09 100%) !important;
    color: var(--text) !important;
}

html body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog.theme-noir-catalog .menu-main-flow {
    background: transparent !important;
    border: 0 !important;
    margin: 0 auto !important;
    max-width: 760px !important;
    padding: 18px 16px max(120px, env(safe-area-inset-bottom)) !important;
    width: min(100%, 760px) !important;
}

html body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog.theme-noir-catalog .menu-hero,
html body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog.theme-noir-catalog.has-cover .menu-hero,
html body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog.theme-noir-catalog.is-noir-deep-link .menu-hero {
    background:
        linear-gradient(135deg, rgba(255, 250, 235, 0.14), rgba(255, 255, 255, 0.04)),
        linear-gradient(145deg, rgba(38, 53, 40, 0.84), rgba(12, 16, 13, 0.92)),
        var(--cover-image) center / cover no-repeat !important;
    border: 1px solid var(--line) !important;
    border-radius: var(--radius-xl) !important;
    box-shadow: var(--shadow) !important;
    color: var(--text) !important;
    display: block !important;
    margin: 10px 0 18px !important;
    min-height: auto !important;
    overflow: hidden !important;
    padding: 26px !important;
}

html body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog.theme-noir-catalog .menu-hero-content,
html body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog.theme-noir-catalog .menu-hero-content.menu-cover-layout {
    align-items: start !important;
    display: grid !important;
    gap: 18px !important;
    justify-items: start !important;
    margin: 0 !important;
    max-width: 100% !important;
    min-height: 0 !important;
    padding: 0 !important;
    text-align: left !important;
    width: 100% !important;
}

html body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog.theme-noir-catalog .menu-cover-brand {
    align-items: center !important;
    background: transparent !important;
    display: flex !important;
    gap: 12px !important;
    justify-content: flex-start !important;
    margin: 0 !important;
    text-align: left !important;
}

html body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog.theme-noir-catalog .menu-logo {
    background: linear-gradient(145deg, var(--gold-soft), rgba(255, 255, 255, 0.035)) !important;
    border: 1px solid var(--line) !important;
    border-radius: 16px !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.12) !important;
    height: 52px !important;
    object-fit: contain !important;
    padding: 8px !important;
    width: 78px !important;
}

html body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog.theme-noir-catalog .menu-cover-business,
html body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog.theme-noir-catalog .theme2-title-row {
    display: grid !important;
    gap: 5px !important;
    min-width: 0 !important;
    text-align: left !important;
}

html body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog.theme-noir-catalog .menu-cover-title,
html body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog.theme-noir-catalog .menu-cover-business h1,
html body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog.theme-noir-catalog .theme2-title-row h1 {
    color: var(--text) !important;
    font-size: clamp(28px, 8vw, 52px) !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    margin: 0 !important;
    max-width: min(100%, 12ch) !important;
    white-space: normal !important;
}

html body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog.theme-noir-catalog .menu-cover-subtitle {
    color: var(--muted) !important;
    font-size: 15px !important;
    font-weight: 700 !important;
}

html body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog.theme-noir-catalog .locale-switcher {
    background: rgba(255, 250, 235, .075) !important;
    border: 1px solid var(--line) !important;
    border-radius: 999px !important;
    display: inline-flex !important;
    gap: 4px !important;
    padding: 4px !important;
    position: absolute !important;
    right: 18px !important;
    top: 18px !important;
    z-index: 4 !important;
}

html body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog.theme-noir-catalog .locale-switcher a {
    background: transparent !important;
    border: 0 !important;
    color: var(--muted) !important;
}

html body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog.theme-noir-catalog .locale-switcher a.active {
    background: linear-gradient(135deg, #e8cc82, var(--gold)) !important;
    color: #171105 !important;
}

html body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog.theme-noir-catalog .menu-toolbar,
html body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog.theme-noir-catalog.noir-toolbar-fixed .menu-toolbar,
html body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog.theme-noir-catalog.is-noir-deep-link .menu-toolbar,
html.has-menu-deep-link body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog.theme-noir-catalog .menu-toolbar {
    background: rgba(13, 16, 14, .88) !important;
    border: 1px solid rgba(216, 183, 106, .24) !important;
    border-radius: var(--radius-lg) !important;
    box-shadow: 0 18px 44px rgba(0, 0, 0, .28) !important;
    display: grid !important;
    gap: 12px !important;
    margin: 0 0 22px !important;
    padding: 12px !important;
    position: sticky !important;
    top: max(8px, env(safe-area-inset-top)) !important;
    z-index: 25 !important;
}

html body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog.theme-noir-catalog .menu-search input {
    background: rgba(255, 250, 235, .07) !important;
    border: 1px solid var(--line) !important;
    border-radius: 18px !important;
    color: var(--text) !important;
    font-size: 16px !important;
    height: 54px !important;
    padding-left: 48px !important;
}

html body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog.theme-noir-catalog .menu-search::before {
    color: var(--gold) !important;
    content: "⌕" !important;
    left: 18px !important;
    position: absolute !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    z-index: 2 !important;
}

html body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog.theme-noir-catalog .category-tabs,
html body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog.theme-noir-catalog.nav-sticky_pills .category-tabs {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    display: flex !important;
    gap: 10px !important;
    overflow-x: auto !important;
    padding: 0 0 2px !important;
}

html body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog.theme-noir-catalog .category-tabs a,
html body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog.theme-noir-catalog .category-tabs a.with-image {
    background: rgba(255, 250, 235, .055) !important;
    border: 1px solid var(--line) !important;
    border-radius: 999px !important;
    color: var(--muted) !important;
    flex: 0 0 auto !important;
    height: 44px !important;
    padding: 8px 14px !important;
    white-space: nowrap !important;
}

html body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog.theme-noir-catalog .category-tabs a:first-child,
html body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog.theme-noir-catalog .category-tabs a:hover {
    background: linear-gradient(135deg, #e8cc82, var(--gold)) !important;
    color: #1a1408 !important;
}

html body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog.theme-noir-catalog .menu-content,
html body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog.theme-noir-catalog .menu-category {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

html body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog.theme-noir-catalog .menu-category h2 {
    color: var(--text) !important;
}

html body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog.theme-noir-catalog .pro-back-bar.has-category-image {
    border: 1px solid var(--line) !important;
    border-radius: 24px !important;
    box-shadow: var(--shadow) !important;
    margin: 0 0 16px !important;
    min-height: 160px !important;
    overflow: hidden !important;
}

html body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog.theme-noir-catalog .pro-back-bar.has-category-image::after {
    background: linear-gradient(180deg, rgba(0,0,0,.08), rgba(0,0,0,.72)) !important;
}

html body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog.theme-noir-catalog .pro-back-bar.has-category-image strong {
    color: var(--text) !important;
}

html body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog.theme-noir-catalog .menu-product,
html body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog.theme-noir-catalog.noir-toolbar-fixed .menu-product,
html body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog.theme-noir-catalog.is-noir-deep-link .menu-product {
    background: var(--card) !important;
    border: 1px solid var(--line) !important;
    border-radius: var(--radius-lg) !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .055) !important;
    display: grid !important;
    gap: 14px !important;
    grid-template-columns: minmax(0, 1fr) 84px !important;
    margin: 0 !important;
    padding: 16px !important;
}

html body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog.theme-noir-catalog .menu-product.is-featured {
    background:
        linear-gradient(135deg, rgba(216, 183, 106, .12), transparent),
        var(--card) !important;
    border-color: rgba(216, 183, 106, .50) !important;
}

html body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog.theme-noir-catalog .menu-product .product-info {
    grid-column: 1 !important;
    grid-row: 1 !important;
    padding: 0 !important;
}

html body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog.theme-noir-catalog .menu-product .product-title-row {
    display: grid !important;
    gap: 8px !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
}

html body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog.theme-noir-catalog .menu-product .product-title-row h3 {
    color: var(--text) !important;
    font-size: 16px !important;
    line-height: 1.25 !important;
}

html body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog.theme-noir-catalog .menu-product .product-description-short,
html body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog.theme-noir-catalog .menu-product .product-description-trigger {
    color: var(--muted) !important;
}

html body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog.theme-noir-catalog .menu-product .price-stack strong,
html body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog.theme-noir-catalog .home-featured-strip small {
    color: var(--gold) !important;
}

html body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog.theme-noir-catalog .menu-product .product-media {
    background:
        radial-gradient(circle at 30% 20%, rgba(255,255,255,.18), transparent 38%),
        linear-gradient(145deg, rgba(216,183,106,.2), rgba(0,0,0,.18)) !important;
    border: 1px solid var(--line) !important;
    border-radius: 22px !important;
    grid-column: 2 !important;
    grid-row: 1 !important;
    height: 84px !important;
    width: 84px !important;
}

html body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog.theme-noir-catalog .menu-product .product-media img {
    border-radius: inherit !important;
    height: 100% !important;
    object-fit: cover !important;
    width: 100% !important;
}

html body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog.theme-noir-catalog .menu-product .visual-price-badge {
    display: none !important;
}

html body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog.theme-noir-catalog .menu-product .product-action-row {
    justify-content: flex-start !important;
}

html body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog.theme-noir-catalog .menu-product .menu-cart-add {
    background: linear-gradient(135deg, #efd88f, var(--gold)) !important;
    border: 0 !important;
    border-radius: 999px !important;
    color: #171105 !important;
}

html body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog.theme-noir-catalog .home-featured-section,
html body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog.theme-noir-catalog .mobile-actions,
html body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog.theme-noir-catalog .mobile-dock-edge,
html body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog.theme-noir-catalog .menu-footer {
    background: rgba(13, 16, 14, .88) !important;
    border-color: rgba(216, 183, 106, .24) !important;
    color: var(--text) !important;
}

@media (min-width: 900px) {
    html body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog.theme-noir-catalog .menu-main-flow {
        max-width: 1120px !important;
        width: min(100%, 1120px) !important;
    }

    html body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog.theme-noir-catalog .product-grid-public {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 560px) {
    html body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog.theme-noir-catalog .menu-main-flow {
        padding: 14px 12px max(112px, env(safe-area-inset-bottom)) !important;
    }

    html body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog.theme-noir-catalog .menu-product {
        grid-template-columns: minmax(0, 1fr) 78px !important;
        padding: 14px !important;
    }

    html body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog.theme-noir-catalog .menu-product .product-media {
        height: 78px !important;
        width: 78px !important;
    }
}

/* v386 unconditional Noir Gold layout lock for theme 2 */
html body.public-body > main.qr-menu.theme-noir-catalog.theme-noir-catalog.theme-noir-catalog {
    background:
        radial-gradient(circle at top left, rgba(216, 183, 106, 0.16), transparent 34rem),
        radial-gradient(circle at 85% 12%, rgba(70, 110, 76, 0.22), transparent 28rem),
        linear-gradient(180deg, #101410 0%, #0d100e 45%, #080a09 100%) !important;
    color: var(--text, #fff7e8) !important;
}

html body.public-body > main.qr-menu.theme-noir-catalog.theme-noir-catalog.theme-noir-catalog .menu-main-flow,
html body.public-body > main.qr-menu.theme-noir-catalog.theme-noir-catalog.theme-noir-catalog .menu-content,
html body.public-body > main.qr-menu.theme-noir-catalog.theme-noir-catalog.theme-noir-catalog .menu-category {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

html body.public-body > main.qr-menu.theme-noir-catalog.theme-noir-catalog.theme-noir-catalog .menu-main-flow {
    display: block !important;
    margin: 0 auto !important;
    max-width: 760px !important;
    min-height: 100svh !important;
    padding: 18px 16px max(120px, env(safe-area-inset-bottom)) !important;
    position: relative !important;
    width: min(100%, 760px) !important;
}

html body.public-body > main.qr-menu.theme-noir-catalog.theme-noir-catalog.theme-noir-catalog.is-category-open > .menu-main-flow > .menu-hero,
html.has-menu-deep-link body.public-body > main.qr-menu.theme-noir-catalog.theme-noir-catalog.theme-noir-catalog > .menu-main-flow > .menu-hero {
    display: none !important;
}

html body.public-body > main.qr-menu.theme-noir-catalog.theme-noir-catalog.theme-noir-catalog:not(.is-category-open) > .menu-main-flow > .menu-hero {
    display: block !important;
}

html body.public-body > main.qr-menu.theme-noir-catalog.theme-noir-catalog.theme-noir-catalog .menu-toolbar {
    background: rgba(13, 16, 14, .90) !important;
    border: 1px solid rgba(216, 183, 106, .24) !important;
    border-radius: 22px !important;
    box-shadow: 0 18px 44px rgba(0, 0, 0, .28) !important;
    display: grid !important;
    gap: 12px !important;
    margin: 0 0 22px !important;
    padding: 12px !important;
    position: sticky !important;
    top: max(8px, env(safe-area-inset-top)) !important;
    z-index: 25 !important;
}

html body.public-body > main.qr-menu.theme-noir-catalog.theme-noir-catalog.theme-noir-catalog .category-tabs {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    display: flex !important;
    gap: 10px !important;
    overflow-x: auto !important;
    padding: 0 0 2px !important;
    width: 100% !important;
}

html body.public-body > main.qr-menu.theme-noir-catalog.theme-noir-catalog.theme-noir-catalog .category-tabs a,
html body.public-body > main.qr-menu.theme-noir-catalog.theme-noir-catalog.theme-noir-catalog .category-tabs a.with-image {
    background: rgba(255, 250, 235, .055) !important;
    border: 1px solid rgba(255, 240, 205, .14) !important;
    border-radius: 999px !important;
    color: #bfb3a0 !important;
    height: 44px !important;
}

html body.public-body > main.qr-menu.theme-noir-catalog.theme-noir-catalog.theme-noir-catalog .category-tabs a:first-child,
html body.public-body > main.qr-menu.theme-noir-catalog.theme-noir-catalog.theme-noir-catalog .category-tabs a:hover {
    background: linear-gradient(135deg, #e8cc82, #d8b76a) !important;
    color: #1a1408 !important;
}

html body.public-body > main.qr-menu.theme-noir-catalog.theme-noir-catalog.theme-noir-catalog .menu-search input {
    background: rgba(255, 250, 235, .07) !important;
    border: 1px solid rgba(255, 240, 205, .14) !important;
    border-radius: 18px !important;
    color: #fff7e8 !important;
    height: 54px !important;
}

html body.public-body > main.qr-menu.theme-noir-catalog.theme-noir-catalog.theme-noir-catalog .pro-back-bar.has-category-image {
    border: 1px solid rgba(255, 240, 205, .14) !important;
    border-radius: 24px !important;
    box-shadow: 0 24px 70px rgba(0, 0, 0, .34) !important;
    margin: 0 0 16px !important;
    max-width: 100% !important;
    min-height: 154px !important;
    overflow: hidden !important;
}

html body.public-body > main.qr-menu.theme-noir-catalog.theme-noir-catalog.theme-noir-catalog .pro-back-bar.has-category-image::after {
    background: linear-gradient(180deg, rgba(0, 0, 0, .08), rgba(0, 0, 0, .74)) !important;
}

html body.public-body > main.qr-menu.theme-noir-catalog.theme-noir-catalog.theme-noir-catalog .pro-back-bar.has-category-image strong {
    color: #fff7e8 !important;
}

html body.public-body > main.qr-menu.theme-noir-catalog.theme-noir-catalog.theme-noir-catalog .product-grid-public {
    background: transparent !important;
    display: grid !important;
    gap: 12px !important;
    grid-template-columns: 1fr !important;
}

html body.public-body > main.qr-menu.theme-noir-catalog.theme-noir-catalog.theme-noir-catalog .menu-product {
    background: rgba(255, 250, 235, .075) !important;
    border: 1px solid rgba(255, 240, 205, .14) !important;
    border-radius: 22px !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .055) !important;
    display: grid !important;
    gap: 14px !important;
    grid-template-columns: minmax(0, 1fr) 84px !important;
    margin: 0 !important;
    overflow: hidden !important;
    padding: 16px !important;
    position: relative !important;
}

html body.public-body > main.qr-menu.theme-noir-catalog.theme-noir-catalog.theme-noir-catalog .menu-product .product-info {
    background: transparent !important;
    grid-column: 1 !important;
    grid-row: 1 !important;
    min-width: 0 !important;
    padding: 0 !important;
}

html body.public-body > main.qr-menu.theme-noir-catalog.theme-noir-catalog.theme-noir-catalog .menu-product .product-media {
    background:
        radial-gradient(circle at 30% 20%, rgba(255,255,255,.18), transparent 38%),
        linear-gradient(145deg, rgba(216,183,106,.2), rgba(0,0,0,.18)) !important;
    border: 1px solid rgba(255, 240, 205, .14) !important;
    border-radius: 22px !important;
    grid-column: 2 !important;
    grid-row: 1 !important;
    height: 84px !important;
    max-height: 84px !important;
    min-height: 84px !important;
    overflow: hidden !important;
    position: relative !important;
    width: 84px !important;
}

html body.public-body > main.qr-menu.theme-noir-catalog.theme-noir-catalog.theme-noir-catalog .menu-product .product-media img {
    border-radius: inherit !important;
    height: 100% !important;
    object-fit: cover !important;
    width: 100% !important;
}

html body.public-body > main.qr-menu.theme-noir-catalog.theme-noir-catalog.theme-noir-catalog .menu-product .product-title-row {
    display: grid !important;
    gap: 8px !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    margin: 0 !important;
}

html body.public-body > main.qr-menu.theme-noir-catalog.theme-noir-catalog.theme-noir-catalog .menu-product .product-title-row h3 {
    color: #fff7e8 !important;
    font-size: 16px !important;
    font-weight: 900 !important;
}

html body.public-body > main.qr-menu.theme-noir-catalog.theme-noir-catalog.theme-noir-catalog .menu-product .product-description-short,
html body.public-body > main.qr-menu.theme-noir-catalog.theme-noir-catalog.theme-noir-catalog .menu-product .product-description-trigger {
    color: #bfb3a0 !important;
}

html body.public-body > main.qr-menu.theme-noir-catalog.theme-noir-catalog.theme-noir-catalog .menu-product .price-stack {
    align-items: start !important;
    display: grid !important;
    gap: 4px !important;
    justify-items: start !important;
    position: static !important;
}

html body.public-body > main.qr-menu.theme-noir-catalog.theme-noir-catalog.theme-noir-catalog .menu-product .price-stack strong {
    color: #d8b76a !important;
}

html body.public-body > main.qr-menu.theme-noir-catalog.theme-noir-catalog.theme-noir-catalog .menu-product .product-action-row {
    align-items: center !important;
    display: flex !important;
    gap: 8px !important;
    justify-content: flex-start !important;
    margin-top: 4px !important;
    position: static !important;
}

html body.public-body > main.qr-menu.theme-noir-catalog.theme-noir-catalog.theme-noir-catalog .menu-product .button,
html body.public-body > main.qr-menu.theme-noir-catalog.theme-noir-catalog.theme-noir-catalog .menu-product .menu-cart-add {
    position: static !important;
    right: auto !important;
}

html body.public-body > main.qr-menu.theme-noir-catalog.theme-noir-catalog.theme-noir-catalog .menu-product .menu-cart-add {
    background: linear-gradient(135deg, #efd88f, #d8b76a) !important;
    border: 0 !important;
    border-radius: 999px !important;
    color: #171105 !important;
    min-height: 38px !important;
    padding: 8px 14px !important;
}

html body.public-body > main.qr-menu.theme-noir-catalog.theme-noir-catalog.theme-noir-catalog .mobile-actions,
html body.public-body > main.qr-menu.theme-noir-catalog.theme-noir-catalog.theme-noir-catalog .mobile-dock-edge,
html body.public-body > main.qr-menu.theme-noir-catalog.theme-noir-catalog.theme-noir-catalog .mobile-dock-cart,
html body.public-body > main.qr-menu.theme-noir-catalog.theme-noir-catalog.theme-noir-catalog .mobile-dock-service,
html body.public-body > main.qr-menu.theme-noir-catalog.theme-noir-catalog.theme-noir-catalog .menu-footer[data-mobile-footer-panel] {
    background: rgba(13, 16, 14, .94) !important;
    border-color: rgba(216, 183, 106, .24) !important;
    color: #d8b76a !important;
}

@media (min-width: 900px) {
    html body.public-body > main.qr-menu.theme-noir-catalog.theme-noir-catalog.theme-noir-catalog .menu-main-flow {
        max-width: 1120px !important;
        width: min(100%, 1120px) !important;
    }

    html body.public-body > main.qr-menu.theme-noir-catalog.theme-noir-catalog.theme-noir-catalog .product-grid-public {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 560px) {
    html body.public-body > main.qr-menu.theme-noir-catalog.theme-noir-catalog.theme-noir-catalog .menu-main-flow {
        padding: 14px 12px max(112px, env(safe-area-inset-bottom)) !important;
    }

    html body.public-body > main.qr-menu.theme-noir-catalog.theme-noir-catalog.theme-noir-catalog .menu-product {
        grid-template-columns: minmax(0, 1fr) 78px !important;
        padding: 14px !important;
    }

    html body.public-body > main.qr-menu.theme-noir-catalog.theme-noir-catalog.theme-noir-catalog .menu-product .product-title-row {
        grid-template-columns: minmax(0, 1fr) !important;
    }

    html body.public-body > main.qr-menu.theme-noir-catalog.theme-noir-catalog.theme-noir-catalog .menu-product .product-media {
        height: 78px !important;
        width: 78px !important;
    }

    html body.public-body > main.qr-menu.theme-noir-catalog.theme-noir-catalog.theme-noir-catalog .locale-switcher,
    html body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog.theme-noir-catalog .locale-switcher {
        right: 14px !important;
        top: 14px !important;
    }

    html body.public-body > main.qr-menu.theme-noir-catalog.theme-noir-catalog.theme-noir-catalog .locale-switcher a,
    html body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog.theme-noir-catalog .locale-switcher a {
        height: 34px !important;
        min-height: 34px !important;
        min-width: 36px !important;
        padding: 8px 9px !important;
    }
}

/* v387 mobile polish for Noir Gold theme 2 */
html body.public-body > main.qr-menu.theme-noir-catalog.theme-noir-catalog.theme-noir-catalog .locale-switcher,
html body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog.theme-noir-catalog .locale-switcher {
    bottom: 14px !important;
    left: auto !important;
    position: absolute !important;
    right: 14px !important;
    top: auto !important;
    transform: none !important;
    translate: 0 0 !important;
    width: auto !important;
}

html body.public-body > main.qr-menu.theme-noir-catalog.theme-noir-catalog.theme-noir-catalog .locale-switcher a,
html body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog.theme-noir-catalog .locale-switcher a {
    align-items: center !important;
    display: inline-flex !important;
    height: 34px !important;
    justify-content: center !important;
    line-height: 1 !important;
    min-height: 34px !important;
    min-width: 36px !important;
    padding: 8px 9px !important;
    transform: none !important;
    width: auto !important;
}

html body.public-body > main.qr-menu.theme-noir-catalog.theme-noir-catalog.theme-noir-catalog .menu-product {
    box-sizing: border-box !important;
    max-width: 100% !important;
    width: 100% !important;
}

html body.public-body > main.qr-menu.theme-noir-catalog.theme-noir-catalog.theme-noir-catalog .menu-product .product-info {
    overflow: hidden !important;
}

html body.public-body > main.qr-menu.theme-noir-catalog.theme-noir-catalog.theme-noir-catalog .menu-product .product-action-row,
html body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog.theme-noir-catalog .menu-product .product-action-row {
    bottom: auto !important;
    flex-wrap: wrap !important;
    left: auto !important;
    max-width: 100% !important;
    position: static !important;
    right: auto !important;
    top: auto !important;
    transform: none !important;
    width: auto !important;
}

html body.public-body > main.qr-menu.theme-noir-catalog.theme-noir-catalog.theme-noir-catalog .menu-product .menu-cart-add,
html body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog.theme-noir-catalog .menu-product .menu-cart-add {
    bottom: auto !important;
    flex: 0 0 auto !important;
    left: auto !important;
    max-width: 100% !important;
    position: static !important;
    right: auto !important;
    top: auto !important;
    transform: none !important;
    width: auto !important;
}

html body.public-body.menu-theme-noir-catalog .mobile-actions,
html body.public-body.menu-theme-noir-catalog .mobile-dock-edge,
html body.public-body.menu-theme-noir-catalog .mobile-dock-cart,
html body.public-body.menu-theme-noir-catalog .mobile-dock-service,
html body.public-body.menu-theme-noir-catalog .cart-fab,
html body.public-body.menu-theme-noir-catalog .service-fab,
html body.public-body.menu-theme-noir-catalog .menu-footer[data-mobile-footer-panel] {
    background: rgba(13, 16, 14, .96) !important;
    border-color: rgba(216, 183, 106, .26) !important;
    color: #d8b76a !important;
}

html body.public-body.menu-theme-noir-catalog .mobile-actions *,
html body.public-body.menu-theme-noir-catalog .mobile-dock-edge *,
html body.public-body.menu-theme-noir-catalog .menu-footer[data-mobile-footer-panel] * {
    color: #d8b76a !important;
}

@media (max-width: 560px) {
    html body.public-body > main.qr-menu.theme-noir-catalog.theme-noir-catalog.theme-noir-catalog .menu-hero {
        padding-bottom: 58px !important;
    }

    html body.public-body > main.qr-menu.theme-noir-catalog.theme-noir-catalog.theme-noir-catalog .menu-cover-title,
    html body.public-body > main.qr-menu.theme-noir-catalog.theme-noir-catalog.theme-noir-catalog .menu-cover-business h1,
    html body.public-body > main.qr-menu.theme-noir-catalog.theme-noir-catalog.theme-noir-catalog .theme2-title-row h1 {
        font-size: clamp(26px, 8vw, 34px) !important;
        max-width: min(100%, 10ch) !important;
    }
}

/* v388 Noir Gold overflow and dock correction */
html body.public-body > main.qr-menu.theme-noir-catalog.theme-noir-catalog.theme-noir-catalog,
html body.public-body > main.qr-menu.theme-noir-catalog.theme-noir-catalog.theme-noir-catalog *,
html body.public-body > main.qr-menu.theme-noir-catalog.theme-noir-catalog.theme-noir-catalog *::before,
html body.public-body > main.qr-menu.theme-noir-catalog.theme-noir-catalog.theme-noir-catalog *::after {
    box-sizing: border-box !important;
}

html body.public-body > main.qr-menu.theme-noir-catalog.theme-noir-catalog.theme-noir-catalog .menu-main-flow,
html body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog.theme-noir-catalog .menu-main-flow {
    max-width: 100% !important;
    overflow-x: clip !important;
    width: 100% !important;
}

html body.public-body > main.qr-menu.theme-noir-catalog.theme-noir-catalog.theme-noir-catalog .menu-hero,
html body.public-body > main.qr-menu.theme-noir-catalog.theme-noir-catalog.theme-noir-catalog .menu-toolbar,
html body.public-body > main.qr-menu.theme-noir-catalog.theme-noir-catalog.theme-noir-catalog .menu-content,
html body.public-body > main.qr-menu.theme-noir-catalog.theme-noir-catalog.theme-noir-catalog .menu-category,
html body.public-body > main.qr-menu.theme-noir-catalog.theme-noir-catalog.theme-noir-catalog .product-grid-public,
html body.public-body > main.qr-menu.theme-noir-catalog.theme-noir-catalog.theme-noir-catalog .menu-product {
    max-width: 100% !important;
}

html body.public-body > main.qr-menu.theme-noir-catalog.theme-noir-catalog.theme-noir-catalog .menu-product .product-action-row {
    overflow: visible !important;
}

html body.public-body > main.qr-menu.theme-noir-catalog.theme-noir-catalog.theme-noir-catalog .menu-product .menu-cart-add {
    font-size: 12px !important;
    min-width: 0 !important;
    white-space: nowrap !important;
}

body.public-body:has(> main.qr-menu.theme-noir-catalog) .mobile-actions,
body.public-body:has(> main.qr-menu.theme-noir-catalog) .mobile-dock-edge,
body.public-body:has(> main.qr-menu.theme-noir-catalog) .mobile-dock-cart,
body.public-body:has(> main.qr-menu.theme-noir-catalog) .mobile-dock-service,
body.public-body:has(> main.qr-menu.theme-noir-catalog) .cart-fab,
body.public-body:has(> main.qr-menu.theme-noir-catalog) .service-fab,
body.public-body:has(> main.qr-menu.theme-noir-catalog) .menu-footer[data-mobile-footer-panel] {
    background: rgba(13, 16, 14, .96) !important;
    border-color: rgba(216, 183, 106, .26) !important;
    color: #d8b76a !important;
}

body.public-body:has(> main.qr-menu.theme-noir-catalog) .mobile-actions *,
body.public-body:has(> main.qr-menu.theme-noir-catalog) .mobile-dock-edge *,
body.public-body:has(> main.qr-menu.theme-noir-catalog) .menu-footer[data-mobile-footer-panel] * {
    color: #d8b76a !important;
}

@media (min-width: 900px) {
    html body.public-body > main.qr-menu.theme-noir-catalog.theme-noir-catalog.theme-noir-catalog .menu-main-flow,
    html body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog.theme-noir-catalog .menu-main-flow {
        max-width: 1120px !important;
        width: min(100%, 1120px) !important;
    }
}

/* v389 Noir Gold page bounds and mobile action middle */
html body.public-body:has(> main.qr-menu.theme-noir-catalog) {
    background: #0d100e !important;
    margin: 0 !important;
    overflow-x: hidden !important;
}

html body.public-body:has(> main.qr-menu.theme-noir-catalog) > main.qr-menu.theme-noir-catalog {
    margin: 0 !important;
    max-width: 100vw !important;
    overflow-x: hidden !important;
    width: 100vw !important;
}

html body.public-body:has(> main.qr-menu.theme-noir-catalog) > main.qr-menu.theme-noir-catalog .menu-main-flow {
    margin-left: 0 !important;
    margin-right: 0 !important;
}

html body.public-body:has(> main.qr-menu.theme-noir-catalog) .app-copyright {
    background: #0d100e !important;
    color: #bfb3a0 !important;
}

html body.public-body:has(> main.qr-menu.theme-noir-catalog) .mobile-actions-middle,
html body.public-body:has(> main.qr-menu.theme-noir-catalog) .mobile-action-button {
    background: rgba(13, 16, 14, .96) !important;
    color: #d8b76a !important;
}

html body.public-body:has(> main.qr-menu.theme-noir-catalog) .mobile-action-button svg .st0,
html body.public-body:has(> main.qr-menu.theme-noir-catalog) .mobile-dock-icon svg .st0 {
    fill: #d8b76a !important;
}

@media (max-width: 560px) {
    html body.public-body:has(> main.qr-menu.theme-noir-catalog) > main.qr-menu.theme-noir-catalog .menu-main-flow {
        max-width: 100vw !important;
        padding-left: 12px !important;
        padding-right: 12px !important;
        width: 100vw !important;
    }

    html body.public-body:has(> main.qr-menu.theme-noir-catalog) .menu-product .menu-cart-add {
        border-radius: 999px !important;
        font-size: 0 !important;
        height: 38px !important;
        min-width: 38px !important;
        padding: 0 !important;
        width: 38px !important;
    }

    html body.public-body:has(> main.qr-menu.theme-noir-catalog) .menu-product .menu-cart-add::after {
        content: "+" !important;
        display: inline !important;
        font-size: 18px !important;
        font-weight: 950 !important;
        line-height: 1 !important;
    }
}

/* v390 visible compact add action for Noir Gold mobile cards */
@media (max-width: 560px) {
    html body.public-body:has(> main.qr-menu.theme-noir-catalog) .menu-product {
        padding-bottom: 58px !important;
        position: relative !important;
    }

    html body.public-body:has(> main.qr-menu.theme-noir-catalog) .menu-product .product-action-row {
        bottom: 14px !important;
        display: flex !important;
        justify-content: flex-end !important;
        left: auto !important;
        margin: 0 !important;
        position: absolute !important;
        right: 14px !important;
        top: auto !important;
        z-index: 4 !important;
    }

    html body.public-body:has(> main.qr-menu.theme-noir-catalog) .menu-product .product-detail-button {
        display: none !important;
    }

    html body.public-body:has(> main.qr-menu.theme-noir-catalog) .menu-product .menu-cart-add {
        align-items: center !important;
        display: inline-flex !important;
        justify-content: center !important;
        position: static !important;
    }
}

/* v393 smaller QR menu brand title on mobile covers */
@media (max-width: 560px) {
    body.public-body > main.qr-menu .menu-cover-business h1.menu-cover-title,
    body.public-body > main.qr-menu .theme2-title-row h1.menu-cover-title,
    body.public-body > main.qr-menu.theme-menutje-mono .menu-cover-business h1.menu-cover-title,
    body.public-body > main.qr-menu.theme-menutje-mono .theme2-title-row h1.menu-cover-title,
    body.public-body > main.qr-menu.theme-noir-catalog .menu-cover-business h1.menu-cover-title,
    body.public-body > main.qr-menu.theme-noir-catalog .theme2-title-row h1.menu-cover-title,
    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog .menu-cover-business h1.menu-cover-title,
    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog .theme2-title-row h1.menu-cover-title {
        font-size: clamp(10px, calc(var(--cover-title-size, 22px) * .84), 19px) !important;
        line-height: 1.06 !important;
    }
}

@media (max-width: 380px) {
    body.public-body > main.qr-menu .menu-cover-business h1.menu-cover-title,
    body.public-body > main.qr-menu .theme2-title-row h1.menu-cover-title,
    body.public-body > main.qr-menu.theme-menutje-mono .menu-cover-business h1.menu-cover-title,
    body.public-body > main.qr-menu.theme-menutje-mono .theme2-title-row h1.menu-cover-title,
    body.public-body > main.qr-menu.theme-noir-catalog .menu-cover-business h1.menu-cover-title,
    body.public-body > main.qr-menu.theme-noir-catalog .theme2-title-row h1.menu-cover-title,
    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog .menu-cover-business h1.menu-cover-title,
    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog .theme2-title-row h1.menu-cover-title {
        font-size: clamp(9px, calc(var(--cover-title-size, 22px) * .78), 17px) !important;
    }
}

/* v394 Noir Gold desktop bottom dock mirrors the mobile action bar. */
@media (min-width: 992px) {
    body.public-body:has(> main.qr-menu.theme-noir-catalog) > main.qr-menu.theme-noir-catalog.has-mobile-actions {
        padding-bottom: 92px !important;
    }

    body.public-body:has(> main.qr-menu.theme-noir-catalog) > main.qr-menu.theme-noir-catalog .mobile-actions,
    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog .mobile-actions {
        --mobile-dock-edge: 72px;
        align-items: stretch !important;
        background: rgba(13, 16, 14, .96) !important;
        border: 1px solid rgba(216, 183, 106, .24) !important;
        border-radius: 24px !important;
        bottom: 18px !important;
        box-shadow: 0 22px 60px rgba(0, 0, 0, .34), inset 0 1px 0 rgba(255, 247, 232, .08) !important;
        box-sizing: border-box !important;
        display: grid !important;
        gap: 0 !important;
        grid-template-columns: var(--mobile-dock-edge) minmax(0, 1fr) var(--mobile-dock-edge) !important;
        height: 64px !important;
        left: 50% !important;
        margin: 0 !important;
        max-width: min(760px, calc(100vw - 48px)) !important;
        min-height: 64px !important;
        overflow: hidden !important;
        padding: 0 !important;
        position: fixed !important;
        right: auto !important;
        top: auto !important;
        transform: translateX(-50%) !important;
        width: min(760px, calc(100vw - 48px)) !important;
        z-index: 520 !important;
    }

    body.public-body:has(> main.qr-menu.theme-noir-catalog) > main.qr-menu.theme-noir-catalog .mobile-actions:not(.has-cart-edge):not(.has-service-edge) {
        grid-template-columns: minmax(0, 1fr) !important;
    }

    body.public-body:has(> main.qr-menu.theme-noir-catalog) > main.qr-menu.theme-noir-catalog .mobile-actions.has-cart-edge:not(.has-service-edge) {
        grid-template-columns: var(--mobile-dock-edge) minmax(0, 1fr) !important;
    }

    body.public-body:has(> main.qr-menu.theme-noir-catalog) > main.qr-menu.theme-noir-catalog .mobile-actions:not(.has-cart-edge).has-service-edge {
        grid-template-columns: minmax(0, 1fr) var(--mobile-dock-edge) !important;
    }

    body.public-body:has(> main.qr-menu.theme-noir-catalog) > main.qr-menu.theme-noir-catalog .mobile-actions-middle {
        align-items: stretch !important;
        align-self: stretch !important;
        background: rgba(13, 16, 14, .96) !important;
        border: 0 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        color: #d8b76a !important;
        display: grid !important;
        gap: 0 !important;
        grid-auto-columns: minmax(0, 1fr) !important;
        grid-auto-flow: column !important;
        grid-column: 2 !important;
        height: 64px !important;
        justify-self: stretch !important;
        margin: 0 !important;
        min-height: 64px !important;
        min-width: 0 !important;
        overflow: hidden !important;
        padding: 0 !important;
        width: 100% !important;
    }

    body.public-body:has(> main.qr-menu.theme-noir-catalog) > main.qr-menu.theme-noir-catalog .mobile-actions:not(.has-cart-edge):not(.has-service-edge) .mobile-actions-middle {
        grid-column: 1 / -1 !important;
    }

    body.public-body:has(> main.qr-menu.theme-noir-catalog) > main.qr-menu.theme-noir-catalog .mobile-actions.has-cart-edge .mobile-actions-middle {
        grid-column-start: 2 !important;
    }

    body.public-body:has(> main.qr-menu.theme-noir-catalog) > main.qr-menu.theme-noir-catalog .mobile-actions.has-service-edge .mobile-actions-middle {
        grid-column-end: -2 !important;
    }

    body.public-body:has(> main.qr-menu.theme-noir-catalog) > main.qr-menu.theme-noir-catalog .mobile-dock-edge,
    body.public-body:has(> main.qr-menu.theme-noir-catalog) > main.qr-menu.theme-noir-catalog .mobile-action-button {
        align-items: center !important;
        appearance: none !important;
        border: 0 !important;
        box-sizing: border-box !important;
        color: #d8b76a !important;
        cursor: pointer !important;
        display: inline-flex !important;
        height: 64px !important;
        justify-content: center !important;
        min-height: 64px !important;
        min-width: 0 !important;
        overflow: visible !important;
        padding: 0 !important;
        position: relative !important;
        text-decoration: none !important;
        transform: none !important;
        width: 100% !important;
    }

    body.public-body:has(> main.qr-menu.theme-noir-catalog) > main.qr-menu.theme-noir-catalog .mobile-action-button {
        background: rgba(13, 16, 14, .96) !important;
    }

    body.public-body:has(> main.qr-menu.theme-noir-catalog) > main.qr-menu.theme-noir-catalog .mobile-dock-edge {
        background: linear-gradient(135deg, #8f1111, #f01818) !important;
        color: #fff !important;
    }

    body.public-body:has(> main.qr-menu.theme-noir-catalog) > main.qr-menu.theme-noir-catalog .mobile-dock-cart {
        border-radius: 0 22px 0 0 !important;
        display: inline-flex !important;
        grid-column: 1 !important;
    }

    body.public-body:has(> main.qr-menu.theme-noir-catalog) > main.qr-menu.theme-noir-catalog .mobile-dock-service {
        border-radius: 22px 0 0 0 !important;
        display: inline-flex !important;
        grid-column: 3 !important;
    }

    body.public-body:has(> main.qr-menu.theme-noir-catalog) > main.qr-menu.theme-noir-catalog .mobile-actions:not(.has-cart-edge) .mobile-dock-cart,
    body.public-body:has(> main.qr-menu.theme-noir-catalog) > main.qr-menu.theme-noir-catalog .mobile-actions:not(.has-service-edge) .mobile-dock-service {
        display: none !important;
    }

    body.public-body:has(> main.qr-menu.theme-noir-catalog) > main.qr-menu.theme-noir-catalog .mobile-action-button strong {
        color: #d8b76a !important;
        font-size: 12px !important;
        font-weight: 900 !important;
        line-height: 1 !important;
        margin-left: 8px !important;
        max-width: 90px !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
    }

    body.public-body:has(> main.qr-menu.theme-noir-catalog) > main.qr-menu.theme-noir-catalog .mobile-dock-icon,
    body.public-body:has(> main.qr-menu.theme-noir-catalog) > main.qr-menu.theme-noir-catalog .mobile-actions-feedback-icon,
    body.public-body:has(> main.qr-menu.theme-noir-catalog) > main.qr-menu.theme-noir-catalog .mobile-actions-share-icon {
        color: currentColor !important;
        height: 34px !important;
        width: 34px !important;
    }

    body.public-body:has(> main.qr-menu.theme-noir-catalog) > main.qr-menu.theme-noir-catalog .mobile-dock-icon svg,
    body.public-body:has(> main.qr-menu.theme-noir-catalog) > main.qr-menu.theme-noir-catalog .mobile-actions-feedback-icon svg,
    body.public-body:has(> main.qr-menu.theme-noir-catalog) > main.qr-menu.theme-noir-catalog .mobile-actions-share-icon svg {
        height: 32px !important;
        width: 32px !important;
    }

    body.public-body:has(> main.qr-menu.theme-noir-catalog) > main.qr-menu.theme-noir-catalog .mobile-dock-icon svg .st0 {
        fill: #fff !important;
    }

    body.public-body:has(> main.qr-menu.theme-noir-catalog) > main.qr-menu.theme-noir-catalog .mobile-actions-feedback-icon svg .st0,
    body.public-body:has(> main.qr-menu.theme-noir-catalog) > main.qr-menu.theme-noir-catalog .mobile-actions-share-icon svg .st0 {
        fill: #d8b76a !important;
    }
}

/* v395 Noir Gold desktop dock exactly follows the mobile full-width icon bar. */
@media (min-width: 992px) {
    body.public-body:has(> main.qr-menu.theme-noir-catalog) > main.qr-menu.theme-noir-catalog.has-mobile-actions {
        padding-bottom: 76px !important;
    }

    body.public-body:has(> main.qr-menu.theme-noir-catalog) > main.qr-menu.theme-noir-catalog .mobile-actions,
    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog .mobile-actions {
        --mobile-dock-edge: 74px;
        align-items: stretch !important;
        background: rgba(13, 16, 14, .98) !important;
        border: 0 !important;
        border-radius: 0 !important;
        border-top: 1px solid rgba(216, 183, 106, .18) !important;
        bottom: 0 !important;
        box-shadow: 0 -14px 34px rgba(0, 0, 0, .26) !important;
        display: grid !important;
        gap: 0 !important;
        height: 62px !important;
        left: 0 !important;
        margin: 0 !important;
        max-width: 100vw !important;
        min-height: 62px !important;
        overflow: hidden !important;
        padding: 0 !important;
        right: 0 !important;
        transform: none !important;
        width: 100vw !important;
    }

    body.public-body:has(> main.qr-menu.theme-noir-catalog) > main.qr-menu.theme-noir-catalog .mobile-actions.has-cart-edge.has-service-edge,
    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog .mobile-actions.has-cart-edge.has-service-edge {
        grid-template-columns: var(--mobile-dock-edge) minmax(0, 1fr) var(--mobile-dock-edge) !important;
    }

    body.public-body:has(> main.qr-menu.theme-noir-catalog) > main.qr-menu.theme-noir-catalog .mobile-actions.has-cart-edge:not(.has-service-edge),
    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog .mobile-actions.has-cart-edge:not(.has-service-edge) {
        grid-template-columns: var(--mobile-dock-edge) minmax(0, 1fr) !important;
    }

    body.public-body:has(> main.qr-menu.theme-noir-catalog) > main.qr-menu.theme-noir-catalog .mobile-actions:not(.has-cart-edge).has-service-edge,
    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog .mobile-actions:not(.has-cart-edge).has-service-edge {
        grid-template-columns: minmax(0, 1fr) var(--mobile-dock-edge) !important;
    }

    body.public-body:has(> main.qr-menu.theme-noir-catalog) > main.qr-menu.theme-noir-catalog .mobile-actions:not(.has-cart-edge):not(.has-service-edge),
    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog .mobile-actions:not(.has-cart-edge):not(.has-service-edge) {
        grid-template-columns: minmax(0, 1fr) !important;
    }

    body.public-body:has(> main.qr-menu.theme-noir-catalog) > main.qr-menu.theme-noir-catalog .mobile-actions-middle,
    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog .mobile-actions-middle {
        align-items: stretch !important;
        background: rgba(13, 16, 14, .98) !important;
        border: 0 !important;
        border-radius: 0 !important;
        display: grid !important;
        gap: 0 !important;
        grid-auto-columns: minmax(0, 1fr) !important;
        grid-auto-flow: column !important;
        height: 62px !important;
        min-height: 62px !important;
        overflow: hidden !important;
        padding: 0 !important;
        width: 100% !important;
    }

    body.public-body:has(> main.qr-menu.theme-noir-catalog) > main.qr-menu.theme-noir-catalog .mobile-dock-edge,
    body.public-body:has(> main.qr-menu.theme-noir-catalog) > main.qr-menu.theme-noir-catalog .mobile-action-button,
    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog .mobile-dock-edge,
    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog .mobile-action-button {
        align-items: center !important;
        background: rgba(13, 16, 14, .98) !important;
        border: 0 !important;
        border-radius: 0 !important;
        color: #d8b76a !important;
        display: inline-flex !important;
        height: 62px !important;
        justify-content: center !important;
        min-height: 62px !important;
        min-width: 0 !important;
        padding: 0 !important;
        width: 100% !important;
    }

    body.public-body:has(> main.qr-menu.theme-noir-catalog) > main.qr-menu.theme-noir-catalog .mobile-action-button strong,
    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog .mobile-action-button strong {
        clip: rect(0 0 0 0) !important;
        height: 1px !important;
        margin: 0 !important;
        overflow: hidden !important;
        position: absolute !important;
        white-space: nowrap !important;
        width: 1px !important;
    }

    body.public-body:has(> main.qr-menu.theme-noir-catalog) > main.qr-menu.theme-noir-catalog .mobile-dock-icon,
    body.public-body:has(> main.qr-menu.theme-noir-catalog) > main.qr-menu.theme-noir-catalog .mobile-actions-feedback-icon,
    body.public-body:has(> main.qr-menu.theme-noir-catalog) > main.qr-menu.theme-noir-catalog .mobile-actions-share-icon,
    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog .mobile-dock-icon,
    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog .mobile-actions-feedback-icon,
    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog .mobile-actions-share-icon {
        color: #d8b76a !important;
        height: 34px !important;
        width: 34px !important;
    }

    body.public-body:has(> main.qr-menu.theme-noir-catalog) > main.qr-menu.theme-noir-catalog .mobile-dock-icon svg,
    body.public-body:has(> main.qr-menu.theme-noir-catalog) > main.qr-menu.theme-noir-catalog .mobile-actions-feedback-icon svg,
    body.public-body:has(> main.qr-menu.theme-noir-catalog) > main.qr-menu.theme-noir-catalog .mobile-actions-share-icon svg,
    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog .mobile-dock-icon svg,
    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog .mobile-actions-feedback-icon svg,
    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog .mobile-actions-share-icon svg {
        height: 31px !important;
        width: 31px !important;
    }

    body.public-body:has(> main.qr-menu.theme-noir-catalog) > main.qr-menu.theme-noir-catalog .mobile-dock-icon svg .st0,
    body.public-body:has(> main.qr-menu.theme-noir-catalog) > main.qr-menu.theme-noir-catalog .mobile-actions-feedback-icon svg .st0,
    body.public-body:has(> main.qr-menu.theme-noir-catalog) > main.qr-menu.theme-noir-catalog .mobile-actions-share-icon svg .st0,
    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog .mobile-dock-icon svg .st0,
    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog .mobile-actions-feedback-icon svg .st0,
    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog .mobile-actions-share-icon svg .st0 {
        fill: #d8b76a !important;
    }

    body.public-body:has(> main.qr-menu.theme-noir-catalog) > main.qr-menu.theme-noir-catalog .mobile-dock-cart em,
    body.public-body.menu-theme-noir-catalog > main.qr-menu.theme-noir-catalog .mobile-dock-cart em {
        background: #d8b76a !important;
        color: #0d100e !important;
    }
}

/* v156 menutje welcome picked products */
html body.public-body > main.qr-welcome-page.theme-menutje-mono .welcome-picked-rail {
    align-self: stretch !important;
    display: grid !important;
    gap: 10px !important;
    margin: clamp(8px, 2.4vw, 18px) 0 0 !important;
    max-width: min(100%, 820px) !important;
    min-width: 0 !important;
    width: 100% !important;
}

html body.public-body > main.qr-welcome-page.theme-menutje-mono .welcome-picked-rail > span {
    align-items: center !important;
    color: #121827 !important;
    display: flex !important;
    font-size: clamp(15px, 3.6vw, 18px) !important;
    font-weight: 950 !important;
    gap: 10px !important;
    letter-spacing: 0 !important;
    line-height: 1.12 !important;
    margin: 0 !important;
    min-width: 0 !important;
    text-transform: none !important;
}

html body.public-body > main.qr-welcome-page.theme-menutje-mono .welcome-picked-rail > span::after {
    background: linear-gradient(90deg, rgba(217, 133, 47, .54), rgba(217, 133, 47, 0)) !important;
    border-radius: 999px !important;
    content: "" !important;
    display: block !important;
    flex: 1 1 auto !important;
    height: 2px !important;
    min-width: 32px !important;
}

html body.public-body > main.qr-welcome-page.theme-menutje-mono .welcome-picked-rail > div {
    display: grid !important;
    gap: 12px !important;
    grid-auto-columns: minmax(250px, 292px) !important;
    grid-auto-flow: column !important;
    grid-template-columns: none !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    padding: 2px 4px 12px !important;
    scroll-padding-inline: 4px !important;
    scroll-snap-type: x proximity !important;
    scrollbar-width: thin !important;
}

html body.public-body > main.qr-welcome-page.theme-menutje-mono .welcome-picked-rail a {
    align-items: center !important;
    background: rgba(255, 255, 255, .96) !important;
    border: 1px solid rgba(18, 24, 39, .08) !important;
    border-radius: 16px !important;
    box-shadow: 0 14px 32px rgba(18, 24, 39, .10) !important;
    color: #121827 !important;
    display: grid !important;
    gap: 6px 12px !important;
    grid-template-columns: 82px minmax(0, 1fr) !important;
    grid-template-rows: auto minmax(0, 1fr) auto !important;
    min-height: 102px !important;
    overflow: hidden !important;
    padding: 10px !important;
    scroll-snap-align: start !important;
    text-align: left !important;
    text-decoration: none !important;
}

html body.public-body > main.qr-welcome-page.theme-menutje-mono .welcome-picked-rail img,
html body.public-body > main.qr-welcome-page.theme-menutje-mono .welcome-picked-rail b {
    align-self: stretch !important;
    aspect-ratio: 1 / 1 !important;
    background: #eef2f7 !important;
    border-radius: 12px !important;
    box-shadow: none !important;
    display: block !important;
    grid-column: 1 !important;
    grid-row: 1 / 4 !important;
    height: 82px !important;
    max-height: 82px !important;
    object-fit: cover !important;
    overflow: hidden !important;
    width: 82px !important;
}

html body.public-body > main.qr-welcome-page.theme-menutje-mono .welcome-picked-rail strong {
    color: #121827 !important;
    display: -webkit-box !important;
    font-size: 14px !important;
    font-weight: 900 !important;
    grid-column: 2 !important;
    line-height: 1.16 !important;
    margin: 0 !important;
    max-height: none !important;
    min-width: 0 !important;
    overflow: hidden !important;
    overflow-wrap: anywhere !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 2 !important;
}

html body.public-body > main.qr-welcome-page.theme-menutje-mono .welcome-picked-description {
    color: #667085 !important;
    display: -webkit-box !important;
    font-size: 12px !important;
    font-weight: 650 !important;
    grid-column: 2 !important;
    line-height: 1.22 !important;
    margin: 0 !important;
    min-width: 0 !important;
    overflow: hidden !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 2 !important;
}

html body.public-body > main.qr-welcome-page.theme-menutje-mono .welcome-picked-price {
    align-self: end !important;
    background: #fff3e6 !important;
    border-radius: 999px !important;
    color: #b86116 !important;
    display: inline-flex !important;
    font-size: 12px !important;
    font-weight: 950 !important;
    grid-column: 2 !important;
    justify-self: start !important;
    line-height: 1 !important;
    margin: 0 !important;
    max-width: 100% !important;
    min-height: 26px !important;
    padding: 7px 10px !important;
    white-space: nowrap !important;
}

@media (max-width: 560px) {
    html body.public-body > main.qr-welcome-page.theme-menutje-mono .welcome-picked-rail {
        gap: 8px !important;
        margin-top: 10px !important;
    }

    html body.public-body > main.qr-welcome-page.theme-menutje-mono .welcome-picked-rail > div {
        gap: 10px !important;
        grid-auto-columns: minmax(244px, calc(100vw - 34px)) !important;
        padding-bottom: 10px !important;
    }

    html body.public-body > main.qr-welcome-page.theme-menutje-mono .welcome-picked-rail a {
        grid-template-columns: 76px minmax(0, 1fr) !important;
        min-height: 98px !important;
        padding: 9px !important;
    }

    html body.public-body > main.qr-welcome-page.theme-menutje-mono .welcome-picked-rail img,
    html body.public-body > main.qr-welcome-page.theme-menutje-mono .welcome-picked-rail b {
        height: 76px !important;
        max-height: 76px !important;
        width: 76px !important;
    }
}

@media (min-width: 900px) {
    html body.public-body > main.qr-welcome-page.theme-menutje-mono .welcome-picked-rail {
        justify-self: start !important;
    }

    html body.public-body > main.qr-welcome-page.theme-menutje-mono .welcome-picked-rail > div {
        grid-auto-columns: minmax(264px, 300px) !important;
    }
}

/* v157 premium menutje welcome screen */
html body.public-body > main.qr-welcome-page.theme-menutje-mono {
    --menutje-ink: #111827;
    --menutje-muted: #667085;
    --menutje-soft: #f7f3ec;
    --menutje-gold: #d9852f;
    --menutje-gold-dark: #a65312;
    background:
        linear-gradient(180deg, #fffaf2 0%, #ffffff 46%, #eef7fb 100%) !important;
    color: var(--menutje-ink) !important;
    min-height: 100svh !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
}

html body.public-body > main.qr-welcome-page.theme-menutje-mono.welcome-has-bg {
    background: #111827 !important;
}

html body.public-body > main.qr-welcome-page.theme-menutje-mono .welcome-bg-media::after {
    background:
        linear-gradient(180deg, rgba(255, 250, 242, .94) 0%, rgba(255, 255, 255, .88) 42%, rgba(238, 247, 251, .96) 100%) !important;
}

html body.public-body > main.qr-welcome-page.theme-menutje-mono.welcome-has-bg .welcome-bg-media::after {
    background:
        linear-gradient(90deg, rgba(10, 13, 20, .76), rgba(10, 13, 20, .34) 46%, rgba(10, 13, 20, .78)),
        linear-gradient(180deg, rgba(10, 13, 20, .18), rgba(10, 13, 20, .82)) !important;
}

html body.public-body > main.qr-welcome-page.theme-menutje-mono .welcome-motion-grid {
    background:
        linear-gradient(90deg, rgba(17, 24, 39, .05) 1px, transparent 1px),
        linear-gradient(180deg, rgba(17, 24, 39, .04) 1px, transparent 1px) !important;
    background-size: 34px 34px !important;
    opacity: .18 !important;
}

html body.public-body > main.qr-welcome-page.theme-menutje-mono .welcome-fit-shell {
    align-content: start !important;
    box-sizing: border-box !important;
    display: grid !important;
    gap: clamp(12px, 2.2vw, 20px) !important;
    grid-template-rows: auto 1fr !important;
    min-height: 100svh !important;
    overflow: visible !important;
    padding: clamp(14px, 2.8vw, 30px) !important;
}

html body.public-body > main.qr-welcome-page.theme-menutje-mono .welcome-topbar {
    align-items: center !important;
    display: flex !important;
    gap: 10px !important;
    justify-content: space-between !important;
    position: relative !important;
    z-index: 2 !important;
}

html body.public-body > main.qr-welcome-page.theme-menutje-mono .welcome-brand-chip {
    align-items: center !important;
    background: rgba(255, 255, 255, .92) !important;
    border: 1px solid rgba(17, 24, 39, .08) !important;
    border-radius: 999px !important;
    box-shadow: 0 16px 38px rgba(17, 24, 39, .12) !important;
    color: var(--menutje-ink) !important;
    display: inline-flex !important;
    gap: 10px !important;
    max-width: min(100%, 310px) !important;
    min-height: 52px !important;
    min-width: 0 !important;
    padding: 6px 16px 6px 6px !important;
    text-decoration: none !important;
}

html body.public-body > main.qr-welcome-page.theme-menutje-mono .welcome-brand-chip img,
html body.public-body > main.qr-welcome-page.theme-menutje-mono .welcome-brand-chip > span {
    background: #fff7ed !important;
    border: 1px solid rgba(217, 133, 47, .20) !important;
    border-radius: 999px !important;
    color: var(--menutje-gold-dark) !important;
    flex: 0 0 40px !important;
    font-size: 13px !important;
    font-weight: 950 !important;
    height: 40px !important;
    object-fit: cover !important;
    width: 40px !important;
}

html body.public-body > main.qr-welcome-page.theme-menutje-mono .welcome-brand-chip strong {
    color: var(--menutje-ink) !important;
    display: block !important;
    font-size: 14px !important;
    font-weight: 900 !important;
    min-width: 0 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

html body.public-body > main.qr-welcome-page.theme-menutje-mono .welcome-locale-pills {
    align-items: center !important;
    background: rgba(255, 255, 255, .82) !important;
    border: 1px solid rgba(17, 24, 39, .08) !important;
    border-radius: 999px !important;
    box-shadow: 0 12px 28px rgba(17, 24, 39, .08) !important;
    display: inline-flex !important;
    flex: 0 0 auto !important;
    gap: 4px !important;
    padding: 4px !important;
}

html body.public-body > main.qr-welcome-page.theme-menutje-mono .welcome-locale-pills a {
    align-items: center !important;
    border-radius: 999px !important;
    color: #475467 !important;
    display: inline-flex !important;
    font-size: 11px !important;
    font-weight: 900 !important;
    height: 30px !important;
    justify-content: center !important;
    min-width: 34px !important;
    padding: 0 9px !important;
    text-decoration: none !important;
}

html body.public-body > main.qr-welcome-page.theme-menutje-mono .welcome-locale-pills a.active {
    background: var(--menutje-ink) !important;
    color: #ffffff !important;
}

html body.public-body > main.qr-welcome-page.theme-menutje-mono .welcome-hero-copy {
    align-self: start !important;
    display: grid !important;
    gap: clamp(12px, 2vw, 18px) !important;
    margin: 0 auto !important;
    max-width: 980px !important;
    min-width: 0 !important;
    padding-top: clamp(4px, 2vh, 22px) !important;
    position: relative !important;
    width: 100% !important;
    z-index: 1 !important;
}

html body.public-body > main.qr-welcome-page.theme-menutje-mono .welcome-hero-copy .welcome-greeting {
    align-items: center !important;
    color: var(--menutje-gold-dark) !important;
    display: inline-flex !important;
    font-size: clamp(12px, 3.2vw, 14px) !important;
    font-weight: 950 !important;
    gap: 9px !important;
    letter-spacing: .08em !important;
    line-height: 1 !important;
    text-shadow: none !important;
    text-transform: uppercase !important;
}

html body.public-body > main.qr-welcome-page.theme-menutje-mono .welcome-hero-copy .welcome-greeting::before {
    background: var(--menutje-gold) !important;
    border-radius: 999px !important;
    content: "" !important;
    display: block !important;
    height: 24px !important;
    width: 4px !important;
}

html body.public-body > main.qr-welcome-page.theme-menutje-mono .welcome-hero-copy h1 {
    color: var(--menutje-ink) !important;
    font-size: clamp(42px, 13vw, 74px) !important;
    font-weight: 950 !important;
    letter-spacing: 0 !important;
    line-height: .92 !important;
    margin: 0 !important;
    max-width: 760px !important;
    overflow-wrap: normal !important;
    text-shadow: 0 18px 40px rgba(17, 24, 39, .08) !important;
}

html body.public-body > main.qr-welcome-page.theme-menutje-mono .welcome-action-row {
    align-items: stretch !important;
    display: grid !important;
    gap: 12px !important;
    grid-template-columns: minmax(0, 1fr) !important;
    max-width: 820px !important;
    width: 100% !important;
}

html body.public-body > main.qr-welcome-page.theme-menutje-mono .welcome-menu-visual {
    align-items: stretch !important;
    background:
        linear-gradient(90deg, rgba(10, 8, 6, .20), rgba(10, 8, 6, .10) 42%, rgba(10, 8, 6, .74)),
        url("../img/welcome-menu-chef-touch.png") center 56% / cover no-repeat !important;
    border: 1px solid rgba(255, 255, 255, .55) !important;
    border-radius: 22px !important;
    box-shadow: 0 24px 56px rgba(17, 24, 39, .20) !important;
    color: #ffffff !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    isolation: isolate !important;
    min-height: clamp(154px, 28vw, 230px) !important;
    overflow: hidden !important;
    padding: 18px !important;
    position: relative !important;
    text-align: left !important;
}

html body.public-body > main.qr-welcome-page.theme-menutje-mono .welcome-menu-visual::before {
    background:
        linear-gradient(180deg, rgba(255, 255, 255, .14), transparent 34%),
        linear-gradient(135deg, rgba(217, 133, 47, .32), transparent 48%) !important;
    content: "" !important;
    inset: 0 !important;
    opacity: 1 !important;
    position: absolute !important;
    z-index: 0 !important;
}

html body.public-body > main.qr-welcome-page.theme-menutje-mono .welcome-menu-visual::after {
    align-items: center !important;
    align-self: end !important;
    background: rgba(255, 255, 255, .94) !important;
    border-radius: 999px !important;
    box-shadow: 0 12px 30px rgba(0, 0, 0, .20) !important;
    color: var(--menutje-gold-dark) !important;
    content: "›" !important;
    display: inline-flex !important;
    font-size: 38px !important;
    font-weight: 700 !important;
    height: 48px !important;
    justify-content: center !important;
    line-height: 1 !important;
    position: relative !important;
    width: 48px !important;
    z-index: 1 !important;
}

html body.public-body > main.qr-welcome-page.theme-menutje-mono .welcome-menu-visual .welcome-menu-illustration,
html body.public-body > main.qr-welcome-page.theme-menutje-mono .welcome-menu-visual i {
    display: none !important;
}

html body.public-body > main.qr-welcome-page.theme-menutje-mono .welcome-menu-visual .welcome-action-text {
    align-self: end !important;
    display: grid !important;
    gap: 8px !important;
    justify-items: start !important;
    max-width: 410px !important;
    min-width: 0 !important;
    padding: 0 !important;
    position: relative !important;
    text-align: left !important;
    z-index: 1 !important;
}

html body.public-body > main.qr-welcome-page.theme-menutje-mono .welcome-menu-visual .welcome-action-text b {
    color: #ffffff !important;
    display: block !important;
    font-size: clamp(43px, 12vw, 82px) !important;
    font-weight: 950 !important;
    letter-spacing: 0 !important;
    line-height: .84 !important;
    text-shadow: 0 12px 30px rgba(0, 0, 0, .42) !important;
    text-transform: uppercase !important;
}

html body.public-body > main.qr-welcome-page.theme-menutje-mono .welcome-menu-visual .welcome-action-text b::after {
    background: linear-gradient(90deg, #ffffff, #f3c678, transparent) !important;
    border-radius: 999px !important;
    box-shadow: 0 0 24px rgba(243, 198, 120, .46) !important;
    content: "" !important;
    display: block !important;
    height: 3px !important;
    margin: 12px 0 0 !important;
    width: min(128px, 48vw) !important;
}

html body.public-body > main.qr-welcome-page.theme-menutje-mono .welcome-menu-visual .welcome-action-text small {
    color: rgba(255, 255, 255, .88) !important;
    display: block !important;
    font-size: clamp(13px, 3.6vw, 16px) !important;
    font-weight: 750 !important;
    line-height: 1.2 !important;
    text-shadow: 0 8px 18px rgba(0, 0, 0, .35) !important;
}

html body.public-body > main.qr-welcome-page.theme-menutje-mono .welcome-survey-button {
    align-items: center !important;
    background: rgba(255, 255, 255, .94) !important;
    border: 1px solid rgba(17, 24, 39, .08) !important;
    border-radius: 20px !important;
    box-shadow: 0 16px 36px rgba(17, 24, 39, .10) !important;
    color: var(--menutje-ink) !important;
    display: grid !important;
    gap: 12px !important;
    grid-template-columns: 52px minmax(0, 1fr) !important;
    min-height: 86px !important;
    overflow: hidden !important;
    padding: 14px !important;
    text-align: left !important;
}

html body.public-body > main.qr-welcome-page.theme-menutje-mono .welcome-survey-button::after {
    display: none !important;
}

html body.public-body > main.qr-welcome-page.theme-menutje-mono .welcome-survey-icon {
    background: #fff7ed !important;
    border: 1px solid rgba(217, 133, 47, .20) !important;
    border-radius: 16px !important;
    color: var(--menutje-gold-dark) !important;
    height: 52px !important;
    width: 52px !important;
}

html body.public-body > main.qr-welcome-page.theme-menutje-mono .welcome-survey-button .welcome-action-text {
    display: grid !important;
    gap: 3px !important;
    min-width: 0 !important;
}

html body.public-body > main.qr-welcome-page.theme-menutje-mono .welcome-survey-button .welcome-action-text b {
    color: var(--menutje-ink) !important;
    display: block !important;
    font-size: clamp(14px, 3.8vw, 17px) !important;
    font-weight: 900 !important;
    line-height: 1.12 !important;
    overflow-wrap: anywhere !important;
}

html body.public-body > main.qr-welcome-page.theme-menutje-mono .welcome-survey-button .welcome-action-text small {
    color: var(--menutje-muted) !important;
    display: block !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
}

html body.public-body > main.qr-welcome-page.theme-menutje-mono .welcome-announcement-block {
    background: rgba(255, 255, 255, .92) !important;
    border: 1px solid rgba(17, 24, 39, .08) !important;
    border-radius: 22px !important;
    box-shadow: 0 18px 42px rgba(17, 24, 39, .10) !important;
    display: grid !important;
    gap: 10px !important;
    max-width: 820px !important;
    min-height: 0 !important;
    overflow: hidden !important;
    padding: 12px !important;
    width: 100% !important;
}

html body.public-body > main.qr-welcome-page.theme-menutje-mono .welcome-announcement-heading {
    color: var(--menutje-ink) !important;
    font-size: 14px !important;
    font-weight: 950 !important;
    letter-spacing: 0 !important;
    line-height: 1.1 !important;
}

html body.public-body > main.qr-welcome-page.theme-menutje-mono .welcome-announcement-block .welcome-announcement-slider {
    border-radius: 16px !important;
    height: clamp(128px, 23vw, 188px) !important;
    margin: 0 !important;
    min-height: clamp(128px, 23vw, 188px) !important;
    overflow: hidden !important;
    width: 100% !important;
}

html body.public-body > main.qr-welcome-page.theme-menutje-mono .welcome-announcement-slide {
    min-height: clamp(128px, 23vw, 188px) !important;
}

@media (min-width: 760px) {
    html body.public-body > main.qr-welcome-page.theme-menutje-mono .welcome-action-row:has(.welcome-survey-button) {
        grid-template-columns: minmax(0, 1.45fr) minmax(250px, .8fr) !important;
    }

    html body.public-body > main.qr-welcome-page.theme-menutje-mono .welcome-survey-button {
        align-self: stretch !important;
        min-height: 100% !important;
    }
}

@media (min-width: 900px) {
    html body.public-body > main.qr-welcome-page.theme-menutje-mono .welcome-fit-shell {
        padding-left: clamp(24px, 5vw, 72px) !important;
        padding-right: clamp(24px, 5vw, 72px) !important;
    }

    html body.public-body > main.qr-welcome-page.theme-menutje-mono .welcome-hero-copy {
        margin-left: 0 !important;
        max-width: 1080px !important;
    }

    html body.public-body > main.qr-welcome-page.theme-menutje-mono .welcome-hero-copy h1 {
        max-width: 820px !important;
    }
}

@media (max-width: 560px) {
    html body.public-body > main.qr-welcome-page.theme-menutje-mono .welcome-fit-shell {
        padding: 15px 14px 22px !important;
    }

    html body.public-body > main.qr-welcome-page.theme-menutje-mono .welcome-topbar {
        gap: 8px !important;
    }

    html body.public-body > main.qr-welcome-page.theme-menutje-mono .welcome-brand-chip {
        min-height: 50px !important;
        padding-right: 13px !important;
    }

    html body.public-body > main.qr-welcome-page.theme-menutje-mono .welcome-brand-chip strong {
        font-size: 13px !important;
    }

    html body.public-body > main.qr-welcome-page.theme-menutje-mono .welcome-locale-pills a {
        height: 28px !important;
        min-width: 31px !important;
        padding: 0 7px !important;
    }

    html body.public-body > main.qr-welcome-page.theme-menutje-mono .welcome-hero-copy {
        gap: 11px !important;
        padding-top: 2px !important;
    }

    html body.public-body > main.qr-welcome-page.theme-menutje-mono .welcome-hero-copy h1 {
        font-size: clamp(38px, 11vw, 48px) !important;
    }

    html body.public-body > main.qr-welcome-page.theme-menutje-mono .welcome-menu-visual {
        border-radius: 19px !important;
        min-height: 154px !important;
        padding: 15px !important;
    }

    html body.public-body > main.qr-welcome-page.theme-menutje-mono .welcome-menu-visual::after {
        height: 42px !important;
        width: 42px !important;
    }

    html body.public-body > main.qr-welcome-page.theme-menutje-mono .welcome-survey-button {
        border-radius: 18px !important;
        min-height: 78px !important;
        padding: 12px !important;
    }
}
body.public-body > main.qr-menu.has-cover-video .menu-hero {
    position: relative;
    overflow: hidden;
}

body.public-body > main.qr-menu.has-cover-video .menu-cover-video-layer {
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    background: #0d0d0d;
}

body.public-body > main.qr-menu.has-cover-video .menu-cover-video-layer::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(0, 0, 0, .38), rgba(0, 0, 0, .68));
}

body.public-body > main.qr-menu.has-cover-video .menu-cover-video-layer video {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

body.public-body > main.qr-menu.has-cover-video .menu-hero > :not(.menu-cover-video-layer) {
    position: relative;
    z-index: 1;
}

.theme-settings-form .existing-media video {
    width: 100%;
    max-height: 220px;
    display: block;
    object-fit: cover;
    border-radius: 12px;
}

/* v401 landing phone preview: native mobile view, no camera island. */
.launch-landing .launch-modern-phone .launch-phone-bar {
    display: none !important;
}

.launch-landing .launch-modern-phone .launch-phone-screen,
.launch-landing .launch-modern-phone .launch-demo-frame {
    border-radius: 50px !important;
}

@media (max-width: 620px) {
    .launch-landing .launch-modern-phone .launch-phone-screen,
    .launch-landing .launch-modern-phone .launch-demo-frame {
        border-radius: 36px !important;
    }
}

/* v403 working menu phones: match landing phone preview without a black camera notch. */
.launch-references .reference-phone-frame::before,
.launch-references .reference-phone-speaker {
    display: none !important;
}

.launch-references .reference-phone-frame iframe {
    top: 0 !important;
}

/* v406 theme 1: keep cover darkening inside the cover media layer only. */
body.public-body > main.qr-menu.theme-menutje-mono.has-cover:not(.has-cover-video) .menu-hero,
.public-body .qr-menu.theme-menutje-mono.has-cover:not(.has-cover-video) .menu-hero {
    background: #f6f6f1 !important;
    isolation: isolate !important;
    overflow: hidden !important;
}

body.public-body > main.qr-menu.theme-menutje-mono.has-cover:not(.has-cover-video) .menu-hero::before,
.public-body .qr-menu.theme-menutje-mono.has-cover:not(.has-cover-video) .menu-hero::before {
    content: none !important;
    display: none !important;
}

body.public-body > main.qr-menu.theme-menutje-mono.has-cover:not(.has-cover-video) .menu-hero::after,
.public-body .qr-menu.theme-menutje-mono.has-cover:not(.has-cover-video) .menu-hero::after {
    background:
        linear-gradient(180deg, rgba(16, 12, 10, .38), rgba(16, 12, 10, .66)),
        var(--cover-image) center / cover no-repeat !important;
    content: "" !important;
    inset: 0 !important;
    opacity: 1 !important;
    pointer-events: none !important;
    position: absolute !important;
    z-index: 0 !important;
}

body.public-body > main.qr-menu.theme-menutje-mono.has-cover-video .menu-hero::before,
body.public-body > main.qr-menu.theme-menutje-mono.has-cover-video .menu-hero::after,
.public-body .qr-menu.theme-menutje-mono.has-cover-video .menu-hero::before,
.public-body .qr-menu.theme-menutje-mono.has-cover-video .menu-hero::after {
    content: none !important;
    display: none !important;
}

body.public-body > main.qr-menu.theme-menutje-mono.has-cover .menu-hero > :not(.menu-cover-video-layer),
.public-body .qr-menu.theme-menutje-mono.has-cover .menu-hero > :not(.menu-cover-video-layer) {
    position: relative !important;
    z-index: 1 !important;
}

body.public-body > main.qr-menu.theme-menutje-mono .footer-contact-card.wifi-card.is-static-wifi,
.public-body .qr-menu.theme-menutje-mono .footer-contact-card.wifi-card.is-static-wifi {
    cursor: default !important;
}
