/* Keep captions and their indicators in the same centered group. */
body[data-menu-theme="classic-theme"] .user-lang-wrapper {
    align-items: center;
    gap: 8px;
}

body[data-menu-theme="classic-theme"] .user-lang-wrapper #call-the-waiter-btn {
    margin-inline: 0 !important;
}

body[data-menu-theme="classic-theme"] .user-lang-switcher > .menu-classic-language-toggle {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: 7px;
    min-block-size: 44px;
    padding: 0 10px !important;
    box-sizing: border-box;
}

body[data-menu-theme="classic-theme"] .menu-classic-language-toggle :is(.filter-option, .caret) {
    position: static !important;
    inset: auto !important;
    float: none !important;
    flex: none;
    margin: 0 !important;
    transform: none;
}

body[data-menu-theme="classic-theme"] .menu-classic-language-toggle .filter-option {
    display: inline-flex;
    align-items: center;
    inline-size: auto !important;
    padding: 0 !important;
}

body[data-menu-theme="classic-theme"] .menu-classic-language-toggle::after {
    display: none;
}

body[data-menu-theme="modern-theme"] .current-language {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    min-block-size: 44px;
    padding-block: 0;
}

/* The cover controls in theme 18 are positioned individually. Use a single row
   with an even gap and keep the current layout stable on hover. */
html body[data-menu-theme="modern-theme-18"] :is(.language_selector_top_right, #ti18-mode-toggle, .waiter-call) {
    top: 15px !important;
}

html body[data-menu-theme="modern-theme-18"] .language_selector_top_right {
    inset-inline: auto 8px !important;
    block-size: 44px;
    min-block-size: 44px;
}

body[data-menu-theme="modern-theme-18"] .language_selector_top_right:hover {
    transform: none;
}

html body[data-menu-theme="modern-theme-18"] #ti18-mode-toggle {
    inset-inline: auto 74px !important;
}

html body[data-menu-theme="modern-theme-18"] .waiter-call {
    inset-inline: auto 126px !important;
}

html body[data-menu-theme="modern-theme-18"] :is(#ti18-mode-toggle, .waiter-call #call-the-waiter-btn) {
    inline-size: 44px !important;
    block-size: 44px !important;
    padding: 0 !important;
    box-sizing: border-box;
}

body:is([data-menu-theme="modern-theme-20"], [data-menu-theme="modern-theme-21"], [data-menu-theme="modern-theme-22"]) .header-right .header-icon-btn {
    block-size: 44px !important;
    min-block-size: 44px !important;
}

body:is([data-menu-theme="modern-theme-20"], [data-menu-theme="modern-theme-21"], [data-menu-theme="modern-theme-22"]) .header-right .header-icon-btn:not(:is(.mi-menu-language-trigger, .lang-dropdown-btn, :has(.icon-label))) {
    inline-size: 44px;
    min-inline-size: 44px;
}

/* Align the square controls without overriding the theme's chosen colors or
   making text rows and product tiles behave like buttons in a toolbar. */
body[data-menu-theme] button:is(.mi-media-close, .mi-lunch-close),
body[data-menu-theme="modern-theme-18"] :is(button.quick-modal-close, #language-selector button.btn-close),
body:is([data-menu-theme="modern-theme-20"], [data-menu-theme="modern-theme-21"], [data-menu-theme="modern-theme-22"]) button:is(.fullscreen-close-btn, .dish-modal-close-btn, .order-modal-close):not([data-waiter-close]),
body:is([data-menu-theme="modern-theme-23"], [data-menu-theme="modern-theme-24"], [data-menu-theme="modern-theme-25"]) button.mt23-modal-close {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    min-inline-size: 44px;
    min-block-size: 44px;
    flex-shrink: 0;
    padding: 0 !important;
    line-height: 1;
}

body[data-menu-theme] :is(.mi-media-apply, .mi-lunch-submit) {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    min-block-size: 44px;
    text-align: center;
}
