/* ─────────────────────────────────────────────────────────
   ПОКУПАТЕЛЬ: /cart, /account, /account/orders/…, вход
   Общий словарь (кнопки, поля, .notice, .empty) — в core.css.
   ───────────────────────────────────────────────────────── */

.shop{padding:30px 0 70px}
.shop.narrow{max-width:min(760px, 100%)}
.shop h1{margin:0 0 6px}
.shop > .lead{margin:0 0 22px}
.shop .crumbs{font-size:var(--t-sm);color:var(--muted);margin:0 0 14px}
.shop .crumbs a{color:var(--accent);text-decoration:underline}

.block{padding:26px 0 0}
.block h2{margin:0 0 14px}
/* Заголовок с действием справа: кнопка относится к разделу, а не
   к странице, поэтому стоит рядом с ним */
.block-head{display:flex;align-items:baseline;gap:14px;margin-bottom:14px}
.block-head h2{margin:0}
.block-head .linkish{margin-left:auto;font-size:var(--t-sm)}
.block h3{font-family:var(--display);font-size:var(--t-xs);letter-spacing:.16em;
  text-transform:uppercase;color:var(--dim);margin:20px 0 8px}

/* ── Шапка кабинета ────────────────────────────────────── */
.acct-head{display:flex;align-items:flex-start;gap:16px;flex-wrap:wrap;
  margin-bottom:20px}
.acct-head > div:first-child{flex:1;min-width:0}
.acct-head .hint{margin:4px 0 0}

.figures{display:flex;gap:28px;flex-wrap:wrap;padding:16px 18px;
  background:var(--surface);border:1px solid var(--line);border-radius:var(--r)}
.figures div{display:flex;flex-direction:column;gap:2px}
.figures b{font-family:var(--display);font-size:var(--t-xl);font-weight:600;
  font-variant-numeric:tabular-nums;line-height:1.1}
.figures span{font-size:var(--t-xs);color:var(--muted)}

/* ── Корзина ───────────────────────────────────────────── */
.cart{display:grid;grid-template-columns:1fr 320px;gap:26px;align-items:start;
  margin-top:20px}
@media(max-width:820px){.cart{grid-template-columns:1fr}}

.cart-list{display:grid;gap:10px}
.cart-row{display:flex;align-items:center;gap:14px;background:var(--surface);
  border:1px solid var(--line);border-radius:var(--r);padding:12px 14px}
.cart-row.is-gone{opacity:.6}
.cart-row .pic{width:64px;height:64px;flex:0 0 64px;border-radius:var(--r);
  overflow:hidden;background:var(--surface-2);display:block}
.cart-row .pic img{width:100%;height:100%;object-fit:cover}
.cart-row .pic .none{display:flex;align-items:center;justify-content:center;
  height:100%;font-size:var(--t-xs);color:var(--dim)}
.cart-row .info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.cart-row .nm{font-size:var(--t-md);line-height:1.3}
.cart-row .sku{font-size:var(--t-xs);color:var(--dim)}
.cart-row .sub{font-size:var(--t-xs);color:var(--muted)}
.cart-row .gone-note{font-size:var(--t-xs);color:var(--err)}
.cart-row .price{font-family:var(--display);font-size:var(--t-lg);font-weight:600;
  font-variant-numeric:tabular-nums;white-space:nowrap}
.cart-row .price .ask{font-family:var(--body);font-size:var(--t-sm);
  font-weight:400;color:var(--muted)}
.cart-row .drop{background:none;border:0;padding:4px 6px;font-size:22px;
  line-height:1;color:var(--dim);cursor:pointer}
.cart-row .drop:hover{color:var(--err)}

.checkout{background:var(--surface);border:1px solid var(--line);
  border-radius:var(--r);padding:18px;position:sticky;top:76px}
.checkout .sum{display:flex;align-items:baseline;justify-content:space-between;
  padding-bottom:14px;margin-bottom:14px;border-bottom:1px solid var(--line)}
.checkout .sum b{font-family:var(--display);font-size:var(--t-xl);font-weight:600;
  font-variant-numeric:tabular-nums}
.checkout form{display:grid;gap:12px}
.checkout textarea.field{resize:vertical;font-family:inherit}
.checkout .btn{width:100%}
.checkout .hint{margin:0}

/* ── Вход ──────────────────────────────────────────────── */
.tabs{display:flex;gap:6px;margin:20px 0 16px}
.tabs button{background:var(--surface);border:1px solid var(--line-2);
  border-radius:var(--r);padding:9px 16px;font:inherit;font-size:var(--t-sm);
  cursor:pointer;color:var(--muted)}
