.theme_2 .items-not-available {
    padding: 50px 20px;
    text-align: center;
    font-size: 16px;
}

.theme_2 #toggleSwitch {
    display: flex !important;
    justify-content: flex-end;
}

.theme_2 .sticky_part {
    position: sticky;
    position: -webkit-sticky;
    top: 50px;
    z-index: 1;
    padding: 4px 0;
}

@media(max-width:767px) {
    .theme_2 .sticky_part {
        top: 0px;
    }
}

.theme_2 .ic_food {
    position: relative;
    top: 4px;
    margin-right: 5px;
}

.theme_2 .loading-image {
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 10;
}

.theme_2 .loader {
    display: none;
    width: 100px;
    height: 100px;
    position: absolute;
    top: 0%;
    left: 50%;
    transform: translateX(-50%);
    z-index: 1;
    overflow: auto;
}

/* ===========================
   VEG ONLY TOGGLE — menu3
=========================== */

.cafe-veg-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    flex: 1;
    min-width: 0;
    height: 40px;
    padding: 0;
}

.cafe-veg-toggle .veg-nonveg-toggle {
    display: flex;
    align-items: center;
}

/* Override global style.css toggleSwitch defaults */
.cafe-veg-toggle .menu3-veg-switch.toggleSwitch,
.cafe-veg-toggle .veg-nonveg-toggle .menu3-veg-switch.toggleSwitch {
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: none !important;
    display: flex !important;
    align-items: center !important;
    box-shadow: none !important;
}

.menu3-veg-switch__row {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 36px;
    height: 36px;
}

/* Label — always fully visible */
.menu3-veg-switch__label,
.cafe-veg-toggle .toggle-title.menu3-veg-switch__label {
    font-size: 14px !important;
    font-weight: 600 !important;
    color: var(--cafe-espresso) !important;
    opacity: 1 !important;
    margin: 0 !important;
    padding: 0 !important;
    white-space: nowrap;
    line-height: 1.2;
    width: auto !important;
    word-break: normal !important;
}

/* Leaf icon badge */
.menu3-veg-switch__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 28px;
    height: 28px;
}

.cafe-veg-toggle .menu3-veg-switch__icon .ic_food {
    position: static;
    top: auto;
    margin: 0;
    width: 28px !important;
    height: 28px;
    padding: 4px;
    background: var(--cafe-veg-on-bg);
    border-radius: 50%;
    border: 2px solid #cfe6c7;
    box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.05);
    transition: opacity 0.25s ease, filter 0.25s ease, background 0.25s ease, border-color 0.25s ease;
}

/* Icon inactive only when OFF */
.menu3-veg-switch:not(:has(.menu3-veg-switch__input:checked)) .menu3-veg-switch__icon .ic_food {
    opacity: 0.45;
    filter: grayscale(0.55);
    border-color: var(--cafe-veg-off-border);
    background: var(--cafe-veg-off-bg);
}

.menu3-veg-switch:has(.menu3-veg-switch__input:checked) .menu3-veg-switch__icon .ic_food {
    opacity: 1;
    filter: none;
    border-color: var(--cafe-veg-active-border);
    background: var(--cafe-veg-on-bg);
}

/* Switch track wrapper — fixed size prevents layout shift */
.menu3-veg-switch__track-wrap {
    position: relative;
    display: inline-flex;
    align-items: center;
    flex-shrink: 0;
    width: 44px;
    height: 24px;
}

.menu3-veg-switch__input {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
    margin: 0;
    pointer-events: none;
    visibility: hidden;
}

/* Switch track — override global .toggleSwitch label */
.cafe-veg-toggle .menu3-veg-switch__track,
.menu3-veg-switch .menu3-veg-switch__track {
    display: block !important;
    width: 44px !important;
    height: 24px !important;
    min-width: 44px !important;
    min-height: 24px !important;
    margin: 0 !important;
    padding: 0 !important;
    background: var(--cafe-filter-track-off) !important;
    border-radius: 999px !important;
    position: relative !important;
    cursor: pointer;
    text-indent: 0 !important;
    overflow: hidden;
    transition: background-color 0.25s ease;
    box-sizing: border-box;
}

/* Knob — transform-based animation (overrides global left/transform rules) */
.cafe-veg-toggle .menu3-veg-switch__track::after,
.menu3-veg-switch .menu3-veg-switch__track::after {
    content: "" !important;
    position: absolute !important;
    top: 2px !important;
    left: 2px !important;
    inset-inline-start: 2px !important;
    width: 20px !important;
    height: 20px !important;
    background: var(--cafe-surface) !important;
    border-radius: 50% !important;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.18) !important;
    transition: transform 0.25s ease !important;
    transform: translateX(0) !important;
}

.menu3-veg-switch__input:checked + .menu3-veg-switch__track {
    background: var(--cafe-veg-switch-on) !important;
}

.menu3-veg-switch__input:checked + .menu3-veg-switch__track::after {
    transform: translateX(20px) !important;
    left: 2px !important;
    inset-inline-start: 2px !important;
}

/* Track inactive appearance when OFF (switch only, not label) */
.menu3-veg-switch:not(:has(.menu3-veg-switch__input:checked)) .menu3-veg-switch__track {
    background: var(--cafe-filter-track-off) !important;
}

.menu3-veg-switch:has(.menu3-veg-switch__input:checked) .menu3-veg-switch__track {
    background: var(--cafe-veg-switch-on) !important;
}

/* Mobile filter panel switch */
.menu3-veg-switch--mobile {
    display: inline-flex;
    align-items: center;
    min-height: 24px;
    height: 24px;
}

.menu3-veg-switch--mobile .menu3-veg-switch__track-wrap {
    width: 44px;
    height: 24px;
}

.theme-cafe .mobile-veg-toggle .menu3-veg-switch--mobile {
    background: none;
    border: none;
    padding: 0;
    margin: 0;
}

.theme-cafe .mobile-veg-label-text {
    opacity: 1 !important;
    color: var(--cafe-coffee) !important;
}
