/* ════════════════════════════════════════════════════════════════════
   PATCH 9.4 — Таблица заказа товара (.kp-order).
   Эталон: kpromo-order-table.html (Nick). Матрица размеров со стоком/ценой
   на строку, степпер без рамки, итог + 2 кнопки. Цена на строку + бейдж +N ₽.
   Скоуп — body.kp-body .kp-pdp .kp-order. Шрифты наследуем от страницы.
   ════════════════════════════════════════════════════════════════════ */
body.kp-body .kp-pdp .kp-order {
  --kp-ink:#16130C; --kp-accent:var(--yellow,#FECE15); --kp-surface:#FAF9F4;
  --kp-line:#EBE9E1; --kp-muted:#8C887D; --kp-danger:#C8442B; --kp-rctrl:11px;
  color:var(--kp-ink); width:100%;
}
body.kp-body .kp-pdp .kp-order * { box-sizing:border-box; }
body.kp-body .kp-pdp .kp-order .kp-num { font-variant-numeric:tabular-nums; font-feature-settings:"tnum" 1; }

/* ── Таблица ── */
body.kp-body .kp-pdp .kp-order .kp-scroll { overflow-x:auto; -webkit-overflow-scrolling:touch; }
body.kp-body .kp-pdp .kp-matrix { width:100%; border-collapse:collapse; }
body.kp-body .kp-pdp .kp-matrix th { text-align:right; font-size:11px; letter-spacing:.07em; text-transform:uppercase; color:var(--kp-muted); font-weight:600; padding:0 0 10px; border-bottom:1px solid var(--kp-line); white-space:nowrap; }
body.kp-body .kp-pdp .kp-matrix th.left, body.kp-body .kp-pdp .kp-matrix td.left { text-align:left; }
body.kp-body .kp-pdp .kp-matrix td { padding:12px 0; text-align:right; font-size:15px; border-bottom:1px solid var(--kp-line); vertical-align:middle; white-space:nowrap; }
body.kp-body .kp-pdp .kp-matrix tbody tr:last-child td { border-bottom:0; }
body.kp-body .kp-pdp .kp-matrix td.left { font-weight:700; }
body.kp-body .kp-pdp .kp-matrix tbody tr:hover td { background:var(--kp-surface); }
body.kp-body .kp-pdp .kp-matrix th:not(.left), body.kp-body .kp-pdp .kp-matrix td:not(.left) { padding-left:14px; }
body.kp-body .kp-pdp .kp-size-stock.low { color:var(--kp-danger); }
body.kp-body .kp-pdp .kp-size-out { color:var(--kp-muted); }

/* ── Цена + дельта ── */
body.kp-body .kp-pdp .kp-price.diff { font-weight:700; color:var(--kp-ink); }
body.kp-body .kp-pdp .kp-delta { display:inline-block; font-size:11px; font-weight:700; line-height:1; padding:3px 7px; margin-left:7px; border-radius:999px; background:rgba(254,206,21,.22); color:var(--kp-ink); vertical-align:middle; }