.tabs button.on{background:var(--accent);border-color:var(--accent);color:#fff;
  font-weight:600}

.auth{display:grid;gap:14px;max-width:420px;background:var(--surface);
  border:1px solid var(--line);border-radius:var(--r);padding:20px}
.auth .hint{margin:6px 0 0}
.err{margin:0;color:var(--err);font-size:var(--t-sm)}
.auth .fld label{display:block;margin-bottom:6px}

/* Глаз в поле пароля */
.pw{position:relative}
.pw .field{padding-right:46px}
.pw-eye{position:absolute;right:4px;top:50%;transform:translateY(-50%);
  width:38px;height:38px;border:0;background:none;color:var(--dim);cursor:pointer;
  display:flex;align-items:center;justify-content:center;border-radius:6px}
.pw-eye:hover,.pw-eye[aria-pressed="true"]{color:var(--accent)}
.pw-eye svg{width:20px;height:20px}

/* Быстрый вход: под формой, той же ширины */
.auth-box{max-width:420px}
.quick{margin-top:18px}
.quick-or{display:flex;align-items:center;gap:12px;margin:0 0 12px;
  color:var(--muted);font-size:var(--t-sm)}
.quick-or::before,.quick-or::after{content:"";flex:1;height:1px;background:var(--line)}
.quick-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px}
.quick-btn{display:flex;align-items:center;justify-content:center;gap:10px;
  height:46px;padding:0 14px;border-radius:var(--r);border:1px solid var(--line-2);
  background:var(--surface);color:var(--ink);font:inherit;font-weight:600;
  font-size:var(--t-sm);text-decoration:none;cursor:pointer;
  transition:border-color .13s,box-shadow .13s}
.quick-btn:hover{border-color:var(--ink)}
.quick-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.qb-ico{display:inline-flex;width:20px;height:20px;flex:0 0 auto}
.qb-ico svg{width:100%;height:100%;display:block}

/* Ожидание входа через MAX */
.max-wait{display:grid;grid-template-columns:200px 1fr;gap:24px;align-items:center;
  max-width:640px;background:var(--surface);border:1px solid var(--line);
  border-radius:var(--r);padding:22px}
