/* css/menu-minimal.css — Phase L100 (minimal-tile view).
 *
 * Карточки сливаются с фоном страницы (no card chrome): фото с rounded
 * corners + текстовый блок ниже + outline-circle «+» CTA. Все цвета и
 * шрифты — из tenant-level CSS vars (--primary-color, --ui-text,
 * --ui-text-muted, --font-text, --font-heading и пр.), чтобы layout
 * единообразно отражал brand-токены сайта.
 *
 * Активируется через body.menu-view-minimal (выставляется в menu.php
 * когда users.menu_view === 'minimal').
 */

body.menu-view-minimal {
    /* Minimal-specific ink tokens. Не используем tenant --text-color /
       --ui-text напрямую — labus tenant имеет их misconfigured:
       --text-color = #dedede, --ui-text = --light-text = #555 (dark-theme
       palette, не подходящий для light bg minimal view). --mm-ink-strong
       hard-coded dark hex гарантирует readable contrast независимо от
       tenant overrides; --mm-ink-muted — для secondary text (captions). */
    --mm-ink-strong: #1a1a1a;
    --mm-ink: #1a1a1a;
    --mm-ink-muted: rgba(26, 26, 26, 0.55);
    --mm-border: var(--ui-border, rgba(0, 0, 0, 0.08));
    --mm-accent: var(--primary-color, #cd1719);
    --mm-accent-rgb: var(--primary-color-rgb, 205, 23, 25);
    --mm-radius-photo: 16px;
    --mm-tile-gap: clamp(20px, 2.4vw, 32px);
    --mm-row-gap: clamp(28px, 3vw, 40px);

    color: var(--mm-ink);
    font-family: var(--font-text, "proxima-nova", sans-serif);
}

/* ===== Header — без vertical padding в minimal view (per user request).
   Header inherits только natural spacing от .menu-discovery-strip выше и
   .menu-minimal-tabs-container ниже. ===== */
body.menu-view-minimal .menu-minimal-header {
    align-items: baseline;
    margin: 0;
}
/* «Меню» heading — high-contrast тёмный текст через minimal-specific token. */
body.menu-view-minimal .menu-minimal-h2 {
    color: var(--mm-ink-strong);
    font-family: var(--font-heading, var(--font-text, "Inter", sans-serif));
    font-weight: 700;
    letter-spacing: -0.01em;
    margin: 0;
}
/* Cart-link (carries both .order-summary-btn и .menu-minimal-cart-link
   classes на одном элементе). Per user — brand outline pill, 700 weight,
   50px height, без brand shadow (override легаси .order-summary-btn
   `box-shadow: 0 18px 34px rgba(primary, 0.16)` — глобальное правило не
   тронуто, перебиваем локально). Compound selector с .order-summary-btn
   bumps specificity чтобы override стабильно выигрывал. */
body.menu-view-minimal .menu-minimal-cart-link,
body.menu-view-minimal .order-summary-btn.menu-minimal-cart-link {
    align-items: center;
    background: transparent;
    border: 1px solid var(--primary-color);
    border-radius: 999px;
    box-shadow: none;
    color: var(--mm-ink);
    display: inline-flex;
    font-family: inherit;
    font-weight: 700;
    gap: 10px;
    min-height: 50px;
    padding: 10px 20px;
    transition: border-color 0.18s ease, transform 0.18s ease;
}
body.menu-view-minimal .menu-minimal-cart-link:hover {
    border-color: var(--mm-accent);
    transform: translateY(-1px);
}

/* ===== Tabs ===== */
body.menu-view-minimal .menu-minimal-tabs-container {
    margin-bottom: clamp(20px, 2.4vw, 32px);
}
body.menu-view-minimal .menu-minimal-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    border: none;
    background: transparent;
    padding: 0;
}
body.menu-view-minimal .menu-minimal-tab {
    background: transparent;
    border: 1px solid transparent;
    border-radius: 999px;
    color: var(--mm-ink-muted);
    cursor: pointer;
    font-family: inherit;
    font-size: 14px;
    font-weight: 500;
    padding: 8px 16px;
    transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}
