/* [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(--shade-1-rgb),.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(--btn-dark); color:var(--on-dark);
}
.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(--on-dark); 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(--on-dark); 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(--accent-ink); 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(--on-dark);
  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(--on-dark);
  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(--shade-1-rgb),.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(--btn-dark); color:var(--on-dark); }
.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(--accent-ink); font-size:16px; line-height:1; cursor:pointer; }
.mp-qty button:hover{ background:var(--burgundy,#4a1620); color:var(--on-dark); }
.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(--accent-ink); }

/* оформление */
.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(--on-dark); border-color:var(--accent-ink); }
.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:var(--ok); 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(--accent-ink); 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(--accent-ink); }
.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(--accent-ink); }

.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:var(--blue); }
.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(--accent-ink); }

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

/* 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(--accent-ink); box-shadow:0 0 0 2px rgba(var(--burgundy-rgb),.12); }

/* ============ Корзина/оформление 1.0.6 (стиль BREADLY, цвета MUSHTUM) ============ */
#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),.06); }
.mp-box::before{ content:""; position:absolute; inset:8px; border:1px dashed rgba(var(--ink-rgb),.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,var(--panel-1),var(--panel-2)); 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; } }

/* панель итога/оплаты — бордо MUSHTUM */
.mp-panel{ background:var(--burgundy,#4a1620); color:var(--on-dark); 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(--on-dark-rgb),.85); }
.mp-panel-row b{ color:var(--on-dark); 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(--on-dark-rgb),.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(--on-dark-rgb),.7); margin:16px 0 8px; }
.mp-panel-title:first-child{ margin-top:0; }
.mp-panel-sel{ background:rgba(var(--on-dark-rgb),.08); border:1px solid rgba(var(--on-dark-rgb),.25); color:var(--on-dark); }
.mp-panel-sel option{ color:var(--ink); }
.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(--on-dark-rgb),.9); }
.mp-panel-item b{ font-family:var(--mono,monospace); white-space:nowrap; }
.mp-panel-vat{ font-size:11.5px; color:rgba(var(--on-dark-rgb),.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(--on-dark); 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),.06); }
.mp-ord-card.active{ border-color:var(--accent-ink); 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(--accent-ink); }
.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:var(--blue); }
.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(--accent-ink); }
.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(--shade-2-rgb),.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(--shade-2-rgb),.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),.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(--on-dark); border-radius:12px; padding:16px 18px; margin-top:4px; }
.mp-ord-modal-box .mp-od-total .mp-od-total-row{ color:var(--on-dark); }
.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(--on-dark-rgb),.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(--on-dark-mute) 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(--shade-2-rgb),.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(--shade-2-rgb),.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(--on-dark-mute) 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),.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(--accent-ink); }
@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),.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(--accent-ink);
  color:var(--on-dark); text-decoration:none;      /* перебиваем подчёркивание .mp-link */
}
.mp-back:not(:disabled):hover i{ color:var(--on-dark); 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(--on-dark-mute) 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),.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(--on-dark-rgb),.25);
  font-family:var(--mono,monospace); font-size:13px; color:var(--on-dark);
}
.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(--on-dark-rgb),.08); border:1px solid rgba(var(--on-dark-rgb),.25);
  color:var(--on-dark); 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(--on-dark-rgb),.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(--on-dark-rgb),.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(--on-dark); font-family:var(--mono,monospace); font-size:14px;
}
.mp-sel-opt:hover{ background:rgba(var(--on-dark-rgb),.12); }
.mp-sel-opt.active{ background:rgba(var(--on-dark-rgb),.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(--shade-1-rgb),.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),.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; }
}
