/* [hidden] должен побеждать любые display-правила (иначе шаги модалки видны разом) */
[hidden]{ display:none !important; }

/* css/marketplace.css — модалка входа маркетплейса. Токены из style.css (:root). */

.mp-trigger{
  position:fixed; right:16px; bottom:16px; z-index:55;
  display:inline-flex; align-items:center; gap:8px;
  font-family:var(--mono,'Courier New',monospace); font-weight:700; font-size:13px;
  letter-spacing:.5px; text-transform:uppercase;
  color:var(--ink,#2a2724); background:var(--vanilla,#ece1cb);
  border:1px solid var(--vanilla-line,#d8cbad); border-radius:999px;
  padding:10px 16px; cursor:pointer; box-shadow:0 8px 24px rgba(0,0,0,.35);
  transition:transform .15s, filter .15s;
}
.mp-trigger:hover{ filter:brightness(1.04); transform:translateY(-1px); }
.mp-tri-ic{ display:inline-flex; color:var(--terracotta,#b0502c); }

.mp-ov{
  position:fixed; inset:0; z-index:60; display:none;
  align-items:center; justify-content:center; padding:16px;
  background:rgba(var(--scrim-rgb,20,6,9),.72); backdrop-filter:blur(3px);
}
.mp-ov.open{ display:flex; animation:mpFade .2s ease; }
@keyframes mpFade{ from{opacity:0} to{opacity:1} }

.mp-modal{
  width:100%; max-width:420px; background:var(--vanilla,#ece1cb);
  border:1px solid var(--vanilla-line,#d8cbad); border-radius:var(--r,16px);
  box-shadow:var(--shadow,0 18px 50px rgba(0,0,0,.45)); overflow:hidden;
}
.mp-top{
  display:flex; align-items:center; justify-content:space-between;
  padding:15px 18px; background:var(--ink,#2a2724); color:var(--vanilla,#ece1cb);
}
.mp-top h2{
  margin:0; font-family:var(--mono,'Courier New',monospace);
  font-size:13px; font-weight:700; letter-spacing:1.5px; text-transform:uppercase;
}
.mp-x{ background:none; border:0; color:var(--vanilla,#ece1cb); font-size:26px; line-height:1; cursor:pointer; opacity:.85; }
.mp-x:hover{ opacity:1; color:var(--terracotta,#b0502c); }

.mp-body{ padding:20px 18px 22px; }
.mp-step{ display:flex; flex-direction:column; gap:12px; }
.mp-lbl{ font-family:var(--mono,monospace); font-size:12px; color:var(--ink-mute,#837b6f); text-transform:uppercase; letter-spacing:.5px; }
.mp-lbl b{ color:var(--ink,#2a2724); }

.mp-inp{
  width:100%; padding:13px 14px; font-size:16px; font-family:var(--mono,monospace);
  color:var(--ink,#2a2724); background:var(--vanilla-2,#f3ebd9);
  border:1px solid var(--vanilla-line,#d8cbad); border-radius:var(--r-sm,10px); outline:none;
}
.mp-inp:focus{ border-color:var(--terracotta,#b0502c); }
.mp-code{ text-align:center; letter-spacing:10px; font-size:24px; font-weight:700; }

.mp-consent{ display:flex; gap:9px; align-items:flex-start; font-size:12.5px; color:var(--ink-soft,#4d4842); line-height:1.35; cursor:pointer; }
.mp-consent input{ margin-top:2px; accent-color:var(--terracotta,#b0502c); }

.mp-btn{
  display:block; text-align:center; width:100%; padding:14px; font-family:var(--mono,monospace); font-weight:700;
  font-size:13px; letter-spacing:1.5px; text-transform:uppercase; cursor:pointer;
  color:var(--vanilla,#ece1cb); background:var(--burgundy,#4a1620);
  border:0; border-radius:var(--r-sm,10px); transition:filter .15s;
}
.mp-btn:hover{ filter:brightness(1.1); }
.mp-btn:disabled{ opacity:.55; cursor:not-allowed; }
.mp-btn-ghost{ background:transparent; color:var(--burgundy,#4a1620); border:1px solid var(--burgundy,#4a1620); }

.mp-resend{ display:flex; align-items:center; gap:8px; font-size:12.5px; }
.mp-timer{ color:var(--ink-mute,#837b6f); font-family:var(--mono,monospace); }
.mp-link{ background:none; border:0; color:var(--terracotta,#b0502c); font-family:var(--mono,monospace); font-size:12.5px; cursor:pointer; padding:0; text-align:left; }
.mp-link:disabled{ color:var(--ink-mute,#837b6f); cursor:not-allowed; }
.mp-link:not(:disabled):hover{ text-decoration:underline; }

.mp-err{ color:var(--err,#a8362f); font-size:12.5px; min-height:16px; font-family:var(--mono,monospace); }

.mp-in-row{ display:flex; align-items:center; gap:12px; }
.mp-in-ic{ color:var(--terracotta,#b0502c); }
.mp-in-phone{ font-family:var(--mono,monospace); font-weight:700; font-size:16px; color:var(--ink,#2a2724); }
.mp-in-sub{ font-size:12px; color:var(--ink-mute,#837b6f); }

/* ============ Корзина / оформление ============ */

/* «+» на карточке блюда */
.card{ position:relative; }
.mp-add{
  position:absolute; right:10px; bottom:10px; z-index:6;
  width:38px; height:38px; border-radius:50%; border:0; cursor:pointer;
  display:flex; align-items:center; justify-content:center;
  background:var(--burgundy,#4a1620); color:var(--vanilla,#ece1cb);
  box-shadow:0 4px 14px rgba(0,0,0,.3); font-size:22px; line-height:1;
  transition:transform .12s, filter .12s;
}
.mp-add:hover{ filter:brightness(1.12); transform:scale(1.06); }
.mp-add.in-cart{ background:var(--terracotta,#b0502c); }
.card-media .mp-add{ bottom:10px; }

/* плавающая кнопка корзины */
.mp-fab{
  position:fixed; right:16px; bottom:74px; z-index:56;
  display:inline-flex; align-items:center; gap:8px;
  background:var(--burgundy,#4a1620); color:var(--vanilla,#ece1cb);
  border:0; border-radius:999px; padding:12px 18px; cursor:pointer;
  box-shadow:0 8px 24px rgba(0,0,0,.4); font-family:var(--mono,monospace); font-weight:700;
  transition:transform .15s, filter .15s;
}
.mp-fab:hover{ filter:brightness(1.1); transform:translateY(-1px); }
.mp-fab-count{ background:var(--terracotta,#b0502c); color:#fff; border-radius:999px; min-width:22px; height:22px; display:inline-flex; align-items:center; justify-content:center; font-size:12px; padding:0 6px; }

/* оверлей + панель справа */
.mp-cart-ov{ position:fixed; inset:0; z-index:61; display:none; background:rgba(var(--scrim-rgb,20,6,9),.6); backdrop-filter:blur(3px); }
.mp-cart-ov.open{ display:block; }
.mp-cart{
  position:absolute; top:0; right:0; height:100%; width:100%; max-width:420px;
  background:var(--vanilla,#ece1cb); display:flex; flex-direction:column;
  box-shadow:-14px 0 40px rgba(0,0,0,.4); transform:translateX(100%);
  transition:transform .25s ease;
}
.mp-cart-ov.open .mp-cart{ transform:translateX(0); }
.mp-cart-head{ display:flex; align-items:center; justify-content:space-between; padding:16px 18px; background:var(--ink,#2a2724); color:var(--vanilla,#ece1cb); }
.mp-cart-head h3{ margin:0; font-family:var(--mono,monospace); font-size:14px; letter-spacing:1.5px; text-transform:uppercase; }
.mp-cart-body{ flex:1; overflow-y:auto; padding:14px 16px; }
.mp-cart-empty{ text-align:center; color:var(--ink-mute,#837b6f); font-family:var(--mono,monospace); padding:40px 0; }

.mp-ci{ display:flex; gap:12px; align-items:center; padding:12px 0; border-bottom:1px solid var(--vanilla-line,#d8cbad); }
.mp-ci-main{ flex:1; min-width:0; }
.mp-ci-name{ font-weight:700; color:var(--ink,#2a2724); font-size:14px; }
.mp-ci-price{ font-family:var(--mono,monospace); font-size:12.5px; color:var(--ink-mute,#837b6f); }
.mp-qty{ display:flex; align-items:center; gap:10px; }
.mp-qty button{ width:28px; height:28px; border-radius:8px; border:1px solid var(--burgundy,#4a1620); background:transparent; color:var(--burgundy,#4a1620); font-size:16px; line-height:1; cursor:pointer; }
.mp-qty button:hover{ background:var(--burgundy,#4a1620); color:var(--vanilla,#ece1cb); }
.mp-qty b{ font-family:var(--mono,monospace); min-width:20px; text-align:center; }

.mp-cart-foot{ padding:16px 18px; border-top:1px solid var(--vanilla-line,#d8cbad); background:var(--vanilla-2,#f3ebd9); }
.mp-cart-total, .mp-co-total{ display:flex; justify-content:space-between; align-items:baseline; margin-bottom:12px; font-family:var(--mono,monospace); }
.mp-cart-total b, .mp-co-total b{ font-size:18px; color:var(--burgundy,#4a1620); }

/* оформление */
.mp-checkout{ padding:16px 18px 22px; overflow-y:auto; display:flex; flex-direction:column; gap:10px; }
.mp-checkout .mp-lbl{ margin-top:4px; }
.mp-seg{ display:flex; gap:8px; }
.mp-seg-b{ flex:1; padding:11px; border:1px solid var(--vanilla-line,#d8cbad); background:var(--vanilla-2,#f3ebd9); color:var(--ink,#2a2724); font-family:var(--mono,monospace); font-size:12.5px; text-transform:uppercase; letter-spacing:.5px; border-radius:var(--r-sm,10px); cursor:pointer; }
.mp-seg-b.active{ background:var(--burgundy,#4a1620); color:var(--vanilla,#ece1cb); border-color:var(--burgundy,#4a1620); }
.mp-co-total{ margin-top:6px; }

/* успех */
.mp-done{ padding:40px 22px; text-align:center; display:flex; flex-direction:column; gap:12px; align-items:center; }
.mp-done-ic{ width:64px; height:64px; border-radius:50%; background:#5e7d3a; color:#fff; font-size:34px; display:flex; align-items:center; justify-content:center; }
.mp-done-t{ font-family:var(--mono,monospace); font-weight:700; font-size:18px; color:var(--ink,#2a2724); }
.mp-done-s{ color:var(--ink-mute,#837b6f); font-size:13px; }

/* ============ Страницы /cart и /orders ============ */
.mp-body-page{ background:var(--vanilla,#ece1cb) !important; min-height:100vh; }
.mp-body-page::before{ display:none !important; }   /* убираем бордовую фон-картинку сайта на /cart и /orders */
.mp-body-page #cartPage, .mp-body-page #ordersPage{ position:relative; z-index:1; }
.mp-page{ padding:22px 0 60px; max-width:1000px; }
.mp-page-head{ display:flex; flex-direction:column; gap:6px; margin:10px 0 22px; }
.mp-page-back{ font-family:var(--mono,monospace); font-size:13px; color:var(--terracotta,#b0502c); text-decoration:none; }
.mp-page-back:hover{ text-decoration:underline; }
.mp-page-head h1{ margin:0; font-family:var(--mono,monospace); font-size:26px; color:var(--burgundy,#4a1620); letter-spacing:1px; }

.mp-page-grid{ display:grid; grid-template-columns:1fr 380px; gap:24px; align-items:start; }
@media (max-width:820px){ .mp-page-grid{ grid-template-columns:1fr; } }

.mp-cart-col{ background:var(--vanilla-2,#f3ebd9); border:1px solid var(--vanilla-line,#d8cbad); border-radius:var(--r,16px); padding:6px 18px; }
.mp-cart-col .mp-ci:last-child{ border-bottom:0; }
.mp-cart-empty{ text-align:center; color:var(--ink-mute,#837b6f); font-family:var(--mono,monospace); padding:48px 16px; display:flex; flex-direction:column; gap:16px; align-items:center; }

.mp-checkout-col{ background:var(--vanilla-2,#f3ebd9); border:1px solid var(--vanilla-line,#d8cbad); border-radius:var(--r,16px); padding:20px; position:sticky; top:16px; }
.mp-sum{ display:flex; justify-content:space-between; align-items:baseline; font-family:var(--mono,monospace); font-size:15px; padding-bottom:14px; margin-bottom:14px; border-bottom:1px solid var(--vanilla-line,#d8cbad); }
.mp-sum b{ font-size:20px; color:var(--burgundy,#4a1620); }
.mp-co-form{ display:flex; flex-direction:column; gap:10px; }
.mp-co-form .mp-lbl{ margin-top:4px; }
.mp-co-total{ display:flex; justify-content:space-between; align-items:baseline; font-family:var(--mono,monospace); margin-top:8px; }
.mp-co-total b{ font-size:18px; color:var(--burgundy,#4a1620); }

.mp-done{ max-width:520px; margin:40px auto; background:var(--vanilla-2,#f3ebd9); border:1px solid var(--vanilla-line,#d8cbad); border-radius:var(--r,16px); }

/* карточки заказов /orders */
.mp-order{ background:var(--vanilla-2,#f3ebd9); border:1px solid var(--vanilla-line,#d8cbad); border-radius:var(--r,16px); padding:16px 18px; margin-bottom:12px; }
.mp-order-top{ display:flex; justify-content:space-between; align-items:center; margin-bottom:8px; }
.mp-order-id{ font-family:var(--mono,monospace); font-weight:700; color:var(--ink,#2a2724); }
.mp-order-st{ font-size:11px; font-weight:700; padding:2px 10px; border-radius:20px; background:#eef; color:#33455c; }
.mp-order-st.ok{ background:#e7f3e7; color:#2e7d32; } .mp-order-st.error{ background:#fdeaea; color:#c62828; } .mp-order-st.progress{ background:#fff4e0; color:#b26a00; }
.mp-order-items{ color:var(--ink-soft,#4d4842); font-size:13.5px; margin-bottom:8px; }
.mp-order-meta{ display:flex; justify-content:space-between; align-items:baseline; font-family:var(--mono,monospace); font-size:13px; color:var(--ink-mute,#837b6f); }
.mp-order-meta b{ font-size:16px; color:var(--burgundy,#4a1620); }

/* добавление в корзину — вспышка */
.mp-add.added{ transform:scale(1.25); background:#5e7d3a; }

/* 6-клеточный ввод кода (как в BREADLY) */
.mp-otp{ display:flex; gap:8px; justify-content:space-between; }
.mp-otp-box{
  width:100%; aspect-ratio:1/1; max-width:52px; text-align:center;
  font-family:var(--mono,'Courier New',monospace); font-size:22px; font-weight:700;
  border:1px solid var(--vanilla-line,#d8cbad); border-radius:12px;
  background:var(--vanilla-2,#f3ebd9); color:var(--ink,#2a2724); outline:none;
}
.mp-otp-box:focus{ border-color:var(--burgundy,#4a1620); box-shadow:0 0 0 2px rgba(var(--burgundy-rgb,74,22,32),.12); }

/* ============ Корзина/оформление 1.0.6 (стиль BREADLY, цвета BREADLY MARKET) ============ */
#cartPage{ padding:18px 16px 70px; }
.mp-crumbs{ font-family:var(--mono,monospace); font-size:12px; color:var(--ink-mute,#837b6f); margin:6px 0 14px; }
.mp-crumbs a{ color:var(--ink-mute,#837b6f); text-decoration:none; } .mp-crumbs a:hover{ color:var(--terracotta,#b0502c); }
.mp-h1{ font-family:var(--mono,monospace); font-size:30px; letter-spacing:1px; color:var(--ink,#2a2724); margin:0 0 20px; }
.mp-back{ display:inline-block; margin-bottom:10px; color:var(--terracotta,#b0502c); }

.mp-grid{ display:grid; grid-template-columns:1fr 360px; gap:22px; align-items:start; }
@media (max-width:860px){ .mp-grid{ grid-template-columns:1fr; } }

.mp-box{ position:relative; background:var(--vanilla-2,#f3ebd9); border:1px solid var(--vanilla-line,#d8cbad); border-radius:var(--r,16px); padding:8px 22px; box-shadow:0 8px 26px rgba(var(--burgundy-deep-rgb,51,15,23),.06); }
.mp-box::before{ content:""; position:absolute; inset:8px; border:1px dashed rgba(var(--ink-rgb,42,39,36),.14); border-radius:9px; pointer-events:none; z-index:0; }
.mp-box > *{ position:relative; z-index:1; }
/* поля внутри блока — светлее фона плитки, чтобы читались */
.mp-box .mp-inp{ background:#fbf6ec; }
.mp-box-form{ display:flex; flex-direction:column; gap:18px; padding:28px 26px; }
.mp-box-form .mp-field{ display:flex; flex-direction:column; gap:8px; }
.mp-box-form .mp-two{ gap:18px; }
.mp-box-form .mp-sec{ margin:10px 0 0; }
.mp-box-form .mp-sec:first-child{ margin-top:0; }
.mp-box-head{ display:flex; align-items:center; justify-content:space-between; padding:16px 0; border-bottom:1px solid var(--vanilla-line,#d8cbad); font-family:var(--mono,monospace); font-size:14px; color:var(--ink,#2a2724); }
.mp-box-clear{ border:0; background:none; color:var(--ink-mute,#837b6f); cursor:pointer; font-size:13px; display:inline-flex; align-items:center; gap:6px; }
.mp-box-clear:hover{ color:var(--err,#a8362f); }

.mp-item{ display:grid; grid-template-columns:72px 1fr auto auto; gap:16px; align-items:center; padding:16px 0; border-bottom:1px solid var(--vanilla-line,#d8cbad); }
.mp-item:last-child{ border-bottom:0; }
.mp-item-thumb{ width:72px; height:72px; border-radius:12px; overflow:hidden; background:linear-gradient(160deg,#332f2b,#211e1b); display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.mp-item-thumb img{ width:100%; height:100%; object-fit:cover; }
.mp-item-noimg img{ width:58% !important; height:auto !important; object-fit:contain !important; opacity:.18; filter:brightness(0) invert(1); }
.mp-item-name{ font-weight:700; color:var(--ink,#2a2724); font-size:15px; margin-bottom:6px; }
.mp-item-del{ border:0; background:none; color:var(--err,#a8362f); cursor:pointer; font-size:13px; display:inline-flex; align-items:center; gap:5px; padding:0; }
.mp-item-del:hover{ text-decoration:underline; }
.mp-item-price{ font-family:var(--mono,monospace); font-weight:700; color:var(--ink,#2a2724); white-space:nowrap; }
@media (max-width:520px){ .mp-item{ grid-template-columns:60px 1fr auto; } .mp-item-price{ grid-column:2; } .mp-item .mp-qty{ grid-column:3; grid-row:1/3; } .mp-item-thumb{ width:60px;height:60px; } }

/* панель итога/оплаты — бордо BREADLY MARKET */
.mp-panel{ background:var(--burgundy,#4a1620); color:var(--vanilla,#ece1cb); border-radius:var(--r,16px); padding:22px; position:sticky; top:16px; box-shadow:var(--shadow,0 18px 50px rgba(0,0,0,.3)); }
.mp-panel-row{ display:flex; justify-content:space-between; align-items:baseline; font-size:14px; padding:7px 0; color:rgba(var(--vanilla-rgb,236,225,203),.85); }
.mp-panel-row b{ color:var(--vanilla,#ece1cb); font-family:var(--mono,monospace); }
.mp-panel-total{ display:flex; justify-content:space-between; align-items:baseline; margin:14px 0 18px; padding-top:14px; border-top:1px solid rgba(var(--vanilla-rgb,236,225,203),.2); font-size:16px; font-weight:700; }
.mp-panel-total b{ font-family:var(--mono,monospace); font-size:24px; }
.mp-panel-title{ font-family:var(--mono,monospace); font-size:12px; letter-spacing:1px; text-transform:uppercase; color:rgba(var(--vanilla-rgb,236,225,203),.7); margin:16px 0 8px; }
.mp-panel-title:first-child{ margin-top:0; }
.mp-panel-sel{ background:rgba(var(--vanilla-rgb,236,225,203),.08); border:1px solid rgba(var(--vanilla-rgb,236,225,203),.25); color:var(--vanilla,#ece1cb); }
.mp-panel-sel option{ color:#2a2724; }
.mp-panel-items{ margin:4px 0 6px; }
.mp-panel-item{ display:flex; justify-content:space-between; gap:10px; font-size:13px; padding:4px 0; color:rgba(var(--vanilla-rgb,236,225,203),.9); }
.mp-panel-item b{ font-family:var(--mono,monospace); white-space:nowrap; }
.mp-panel-vat{ font-size:11.5px; color:rgba(var(--vanilla-rgb,236,225,203),.55); margin:-8px 0 14px; }
.mp-btn-panel{ width:100%; background:#caa46e; color:#3a1119; border:0; border-radius:12px; padding:15px; font-family:var(--mono,monospace); font-weight:700; font-size:14px; letter-spacing:.5px; cursor:pointer; text-transform:uppercase; transition:filter .15s; }
.mp-btn-panel:hover{ filter:brightness(1.06); }
.mp-btn-wide{ display:inline-block; width:100%; text-align:center; text-decoration:none; background:var(--burgundy,#4a1620); color:var(--vanilla,#ece1cb); border-radius:12px; padding:14px; font-family:var(--mono,monospace); font-weight:700; }

.mp-empty{ text-align:center; color:var(--ink-mute,#837b6f); font-family:var(--mono,monospace); padding:50px 16px; display:flex; flex-direction:column; gap:18px; align-items:center; }
.mp-empty .mp-btn-wide{ max-width:280px; }

/* форма оформления */
.mp-sec{ font-family:var(--mono,monospace); font-size:15px; color:var(--ink,#2a2724); margin:20px 0 12px; } .mp-sec:first-child{ margin-top:4px; }
.mp-two{ display:grid; grid-template-columns:1fr 1fr; gap:14px; } @media (max-width:520px){ .mp-two{ grid-template-columns:1fr; } }
.mp-pickup{ background:var(--vanilla-2,#f3ebd9); border:1px solid var(--vanilla-line,#d8cbad); border-radius:12px; padding:13px 15px; color:var(--ink,#2a2724); font-size:14px; display:flex; align-items:center; gap:9px; }
.mp-pickup i{ color:var(--terracotta,#b0502c); }
.mp-done{ max-width:520px; margin:50px auto; text-align:center; display:flex; flex-direction:column; gap:14px; align-items:center; }

/* ============ История заказов 1.0.6 (список + деталь) ============ */
#ordersPage{ padding:18px 16px 70px; }
.mp-orders-grid{ grid-template-columns:380px 1fr; }
@media (max-width:860px){ .mp-orders-grid{ grid-template-columns:1fr; } }
.mp-orders-list{ padding:10px; display:flex; flex-direction:column; gap:8px; max-height:70vh; overflow-y:auto; }
.mp-ord-card{ text-align:left; border:1px solid var(--vanilla-line,#d8cbad); background:#faf6ec; border-radius:12px; padding:14px 16px; cursor:pointer; transition:border-color .15s, background .15s, box-shadow .15s; }
.mp-ord-card:hover{ border-color:var(--terracotta,#b0502c); box-shadow:0 4px 14px rgba(var(--burgundy-deep-rgb,51,15,23),.06); }
.mp-ord-card.active{ border-color:var(--burgundy,#4a1620); background:#fff; }
.mp-ord-card-top{ display:flex; justify-content:space-between; align-items:baseline; margin-bottom:5px; }
.mp-ord-num{ font-family:var(--mono,monospace); font-weight:700; color:var(--ink,#2a2724); font-size:14px; }
.mp-ord-card-top b{ font-family:var(--mono,monospace); color:var(--burgundy,#4a1620); }
.mp-ord-card-bot{ display:flex; justify-content:space-between; align-items:center; font-size:12px; color:var(--ink-mute,#837b6f); }
.mp-ord-st{ font-size:11px; font-weight:700; padding:2px 9px; border-radius:20px; background:#eef; color:#33455c; }
.mp-ord-st.ok{ background:#e7f3e7; color:#2e7d32; } .mp-ord-st.error{ background:#fdeaea; color:#c62828; } .mp-ord-st.progress{ background:#fff4e0; color:#b26a00; }
.mp-ord-st.cooking{ background:#fff4e0; color:#b26a00; } .mp-ord-st.ready{ background:#e7f3e7; color:#2e7d32; } .mp-ord-st.onway{ background:#e3f0ff; color:#1565c0; } .mp-ord-st.done{ background:#e7f3e7; color:#2e7d32; } .mp-ord-st.cancelled{ background:#fdeaea; color:#c62828; } .mp-ord-st.accepted{ background:#e7f3e7; color:#2e7d32; }
/* поиск курьера — ожидание, а не сбой: янтарный, как «готовится» */
.mp-ord-st.searching{ background:#fff4e0; color:#b26a00; }
/* ждём оплату — тоже ожидание, не сбой */
.mp-ord-st.unpaid{ background:#fff4e0; color:#b26a00; }

.mp-order-detail{ padding:22px; }
.mp-od-head{ display:flex; justify-content:space-between; align-items:flex-start; padding-bottom:16px; border-bottom:1px solid var(--vanilla-line,#d8cbad); margin-bottom:16px; }
.mp-od-num{ font-family:var(--mono,monospace); font-weight:700; font-size:18px; color:var(--ink,#2a2724); }
.mp-od-created{ font-size:12.5px; color:var(--ink-mute,#837b6f); margin-top:3px; }
.mp-od-items{ margin-bottom:16px; }
.mp-od-item{ display:flex; justify-content:space-between; gap:12px; padding:9px 0; border-bottom:1px solid var(--vanilla-line,#d8cbad); font-size:14px; color:var(--ink-soft,#4d4842); }
.mp-od-item b{ font-family:var(--mono,monospace); color:var(--ink,#2a2724); white-space:nowrap; }
.mp-od-pay{ background:var(--vanilla-2,#f3ebd9); border-radius:12px; padding:14px 16px; margin-bottom:16px; }
.mp-od-row{ display:flex; justify-content:space-between; gap:10px; padding:5px 0; font-size:13.5px; color:var(--ink-mute,#837b6f); }
.mp-od-row b{ color:var(--ink,#2a2724); font-weight:600; text-align:right; }
.mp-od-total-row{ display:flex; justify-content:space-between; align-items:baseline; font-weight:700; font-size:16px; color:var(--ink,#2a2724); }
.mp-od-total-row b{ font-family:var(--mono,monospace); font-size:20px; color:var(--burgundy,#4a1620); }
.mp-od-vat{ font-size:11.5px; color:var(--ink-mute,#837b6f); margin-top:4px; }

/* История заказов: деталь открывается в модалке (удобнее на мобильном) */
.mp-orders-grid{ grid-template-columns:1fr; }
.mp-ord-modal{ display:none; position:fixed; inset:0; z-index:1200; background:rgba(var(--scrim-rgb,20,6,9),.55); align-items:center; justify-content:center; padding:16px; }
.mp-ord-modal.open{ display:flex; }
.mp-ord-modal-box{ position:relative; width:100%; max-width:460px; max-height:88vh; overflow:auto; background:var(--vanilla-2,#f3ebd9); border:1px solid var(--vanilla-line,#d8cbad); border-radius:var(--r,16px); padding:24px 20px 20px; box-shadow:0 20px 60px rgba(0,0,0,.35); }
.mp-ord-modal-close{ position:absolute; top:8px; right:12px; background:none; border:0; font-size:28px; line-height:1; color:var(--ink-mute,#837b6f); cursor:pointer; }

/* Полиш модалки истории заказов */
.mp-ord-modal-box{ max-width:440px; padding:0; border:1px solid var(--vanilla-line,#d8cbad); box-shadow:0 24px 70px rgba(var(--scrim-rgb,20,6,9),.45); }
.mp-ord-modal-box .mp-order-detail{ padding:26px 24px 22px; }
.mp-ord-modal-close{ top:14px; right:16px; width:32px; height:32px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:22px; color:var(--ink-mute,#837b6f); transition:background .15s, color .15s; }
.mp-ord-modal-close:hover{ background:rgba(var(--ink-rgb,42,39,36),.08); color:var(--ink,#2a2724); }
.mp-ord-modal-box .mp-od-head{ padding-right:40px; }
.mp-ord-modal-box .mp-od-num{ font-size:21px; letter-spacing:.5px; }
.mp-ord-modal-box .mp-od-total{ background:var(--burgundy,#4a1620); color:var(--vanilla,#ece1cb); border-radius:12px; padding:16px 18px; margin-top:4px; }
.mp-ord-modal-box .mp-od-total .mp-od-total-row{ color:var(--vanilla,#ece1cb); }
.mp-ord-modal-box .mp-od-total .mp-od-total-row b{ color:#fff; }
.mp-ord-modal-box .mp-od-total .mp-od-vat{ color:rgba(var(--vanilla-rgb,236,225,203),.65); }

/* Модификаторы в строке корзины (patch 1.5.29) */
.mp-item-mods{ font-family:var(--mono,monospace); font-size:12px; color:var(--ink-mute,#837b6f); margin-top:2px; }

/* История заказов: десктоп — панель справа, мобильный — модалка (patch 1.5.39) */
.mp-orders-grid{ grid-template-columns:minmax(0,380px) minmax(0,1fr); align-items:start; }
.mp-ord-aside{ position:sticky; top:16px; }
.mp-ord-card.active{ background:var(--vanilla-2,#f3ebd9); box-shadow:inset 3px 0 0 var(--burgundy,#4a1620); }
@media (min-width:861px){ .mp-ord-modal.open{ display:none; } }   /* на широком экране модалка не нужна */
@media (max-width:860px){ .mp-orders-grid{ grid-template-columns:1fr; } .mp-ord-aside{ display:none; } }

/* Тонкий скролл внутренних списков (patch 1.5.40).
   Без этого элементы наследуют глобальный scrollbar-color из style.css — толстая терракотовая полоса. */
.mp-orders-list, .mp-ord-modal-box{ scrollbar-width:thin; scrollbar-color:var(--vanilla-line,#d8cbad) transparent; }
.mp-orders-list::-webkit-scrollbar, .mp-ord-modal-box::-webkit-scrollbar{ width:6px; }
.mp-orders-list::-webkit-scrollbar-track, .mp-ord-modal-box::-webkit-scrollbar-track{ background:transparent; }
.mp-orders-list::-webkit-scrollbar-thumb, .mp-ord-modal-box::-webkit-scrollbar-thumb{ background:var(--vanilla-line,#d8cbad); border-radius:8px; }
.mp-orders-list:hover::-webkit-scrollbar-thumb, .mp-ord-modal-box:hover::-webkit-scrollbar-thumb{ background:var(--terracotta,#b0502c); }

/* Быстрая корзина (patch 1.5.41): растёт из кнопки корзины, количество меняется на месте */
.mp-qc{ display:none; position:fixed; inset:0; z-index:1250; background:rgba(var(--scrim-rgb,20,6,9),.45); opacity:0; transition:opacity .18s ease; }
.mp-qc.open{ display:block; opacity:1; }
.mp-qc.closing{ opacity:0; }
.mp-qc-box{ position:absolute; right:16px; bottom:132px; width:min(420px, calc(100vw - 32px)); max-height:min(70vh, 560px);
  display:flex; flex-direction:column; overflow:hidden;
  background:var(--vanilla-2,#f3ebd9); border:1px solid var(--vanilla-line,#d8cbad); border-radius:16px;
  box-shadow:0 24px 60px rgba(var(--scrim-rgb,20,6,9),.35);
  transform-origin:100% 100%;                    /* точка роста — угол с кнопкой корзины */
  animation:mpQcIn .2s cubic-bezier(.2,.85,.3,1.1) both; }
.mp-qc.closing .mp-qc-box{ animation:mpQcOut .16s ease both; }
@keyframes mpQcIn{ from{ opacity:0; transform:scale(.3) translate(22px,52px); } to{ opacity:1; transform:none; } }
@keyframes mpQcOut{ from{ opacity:1; transform:none; } to{ opacity:0; transform:scale(.32) translate(18px,46px); } }
.mp-qc-head{ display:flex; align-items:center; justify-content:space-between; gap:10px; padding:13px 16px;
  border-bottom:1px solid var(--vanilla-line,#d8cbad); font-family:var(--mono,monospace); font-weight:700;
  letter-spacing:1px; text-transform:uppercase; font-size:13px; color:var(--ink,#2a2724); }
.mp-qc-close{ background:none; border:0; font-size:24px; line-height:1; color:var(--ink-mute,#837b6f); cursor:pointer; }
.mp-qc-close:hover{ color:var(--ink,#2a2724); }
.mp-qc-body{ overflow-y:auto; padding:4px 16px; scrollbar-width:thin; scrollbar-color:var(--vanilla-line,#d8cbad) transparent; }
.mp-qc-body::-webkit-scrollbar{ width:6px; }
.mp-qc-body::-webkit-scrollbar-thumb{ background:var(--vanilla-line,#d8cbad); border-radius:8px; }
.mp-qc-item{ display:flex; align-items:center; gap:10px; padding:11px 0; border-bottom:1px dashed rgba(var(--ink-rgb,42,39,36),.14); }
.mp-qc-item:last-child{ border-bottom:0; }
.mp-qc-main{ flex:1; min-width:0; }
.mp-qc-name{ font-size:14px; color:var(--ink,#2a2724); }
.mp-qc-mods{ font-family:var(--mono,monospace); font-size:11.5px; color:var(--ink-mute,#837b6f); margin-top:2px; }
.mp-qc-price{ font-family:var(--mono,monospace); font-weight:700; font-size:13px; white-space:nowrap; }
.mp-qc-empty{ padding:26px 0; text-align:center; color:var(--ink-mute,#837b6f); }
.mp-qc-foot{ padding:12px 16px 14px; border-top:1px solid var(--vanilla-line,#d8cbad); background:rgba(255,255,255,.22); }
.mp-qc-sum{ display:flex; justify-content:space-between; align-items:baseline; margin-bottom:10px; font-family:var(--mono,monospace); font-size:13px; }
.mp-qc-sum b{ font-size:17px; color:var(--burgundy,#4a1620); }
@media (max-width:560px){ .mp-qc-box{ left:8px; right:8px; bottom:8px; width:auto; max-height:80vh; } }
@media (prefers-reduced-motion:reduce){ .mp-qc{ transition:none; } .mp-qc-box, .mp-qc.closing .mp-qc-box{ animation:none; } }

/* Кнопка «назад» на оформлении (patch 1.5.50): аккуратная пилюля вместо голой ссылки.
   Стрелка теперь ровно одна — иконкой; из текстов перевода дубль убран. */
.mp-back{
  display:inline-flex; align-items:center; gap:8px;
  margin:2px 0 16px; padding:7px 15px 7px 12px;
  background:rgba(var(--ink-rgb,42,39,36),.05);
  border:1px solid var(--vanilla-line,#d8cbad); border-radius:999px;
  color:var(--ink-soft,#4d4842); font-size:12.5px; letter-spacing:.3px;
  transition:background .15s, color .15s, border-color .15s;
}
.mp-back i{ font-size:11px; color:var(--terracotta,#b0502c); transition:transform .15s, color .15s }
.mp-back:not(:disabled):hover{
  background:var(--burgundy,#4a1620); border-color:var(--burgundy,#4a1620);
  color:var(--vanilla,#ece1cb); text-decoration:none;      /* перебиваем подчёркивание .mp-link */
}
.mp-back:not(:disabled):hover i{ color:var(--vanilla,#ece1cb); transform:translateX(-2px) }

/* ============ Яндекс Карты: выбор точки доставки (1.5.62) ============
   Палитра и радиусы — те же, что у полей формы, чтобы карта читалась как
   часть блока оформления, а не как чужой встроенный виджет. */
.ymp-field{ position:relative; }

/* выпадающие подсказки адреса — поверх карты, поэтому z-index выше .ymp-wrap */
.ymp-sg{
  position:absolute; left:0; right:0; top:calc(100% + 4px); z-index:30;
  max-height:266px; overflow-y:auto;
  background:var(--vanilla-2,#f3ebd9); border:1px solid var(--vanilla-line,#d8cbad);
  border-radius:var(--r-sm,10px); box-shadow:0 14px 30px rgba(0,0,0,.18);
  scrollbar-width:thin; scrollbar-color:var(--vanilla-line,#d8cbad) transparent;
}
.ymp-sg::-webkit-scrollbar{ width:6px; }
.ymp-sg::-webkit-scrollbar-thumb{ background:var(--vanilla-line,#d8cbad); border-radius:3px; }
.ymp-sg-item{
  display:block; width:100%; text-align:left; padding:10px 13px; border:0; cursor:pointer;
  background:none; font-family:var(--mono,monospace); line-height:1.3;
  border-bottom:1px solid rgba(var(--vanilla-line-rgb,216,203,173),.55);
}
.ymp-sg-item:last-child{ border-bottom:0; }
.ymp-sg-item:hover{ background:var(--vanilla,#ece1cb); }
.ymp-sg-t{ display:block; font-size:14px; color:var(--ink,#2a2724); }
.ymp-sg-s{ display:block; font-size:12px; color:var(--ink-mute,#837b6f); margin-top:2px; }

.ymp-toggle{
  align-self:flex-start; margin-top:2px; padding:7px 12px; cursor:pointer;
  display:inline-flex; align-items:center; gap:7px;
  font-family:var(--mono,monospace); font-size:12.5px; color:var(--ink-soft,#4d4842);
  background:var(--vanilla-2,#f3ebd9); border:1px solid var(--vanilla-line,#d8cbad);
  border-radius:var(--r-sm,10px);
}
.ymp-toggle:hover{ border-color:var(--terracotta,#b0502c); color:var(--terracotta,#b0502c); }
.ymp-toggle i{ color:var(--terracotta,#b0502c); }

.ymp-wrap{ display:flex; flex-direction:column; gap:7px; }
.ymp-map{
  /* position+z-index обязательны: карта рисует внутри себя слои с большими z-index,
     и без собственного стекового контекста они всплывают над списком подсказок */
  position:relative; z-index:0;
  /* На гостевой части html,body{touch-action:pan-x pan-y} (отключение зума, 1.5.55).
     Карта — единственный элемент сайта со своими жестами: none забирает их ей,
     иначе браузер начнёт прокручивать страницу и перетаскивание карты сорвётся. */
  touch-action:none;
  width:100%; height:260px; border-radius:var(--r-sm,10px); overflow:hidden;
  border:1px solid var(--vanilla-line,#d8cbad); background:var(--vanilla-2,#f3ebd9);
}
.ymp-hint{ font-size:12px; color:var(--ink-mute,#837b6f); font-family:var(--mono,monospace); line-height:1.35; }

/* Пин: капля в бордовом с ванильной сердцевиной. Якорь — остриё внизу,
   поэтому сдвигаем элемент влево на половину и вверх на всю высоту. */
.ymp-pin{
  position:relative; width:26px; height:26px; transform:translate(-50%,-100%); cursor:grab;
}
.ymp-pin:active{ cursor:grabbing; }
.ymp-pin::before{
  content:""; position:absolute; inset:0;
  background:var(--burgundy,#4a1620); border:2px solid var(--vanilla,#ece1cb);
  border-radius:50% 50% 50% 0; transform:rotate(-45deg);
  box-shadow:0 4px 10px rgba(0,0,0,.35);
}
.ymp-pin-dot{
  position:absolute; left:50%; top:50%; z-index:1; width:8px; height:8px; border-radius:50%;
  background:var(--vanilla,#ece1cb); transform:translate(-50%,-50%);
}

@media (max-width:640px){
  .ymp-map{ height:210px; }
}

/* ---------- «Мои адреса»: сохранённые адреса доставки гостя (1.5.69) ----------
   Чипы над полем адреса. Выбор ставит точку по сохранённым координатам,
   поэтому геокодер не дёргается. Блок скрыт, пока список пуст. */
.mp-saved{ display:flex; flex-direction:column; gap:7px; margin-bottom:9px; }
.mp-saved-t{
  font-family:var(--mono,monospace); font-size:11.5px; letter-spacing:.06em;
  text-transform:uppercase; color:var(--ink-mute,#837b6f);
}
.mp-saved-list{ display:flex; flex-wrap:wrap; gap:7px; }
.mp-saved-chip{
  display:inline-flex; align-items:stretch; max-width:100%;
  background:var(--vanilla-2,#f3ebd9); border:1px solid var(--vanilla-line,#d8cbad);
  border-radius:999px; overflow:hidden;
}
.mp-saved-chip:hover{ border-color:var(--terracotta,#b0502c); }
.mp-saved-pick{
  display:inline-flex; align-items:center; gap:7px; min-width:0;
  padding:7px 12px; border:0; background:none; cursor:pointer;
  font-family:var(--mono,monospace); font-size:12.5px; color:var(--ink,#2a2724);
}
.mp-saved-pick i{ color:var(--terracotta,#b0502c); font-size:12px; flex:0 0 auto; }
.mp-saved-pick span{ overflow:hidden; text-overflow:ellipsis; white-space:nowrap; max-width:240px; }
.mp-saved-del{
  flex:0 0 auto; padding:0 10px; border:0; cursor:pointer; background:none;
  color:var(--ink-mute,#837b6f); font-size:17px; line-height:1;
  border-left:1px solid var(--vanilla-line,#d8cbad);
}
.mp-saved-del:hover{ color:var(--terracotta,#b0502c); }

@media (max-width:640px){
  .mp-saved-pick span{ max-width:170px; }
}

/* ---------- строка стоимости доставки в панели итога (1.5.72) ---------- */
.mp-panel-delivery{
  display:flex; align-items:baseline; justify-content:space-between; gap:10px;
  margin-top:10px; padding-top:10px; border-top:1px dashed rgba(var(--vanilla-rgb,236,225,203),.25);
  font-family:var(--mono,monospace); font-size:13px; color:var(--vanilla,#ece1cb);
}
.mp-panel-delivery b{ font-size:14px; white-space:nowrap; }

/* ---------- курьер в карточке заказа гостя (1.5.76) ---------- */
.mp-od-courier{
  margin:12px 0; padding:12px 14px; border-radius:12px;
  background:var(--vanilla-2,#f3ebd9); border:1px solid var(--vanilla-line,#d8cbad);
}
.mp-od-courier-t{
  font-family:var(--mono,monospace); font-size:11.5px; letter-spacing:.06em;
  text-transform:uppercase; color:var(--ink-mute,#837b6f); margin-bottom:8px;
}
.mp-od-courier-btns{ display:flex; gap:8px; flex-wrap:wrap; margin-top:10px; }
.mp-od-btn{
  display:inline-flex; align-items:center; justify-content:center; gap:6px;
  padding:10px 16px; border-radius:999px; text-decoration:none;
  font-family:var(--mono,monospace); font-size:12.5px; font-weight:600; white-space:nowrap;
}
.mp-od-btn-call{ background:#fff; color:var(--ink,#2a2724); border:1px solid var(--vanilla-line,#d8cbad); }
.mp-od-btn-call:hover{ border-color:var(--terracotta,#b0502c); }
.mp-od-btn-track{ background:var(--terracotta,#b0502c); color:#fff; }
.mp-od-btn-track:hover{ filter:brightness(.94); }

@media (max-width:520px){
  .mp-od-courier-btns{ flex-direction:column; }
  .mp-od-btn{ width:100%; }
}

/* ==========================================================================
   1.5.80 — мини-фото позиций в истории заказов и свой список способов оплаты
   ========================================================================== */

/* --- мини-фото (карточка заказа и деталь) --- */
.mp-thumb{
  flex:0 0 auto; width:44px; height:44px; border-radius:10px; overflow:hidden;
  background:var(--vanilla-2,#f3ebd9); border:1px solid var(--vanilla-line,#d8cbad);
  position:relative;
}
.mp-thumb img{ width:100%; height:100%; object-fit:cover; display:block; }
/* заглушка: товара нет в меню или у него нет фото */
.mp-thumb.empty::after{
  content:''; position:absolute; inset:22%;
  border:2px solid var(--vanilla-line,#d8cbad); border-radius:4px; opacity:.8;
}

/* полоса превью в карточке списка заказов */
.mp-ord-thumbs{ display:flex; align-items:center; gap:6px; margin:2px 0 8px; }
.mp-ord-thumbs .mp-thumb{ width:28px; height:28px; border-radius:8px; }
.mp-ord-more{
  font-family:var(--mono,monospace); font-size:11.5px; color:var(--ink-mute,#837b6f);
  padding-left:2px;
}

/* строка позиции в детали заказа: фото — название/модификаторы/количество — сумма */
.mp-od-item{ align-items:center; }
.mp-od-it-tx{ flex:1 1 auto; min-width:0; display:flex; flex-direction:column; gap:2px; }
.mp-od-it-n{ color:var(--ink,#2a2724); line-height:1.25; overflow-wrap:anywhere; }
.mp-od-it-m{ font-size:12px; color:var(--terracotta,#b0502c); line-height:1.2; overflow-wrap:anywhere; }
.mp-od-it-q{ font-size:12px; color:var(--ink-mute,#837b6f); font-family:var(--mono,monospace); }

/* --- свой выпадающий список (тёмная панель оформления) --- */
.mp-sel{ position:relative; }
.mp-sel-btn{
  width:100%; display:flex; align-items:center; justify-content:space-between; gap:10px;
  padding:12px 14px; border-radius:var(--r-sm,10px); cursor:pointer;
  background:rgba(var(--vanilla-rgb,236,225,203),.08); border:1px solid rgba(var(--vanilla-rgb,236,225,203),.25);
  color:var(--vanilla,#ece1cb); font-family:var(--mono,monospace); font-size:14px;
  text-align:left; transition:border-color .15s, background .15s;
}
.mp-sel-btn:hover{ border-color:rgba(var(--vanilla-rgb,236,225,203),.5); }
.mp-sel-btn:disabled{ opacity:.6; cursor:default; }
.mp-sel-btn i{ font-size:11px; opacity:.75; transition:transform .15s; }
.mp-sel-btn[aria-expanded="true"] i{ transform:rotate(180deg); }
.mp-sel-menu{
  display:none; position:absolute; left:0; right:0; top:calc(100% + 6px); z-index:20;
  background:var(--burgundy-deep,#330f17); border:1px solid rgba(var(--vanilla-rgb,236,225,203),.25);
  border-radius:var(--r-sm,10px); padding:5px; overflow:hidden;
  box-shadow:0 14px 34px rgba(0,0,0,.45);
}
.mp-sel-menu.open{ display:block; }
.mp-sel-opt{
  display:block; width:100%; text-align:left; cursor:pointer;
  padding:10px 12px; border:none; border-radius:7px; background:transparent;
  color:var(--vanilla,#ece1cb); font-family:var(--mono,monospace); font-size:14px;
}
.mp-sel-opt:hover{ background:rgba(var(--vanilla-rgb,236,225,203),.12); }
.mp-sel-opt.active{ background:rgba(var(--vanilla-rgb,236,225,203),.18); }

/* ============================================================
   1.5.96 — «сейчас закрыто» в фирменном стиле сайта
   ------------------------------------------------------------
   Было белое системное окно — чужеродное на бордово-ванильной
   странице. Берём ту же палитру и шрифты, что и весь сайт:
   ванильная бумага, дисплейный заголовок, пунктирные линии.
   ============================================================ */
.mp-closed{ position:fixed; inset:0; z-index:1200; display:flex; align-items:center; justify-content:center;
  padding:24px; background:rgba(var(--scrim-rgb,20,6,9),.4); backdrop-filter:blur(3px); animation:mpFade .22s ease both; }
.mp-closed[hidden]{ display:none; }
.mp-closed.is-off{ opacity:0; transition:opacity .45s ease; }
/* Без фактуры бумаги: на светлой карточке зерно читалось как шум. Чистый
   ванильный тон — ровно как в мобильном приложении. */
.mp-closed-box{ position:relative; width:100%; max-width:420px; border-radius:var(--r,16px);
  background:var(--vanilla,#ece1cb);
  border:1px solid var(--vanilla-line,#d8cbad); padding:34px 28px 30px; text-align:center;
  box-shadow:var(--shadow,0 18px 50px rgba(0,0,0,.45)); }
.mp-closed-ic{ width:64px; height:64px; margin:0 auto 18px; border-radius:50%; display:flex; align-items:center;
  justify-content:center; background:rgba(var(--err-rgb,168,54,47),.14); color:var(--err,#a8362f); }
.mp-closed-t{ font-family:var(--disp,'Oswald'); font-weight:700; font-size:26px; letter-spacing:2px;
  text-transform:uppercase; color:var(--ink,#2a2724); }
.mp-closed-s{ font-family:var(--mono); font-size:13.5px; line-height:1.7; color:var(--ink-soft,#4d4842); margin-top:10px; }
.mp-closed-h{ font-family:var(--mono); font-size:10px; letter-spacing:2px; text-transform:uppercase;
  color:var(--ink-mute,#837b6f); margin:22px 0 10px; }
.mp-closed-days{ border-top:1px dashed var(--vanilla-line,#d8cbad); padding-top:12px; }
.mp-closed-day{ font-family:var(--mono); font-size:13.5px; line-height:2; color:var(--ink-soft,#4d4842); }
.mp-closed-day.is-today{ color:var(--ink,#2a2724); font-weight:700; }
/* подсказка, что окно закрывается касанием мимо него */
.mp-closed-hint{ font-family:var(--mono); font-size:11px; letter-spacing:1px; color:var(--ink-mute,#837b6f);
  margin-top:18px; text-transform:uppercase; }

/* выключенная кнопка заказа */
.mp-btn.is-closed, .mp-btn:disabled{ opacity:.5; cursor:not-allowed; }

@media (max-width:640px){
  .mp-closed-box{ padding:28px 20px 24px; }
  .mp-closed-t{ font-size:22px; }
  .mp-closed-day{ font-size:13px; }
}

/* ---------- Выбор точки самовывоза и «везёт» (1.5.118) ----------
   Цвета — только токены темы: файл общий для форков, а палитра у каждого своя
   (brand-*.css подключается последним и переопределяет :root). */
.mp-loclist { display: flex; flex-direction: column; gap: 8px; }
.mp-loc {
  display: flex; flex-direction: column; gap: 2px; width: 100%;
  padding: 10px 12px; text-align: left; cursor: pointer;
  background: var(--mp-card, #faf8f5); color: var(--mp-ink, #0d0d0d);
  border: 1px solid var(--mp-line, #e4ddd2); border-radius: 8px;
  font: inherit;
}
.mp-loc:hover { border-color: var(--mp-ink, #0d0d0d); }
.mp-loc.active { border-color: var(--mp-ink, #0d0d0d); box-shadow: inset 0 0 0 1px var(--mp-ink, #0d0d0d); }
.mp-loc b { font-weight: 600; }
.mp-loc span { font-size: 13px; color: var(--mp-ink-2, #57534e); }
.mp-loc.closed { opacity: .6; }
.mp-loc:disabled { cursor: not-allowed; }
.mp-loc:disabled:hover { border-color: var(--mp-line, #e4ddd2); }
.mp-loc-cl { font-size: 11px; font-style: normal; text-transform: uppercase; letter-spacing: .5px; color: var(--mp-err, #b00020); }
.mp-deliv-from { margin-top: 8px; font-size: 13px; color: var(--mp-ink-2, #57534e); }

/* ---------- «Как получить заказ?» (1.5.122) ---------- */
.mm-ov { position: fixed; inset: 0; z-index: 60; display: none; align-items: center; justify-content: center;
  padding: 16px; background: rgba(13,13,13,.55); backdrop-filter: blur(2px); }
.mm-ov.open { display: flex; }
.mm-box { width: 100%; max-width: 520px; max-height: 92vh; overflow: auto; padding: 20px;
  background: var(--mp-card, #faf8f5); color: var(--mp-ink, #0d0d0d);
  border: 1px solid var(--mp-line, #e4ddd2); border-radius: 14px; }
.mm-head h2 { margin: 0 0 4px; font-size: 20px; }
.mm-hint, .mm-sub { margin: 0 0 12px; font-size: 13px; color: var(--mp-ink-2, #57534e); }
.mm-seg { display: flex; gap: 8px; margin-bottom: 14px; }
.mm-seg-b { flex: 1; padding: 10px; font: inherit; cursor: pointer; border-radius: 10px;
  background: var(--mp-tile, #f4eee5); color: var(--mp-ink, #0d0d0d); border: 1px solid var(--mp-line, #e4ddd2); }
.mm-seg-b.active { background: var(--mp-ink, #0d0d0d); color: #fff; border-color: var(--mp-ink, #0d0d0d); }
.mm-inp { width: 100%; padding: 11px 12px; font: inherit; border-radius: 10px;
  background: var(--mp-field, #f0ece5); color: var(--mp-ink, #0d0d0d); border: 1px solid var(--mp-line, #e4ddd2); }
.mm-map-wrap { margin-top: 10px; height: 240px; border-radius: 10px; overflow: hidden; }
.mm-saved { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 10px; }
.mm-saved-b { padding: 7px 10px; font: inherit; font-size: 13px; cursor: pointer; border-radius: 8px;
  background: var(--mp-tile, #f4eee5); color: var(--mp-ink, #0d0d0d); border: 1px solid var(--mp-line, #e4ddd2); }
.mm-saved-b.on { border-color: var(--mp-ink, #0d0d0d); box-shadow: inset 0 0 0 1px var(--mp-ink, #0d0d0d); }

/* Выбранная точка (1.5.127). Тонкой рамки было мало: подобранный филиал терялся
   среди остальных, и подбор выглядел так, будто список просто стал длиннее.
   Тёмная заливка и галочка читаются с одного взгляда. */
.mm-loc.on {
  position: relative; padding-right: 40px;
  background: var(--mp-ink, #0d0d0d); border-color: var(--mp-ink, #0d0d0d); box-shadow: none;
}
.mm-loc.on b, .mm-loc.on span { color: #fff; }
.mm-loc.on span { opacity: .8; }
.mm-loc.on::after {
  content: '\2713'; position: absolute; top: 50%; right: 14px; transform: translateY(-50%);
  font-size: 18px; line-height: 1; color: #fff;
}
.mm-near { width: 100%; margin-bottom: 10px; padding: 10px; font: inherit; cursor: pointer; border-radius: 10px;
  background: var(--mp-tile, #f4eee5); color: var(--mp-ink, #0d0d0d); border: 1px solid var(--mp-line, #e4ddd2); }
.mm-loclist { display: flex; flex-direction: column; gap: 8px; }
.mm-loc { display: flex; flex-direction: column; gap: 2px; padding: 10px 12px; text-align: left; font: inherit;
  cursor: pointer; border-radius: 10px; background: var(--mp-tile, #f4eee5);
  color: var(--mp-ink, #0d0d0d); border: 1px solid var(--mp-line, #e4ddd2); }
.mm-loc span { font-size: 13px; color: var(--mp-ink-2, #57534e); }
.mm-loc.closed { opacity: .6; }
.mm-loc:disabled { cursor: not-allowed; }
.mm-loc-cl { font-size: 11px; font-style: normal; text-transform: uppercase; letter-spacing: .5px; color: var(--mp-err, #b00020); }
.mm-err { min-height: 18px; margin: 10px 0 0; font-size: 13px; color: var(--mp-err, #b00020); }
.mm-go { width: 100%; margin-top: 10px; padding: 13px; font: inherit; font-weight: 600; cursor: pointer;
  border-radius: 10px; background: var(--mp-ink, #0d0d0d); color: #fff; border: 0; }
.mm-go:disabled { opacity: .6; cursor: default; }

/* ---------- Способ получения в шапке и результат подбора (1.5.124) ---------- */
.mode-btn { display: inline-flex; align-items: center; gap: 7px; max-width: 220px;
  padding: 7px 12px; font: inherit; font-size: 14px; cursor: pointer; border-radius: 999px;
  background: var(--mp-tile, #f4eee5); color: var(--mp-ink, #0d0d0d); border: 1px solid var(--mp-line, #e4ddd2); }
.mode-btn:hover { border-color: var(--mp-ink, #0d0d0d); }
.mode-btn span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.mm-head { position: relative; }
.mm-x { position: absolute; top: -6px; right: -4px; width: 34px; height: 34px; font-size: 26px; line-height: 1;
  cursor: pointer; background: none; border: 0; color: var(--mp-ink-2, #57534e); }
/* Результат подбора — отдельная плашка, а не ещё один пункт списка: на светлой
   плитке она сливалась с точками (1.5.127). */
.mm-picked { display: flex; align-items: flex-start; gap: 8px;
  margin-top: 12px; padding: 11px 13px; font-size: 14px; border-radius: 10px;
  background: rgba(167, 139, 107, .14); border: 1px solid var(--mp-accent, #a78b6b);
  color: var(--mp-ink, #0d0d0d); }
.mm-picked::before { content: '\1F4CD'; flex: none; line-height: 1.3; }
.mm-picked b { font-weight: 600; }

/* Карта в модалке не поднялась — вместо пустого прямоугольника текст (1.5.125) */
.mm-map-off { display: flex; align-items: center; justify-content: center; padding: 16px;
  text-align: center; font-size: 13px; color: var(--mp-ink-2, #57534e);
  background: var(--mp-tile, #f4eee5); }
.mm-geo { width: 100%; margin-bottom: 10px; padding: 10px; font: inherit; cursor: pointer; border-radius: 10px;
  background: var(--mp-tile, #f4eee5); color: var(--mp-ink, #0d0d0d); border: 1px solid var(--mp-line, #e4ddd2); }
.mm-geo:disabled { opacity: .6; cursor: default; }
.mm-picked-ad { font-size: 13px; opacity: .75; }

/* Сообщение об убранных из корзины позициях (1.5.130) */
.mp-cart-note { margin-bottom: 12px; padding: 11px 13px; font-size: 14px; border-radius: 10px;
  background: rgba(167,139,107,.14); border: 1px solid var(--mp-accent, #a78b6b); color: var(--mp-ink, #0d0d0d); }