body.menu-view-minimal .menu-minimal-tab:hover {
    color: var(--mm-ink);
    border-color: var(--mm-border);
}
body.menu-view-minimal .menu-minimal-tab.active {
    background: var(--mm-ink);
    color: var(--ui-accent-contrast, #ffffff);
    border-color: var(--mm-ink);
}

/* ===== Grid ===== */
/* Legacy menu-alt.min.css даёт `.tab-pane.active { display: grid }`
   (single-column grid). Override на block для full-width minimal layout.
   КРИТИЧНО: только .active получает display:block — selector без .active
   (предыдущая версия v3.14.x) делал ВСЕ panes видимыми → весь контент
   всех категорий стекался вертикально, активный showing пустой gap до
   тайлов. Inactive .tab-pane should stay hidden. */
body.menu-view-minimal .tab-pane.active {
    display: block;
    width: 100%;
}
body.menu-view-minimal .tab-pane:not(.active) {
    display: none;
}
/* Max 3 columns на любом устройстве (per user). Раньше auto-fill
   позволяло 4-5 колонок на широких экранах; теперь fixed 3-col max.
   На mobile (≤480) — 2 cols для читаемости. */
body.menu-view-minimal .menu-minimal-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    column-gap: var(--mm-tile-gap);
    row-gap: var(--mm-row-gap);
    padding: 4px 0 32px;
    width: 100%;
}
@media (max-width: 480px) {
    body.menu-view-minimal .menu-minimal-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        column-gap: 12px;
        row-gap: 24px;
    }
}

/* ===== Tile — без card chrome: bg transparent (matches page), no border,
   sharp corners (radius 0), no shadow. Photo, name, caption, price+button
   stack без card frame; визуальное разделение между плитками — gap grid.
   Все эти rules — overrides для legacy menu-alt.min.css правил
   .menu-item / .cart-item-image / .menu-item h3 / .price / .buy которые
   остаются как есть для других 3 views (default/alt/info). ===== */
body.menu-view-minimal .menu-minimal-tile,
body.menu-view-minimal .menu-item.menu-minimal-tile {
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    display: flex;
    flex-direction: column;
    overflow: visible;
    padding: 16px;
    transition: transform 0.22s ease;
}
body.menu-view-minimal .menu-minimal-tile:hover {
    transform: translateY(-2px);
}
body.menu-view-minimal .menu-item--unavailable.menu-minimal-tile {
    opacity: 0.5;
    pointer-events: none;
}