.max-wait .qr svg{width:200px;height:200px;display:block}
.max-wait ol{margin:0 0 16px;padding-left:20px;line-height:1.6}
.max-state{font-size:var(--t-sm);color:var(--muted);margin:12px 0 0}
.max-state.ok{color:var(--ok,#1f9d55)}
.max-state.bad{color:var(--err)}
@media (max-width:600px){
  .max-wait{grid-template-columns:1fr}
  .max-wait .qr{display:none}
}

/* ── Заказы ────────────────────────────────────────────── */
.orders{display:grid;gap:14px}
.order{background:var(--surface);border:1px solid var(--line);
  border-radius:var(--r);padding:16px 18px}
.order header{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;
  padding-bottom:12px;border-bottom:1px solid var(--line)}
.order .num{font-size:var(--t-md);font-weight:600;color:var(--ink);
  text-decoration:none}
.order .num:hover{text-decoration:underline}
.order .date{font-size:var(--t-sm);color:var(--muted)}
.order .total{margin-left:auto;font-family:var(--display);font-size:var(--t-lg);
  font-weight:600;font-variant-numeric:tabular-nums}

/* Статус заказа — цветом, чтобы в списке было видно без чтения */
.st{font-size:var(--t-xs);padding:3px 9px;border-radius:5px;
  background:var(--surface-2);color:var(--muted);border:1px solid var(--line)}
.st-paid,.st-completed{background:#E6F4ED;color:var(--ok);border-color:#BFE3D2}
.st-cancelled{background:#FBECEC;color:var(--err);border-color:#F0CFCF}
.st-new,.st-confirmed{background:var(--accent-bg);color:var(--accent-dk);
  border-color:#FBD3C2}

.order .items{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:10px}
.order .items li{display:flex;align-items:center;gap:12px}
.order .items .pic{width:48px;height:48px;flex:0 0 48px;border-radius:var(--r);
  overflow:hidden;background:var(--surface-2);display:block}
.order .items .pic img{width:100%;height:100%;object-fit:cover}
.order .items .pic .none{display:block;height:100%}
.order .items .nm{flex:1;min-width:0;font-size:var(--t-sm);line-height:1.35;
  display:flex;flex-direction:column}
.order .items .nm a{text-decoration:none}
.order .items .nm a:hover{text-decoration:underline}
.order .items .nm small{color:var(--dim);font-size:var(--t-xs)}
.order .items .cond{font-family:var(--display);font-weight:700;font-size:13px;
  width:24px;height:24px;flex:0 0 24px;display:flex;align-items:center;
  justify-content:center;border:1.5px solid var(--ink);border-radius:5px}
.order .items .sum{font-variant-numeric:tabular-nums;font-size:var(--t-sm);
  white-space:nowrap}

.order footer{margin-top:12px;padding-top:12px;border-top:1px solid var(--line);
  font-size:var(--t-sm);color:var(--muted)}
.order footer .more{margin-left:8px;color:var(--accent);text-decoration:underline}

.order-sum{display:flex;align-items:baseline;justify-content:space-between;
  margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}
.order-sum b{font-family:var(--display);font-size:var(--t-xl);font-weight:600;
  font-variant-numeric:tabular-nums}

.pay-methods{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:12px}

/* ── История поиска ────────────────────────────────────── */
.hist{list-style:none;margin:0;padding:0;display:grid;gap:1px;
  background:var(--line);border:1px solid var(--line);border-radius:var(--r);
  overflow:hidden}
.hist li{display:flex;align-items:baseline;gap:12px;background:var(--surface);
  padding:10px 14px;font-size:var(--t-sm)}
.hist .what{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;
  white-space:nowrap}
.hist a.what{color:var(--accent);text-decoration:underline}
.hist .n{color:var(--muted);font-size:var(--t-xs);white-space:nowrap;
  font-variant-numeric:tabular-nums}
.hist .date{color:var(--dim);font-size:var(--t-xs);white-space:nowrap}

/* ── Оформление заказа ─────────────────────────────────── */
.cart-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;
  flex-wrap:wrap}
.cart-head .cnt{display:inline-flex;align-items:center;justify-content:center;
  min-width:30px;height:30px;padding:0 8px;border-radius:15px;background:var(--accent);
  color:#fff;font-size:15px;vertical-align:middle}
.sum-lines{display:grid;grid-template-columns:1fr auto;gap:6px 12px;margin:0 0 12px;
  font-size:var(--t-sm)}
.sum-lines dt{color:var(--muted)}
.sum-lines dd{margin:0;text-align:right}
.checkout fieldset{border:0;margin:0;padding:0;display:grid;gap:10px}
.checkout legend{font-weight:600;font-size:var(--t-sm);margin-bottom:8px;padding:0}
.checkout .fld[hidden]{display:none}
.choice{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.opt{position:relative;display:block;margin:0;cursor:pointer}
.opt input{position:absolute;opacity:0;pointer-events:none}
.opt span{display:block;height:100%;padding:10px 12px;border:1px solid var(--line-2);
  border-radius:var(--r);background:var(--surface);transition:border-color .13s}
.opt b{display:block;font-size:var(--t-sm);color:var(--ink)}
.opt small{display:block;font-size:var(--t-xs);color:var(--muted);margin-top:2px}
.opt input:checked + span{border-color:var(--accent);box-shadow:0 0 0 2px rgba(245,79,12,.15)}
.opt input:focus-visible + span{outline:2px solid var(--accent);outline-offset:2px}
.agree{display:flex;gap:10px;align-items:flex-start;font-size:var(--t-sm);
  color:var(--ink);letter-spacing:0;font-weight:400;cursor:pointer;margin:0}
.agree input{margin-top:3px;width:18px;height:18px;flex:0 0 auto;accent-color:var(--accent)}

/* Сведения о заказе — подпись слева, значение справа */
.facts{display:grid;grid-template-columns:max-content 1fr;gap:8px 18px;margin:0}
.facts dt{color:var(--muted)}
.facts dd{margin:0}
.date.pay-paid{color:#1f8a4c}
.date.pay-failed{color:var(--err)}

/* Учебная оплата */
.demo-pay{max-width:440px;background:var(--surface);border:1px solid var(--line);
  border-radius:var(--r);padding:24px;display:grid;gap:14px}
.demo-pay .amount{font-family:var(--display);font-size:var(--t-xl);font-weight:600}
.demo-pay .row{display:flex;gap:10px;flex-wrap:wrap}
.demo-pay .row .btn{flex:1}
@media (max-width:420px){ .choice{grid-template-columns:1fr} }

/* «Проверьте почту» после регистрации по email */
.auth.sent h2{margin:0;font-size:var(--t-lg)}
.auth.sent p{margin:0}
.auth .linkish{justify-self:start;font-size:var(--t-sm)}
