.menu-item-price { gap:8px }
.menu-item-price-value { min-width:0; overflow-wrap:anywhere }
.menu-item-action { display:inline-flex; align-items:center; justify-content:center; flex:0 0 28px; width:28px; height:28px; padding:0; border:0; border-radius:4px; background:#302318; color:#fff !important; font:22px/1 sans-serif; cursor:pointer; text-decoration:none !important }
:is(.strip,.menu-list-item) .menu-item-action,
:is(.strip,.menu-list-item) .menu-item-action:hover,
:is(.strip,.menu-list-item) .menu-item-action:focus,
:is(.strip,.menu-list-item) .menu-item-action:active { background:#302318 !important; color:#fff !important; text-decoration:none !important }
:is(.strip,.menu-list-item) .menu-item-action > span { color:#fff !important }
.menu-item-action:focus-visible { outline:3px solid #a8733d; outline-offset:3px }
.menu-item-action:disabled { opacity:.55; cursor:wait }
:is(.strip,.menu-list-item) .menu-item-action { position:relative; font-weight:400; vertical-align:middle }
:is(.strip,.menu-list-item) .menu-item-action svg { display:block; flex:none; width:14px; height:14px; fill:none; stroke:currentColor; stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round }
[dir="rtl"] .menu-item-action .menu-item-arrow { transform:rotate(180deg) }
.menu-item-action.is-loading { opacity:1; cursor:wait }
.menu-item-action.is-loading svg { visibility:hidden }
.menu-item-action.is-loading::after { content:""; position:absolute; inset:0; margin:auto; width:12px; height:12px; border:1.5px solid #ffffff60; border-top-color:#fff; border-radius:50%; animation:menu-quick-add-spin .65s linear infinite }
@keyframes menu-quick-add-spin { to { transform:rotate(360deg) } }
@media (prefers-reduced-motion:reduce) { .menu-item-action.is-loading::after { animation:none } }
.menu-quantity-control { position:relative; flex:0 0 auto; width:28px; height:28px; border:1px solid #e9e3dd; border-radius:16px; background:#fff; box-shadow:0 1px 4px #30231818; transition:width .24s ease; overflow:hidden }
.menu-quantity-control.is-expanded { width:84px }
.menu-quantity-control:not(.has-quantity):not(.is-expanded) { border-color:#302318; border-radius:4px; background:#302318; box-shadow:none }
.menu-quantity-control:not(.has-quantity):not(.is-expanded) .menu-quantity-toggle > img { width:14px; height:14px; filter:invert(1) }
:is(.strip,.menu-list-item) .menu-quantity-control .menu-quantity-button { display:flex; align-items:center; justify-content:center; flex:0 0 27px; width:27px; height:26px; margin:0; padding:0; border:0; border-radius:14px; background:transparent !important; color:#302318 !important; cursor:pointer; line-height:1; box-shadow:none; text-decoration:none }
.menu-quantity-button img { display:block; width:12px; height:12px; object-fit:contain }
.menu-quantity-button:focus-visible { outline:2px solid #a8733d; outline-offset:-2px }
.menu-quantity-control .menu-quantity-toggle { position:absolute; inset:0; transition:opacity .16s ease }
.menu-quantity-control .menu-quantity-expanded { position:absolute; inset:0; display:flex; align-items:center; justify-content:space-between; opacity:0; visibility:hidden; transition:opacity .16s ease }
.menu-quantity-control.is-expanded .menu-quantity-expanded { opacity:1; visibility:visible }
.menu-quantity-control.is-expanded .menu-quantity-toggle { opacity:0; visibility:hidden; pointer-events:none }
:is(.strip,.menu-list-item) .menu-quantity-control .menu-quantity-value, :is(.strip,.menu-list-item) .menu-quantity-control .menu-quantity-count { color:#302318 !important; font-size:12px; font-weight:500; font-variant-numeric:tabular-nums; line-height:1; text-align:center }
.menu-quantity-count { min-width:22px; pointer-events:none }
.menu-quantity-control .menu-quantity-value, .menu-quantity-control.has-quantity .menu-quantity-toggle > img { display:none }
.menu-quantity-control.has-quantity .menu-quantity-value { display:block }
.menu-quantity-control.has-quantity:not(.is-expanded) { background:#302318; border-color:#302318 }
:is(.strip,.menu-list-item) .menu-quantity-control.has-quantity:not(.is-expanded) .menu-quantity-value { color:#fff !important }
@media (prefers-reduced-motion:reduce) { .menu-quantity-control, .menu-quantity-control .menu-quantity-toggle, .menu-quantity-control .menu-quantity-expanded { transition:none } }

.menu-list-details { flex:1; min-width:0; margin-inline-end:12px }
.menu-list-item .item-list-img-thumb { flex:0 0 110px }
.menu-list-item-link { display:block; color:inherit }

/* List-only option arrows sit over the image; grid actions keep their price row. */
.menu-list-item .menu-list-image { position:relative; align-self:center }
.menu-list-image-link { display:block }
.menu-list-item .menu-list-options,
.menu-list-item .menu-list-options:hover,
.menu-list-item .menu-list-options:focus,
.menu-list-item .menu-list-options:active { position:absolute; right:6px; bottom:6px; z-index:1; width:32px; height:32px; border-radius:50%; background:#fff !important; color:#df7d2d !important; box-shadow:0 2px 6px #0002 }
/* Fill the square's inner box so the initial plus has an exact centre. */
:is(.strip,.menu-list-item) .menu-quantity-control .menu-quantity-toggle { width:100%; height:100% }
:is(.strip,.menu-list-item) .menu-quantity-button img { margin:0; padding:0; object-position:center }
