/* Мини-корзина (панель справа) и страница корзины. Стили чекаута — checkout.css. */
/* Цвета полей и ошибок корзины/чекаута — от токенов темы, чтобы работали и в тёмной теме */
:root{--field:var(--bg);--field-line:color-mix(in srgb,var(--ink) 22%,var(--bg));--err:#b3261e}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--err:#ff8f86}}
:root[data-theme="dark"]{--err:#ff8f86}
.mc-lock,.mc-lock body{overflow:hidden}
.mc{position:fixed;inset:0;z-index:1000}
.mc[hidden]{display:none}
.mc-shade{position:absolute;inset:0;background:rgba(28,27,27,.4);opacity:0;transition:opacity .25s var(--ease)}
.mc-panel{position:absolute;top:0;right:0;bottom:0;width:min(440px,100%);background:var(--bg);display:flex;flex-direction:column;transform:translateX(100%);transition:transform .25s var(--ease);outline:0;padding-bottom:env(safe-area-inset-bottom,0px)}
.mc.on .mc-shade{opacity:1}
.mc.on .mc-panel{transform:none}
.mc-head{display:flex;justify-content:space-between;align-items:center;padding:18px 20px;border-bottom:1px solid var(--line)}
.mc-head h2{font:400 20px var(--f-display);margin:0}
.mc-n{color:var(--mute)}
.mc-x{width:36px;height:36px;border-radius:50%;border:1px solid var(--line);background:none;cursor:pointer;color:var(--ink);font-size:15px}
.mc-panel .mc-body{flex:1;display:flex;flex-direction:column;min-height:0}
.mc-free{padding:14px 20px;border-bottom:1px solid var(--line);display:grid;gap:8px;font-size:14px}
.mc-track{height:6px;border-radius:3px;background:var(--tint);overflow:hidden}
.mc-track b{display:block;height:100%;background:var(--accent);border-radius:3px;transition:width .4s var(--ease)}
.mc-items{list-style:none;margin:0;padding:0 20px;flex:1;overflow:auto}
.mc-it{display:grid;grid-template-columns:64px minmax(0,1fr);gap:12px;padding:14px 0;border-bottom:1px solid var(--line)}
.mc-it img,.mc-ph{width:64px;height:64px;object-fit:contain;border-radius:var(--r);background:var(--surface);display:block}
.mc-nm{font-size:14px;line-height:1.35;color:var(--ink);text-decoration:none;display:block;margin-bottom:8px}
.mc-nm:hover{color:var(--accent-ink)}
.mc-ctl{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.mc-ctl .money{margin-left:auto;font-variant-numeric:tabular-nums;white-space:nowrap}
.mc-step{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:999px}
.mc-step button{width:32px;height:32px;border:0;background:none;font-size:16px;cursor:pointer;color:var(--ink)}
.mc-step button:disabled{opacity:.35;cursor:default}
.mc-step span{min-width:22px;text-align:center;font-variant-numeric:tabular-nums}
.mc-rm{font-size:12px;color:var(--mute);background:none;border:0;padding:0;cursor:pointer;text-decoration:underline}
.mc-foot{padding:16px 20px 20px;border-top:1px solid var(--line);display:grid;gap:10px}
.mc-sum{display:flex;justify-content:space-between;font-size:16px}
.mc-sub{font-size:12px;color:var(--mute);margin:-6px 0 0}
.mc-foot .btn,.mc-empty .btn{display:flex;justify-content:center;width:100%;border-radius:999px;background:var(--ink);color:var(--bg);padding:14px 20px;font:500 15px var(--f-body);text-decoration:none}
.mc-empty .btn.ghost{background:none;color:var(--ink);border:1px solid var(--ink)}
.mc-doc{justify-self:center;font-size:14px;color:var(--accent-ink);text-underline-offset:3px}
.mc-empty{padding:32px 20px;display:grid;gap:12px}
.mc-empty p{margin:0;color:var(--mute)}
.mc-errmsg{margin:12px 20px 0;color:var(--err);font-size:13px}
.mc-page{max-width:760px;margin:0 auto;padding:32px var(--gut) 64px}
.mc-page h1{font:300 clamp(28px,4vw,40px)/1.1 var(--f-display);margin:0 0 16px}
.mc-page .mc-body{border:1px solid var(--line);border-radius:10px;overflow:hidden}
.mc-page .mc-items{overflow:visible}
@media (prefers-reduced-motion:reduce){.mc-shade,.mc-panel,.mc-track b{transition:none}}