body.menu-view-minimal .menu-minimal-tile-imagewrap {
    aspect-ratio: 1 / 1;
    background: transparent;
    border-radius: 0;
    overflow: hidden;
    position: relative;
}
body.menu-view-minimal .menu-minimal-tile-image,
body.menu-view-minimal .menu-minimal-tile .cart-item-image {
    border-radius: 0;
    cursor: zoom-in;
    display: block;
    height: 100%;
    object-fit: cover;
    width: 100%;
}
body.menu-view-minimal .menu-minimal-tile-stop {
    background: rgba(var(--mm-accent-rgb), 0.92);
    border-radius: 999px;
    color: var(--ui-accent-contrast, #ffffff);
    font-family: inherit;
    font-size: 11px;
    font-weight: 600;
    left: 12px;
    letter-spacing: 0.04em;
    padding: 4px 10px;
    position: absolute;
    text-transform: uppercase;
    top: 12px;
}

body.menu-view-minimal .menu-minimal-tile-body {
    display: flex;
    flex: 1;
    flex-direction: column;
    gap: 0;
    padding: 18px 0 0;
}
/* Override legacy .menu-item h3 (background: var(--white), padding 10 30,
   text-align center, font-size 22) и устанавливаем minimal-specific look */
body.menu-view-minimal .menu-minimal-tile-name,
body.menu-view-minimal .menu-item.menu-minimal-tile h3 {
    background: transparent;
    color: var(--mm-ink);
    font-family: var(--font-heading, var(--font-text, inherit));
    font-size: 18px;
    font-weight: 700;
    letter-spacing: -0.005em;
    line-height: 1.3;
    margin: 0 0 14px;
    overflow: hidden;
    padding: 10px;
    text-align: left;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}
body.menu-view-minimal .menu-minimal-tile-caption {
    color: var(--mm-ink-muted);
    font-family: inherit;
    font-size: 14px;
    line-height: 1.5;
    margin: 0 0 24px;
    overflow: hidden;
    padding: 0 10px;
    text-align: left;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}
body.menu-view-minimal .menu-minimal-tile-footer {
    align-items: center;
    display: flex;
    gap: 12px;
    justify-content: space-between;
    margin-top: auto;
    padding: 0 10px;
}
/* Override legacy .price (background var(--light-text), color white, margin
   0 0 35px 35px, font-size 20). В minimal: transparent bg, ink color, dark
   typography. */
body.menu-view-minimal .menu-minimal-tile-price,
body.menu-view-minimal .menu-minimal-tile .price {
    background: transparent;
    background-color: transparent;
    border: none;
    color: var(--mm-ink);
    float: none;
    font-family: var(--font-heading, var(--font-text, inherit));
    font-size: 22px;
    font-weight: 700;
    justify-content: flex-start;
    letter-spacing: -0.01em;
    margin: 0;
    padding: 5px;
}

/* Buy button — outline circle. Legacy .buy уже даёт min-width/height 44 +
   brand box-shadow; в minimal scope explicit 44x44 + radius 50% делают
   гарантированный круг (без explicit dims кнопка растягивалась по
   контенту в oval pill). */
body.menu-view-minimal .menu-minimal-tile-buy,
body.menu-view-minimal .menu-minimal-tile .buy {
    align-items: center;
    aspect-ratio: 1 / 1;
    background: transparent;
    border: 1.5px solid var(--mm-accent);
    border-radius: 50%;
    box-shadow: none;
    color: var(--mm-accent);
    cursor: pointer;
    display: inline-flex;
    flex: 0 0 44px;
    font-family: inherit;
    font-weight: 400;
    height: 44px;
    justify-content: center;
    line-height: 1;
    max-width: 44px;
    min-width: 44px;
    padding: 0;
    width: 44px;
    transition: background 0.15s ease, color 0.15s ease, transform 0.15s ease;
}
body.menu-view-minimal .menu-minimal-tile-buy:hover {
    background: var(--mm-accent);
    color: var(--ui-accent-contrast, #ffffff);
    transform: translateY(-1px);
}
body.menu-view-minimal .menu-minimal-tile-buy .buy-text {
    color: inherit;
    font-size: 24px;
    font-weight: 300;
    line-height: 1;
}

/* Footer breakpoint: при ≤1280px footer column-stack — price row 1,
   buy на row 2. Button НЕ растягивается на полную ширину tile — sizes
   to content. align-items: flex-start (не stretch) сохраняет компактный
   pill. На >1280px footer остаётся row layout (price + buy inline). */
@media (max-width: 1280px) {
    body.menu-view-minimal .menu-minimal-tile-footer {
        align-items: flex-start;
        flex-direction: column;
        gap: 10px;
    }
    body.menu-view-minimal .menu-minimal-tile-buy.buy-active,
    body.menu-view-minimal .menu-minimal-tile .buy.buy-active {
        align-self: flex-start;
        flex: 0 0 auto;
        max-width: 100%;
        min-width: 0;
        padding: 0 10px;
        width: auto;
    }
}

/* Narrow / tablet typography compression (отдельно от footer break) */
@media (max-width: 768px) {
    body.menu-view-minimal .menu-minimal-tile { padding: 8px; }
    body.menu-view-minimal .menu-minimal-tile-body { padding: 14px 0 0; }
    body.menu-view-minimal .menu-minimal-tile-name,
    body.menu-view-minimal .menu-item.menu-minimal-tile h3 {
        font-size: 14px;
        margin-bottom: 8px;
        padding: 6px;
    }
    body.menu-view-minimal .menu-minimal-tile-caption {
        font-size: 11px;
        margin-bottom: 14px;
        padding: 0 6px;
    }
    body.menu-view-minimal .menu-minimal-tile-footer {
        gap: 8px;
        padding: 0 6px;
    }
    body.menu-view-minimal .menu-minimal-tile-price,
    body.menu-view-minimal .menu-minimal-tile .price {
        font-size: 17px;
    }
    body.menu-view-minimal .menu-minimal-tile-buy.buy-active,
    body.menu-view-minimal .menu-minimal-tile .buy.buy-active {
        padding: 0 10px;
    }
    body.menu-view-minimal .menu-minimal-tile-buy .buy-text { font-size: 22px; }
}
/* ===== Buy button expanded counter state. cart.js добавляет .buy-active
   и swaps .hidden между .buy-text и .buy-counter. В этом состоянии button
   превращается в outline pill размером по content «− N +» (НЕ
   растягивается на 100%). Background transparent, brand outline тот же. */
body.menu-view-minimal .menu-minimal-tile-buy.buy-active,
body.menu-view-minimal .menu-minimal-tile .buy.buy-active {
    aspect-ratio: auto;
    border-radius: 999px;
    flex: 0 0 auto;
    height: 44px;
    max-width: none;
    min-width: 0;
    padding: 0 10px;
    width: auto;
}
body.menu-view-minimal .menu-minimal-tile-buy .buy-text.hidden {
    display: none;
}
body.menu-view-minimal .menu-minimal-tile-buy .buy-counter {
    align-items: center;
    background: transparent;
    color: inherit;
    display: inline-flex;
    flex-direction: row;
    gap: 10px;
    justify-content: center;
}
body.menu-view-minimal .menu-minimal-tile-buy .buy-counter.hidden { display: none; }
body.menu-view-minimal .menu-minimal-tile-buy .counter-minus,
body.menu-view-minimal .menu-minimal-tile-buy .counter-plus {
    align-items: center;
    color: var(--mm-accent);
    cursor: pointer;
    display: inline-flex;
    font-size: 20px;
    font-weight: 500;
    justify-content: center;
    line-height: 1;
    padding: 0 4px;
    user-select: none;
}
body.menu-view-minimal .menu-minimal-tile-buy .counter-value {
    color: var(--mm-ink-strong);
    font-size: 13px;
    font-weight: 600;
    line-height: 1;
    min-width: 0;
    text-align: center;
}
/* Hover не должен инвертировать button когда он в counter mode — это
   мешало бы interaction с ± buttons. */
body.menu-view-minimal .menu-minimal-tile-buy.buy-active:hover {
    background: transparent;
    color: var(--mm-accent);
    transform: none;
}

/* ===== Modal ===== */
body.menu-view-minimal .menu-minimal-modal {
    background: rgba(0, 0, 0, 0.55);
}
body.menu-view-minimal .menu-minimal-modal-content {
    background: var(--ui-surface, #ffffff);
    border-radius: 22px;
    box-shadow: 0 30px 60px rgba(0, 0, 0, 0.16);
    display: grid;
    grid-template-rows: auto auto auto;
    max-width: min(960px, 96vw);
    overflow: hidden;
    padding: 0;
}
body.menu-view-minimal .menu-minimal-modal-hero {
    aspect-ratio: 16 / 9;
    background: transparent;
    overflow: hidden;
}
body.menu-view-minimal .menu-minimal-modal-image {
    display: block;
    height: 100%;
    object-fit: cover;
    width: 100%;
}
body.menu-view-minimal .menu-minimal-modal-body {
    display: flex;
    flex-direction: column;
    gap: 18px;
    padding: clamp(20px, 3vw, 36px);
}
body.menu-view-minimal .menu-minimal-modal-title {
    color: var(--mm-ink);
    font-family: var(--font-heading, var(--font-text, inherit));
    font-size: clamp(20px, 2.6vw, 28px);
    font-weight: 600;
    letter-spacing: -0.015em;
    line-height: 1.25;
    margin: 0;
}
body.menu-view-minimal .menu-minimal-modal-description {
    color: var(--mm-ink-muted);
    font-family: inherit;
    font-size: 15px;
    line-height: 1.55;
    margin: 0;
}
body.menu-view-minimal .menu-minimal-meta {
    border-top: 1px solid var(--mm-border);
    display: grid;
    gap: 0;
    margin: 6px 0 0;
}
body.menu-view-minimal .menu-minimal-meta-row {
    align-items: baseline;
    border-bottom: 1px solid var(--mm-border);
    display: grid;
    gap: 16px;
    grid-template-columns: 100px 1fr;
    padding: 12px 0;
}
body.menu-view-minimal .menu-minimal-meta-row dt {
    color: var(--mm-ink-muted);
    font-family: inherit;
    font-size: 12px;
    font-weight: 500;
    letter-spacing: 0.04em;
    margin: 0;
    text-transform: uppercase;
}
body.menu-view-minimal .menu-minimal-meta-row dd {
    color: var(--mm-ink);
    font-family: inherit;
    font-size: 14px;
    line-height: 1.5;
    margin: 0;
}
body.menu-view-minimal .menu-minimal-modal-footer {
    border-top: 1px solid var(--mm-border);
    display: flex;
    justify-content: flex-end;
    padding: 16px clamp(20px, 3vw, 36px);
}
body.menu-view-minimal .menu-minimal-modal-close,
body.menu-view-minimal .menu-minimal-modal-close.cancel {
    background: transparent;
    border: 1.5px solid var(--mm-accent);
    border-radius: 999px;
    color: var(--mm-accent);
    cursor: pointer;
    font-family: inherit;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.02em;
    padding: 10px 22px;
    transition: background 0.15s ease, color 0.15s ease, transform 0.15s ease;
}
body.menu-view-minimal .menu-minimal-modal-close:hover {
    background: var(--mm-accent);
    color: var(--ui-accent-contrast, #ffffff);
    transform: translateY(-1px);
}

@media (min-width: 720px) {
    body.menu-view-minimal .menu-minimal-modal-content {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr);
        grid-template-rows: auto auto;
    }
    body.menu-view-minimal .menu-minimal-modal-hero {
        aspect-ratio: auto;
        grid-row: 1 / span 2;
        min-height: 100%;
    }
    body.menu-view-minimal .menu-minimal-modal-body {
        grid-column: 2;
    }
    body.menu-view-minimal .menu-minimal-modal-footer {
        grid-column: 2;
    }
}

/* ===== Cart page adaptation (only when body has menu-view-minimal class).
   Mirroring minimal tile aesthetic: sharp corners, transparent surfaces,
   dark text, brand-red outline для primary actions, muted outline для
   secondary. Scope: cart.php при `users.menu_view === 'minimal'`. Когда
   user другой view, body НЕ получает .menu-view-minimal class и cart.php
   рендерится глобальными стилями без single override. ===== */
body.menu-view-minimal.cart-page {
    color: var(--mm-ink-strong);
    font-family: var(--font-text, "proxima-nova", sans-serif);
}
body.menu-view-minimal.cart-page h1,
body.menu-view-minimal.cart-page h2,
body.menu-view-minimal.cart-page h3 {
    color: var(--mm-ink-strong);
    font-family: var(--font-heading, var(--font-text, inherit));
    font-weight: 700;
}
body.menu-view-minimal.cart-page .account-section,
body.menu-view-minimal.cart-page .account-section--cart-shell {
    background: transparent;
    border: 0;
    box-shadow: none;
}

/* Cart item: sharp, transparent, separated by subtle 1px line */
body.menu-view-minimal.cart-page .cart-item {
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    padding: 16px 0;
    position: relative;
}
body.menu-view-minimal.cart-page .cart-item + .cart-item {
    border-top: 1px solid var(--ui-border, rgba(0, 0, 0, 0.08));
}
body.menu-view-minimal.cart-page .cart-item-image {
    border-radius: 0;
    box-shadow: none;
}
body.menu-view-minimal.cart-page .cart-item-info {
    align-items: center;
    color: var(--mm-ink-strong);
}
body.menu-view-minimal.cart-page .cart-item-title {
    color: var(--mm-ink-strong);
    font-family: var(--font-heading, var(--font-text, inherit));
    font-weight: 700;
}
body.menu-view-minimal.cart-page .cart-item-price {
    color: var(--mm-ink-strong);
    font-family: var(--font-heading, var(--font-text, inherit));
    font-weight: 700;
}

/* Quantity controls: brand-red outline pill вместо filled box */
body.menu-view-minimal.cart-page .cart-item-quantity {
    align-items: center;
    background: transparent;
    border: 1.5px solid var(--mm-accent);
    border-radius: 999px;
    box-shadow: none;
    color: var(--mm-accent);
    display: inline-flex;
    gap: 6px;
    padding: 2px 1px;
}
body.menu-view-minimal.cart-page .cart-item-quantity .quantity-btn {
    background: transparent;
    border: 0;
    color: var(--mm-accent);
    cursor: pointer;
    font-size: 18px;
    font-weight: 400;
    line-height: 1;
    padding: 4px 8px;
}
body.menu-view-minimal.cart-page .cart-item-quantity > span {
    color: var(--mm-ink-strong);
    font-weight: 700;
    min-width: 18px;
    text-align: center;
}

/* Cart total — big bold ink */
body.menu-view-minimal.cart-page .cart-total {
    color: var(--mm-ink-strong);
    font-family: var(--font-heading, var(--font-text, inherit));
    font-size: 22px;
    font-weight: 700;
}

/* Primary buttons (Заказать, Подтвердить, Ок, Принять звонок, Очистить) —
   filled brand-red, sharp corners, no shadow, contrasting text */
body.menu-view-minimal.cart-page .checkout-btn {
    background: var(--mm-accent);
    border: 1.5px solid var(--mm-accent);
    border-radius: 0;
    box-shadow: none;
    color: var(--ui-accent-contrast, #ffffff);
    font-family: var(--font-text, inherit);
    font-weight: 600;
    letter-spacing: 0.02em;
}
body.menu-view-minimal.cart-page .checkout-btn:hover {
    filter: brightness(0.94);
}

/* Cancel-style buttons — muted outline */
body.menu-view-minimal.cart-page .checkout-btn.cancel-btn,
body.menu-view-minimal.cart-page .clear-cart-btn {
    background: transparent;
    border: 1.5px solid var(--ui-border, rgba(0, 0, 0, 0.08));
    border-radius: 0;
    box-shadow: none;
    color: var(--mm-ink-muted);
    filter: none;
}
body.menu-view-minimal.cart-page .checkout-btn.cancel-btn:hover,
body.menu-view-minimal.cart-page .clear-cart-btn:hover {
    border-color: var(--mm-accent);
    color: var(--mm-accent);
    filter: none;
}

/* Back-to-menu link as outline brand chip */
body.menu-view-minimal.cart-page .back-to-menu-btn {
    background: transparent;
    border: 1.5px solid var(--mm-accent);
    border-radius: 0;
    box-shadow: none;
    color: var(--mm-accent);
    font-family: var(--font-text, inherit);
    font-weight: 600;
    padding: 8px 16px;
    text-decoration: none;
}
body.menu-view-minimal.cart-page .back-to-menu-btn:hover {
    background: var(--mm-accent);
    color: var(--ui-accent-contrast, #ffffff);
}

/* Tips section: outline chips, active = filled brand */
body.menu-view-minimal.cart-page .tips-section {
    color: var(--mm-ink-strong);
}
body.menu-view-minimal.cart-page .tips-option {
    background: transparent;
    border: 1.5px solid var(--ui-border, rgba(0, 0, 0, 0.08));
    border-radius: 0;
    box-shadow: none;
    color: var(--mm-ink-strong);
}
body.menu-view-minimal.cart-page .tips-option:hover {
    border-color: var(--mm-accent);
    color: var(--mm-accent);
}
body.menu-view-minimal.cart-page .tips-option.active {
    background: var(--mm-accent);
    border-color: var(--mm-accent);
    color: var(--ui-accent-contrast, #ffffff);
}

/* Delivery options — keep readable on minimal */
body.menu-view-minimal.cart-page .delivery-options {
    color: var(--mm-ink-strong);
}
body.menu-view-minimal.cart-page input[type="text"],
body.menu-view-minimal.cart-page input[type="tel"],
body.menu-view-minimal.cart-page input[type="email"],
body.menu-view-minimal.cart-page select,
body.menu-view-minimal.cart-page textarea {
    background: transparent;
    border: 1px solid var(--ui-border, rgba(0, 0, 0, 0.08));
    border-radius: 0;
    color: var(--mm-ink-strong);
}
body.menu-view-minimal.cart-page input:focus,
body.menu-view-minimal.cart-page select:focus,
body.menu-view-minimal.cart-page textarea:focus {
    border-color: var(--mm-accent);
    outline: 0;
}