/* ── Степпер (без рамки, чёрные кружки −/+) ── */
body.kp-body .kp-pdp .kp-stepper { display:inline-flex; align-items:center; gap:10px; }
body.kp-body .kp-pdp .kp-stepper button { flex:0 0 auto; width:30px; height:30px; border:0; border-radius:50%; background:var(--kp-ink); color:#fff; cursor:pointer; display:flex; align-items:center; justify-content:center; transition:background .15s, color .15s; }
body.kp-body .kp-pdp .kp-stepper button:hover:not(:disabled) { background:var(--kp-accent); color:var(--kp-ink); }
body.kp-body .kp-pdp .kp-stepper button:disabled { background:#EBE9E1; color:#fff; cursor:not-allowed; }
body.kp-body .kp-pdp .kp-stepper button svg { width:11px; height:11px; display:block; }
body.kp-body .kp-pdp .kp-qty { width:54px; border:0; text-align:center; font-size:19px; font-weight:800; color:var(--kp-ink); background:transparent; -moz-appearance:textfield; appearance:textfield; padding:0; }
body.kp-body .kp-pdp .kp-qty::-webkit-inner-spin-button, body.kp-body .kp-pdp .kp-qty::-webkit-outer-spin-button { -webkit-appearance:none; margin:0; display:none; }
body.kp-body .kp-pdp .kp-qty:focus { outline:0; }
body.kp-body .kp-pdp .kp-stepper.is-disabled { opacity:.45; }

/* ── Подсказки ── */
body.kp-body .kp-pdp .kp-order-hint { font-size:12.5px; color:var(--kp-muted); margin-top:12px; }
body.kp-body .kp-pdp .kp-order-hint.warn { color:var(--kp-danger); }
body.kp-body .kp-pdp .kp-order-note { font-size:12.5px; color:var(--kp-muted); margin-top:6px; }

/* ── Итого ── */
body.kp-body .kp-pdp .kp-order .kp-summary { display:flex; align-items:baseline; justify-content:space-between; gap:16px; background:var(--kp-surface); border-radius:var(--kp-rctrl); padding:14px 16px; margin:16px 0 18px; }
body.kp-body .kp-pdp .kp-summary .s-lbl { font-size:13px; color:var(--kp-muted); }
body.kp-body .kp-pdp .kp-summary .s-qty { font-weight:700; }
body.kp-body .kp-pdp .kp-summary .s-total { font-size:26px; font-weight:800; letter-spacing:-.01em; }

/* ── Кнопки ── */
body.kp-body .kp-pdp .kp-order .kp-actions { display:flex; gap:12px; }
body.kp-body .kp-pdp .kp-actions button, body.kp-body .kp-pdp .kp-actions a { flex:1; height:54px; border-radius:var(--kp-rctrl); font-size:15px; font-weight:700; cursor:pointer; transition:filter .15s, background .15s, color .15s; border:1.5px solid var(--kp-ink); display:flex; align-items:center; justify-content:center; text-decoration:none; }
body.kp-body .kp-pdp .kp-btn-cart { background:#fff; color:var(--kp-ink); }
body.kp-body .kp-pdp .kp-btn-cart:hover, body.kp-body .kp-pdp .kp-btn-cart.is-added { background:var(--kp-ink); color:#fff; }
body.kp-body .kp-pdp .kp-btn-primary { background:var(--kp-accent); color:var(--kp-ink); border-color:var(--kp-accent); }
body.kp-body .kp-pdp .kp-btn-primary:hover { filter:brightness(.95); }

@media (max-width:480px) {
  body.kp-body .kp-pdp .kp-order .kp-actions { flex-direction:column; }
  body.kp-body .kp-pdp .kp-summary .s-total { font-size:22px; }
}

/* ════════════════════════════════════════════════════════════════════
   ПЕРЕБИВКА темы Woodmart — она агрессивно стилизует любые <button>/<a>
   (раздувает степперы в чёрные круги, красит кнопки). Бьём !important.
   ════════════════════════════════════════════════════════════════════ */
body.kp-body .kp-pdp .kp-order .kp-stepper button {
  width:30px !important; height:30px !important; min-width:0 !important; min-height:0 !important;
  padding:0 !important; margin:0 !important; border:0 !important; border-radius:50% !important;
  background:var(--kp-ink) !important; color:#fff !important; box-shadow:none !important;
  line-height:1 !important; letter-spacing:0 !important; text-transform:none !important; font-size:0 !important;
}
body.kp-body .kp-pdp .kp-order .kp-stepper button:hover:not(:disabled) { background:var(--kp-accent) !important; color:var(--kp-ink) !important; }
body.kp-body .kp-pdp .kp-order .kp-stepper button:disabled { background:#EBE9E1 !important; color:#fff !important; }
body.kp-body .kp-pdp .kp-order .kp-stepper button svg { width:11px !important; height:11px !important; display:block !important; }
body.kp-body .kp-pdp .kp-order .kp-stepper .kp-qty { width:54px !important; box-shadow:none !important; }

body.kp-body .kp-pdp .kp-order .kp-actions .kp-btn-cart,
body.kp-body .kp-pdp .kp-order .kp-actions .kp-btn-primary {
  height:54px !important; border-radius:var(--kp-rctrl) !important; min-width:0 !important;
  text-transform:none !important; letter-spacing:0 !important; box-shadow:none !important; font-size:15px !important; font-weight:700 !important;
}
body.kp-body .kp-pdp .kp-order .kp-actions .kp-btn-cart { background:#fff !important; color:var(--kp-ink) !important; border:1.5px solid var(--kp-ink) !important; }
body.kp-body .kp-pdp .kp-order .kp-actions .kp-btn-cart:hover,
body.kp-body .kp-pdp .kp-order .kp-actions .kp-btn-cart.is-added { background:var(--kp-ink) !important; color:#fff !important; }
body.kp-body .kp-pdp .kp-order .kp-actions .kp-btn-primary { background:var(--kp-accent) !important; color:var(--kp-ink) !important; border:1.5px solid var(--kp-accent) !important; }
body.kp-body .kp-pdp .kp-order .kp-actions .kp-btn-primary:hover { filter:brightness(.95) !important; }
