/* Удобство витрины (23.10, ux.js): подсказки пустого поиска, цена в фильтрах,
   «что за товар» над ценой, доверие фактами, липкая кнопка «В корзину», шаги заказа. */

/* ---------- подсказки пустого поиска ---------- */
.sugg{display:flex;flex-direction:column;gap:6px;padding:2px 0 12px}
.sugg-h{display:flex;align-items:center;justify-content:space-between;margin:10px 0 4px}
.sugg-h b{font-size:13px;color:var(--hint);font-weight:600}
.sugg-h button{border:0;background:none;color:var(--accent);font:inherit;font-size:13px;padding:4px 0;cursor:pointer}
.sugg-chips{display:flex;flex-wrap:wrap;gap:7px}
.sugg-chips button{
  display:inline-flex;align-items:center;gap:6px;max-width:100%;padding:8px 12px;border:1px solid var(--line);
  border-radius:999px;background:var(--bg);color:var(--text);font:inherit;font-size:13.5px;cursor:pointer;
}
.sugg-chips button span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sugg-chips svg{width:14px;height:14px;flex:none;color:var(--hint)}
.sugg-it{
  display:flex;align-items:center;gap:11px;width:100%;padding:7px 0;border:0;border-bottom:1px solid var(--line);
  background:none;color:var(--text);font:inherit;text-align:left;cursor:pointer;
}
.sugg-it img,.sugg-it .noph{width:44px;height:44px;flex:none;border-radius:10px;object-fit:contain;background:#fff;border:1px solid var(--line)}
.sugg-it .noph{display:grid;place-items:center;font-size:16px}
.sugg-it .noph svg{width:22px;height:22px}
.sugg-it span{flex:1;min-width:0;font-size:14px;line-height:1.3;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.sugg-it b{flex:none;font-size:13.5px;font-weight:600}
.sugg-ask{
  display:flex;align-items:center;gap:12px;width:100%;margin-top:12px;padding:12px 14px;border:1px solid var(--line);
  border-radius:14px;background:var(--card);color:var(--text);font:inherit;text-align:left;cursor:pointer;
}
.sugg-ask i{width:36px;height:36px;flex:none;border-radius:50%;display:grid;place-items:center;
  background:color-mix(in srgb, var(--accent) 14%, transparent);color:var(--accent)}
.sugg-ask i svg{width:18px;height:18px}
.sugg-ask span{display:flex;flex-direction:column;gap:2px;min-width:0}
.sugg-ask b{font-size:14.5px}
.sugg-ask small{font-size:12.5px;color:var(--hint);line-height:1.35}
.sugg-empty-ask{display:inline-flex;align-items:center;justify-content:center;gap:8px;margin-top:16px;width:auto;padding-left:18px;padding-right:18px}
.sugg-empty-ask svg{width:17px;height:17px;color:var(--accent)}

/* ---------- фильтры: числа, цена, кнопка «Показать (N)» ---------- */
.fopt.zero{opacity:.42;pointer-events:none}
.pbox{--a:0;--b:1}
.pbars{display:flex;align-items:flex-end;gap:2px;height:46px;padding:0 12px}
.pbars i{flex:1;min-height:2px;border-radius:3px 3px 0 0;background:var(--line);transition:background-color .15s ease}
.pbars i.on{background:color-mix(in srgb, var(--accent) 55%, transparent)}
/* 23.10 (круг 8): кружок 24 px пальцем ловился плохо — 28 px и полоса повыше */
.prange{position:relative;height:36px;margin:0 0 4px}
.prange::before,.prange::after{content:"";position:absolute;top:16px;height:4px;border-radius:4px}
.prange::before{left:14px;right:14px;background:var(--line)}
.prange::after{left:calc(14px + (100% - 28px) * var(--a));width:calc((100% - 28px) * (var(--b) - var(--a)));background:var(--accent)}
.prange input{position:absolute;inset:0;width:100%;height:36px;margin:0;padding:0;border:0;border-radius:0;box-shadow:none;
  outline:none;background:none;pointer-events:none;-webkit-appearance:none;appearance:none;z-index:1}
.prange input:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 4px color-mix(in srgb, var(--accent) 25%, transparent)}
.prange input::-webkit-slider-runnable-track{height:36px;background:none;border:0}
.prange input::-moz-range-track{height:36px;background:none;border:0}
.prange input::-webkit-slider-thumb{-webkit-appearance:none;pointer-events:auto;width:28px;height:28px;border-radius:50%;
  background:#fff;border:2px solid var(--accent);box-shadow:0 1px 4px rgba(16,24,40,.25);cursor:grab;margin-top:4px}
.prange input::-moz-range-thumb{pointer-events:auto;width:24px;height:24px;border-radius:50%;
  background:#fff;border:2px solid var(--accent);box-shadow:0 1px 4px rgba(16,24,40,.25);cursor:grab}
.pins{display:flex;gap:10px}
.pins label{flex:1;display:flex;align-items:center;gap:8px;padding:0 12px;border:1px solid var(--line);border-radius:12px;background:var(--bg)}
.pins small{color:var(--hint);font-size:12.5px;flex:none}
.pins input{flex:1;min-width:0;border:0;background:none;color:var(--text);font:inherit;font-size:15px;padding:11px 0;outline:none}
.fbar{position:sticky;bottom:calc(-24px - env(safe-area-inset-bottom));z-index:2;margin:6px -16px 0;
  padding:10px 16px calc(30px + env(safe-area-inset-bottom));background:var(--bg)}

/* ---------- карточка товара ---------- */
.pstat{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}
.pstat span{font-size:12px;font-weight:600;padding:3px 8px;border-radius:6px;
  background:color-mix(in srgb, var(--accent) 11%, transparent);color:var(--accent)}
.pstat .pst-sale{background:color-mix(in srgb, #dc2626 11%, transparent);color:#dc2626}
.pstat + .price-big{margin-top:6px}
.pf{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;margin-top:6px;font-size:13px;color:var(--hint)}
.pf-rate{display:inline-flex;align-items:center;gap:6px;padding:0;border:0;background:none;color:var(--hint);font:inherit;cursor:pointer}
.pf-rate b{color:var(--text);font-weight:600}
.pf-rate b::first-letter{color:#f59e0b}
.pf-sold{display:inline-flex;align-items:center;gap:5px}
.pf-sold svg{width:14px;height:14px;color:#ea580c}
.trust.facts span{color:var(--text)}
.trust.facts svg{color:var(--accent)}
/* кнопка «В корзину» не теряется ниже описания: пока до неё не долистали, она прижата к низу листа.
   Липкость считается от края без нижнего отступа листа (24px + safe-area) — сдвигаем на него и закрываем фоном */
#sheetCart{position:sticky;bottom:calc(-24px - env(safe-area-inset-bottom));z-index:2;margin:14px -16px 0;
  padding:10px 16px calc(34px + env(safe-area-inset-bottom));background:var(--bg);box-shadow:0 -1px 0 var(--line)}
#sheetCart:empty{display:none}

/* ---------- заказ в работе: строка и шаги ---------- */
.trk{margin:10px 0 4px;padding:12px;border-radius:12px;background:var(--bg)}
.trk-h{display:block;font-size:15px}
.trk-at{display:flex;align-items:flex-start;gap:6px;margin-top:6px;font-size:13px;color:var(--hint)}
.trk-at svg{width:15px;height:15px;flex:none;margin-top:1px}
.trk-s{display:flex;margin:12px 0 0;padding:0;list-style:none}
.trk-s li{flex:1;position:relative;display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;
  font-size:11px;color:var(--hint);line-height:1.2}
.trk-s li::before{content:"";position:absolute;top:6px;left:-50%;width:100%;height:2px;background:var(--line);z-index:0}
.trk-s li:first-child::before{display:none}
.trk-s li i{position:relative;z-index:1;width:14px;height:14px;border-radius:50%;background:var(--bg);border:2px solid var(--line)}
.trk-s li.done,.trk-s li.now{color:var(--text)}
.trk-s li.done i{background:var(--accent);border-color:var(--accent)}
.trk-s li.done::before,.trk-s li.now::before{background:var(--accent)}
.trk-s li.now i{border-color:var(--accent);box-shadow:0 0 0 4px color-mix(in srgb, var(--accent) 18%, transparent)}
.trk-s li.now span{font-weight:600}

/* ---------- 23.10, вторая часть: плитка или список ---------- */
.vbar{display:flex;align-items:center;justify-content:space-between;margin:-2px 0 10px;font-size:13px;color:var(--hint)}
.vseg{display:flex;gap:2px;padding:3px;border-radius:11px;background:var(--card)}
.vseg button{position:relative;width:38px;height:34px;display:grid;place-items:center;padding:0;border:0;border-radius:8px;
  background:transparent;color:var(--hint);cursor:pointer;touch-action:manipulation;transition:background-color .15s ease,color .15s ease}
/* 23.10 (круг 8): было 36×30 — пальцу мало; кнопки чуть крупнее, а невидимая зона нажатия — 44 px в высоту */
.vseg button::after{content:"";position:absolute;inset:-5px 0}
.vseg button svg{width:17px;height:17px}
.vseg button.on{background:var(--bg);color:var(--text);box-shadow:0 1px 3px rgba(16,24,40,.12)}
.vseg button:active{transform:scale(.92)}
.grid.as-list{grid-template-columns:1fr;gap:10px}
@media(min-width:560px){.grid.as-list{grid-template-columns:repeat(2,1fr)}}
.grid.as-list>.card{display:grid;grid-template-columns:96px minmax(0,1fr);grid-template-rows:auto auto;column-gap:12px;
  padding:8px;align-items:start}
.grid.as-list>.card .imgwrap{grid-row:1/3;grid-column:1;align-self:center;border-radius:12px;overflow:hidden}
.grid.as-list>.card .ph,.grid.as-list>.card .noph{padding:4px}
.grid.as-list>.card .fav,.grid.as-list>.card .share,.grid.as-list>.card .vid-mark{display:none}
.grid.as-list>.card .badges{top:4px;left:4px}
.grid.as-list>.card .badge{font-size:9px;padding:2px 5px}
.grid.as-list>.card .body{grid-column:2;grid-row:1;padding:2px 2px 0}
.grid.as-list>.card .nm{-webkit-line-clamp:2}
.grid.as-list>.card .pr{padding-top:4px}
.grid.as-list>.card>.add,.grid.as-list>.card>.stepper{grid-column:2;grid-row:2;margin:8px 0 2px}
.grid.as-list>.card>.add{padding:9px}

/* ---------- «больше — дешевле» в карточке ---------- */
.deals{margin:16px 0 4px}
.deals-h{display:block;font-size:15px;margin-bottom:10px}
.deals-row{display:flex;gap:8px}
.deals-row button{flex:1;min-width:0;position:relative;display:flex;flex-direction:column;align-items:center;gap:3px;padding:12px 6px 10px;
  border:1.5px solid var(--line);border-radius:14px;background:var(--bg);color:var(--text);font:inherit;cursor:pointer;
  transition:border-color .15s ease,background-color .15s ease}
.deals-row button b{font-size:14px}
.deals-row button span{font-size:12.5px;color:var(--hint);white-space:nowrap}
.deals-row button em{position:absolute;top:-9px;left:50%;transform:translateX(-50%);font-style:normal;font-size:11px;font-weight:700;
  color:#fff;background:#16a34a;border-radius:6px;padding:1px 6px}
.deals-row button.on{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 7%, transparent)}
.deals-row button.on span{color:var(--text)}
.deals-row button:active{transform:scale(.97)}
/* в корзине: «202 350 −5%» и «ещё 1 шт. — скидка 10%» */
.deal-pct{font-style:normal;font-weight:700;color:#16a34a;font-size:.92em}
.deal-next{margin-top:3px;font-size:12px;color:#16a34a;font-weight:500}

/* ---------- курьер в заказе ---------- */
.cour{display:flex;align-items:center;gap:10px;margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}
.cour i{width:38px;height:38px;flex:none;border-radius:50%;display:grid;place-items:center;font-style:normal;font-weight:700;
  background:color-mix(in srgb, var(--accent) 15%, transparent);color:var(--accent)}
.cour span{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}
.cour b{font-size:14.5px}
.cour small{font-size:12px;color:var(--hint)}
.cour-call{flex:none;display:inline-flex;align-items:center;gap:6px;padding:8px 13px;border-radius:999px;background:var(--accent);
  color:var(--accent-text);font-size:13px;font-weight:600;text-decoration:none}
.cour-call svg{width:15px;height:15px}

/* 23.10: «+» бледнеет, когда больше остатка не положить; кнопки количества без задержки на двойное касание */
.stepper button.max,.sheet-step button.max,.qty button.max{opacity:.35}
.stepper button,.sheet-step button,.qty button,.card .add{touch-action:manipulation}
