/* Корзина v2 (09.10.2026, этап 2 аудита): pages/basket/index_v2.php, поведение — assets/js/cart2.js.
   Тот же вид, что у панели корзины и оформления v2: белые карточки на сером, кирпичный акцент, углы 5 px, цифры табличные.
   Откат — $config['cart_v2'] = 'off' (config/pdp.php). */
.cr {
    --cr-brand: #b74923; --cr-brand-d: #9a3c1c; --cr-soft: #fbefe9; --cr-soft-line: #f0d6ca;
    --cr-ink: #1c1a19; --cr-text: #3b3633; --cr-muted: #6b625d; --cr-line: #ebe5e1; --cr-field: #d8cfc9;
    --cr-sale: #d7322b; --cr-ok: #1f7a3a; --cr-no: #a1261c;
    color: var(--cr-ink); padding: 14px 0 36px; font-variant-numeric: tabular-nums;
}
.cr *, .cr *::before, .cr *::after { box-sizing: border-box; }
.cr [hidden] { display: none !important; } /* иначе display: flex у строк перебивал hidden («Reducere −0 lei») */
.cr__in { display: flex; flex-direction: column; gap: 16px; }
.cr-crumbs { display: flex; align-items: center; gap: 8px; font-size: 14px; color: var(--cr-muted); }
.cr-crumbs a { color: var(--cr-text); display: inline-flex; align-items: center; }

