/* ЛОМАКС — интернет-магазин внутри сайта (корзина, витрина, блок «Купить»).
   Цвета — из переменных catalog.css; запасные значения на случай другой шапки. */
.shop-buy{margin-top:22px;border:1px solid var(--line,#2a2d34);background:var(--steel-2,#14171c);padding:18px}
.shop-buy-row{display:flex;gap:12px;flex-wrap:wrap;align-items:flex-end}
.shop-buy-row+.shop-buy-row{margin-top:14px}
.shop-buy label{display:flex;flex-direction:column;gap:6px;font:500 12px/1.2 var(--mono,monospace);letter-spacing:.04em;color:var(--muted,#9aa0a8)}
.shop-buy-sel{flex:1 1 220px;min-width:0}
.shop-buy-qty{flex:0 0 130px}
.shop-buy select,.shop-buy input,.shop-dia{width:100%;background:var(--steel,#0e1014);color:var(--paper,#e7e9ec);border:1px solid var(--line,#2a2d34);padding:12px;font:600 15px var(--body,system-ui);border-radius:0;min-height:46px}
.shop-buy select:focus,.shop-buy input:focus{outline:2px solid var(--red,#CE1126);outline-offset:-1px}
.shop-buy .btn{padding:13px 22px;border:0;cursor:pointer;font-family:var(--body,system-ui)}
.shop-buy-meta{margin-top:12px;font-size:13px;line-height:1.55;color:var(--muted,#9aa0a8)}
.shop-buy-meta a{color:var(--paper,#e7e9ec)}
.shop-stock{font-weight:700}
.shop-stock.in{color:#3ccf7a}
.shop-stock.order{color:#e3b341}
.shop-count{display:inline-block;min-width:22px;padding:1px 6px;margin-left:6px;background:var(--red,#CE1126);color:#fff;font:700 12px/18px var(--mono,monospace);text-align:center}
.btn .shop-count{background:#fff;color:var(--red,#CE1126)}
.spec th.shop-th{white-space:nowrap}
.spec td.shop-td{white-space:nowrap;padding:6px 8px}
.shop-add{background:var(--red,#CE1126);color:#fff;border:0;padding:8px 12px;font:700 13px var(--body,system-ui);cursor:pointer;white-space:nowrap}
.shop-add:hover,.shop-add-sel:hover{background:var(--red-2,#a50e1f)}
.shop-add.done{background:#1f7a46}

/* верхняя строка шапки */
.topbar-links a.tb-shop{color:#fff;font-weight:700}
.topbar-links a.tb-cart b{display:inline-block;margin-left:4px;padding:0 5px;background:var(--red,#CE1126);color:#fff;font:700 11px/16px var(--mono,monospace)}

/* плавающая корзина */
.shop-fab{position:fixed;left:16px;bottom:20px;z-index:60;display:flex;align-items:center;gap:8px;background:var(--red,#CE1126);color:#fff;text-decoration:none;font:700 14px var(--body,system-ui);padding:12px 16px;box-shadow:0 8px 24px rgba(0,0,0,.45)}
.shop-fab[hidden]{display:none}
.shop-fab svg{width:20px;height:20px}
.shop-toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);z-index:70;background:#1b1f26;color:#fff;border:1px solid var(--line,#2a2d34);padding:12px 16px;font:500 14px var(--body,system-ui);max-width:calc(100vw - 32px);box-shadow:0 8px 24px rgba(0,0,0,.5)}
.shop-toast a{color:#ff5a6a;font-weight:700;margin-left:8px;white-space:nowrap}

/* витрина */
.shop-trust{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line,#2a2d34);border:1px solid var(--line,#2a2d34);margin:28px 0}
.shop-trust>div{background:var(--steel-2,#14171c);padding:16px 18px}
.shop-trust b{display:block;font:700 15px var(--body,system-ui);color:#fff;margin-bottom:4px}
.shop-trust span{font-size:13px;color:var(--muted,#9aa0a8);line-height:1.45}
.shop-filter{display:flex;gap:14px;flex-wrap:wrap;align-items:center;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--line,#2a2d34)}
.shop-chips{display:flex;gap:8px;flex-wrap:wrap}
.shop-chip{background:transparent;border:1px solid var(--line,#2a2d34);color:var(--paper,#e7e9ec);padding:9px 13px;font:600 13px var(--body,system-ui);cursor:pointer}
.shop-chip.on,.shop-chip:hover{border-color:var(--red,#CE1126);color:#fff}
.shop-chip.on{background:var(--red,#CE1126)}
.shop-filter-r{display:flex;gap:10px;align-items:center}
.shop-filter-r .shop-dia{width:auto;min-width:140px}
.shop-filter-r .btn{padding:12px 18px}
.shop-cat{padding:30px 0 6px}
.shop-cat[hidden],.shop-card[hidden]{display:none}
.shop-cat h2{margin-bottom:18px}
.shop-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.shop-card{display:flex;flex-direction:column;border:1px solid var(--line,#2a2d34);background:var(--steel-2,#14171c);min-width:0}
.shop-card-img{display:block;background:#0b0d10;overflow:hidden}
.shop-card-img img{width:100%;height:auto;object-fit:cover;display:block;aspect-ratio:16/10}
.shop-card-body{padding:16px 18px;min-width:0;display:flex;flex-direction:column;flex:1}
.shop-card .shop-buy{margin-top:auto}
.shop-card-price{margin-bottom:12px}
.shop-card h3{font:700 17px/1.3 var(--body,system-ui);margin:0 0 6px}
.shop-card h3 a{color:#fff;text-decoration:none}
.shop-card h3 a:hover{color:var(--red,#CE1126)}
.shop-card-meta{font-size:13px;color:var(--muted,#9aa0a8);margin:0 0 6px}
.shop-card-desc{font-size:14px;line-height:1.5;color:var(--paper,#e7e9ec);margin:0 0 10px}
.shop-card-price{font-size:14px;color:var(--muted,#9aa0a8)}
.shop-card-price b{font:800 22px var(--body,system-ui);color:#fff}
.shop-card-price.req{color:#e3b341;font-weight:600}
.shop-card .shop-buy{margin-top:12px;padding:12px;background:var(--steel,#0e1014)}
.shop-card .shop-buy-meta{display:none}
.shop-card .shop-buy-row .btn.ghost{display:none}
.shop-empty{padding:24px 0;color:var(--muted,#9aa0a8)}
.shop-steps{counter-reset:s;list-style:none;padding:0;display:grid;gap:10px;max-width:820px}
.shop-steps li{position:relative;padding:12px 14px 12px 52px;border:1px solid var(--line,#2a2d34);background:var(--steel-2,#14171c);line-height:1.55;color:var(--paper,#e7e9ec)}
.shop-steps li::before{counter-increment:s;content:counter(s);position:absolute;left:14px;top:11px;width:26px;height:26px;background:var(--red,#CE1126);color:#fff;font:700 14px/26px var(--mono,monospace);text-align:center}
.shop-steps a{color:#fff}

/* корзина */
.shop-cart-wrap{display:grid;grid-template-columns:minmax(0,1fr) 400px;gap:28px;align-items:start;padding:30px 0}
.shop-cart-wrap[hidden]{display:none}
.shop-muted{color:var(--muted,#9aa0a8);font-size:14px;line-height:1.55}
.shop-muted a{color:var(--paper,#e7e9ec)}
.shop-line{display:grid;grid-template-columns:72px minmax(0,1fr) auto;gap:14px;align-items:center;padding:14px 0;border-bottom:1px solid var(--line,#2a2d34)}
.shop-line img{width:72px;height:72px;object-fit:cover;background:#0b0d10}
.shop-line-name a{color:#fff;font-weight:700;text-decoration:none;line-height:1.35}
.shop-line-name small{display:block;color:var(--muted,#9aa0a8);font-size:13px;margin-top:4px}
.shop-line-r{display:flex;flex-direction:column;align-items:flex-end;gap:8px}
.shop-step{display:flex;border:1px solid var(--line,#2a2d34)}
.shop-step button{width:36px;height:38px;background:transparent;color:#fff;border:0;font-size:18px;cursor:pointer}
.shop-step input{width:76px;height:38px;text-align:center;background:var(--steel,#0e1014);color:#fff;border:0;border-left:1px solid var(--line,#2a2d34);border-right:1px solid var(--line,#2a2d34);font:700 15px var(--body,system-ui);-moz-appearance:textfield}
.shop-step input::-webkit-inner-spin-button{-webkit-appearance:none}
.shop-line-sum{font:800 16px var(--body,system-ui);color:#fff;white-space:nowrap}
.shop-line-sum.req{color:#e3b341;font-size:13px;font-weight:600}
.shop-del{background:none;border:0;color:var(--muted,#9aa0a8);font-size:13px;text-decoration:underline;cursor:pointer;padding:0}
.shop-cart-side{position:sticky;top:16px;display:grid;gap:16px}
.shop-total{border:1px solid var(--line,#2a2d34);background:var(--steel-2,#14171c);padding:18px;display:grid;gap:8px}
.shop-total>div{display:flex;justify-content:space-between;color:var(--muted,#9aa0a8);font-size:14px}
.shop-total b{color:#fff}
.shop-total-sum{padding-top:10px;border-top:1px solid var(--line,#2a2d34)}
.shop-total-sum b{font:800 24px var(--body,system-ui)}
.shop-total-note{font-size:12.5px;color:var(--muted,#9aa0a8);line-height:1.5;margin:0}
.shop-order{border:1px solid var(--line,#2a2d34);background:var(--steel-2,#14171c);padding:18px;display:grid;gap:10px;position:relative}
.shop-order h2{font-size:20px;margin:0 0 4px}
.shop-order fieldset{border:0;padding:0;margin:4px 0 0;display:grid;gap:6px}
.shop-order legend{font:500 12px var(--mono,monospace);letter-spacing:.06em;text-transform:uppercase;color:var(--muted,#9aa0a8);margin-bottom:4px}
.shop-order input[type=text],.shop-order input[type=tel],.shop-order input[type=email],.shop-order textarea{width:100%;background:var(--steel,#0e1014);color:#fff;border:1px solid var(--line,#2a2d34);padding:12px;font:500 15px var(--body,system-ui);border-radius:0}
.shop-order input:focus,.shop-order textarea:focus{outline:2px solid var(--red,#CE1126);outline-offset:-1px}
.shop-radio{display:flex;gap:8px;align-items:flex-start;font-size:14px;color:var(--paper,#e7e9ec);cursor:pointer;line-height:1.4}
.shop-radio input{accent-color:var(--red,#CE1126);margin-top:2px}
.shop-order .lmx-hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.shop-order .lmx-consent{display:flex;gap:10px;align-items:flex-start;color:var(--muted,#9aa0a8);font-size:12px;line-height:1.55;cursor:pointer}
.shop-order .lmx-consent input{margin-top:2px;accent-color:var(--red,#CE1126)}
.shop-order .lmx-consent a{color:var(--paper,#e7e9ec)}
.shop-order .btn{border:0;cursor:pointer;width:100%;font-family:var(--body,system-ui)}
.shop-order .btn[disabled]{opacity:.6;cursor:default}
.shop-status{font-size:14px;margin:0;min-height:1em}
.shop-status.err{color:#ff6b78}
.shop-done{border:1px solid #1f7a46;background:rgba(31,122,70,.12);padding:24px;margin:30px 0;max-width:760px}
.shop-done h2{margin:0 0 10px}
.shop-done p,.shop-done li{line-height:1.6;color:var(--paper,#e7e9ec)}

@media(max-width:1000px){
  .shop-cart-wrap{grid-template-columns:1fr}
  .shop-cart-side{position:static}
  .shop-grid{grid-template-columns:1fr 1fr}
  .shop-trust{grid-template-columns:1fr 1fr}
}
@media(max-width:640px){
  .shop-grid{grid-template-columns:1fr}
  .shop-trust{grid-template-columns:1fr}
  .shop-filter-r{width:100%}
  .shop-filter-r .shop-dia{flex:1}
  .shop-line{grid-template-columns:56px minmax(0,1fr)}
  .shop-line img{width:56px;height:56px}
  .shop-line-r{grid-column:1/-1;flex-direction:row;justify-content:space-between;align-items:center}
  .shop-buy-qty{flex:1 1 120px}
  .shop-buy-row .btn{flex:1 1 auto;text-align:center}
  .shop-fab{bottom:16px;left:12px}
  body:has(.cro-bar) .shop-fab{bottom:76px}
  .topbar-links{gap:12px;overflow-x:auto}
}
.shop-done ol{padding-left:22px;margin:8px 0 14px}

/* карточки без фото (решение владельца 27.10): нейтральная плашка вместо картинки */
.shop-noimg{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;aspect-ratio:16/10;text-decoration:none;
  background:repeating-linear-gradient(135deg,#12151a 0 14px,#15181e 14px 28px);border-bottom:1px solid var(--line,#2a2d34)}
.shop-noimg span{font:800 clamp(26px,3vw,38px)/1 var(--display,system-ui);color:#fff;letter-spacing:.02em}
.shop-noimg small{font:500 11px var(--mono,monospace);letter-spacing:.14em;text-transform:uppercase;color:var(--muted,#9aa0a8)}
.shop-line-noimg{display:block;width:72px;height:72px;background:repeating-linear-gradient(135deg,#12151a 0 8px,#15181e 8px 16px);border:1px solid var(--line,#2a2d34)}
@media(max-width:640px){.shop-line-noimg{width:56px;height:56px}}
.shop-noimg-prod{position:absolute;inset:0;aspect-ratio:auto;width:100%;height:100%;border:0}
.shop-noimg-prod span{font-size:clamp(40px,6vw,72px)}