/* заголовок */
.cr-head { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.cr-head h1 { margin: 0; font-size: 30px; line-height: 1.15; font-weight: 700; color: var(--cr-ink); }
.cr-count { font-size: 16px; font-weight: 500; color: var(--cr-muted); margin-left: 6px; }
.cr-clear { display: inline-flex; align-items: center; gap: 6px; min-height: 40px; color: var(--cr-muted); font-size: 14.5px; text-decoration: none; }

.cr-grid { display: grid; grid-template-columns: minmax(0, 1fr) 360px; gap: 20px; align-items: start; }

/* товары */
.cr-list { display: flex; flex-direction: column; gap: 10px; min-width: 0; }
.cr-item { position: relative; display: grid; grid-template-columns: 96px minmax(0, 1fr) auto 150px 44px; align-items: center; column-gap: 18px;
    background: #fff; border: 1px solid var(--cr-line); border-radius: 5px; padding: 14px 14px 14px 16px; transition: opacity .15s; }
.cr-item.is-busy { opacity: .55; pointer-events: none; }
.cr-item__img { display: block; width: 96px; height: 96px; border-radius: 4px; background: #fff; }
.cr-item__img img { width: 96px; height: 96px; object-fit: contain; }
.cr-item__info { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.cr-item__t { color: var(--cr-ink); font-size: 16px; font-weight: 600; line-height: 1.3; text-decoration: none;
    display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.cr-item__sku { color: var(--cr-muted); font-size: 13px; }
.cr-item__st { font-size: 13px; font-weight: 600; color: var(--cr-ok); display: inline-flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.cr-item__st::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: currentColor; flex: none; }
.cr-item__st.is-no { color: var(--cr-no); }
.cr-item__st.is-no a { color: var(--cr-brand); font-weight: 600; }
.cr-item__st.is-cmd { color: var(--cr-muted); }

.cr-qty { display: inline-flex; align-items: center; border: 1px solid var(--cr-field); border-radius: 5px; height: 44px; background: #fff; }
.cr-qty button { width: 44px; height: 42px; border: 0; background: none; font-size: 20px; line-height: 1; color: var(--cr-ink); cursor: pointer; }
.cr-qty button:disabled { color: #c8c0ba; cursor: default; }
.cr-n { min-width: 34px; text-align: center; font-size: 16px; font-weight: 700; }
.cr-qty--fixed { padding: 0 14px; font-weight: 600; color: var(--cr-text); }

.cr-item__sum { display: flex; flex-direction: column; align-items: flex-end; gap: 1px; text-align: right; }
.cr-item__sum s { color: var(--cr-muted); font-size: 13.5px; }
.cr-item__sum b { font-size: 20px; font-weight: 800; color: var(--cr-brand); white-space: nowrap; }
.cr-item__sum b.is-sale { color: var(--cr-sale); }
.cr-item__sum b small { font-size: 13px; font-weight: 600; }
.cr-item__unit { color: var(--cr-muted); font-size: 12.5px; }

.cr-del { width: 44px; height: 44px; border: 0; border-radius: 5px; background: none; color: var(--cr-muted); cursor: pointer; display: grid; place-items: center; }
.cr-back { display: inline-flex; align-items: center; gap: 6px; align-self: flex-start; min-height: 44px; color: var(--cr-brand); font-weight: 600; text-decoration: none; }

/* итоги */
.cr-sum { position: sticky; top: calc(var(--fh-h, 126px) + 12px); }
.cr-sum__box { background: #fff; border: 1px solid var(--cr-line); border-radius: 5px; padding: 18px 18px 16px; display: flex; flex-direction: column; gap: 14px; }
.cr-sum__box h2 { margin: 0; font-size: 19px; font-weight: 700; }
.cr-lines { display: flex; flex-direction: column; gap: 8px; }
.cr-line { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; font-size: 15px; color: var(--cr-text); }
.cr-line--save { color: var(--cr-ok); font-weight: 600; }
.cr-line--muted span:last-child { color: var(--cr-muted); font-size: 14px; text-align: right; }
.cr-line--total { border-top: 1px solid var(--cr-line); padding-top: 12px; margin-top: 4px; color: var(--cr-ink); font-size: 17px; font-weight: 700; }
.cr-line--total b { font-size: 26px; font-weight: 800; }
.cr-line--total b small { font-size: 15px; font-weight: 600; }

.cr-btn { display: flex; align-items: center; justify-content: center; gap: 8px; min-height: 50px; padding: 0 18px; border-radius: 5px; font-size: 16px; font-weight: 700; text-decoration: none; cursor: pointer; }
.cr-btn--main { background: var(--cr-brand); color: #fff; border: 0; }
.cr-btn--line { background: #fff; color: var(--cr-brand); border: 1px solid var(--cr-brand); }
.cr-trust { list-style: none; margin: 0; padding: 12px 0 0; border-top: 1px solid var(--cr-line); display: flex; flex-direction: column; gap: 8px; }
.cr-trust li { display: flex; align-items: center; gap: 10px; font-size: 14px; color: var(--cr-text); }
.cr-trust svg { flex: none; color: var(--cr-brand); }
.cr-help { margin: 0; font-size: 14px; color: var(--cr-muted); }
.cr-help a { color: var(--cr-ink); font-weight: 700; text-decoration: none; white-space: nowrap; }

/* пустая корзина */
.cr-empty { background: #fff; border: 1px solid var(--cr-line); border-radius: 5px; padding: 40px 24px; display: flex; flex-direction: column; align-items: center; gap: 12px; text-align: center; }
.cr-empty__ic { width: 84px; height: 84px; border-radius: 50%; background: var(--cr-soft); color: var(--cr-brand); display: grid; place-items: center; }
.cr-empty h1 { margin: 6px 0 0; font-size: 26px; font-weight: 700; text-wrap: balance; }
.cr-empty p { margin: 0; max-width: 46ch; color: var(--cr-text); font-size: 15.5px; line-height: 1.5; }
.cr-empty__btns { display: flex; gap: 10px; flex-wrap: wrap; justify-content: center; margin-top: 6px; }
.cr-empty__btns .cr-btn { min-width: 210px; }

.cr-btn:focus-visible, .cr-qty button:focus-visible, .cr-del:focus-visible, .cr-back:focus-visible, .cr-clear:focus-visible, .cr a:focus-visible { outline: 2px solid var(--cr-brand); outline-offset: 2px; }
@media (hover: hover) {
    .cr-crumbs a:hover, .cr-item__t:hover { color: var(--cr-brand); }
    .cr-clear:hover { color: var(--cr-brand); }
    .cr-qty button:not(:disabled):hover { color: var(--cr-brand); }
    .cr-del:hover { background: var(--cr-soft); color: var(--cr-brand); }
    .cr-btn--main:hover { background: var(--cr-brand-d); }
    .cr-btn--line:hover { background: var(--cr-soft); }
    .cr-back:hover, .cr-help a:hover { text-decoration: underline; }
}

/* ноутбук и планшет в ландшафте */
@media (max-width: 1100px) {
    .cr-grid { grid-template-columns: minmax(0, 1fr) 320px; }
    .cr-item { grid-template-columns: 84px minmax(0, 1fr) auto 44px; grid-template-areas: "img info info del" "img qty sum sum"; row-gap: 10px; }
    .cr-item__img { grid-area: img; width: 84px; height: 84px; align-self: start; }
    .cr-item__img img { width: 84px; height: 84px; }
    .cr-item__info { grid-area: info; }
    .cr-item__qty { grid-area: qty; }
    .cr-item__sum { grid-area: sum; }
    .cr-del { grid-area: del; align-self: start; }
}
/* планшет в портрете и телефон: итоги под товарами */
@media (max-width: 850px) {
    .cr { padding-top: 10px; }
    .cr-grid { grid-template-columns: minmax(0, 1fr); }
    .cr-sum { position: static; }
}
@media (max-width: 600px) {
    .cr-head h1 { font-size: 24px; }
    .cr-item { grid-template-columns: 72px minmax(0, 1fr) 40px; grid-template-areas: "img info del" "qty qty sum"; padding: 12px; column-gap: 12px; }
    .cr-item__img, .cr-item__img img { width: 72px; height: 72px; }
    .cr-item__t { font-size: 15px; }
    .cr-del { width: 40px; height: 40px; }
    .cr-item__sum b { font-size: 18px; }
    .cr-sum__box { padding: 16px; }
    .cr-empty { padding: 32px 16px; }
    .cr-empty h1 { font-size: 22px; }
    .cr-empty__btns .cr-btn { min-width: 0; flex: 1 1 100%; }
}
@media (prefers-reduced-motion: reduce) { .cr-item { transition: none; } }

/* «Goliți coșul» — подтверждение (12.10.2026, аудит UX-5) */
.cr-clearbox { display: inline-flex; align-items: center; }
.cr-clear-q { display: inline-flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; font-size: 14.5px; color: var(--cr-text, #222); }
.cr-clear-q[hidden], .cr-clear[hidden] { display: none; }
.cr-clear-yes { display: inline-flex; align-items: center; min-height: 36px; padding: 0 12px; border-radius: 5px; background: #d7322b; color: #fff !important; font-weight: 600; text-decoration: none; }
.cr-clear-no { min-height: 36px; padding: 0 12px; border-radius: 5px; border: 1px solid #d0d0d0; background: #fff; color: #222; font: inherit; cursor: pointer; }
