/* ============================================================
   shop-ui.css — vizuální polish e-shop stránek:
   Košík / Pokladna / Můj účet / Oblíbené / Děkujeme.
   Načítá se PO inner.css a přebíjí jeho sekci cart/checkout.
   Vlastní třídy mají prefix .shopx-*, AJAX hooky (.nw-cartx-*,
   #nw-cart-*, .nw-stepper, .nw-payx…) zůstávají beze změny.
   ============================================================ */

/* ---------- sdílené ---------- */
.shopx-cta-block { display:block; width:100%; text-align:center; margin-left:0; }
a.shopx-cta-block:hover { text-decoration:none; }
button.shopx-cta-block { cursor:pointer; }

.shopx-free { color:var(--green); font-weight:700; }

/* prázdné stavy */
.shopx-empty { padding:56px 24px 52px; border-radius:16px; }
.shopx-empty-ico {
  width:84px; height:84px; border-radius:50%;
  background:var(--cream); color:var(--brand);
  display:inline-flex; align-items:center; justify-content:center;
  margin-bottom:16px;
}
.nw-cart-empty.shopx-empty svg { color:inherit; margin-bottom:0; display:block; }
.shopx-empty-heart { background:#FEE4E2; color:#D92D20; }
.shopx-empty-title { font-weight:700; color:var(--ink); font-size:19px; margin:0 0 6px; }
.shopx-empty-sub { color:var(--mut); font-size:14.5px; margin:0 0 20px; }
.shopx-empty-link { margin-left:0; padding:10px 16px; }

/* trust badge */
.shopx-trust {
  list-style:none; margin:6px 0 0; padding:16px 0 2px;
  border-top:1px solid var(--line);
  display:flex; flex-direction:column; gap:12px;
}
.shopx-trust li { display:flex; align-items:center; gap:12px; font-weight:600; font-size:13px; color:var(--ink); }
.shopx-trust-ico {
  width:34px; height:34px; border-radius:10px; flex:none;
  background:var(--cream); color:var(--brand);
  display:inline-flex; align-items:center; justify-content:center;
}

/* ---------- Košík ---------- */
#nw-cart-full { grid-template-columns:minmax(0,1fr) 360px; gap:24px; }
.nw-cartx { border-radius:16px; box-shadow:0 14px 30px rgba(16,24,40,.06); }
.nw-cartx-head { padding:13px 20px; }
.nw-cartx-line { padding:16px 20px; }
.nw-cartx-img img, .nw-cartx-noimg { width:84px; height:64px; border-radius:12px; }

.nw-cartx-summary.shopx-sum {
  border-radius:16px; padding:24px; gap:12px;
  box-shadow:0 14px 30px rgba(16,24,40,.08);
}
.shopx-sum-title {
  font-size:17px; font-weight:700; margin:0;
  padding-bottom:12px; border-bottom:1px solid var(--line);
}
.shopx-sum-rows { display:flex; flex-direction:column; gap:8px; }
.shopx-sum-row { display:flex; justify-content:space-between; align-items:baseline; font-size:14.5px; color:var(--mut); }
.shopx-sum-row > span:last-child { color:var(--ink); font-weight:600; }
.shopx-sum-row .shopx-free { color:var(--green); }
.shopx-sum-total { border-top:1px solid var(--line); padding-top:12px; }
.shopx-vat { margin-top:-8px; }
.shopx-sum .nw-cta-ghost.shopx-back-link { margin-left:0; padding:8px 10px; font-size:14px; }

/* ---------- Pokladna ---------- */
/* kroky objednávky */
.shopx-steps {
  list-style:none; margin:2px 0 26px; padding:0;
  display:flex; align-items:center; flex-wrap:wrap; row-gap:10px;
}
.shopx-steps li { display:flex; align-items:center; gap:9px; }
.shopx-steps li:not(:last-child)::after {
  content:""; width:44px; height:2px; border-radius:2px;
  background:var(--line); margin:0 14px;
}
.shopx-steps a { display:flex; align-items:center; gap:9px; color:inherit; }
.shopx-steps a:hover { text-decoration:none; color:var(--brand); }
.shopx-step-n {
  width:28px; height:28px; border-radius:50%; flex:none;
  display:inline-flex; align-items:center; justify-content:center;
  font:700 13px/1 Inter, sans-serif;
  background:#fff; border:1.5px solid var(--line); color:var(--mut);
}
.shopx-step-t { font-weight:600; font-size:13.5px; color:var(--mut); white-space:nowrap; }
.shopx-steps li.is-done .shopx-step-n { background:var(--green); border-color:var(--green); color:#fff; }
.shopx-steps li.is-done .shopx-step-t { color:var(--ink); }
.shopx-steps li.is-done::after { background:var(--green); }
.shopx-steps li.is-cur .shopx-step-n { background:var(--brand); border-color:var(--brand); color:#fff; }
.shopx-steps li.is-cur .shopx-step-t { color:var(--ink); }

.nw-checkout-grid { grid-template-columns:minmax(0,1fr) 360px; gap:28px; }

/* formulář rozdělený do karet */
.nw-form.shopx-co-form { background:transparent; border:0; padding:0; border-radius:0; gap:18px; }
.shopx-co-card {
  background:#fff; border:1px solid var(--line); border-radius:16px;
  padding:22px 24px 24px; box-shadow:0 14px 30px rgba(16,24,40,.05);
  display:flex; flex-direction:column; gap:14px;
}
.shopx-co-sec {
  display:flex; align-items:center; gap:10px;
  font-size:16px; margin:0; padding-bottom:13px;
  border-bottom:1px solid var(--line);
}
.shopx-sec-ico {
  width:32px; height:32px; border-radius:9px; flex:none;
  background:var(--cream); color:var(--brand);
  display:inline-flex; align-items:center; justify-content:center;
}
.shopx-co-form input[type=text], .shopx-co-form input[type=email],
.shopx-co-form input[type=tel], .shopx-co-form textarea {
  background:#fff;
}
.shopx-co-form input:focus, .shopx-co-form textarea:focus {
  outline:2px solid var(--brand); outline-offset:-1px;
}

/* platba: radio karty s ikonami */
.nw-payx-opt { align-items:center; padding:14px 16px; border-radius:12px; }
.shopx-pay-ico {
  width:42px; height:42px; border-radius:10px; flex:none;
  background:#F4F6F8; color:var(--mut);
  display:inline-flex; align-items:center; justify-content:center;
}
.nw-payx-opt:has(input:checked) .shopx-pay-ico { background:#fff; color:var(--brand); }
.nw-payx-opt:hover .shopx-pay-ico { color:var(--brand); }

.shopx-terms { color:var(--mut); font-size:12.5px; text-align:center; margin:0; line-height:1.55; }

/* souhrn objednávky vpravo */
.nw-summary.shopx-co-sum {
  position:sticky; top:96px; border-radius:16px; padding:24px;
  box-shadow:0 14px 30px rgba(16,24,40,.08);
}
.shopx-co-sum h2 {
  font-size:17px; margin:0 0 6px; padding-bottom:12px;
  border-bottom:1px solid var(--line);
}
.shopx-co-sum .nw-summary-row { align-items:flex-start; }
.shopx-co-sum .shopx-sum-row { padding:9px 0; border-bottom:1px solid var(--line); align-items:baseline; }
.shopx-co-sum .nw-summary-total { font-size:17px; padding-top:12px; }
.shopx-co-sum .nw-cart-note { margin-top:4px; }

/* ---------- Můj účet ---------- */
/* přihlášení / registrace */
.shopx-auth { max-width:900px; margin:0 auto; }
.shopx-auth-h { text-align:center; }
.shopx-auth-lead { text-align:center; margin-bottom:22px; }
.shopx-auth-err { max-width:560px; margin:0 auto 18px; text-align:center; }
.shopx-auth-grid { gap:24px; }
.nw-form.shopx-auth-card {
  max-width:none; border-radius:16px; padding:28px;
  box-shadow:0 14px 30px rgba(16,24,40,.06); gap:16px;
}
.shopx-auth-t { font-size:18px; margin:0 0 2px; }
.shopx-field { position:relative; display:block; }
.shopx-field-ico {
  position:absolute; left:12px; top:50%; transform:translateY(-50%);
  color:var(--mut); display:flex; pointer-events:none;
}
.shopx-field input {
  width:100%; border:1px solid var(--line); border-radius:10px;
  padding:11px 12px 11px 38px; font:inherit; font-weight:400; background:#fff;
}
.shopx-field input:focus { outline:2px solid var(--brand); outline-offset:-1px; }
.shopx-field-hint { font-weight:400; font-size:12.5px; color:var(--mut); }
.shopx-auth-card .shopx-cta-block { margin-top:4px; }

/* hlavička profilu */
.shopx-profile {
  display:flex; align-items:center; gap:16px; flex-wrap:wrap;
  background:#fff; border:1px solid var(--line); border-radius:16px;
  padding:20px 24px; margin:6px 0 4px;
  box-shadow:0 14px 30px rgba(16,24,40,.05);
}
.shopx-avatar {
  width:56px; height:56px; border-radius:50%; flex:none;
  background:var(--cream); border:1px solid var(--tan); color:var(--brand);
  display:inline-flex; align-items:center; justify-content:center;
  font:800 22px/1 Inter, sans-serif;
}
.shopx-profile-meta { display:flex; flex-direction:column; gap:2px; min-width:0; }
.shopx-profile-meta strong { font-size:16.5px; letter-spacing:-0.01em; }
.shopx-profile-meta span { color:var(--mut); font-size:14px; overflow-wrap:anywhere; }
.shopx-logout {
  margin-left:auto; display:inline-flex; align-items:center; gap:8px;
  font-weight:600; font-size:14px; color:var(--ink);
  border:1px solid var(--line); border-radius:10px; padding:9px 14px; background:#fff;
}
.shopx-logout:hover { color:var(--brand); border-color:var(--brand); text-decoration:none; }

.shopx-acc-h2 { font-size:19px; margin:30px 0 14px; }

/* objednávky */
.shopx-orders { display:flex; flex-direction:column; gap:10px; }
.nw-admin-card.shopx-order {
  display:flex; align-items:center; gap:16px; flex-wrap:wrap;
  margin-bottom:0; padding:15px 20px; border-radius:14px; line-height:1.5;
}
.shopx-order-no { font-weight:700; min-width:108px; }
.shopx-order-date { color:var(--mut); font-size:14px; min-width:88px; }
.shopx-order-pay { color:var(--mut); font-size:14px; flex:1; min-width:130px; }
.shopx-order-total { font-weight:800; white-space:nowrap; }
.shopx-order .nw-status { margin-right:0; }
/* stavy: nová modrá, potvrzená oranžová, vyřízená zelená, zrušená šedá */
.shopx-order .nw-status-new { background:#EFF4FF; color:#175CD3; }
.shopx-order .nw-status-confirmed { background:#FDEAD7; color:#B54708; }
.shopx-order .nw-status-done { background:#DEEAE6; color:#12805C; }
.shopx-order .nw-status-cancelled { background:#EEF1F4; color:#475467; }

/* prázdný stav objednávek */
.shopx-acc-empty {
  background:#fff; border:1px dashed var(--line); border-radius:14px;
  text-align:center; padding:36px 20px 30px;
}
.shopx-acc-empty .shopx-empty-ico { width:64px; height:64px; margin-bottom:10px; }
.shopx-acc-empty p { margin:0 0 12px; color:var(--mut); }
.shopx-acc-empty p:last-child { margin-bottom:0; }
.shopx-acc-favlink a { font-weight:600; }

/* ---------- Oblíbené ---------- */
.shopx-fav-head { display:flex; align-items:center; gap:14px; flex-wrap:wrap; margin-bottom:22px; }
.shopx-fav-head h1 { margin-bottom:0; }
.shopx-count-chip {
  background:var(--cream); border:1px solid var(--tan); color:var(--brand-dark);
  font:700 13px/1 Inter, sans-serif; padding:7px 13px; border-radius:99px; white-space:nowrap;
}

/* ---------- Děkujeme ---------- */
.shopx-thanks { display:flex; justify-content:center; padding-top:14px; }
.shopx-success-card {
  max-width:580px; width:100%; text-align:center;
  background:#fff; border:1px solid var(--line); border-radius:18px;
  padding:44px 36px 36px; box-shadow:0 14px 30px rgba(16,24,40,.08);
}
.shopx-success-ico {
  width:68px; height:68px; border-radius:50%;
  background:#DEEAE6; color:var(--green);
  display:inline-flex; align-items:center; justify-content:center;
  margin-bottom:18px;
}
.shopx-success-card h1 { font-size:26px; margin-bottom:10px; }
.shopx-success-card .nw-lead { font-size:15.5px; margin-bottom:22px; }
.shopx-orderno {
  display:flex; flex-direction:column; gap:3px;
  border:1.5px dashed var(--tan); background:var(--cream); border-radius:12px;
  padding:14px 18px; margin:0 0 24px;
}
.shopx-orderno span {
  font:700 11px/1.4 Inter, sans-serif; letter-spacing:.08em;
  text-transform:uppercase; color:var(--mut);
}
.shopx-orderno strong { font-size:22px; font-weight:800; letter-spacing:-0.01em; color:var(--ink); }
.shopx-next {
  list-style:none; margin:0 0 26px; padding:0; text-align:left;
  display:flex; flex-direction:column; gap:14px;
}
.shopx-next li { display:flex; align-items:flex-start; gap:12px; }
.shopx-next-ico {
  width:38px; height:38px; border-radius:10px; flex:none;
  background:var(--cream); color:var(--brand);
  display:inline-flex; align-items:center; justify-content:center;
}
.shopx-next-t { font-size:13.5px; color:var(--mut); line-height:1.55; }
.shopx-next-t strong { display:block; color:var(--ink); font-size:14.5px; margin-bottom:1px; }
.shopx-success-cta { display:flex; justify-content:center; gap:12px; flex-wrap:wrap; }
.shopx-success-cta .nw-cta { margin-left:0; }
.shopx-success-cta .nw-cta-ghost { margin-left:0; padding:10px 14px; }

/* ---------- responzivní ---------- */
@media (max-width:1000px) {
  #nw-cart-full { grid-template-columns:1fr; }
  .nw-checkout-grid { grid-template-columns:1fr; }
  .nw-summary.shopx-co-sum { position:static; }
  .nw-cartx-summary.shopx-sum { position:static; }
}
@media (max-width:640px) {
  .shopx-steps li:not(:last-child)::after { width:18px; margin:0 8px; }
  .shopx-step-t { font-size:12.5px; }
  .shopx-co-card { padding:18px 16px 20px; }
  .nw-cartx-summary.shopx-sum, .nw-summary.shopx-co-sum { padding:20px 16px; }
  .shopx-success-card { padding:32px 20px 28px; }
  .shopx-profile { padding:16px; }
  .shopx-logout { margin-left:0; width:100%; justify-content:center; }
  .shopx-order-no, .shopx-order-date, .shopx-order-pay { min-width:0; }
  .shopx-order .nw-status { margin-left:auto; }
  .shopx-empty { padding:40px 16px 36px; }
}

/* ===== корзина, лаяут 2026-08: шапка со степпером, Upravit konfiguraci, поптавка, кросс-селл ===== */
.nwcart-head { display:flex; align-items:center; justify-content:space-between; gap:18px;
  flex-wrap:wrap; margin-bottom:20px; }
.nwcart-head h1 { margin-bottom:0; }
.nwcart-count { font-size:17px; font-weight:500; color:#667085; letter-spacing:0; }
.nwcart-steps { margin:0; }
.shopx-steps li.is-on .shopx-step-n { background:#101828; border-color:#101828; color:#fff; }
.shopx-steps li.is-on .shopx-step-t { color:#101828; }

/* строка товара: колонка удаления больше не нужна (Odebrat = текст в мета) */
.nw-cartx-head, .nw-cartx-line { grid-template-columns:minmax(0,1fr) 108px 128px 118px; }
.nwcart-linelinks { display:flex; align-items:center; gap:8px; margin-top:11px; flex-wrap:wrap; }
/* обе кнопки строки — одна геометрия, чтобы стояли ровно рядом */
.nwcart-edit, .nwcart-removelink {
  display:inline-flex; align-items:center; justify-content:center; gap:6px;
  /* фиксированная высота обрезала фон, когда подпись переносилась на две строки:
     держим min-height и даём кнопке расти вместе с содержимым */
  min-height:32px; height:auto; padding:7px 12px; margin:0; box-sizing:border-box;
  white-space:nowrap; max-width:100%;
  border:1.5px solid #E4E7EC; border-radius:8px; background:#fff;
  font-family:inherit; font-size:12.5px; font-weight:600; line-height:1; letter-spacing:0;
  color:#475467; text-decoration:none; cursor:pointer; vertical-align:middle;
  transition:border-color .15s ease, color .15s ease, background .15s ease;
}
.nwcart-edit svg, .nwcart-removelink svg { width:14px; height:14px; flex:none; }
.nwcart-edit:hover { border-color:#A9633A; color:#A9633A; text-decoration:none; }
.nwcart-removelink:hover { border-color:#FDA29B; color:#D92D20; background:#FFFBFA; text-decoration:none; }
@media (max-width:560px) {
  .nwcart-linelinks { gap:6px; }
  .nwcart-edit, .nwcart-removelink { min-height:30px; padding:6px 10px; font-size:12px; }
  /* на узком экране подпись может переноситься — фон должен обнимать текст */
  .nwcart-edit, .nwcart-removelink { white-space:normal; text-align:left; }
}

.nwcart-below { display:flex; align-items:center; justify-content:space-between; gap:14px; margin-top:14px; }
.nwcart-continue { font-weight:600; font-size:14px; color:#101828; }
.nwcart-continue:hover { color:#A9633A; text-decoration:none; }

/* поптавка из корзины (details под CTA) */
.nwcart-asklead { margin:10px 0 4px; border:1.5px solid #E4E7EC; border-radius:10px; background:#fff; }
.nwcart-asklead summary { list-style:none; cursor:pointer; padding:12px 14px; text-align:center;
  font-weight:700; font-size:13.5px; color:#101828; }
.nwcart-asklead summary::-webkit-details-marker { display:none; }
.nwcart-asklead summary:hover { color:#A9633A; }
.nwcart-asklead[open] { border-color:#E2B48C; }
.nwcart-leadform { display:flex; flex-direction:column; gap:9px; padding:2px 14px 14px; }
.nwcart-leadform input { border:1.5px solid #E4E7EC; border-radius:9px; padding:10px 12px;
  font-family:inherit; font-size:14px; width:100%; }
.nwcart-leadform input:focus { border-color:#A9633A; outline:none; }
.nwcart-leadnote { margin:0; font-size:12px; color:#667085; }
.nwcart-leadform .nw-hp { position:absolute; left:-9999px; height:0; width:0; opacity:0; }

/* Nezapomeňte na... — компактный кросс-селл */
.nwcart-xsell { margin:30px 0 8px; }
.nwcart-xsell-grid { display:grid; grid-template-columns:repeat(4, minmax(0,1fr)); gap:14px; }
@media (max-width:1100px) { .nwcart-xsell-grid { grid-template-columns:repeat(2, minmax(0,1fr)); } }
@media (max-width:560px)  { .nwcart-xsell-grid { grid-template-columns:1fr; } }
.nwcart-xsell-card { display:flex; gap:12px; align-items:center; background:#fff; border:1px solid #E4E7EC;
  border-radius:12px; padding:12px; box-shadow:0 8px 24px rgba(16,24,40,.04); }
.nwcart-xsell-img { flex:none; width:74px; height:60px; border-radius:8px; overflow:hidden; background:#F4F6F8; }
.nwcart-xsell-img img { width:100%; height:100%; object-fit:cover; display:block; }
.nwcart-xsell-body { min-width:0; display:flex; flex-direction:column; gap:3px; }
.nwcart-xsell-title { font-size:13px; font-weight:700; color:#101828; line-height:1.35;
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.nwcart-xsell-title:hover { color:#A9633A; text-decoration:none; }
.nwcart-xsell-price { font-size:12.5px; font-weight:600; color:#667085; }
.nwcart-xsell-add { font-size:13px; font-weight:700; color:#8A4E28; }
@media (max-width:760px) {
  .nwcart-head { flex-direction:column; align-items:flex-start; }
  .nwcart-below { flex-direction:column; align-items:flex-start; }
}

/* ===== чекаут 2026-08: физ/юрлицо, единственный способ оплаты ===== */
.shopx-custtype { border:0; padding:0; margin:0 0 16px; display:flex; gap:8px; align-items:center; flex-wrap:wrap; }
.shopx-custtype-leg { float:left; font-size:12px; font-weight:700; letter-spacing:.06em;
  text-transform:uppercase; color:#667085; margin-right:10px; padding:9px 0; }
.shopx-custtype-opt { position:relative; cursor:pointer; }
.shopx-custtype-opt input { position:absolute; opacity:0; pointer-events:none; }
.shopx-custtype-opt span { display:inline-block; border:1.5px solid #E4E7EC; border-radius:99px;
  padding:9px 18px; font-size:13.5px; font-weight:600; color:#667085; transition:all .15s ease; }
.shopx-custtype-opt:hover span { border-color:#A9633A; color:#A9633A; }
.shopx-custtype-opt input:checked + span { background:#101828; border-color:#101828; color:#fff; }
.shopx-custtype-opt input:focus-visible + span { outline:2px solid #A9633A; outline-offset:2px; }

/* поля фирмы: раскрываются выбором «Firma» (CSS :has, без JS);
   в браузерах без :has поля видны всегда — данные всё равно пишутся только при cust_type=firma */
.shopx-firma-fields { display:none; margin-top:2px; padding-top:14px; border-top:1px dashed #E4E7EC; }
.shopx-co-card:has(input[name="cust_type"][value="firma"]:checked) .shopx-firma-fields { display:block; }
@supports not selector(div:has(a)) { .shopx-firma-fields { display:block; } }
.shopx-firma-name { display:block; margin-bottom:10px; }

/* единственный способ оплаты: выбранная карточка с галкой */
.shopx-pay-single { display:flex; align-items:center; gap:14px; border:1.5px solid #A9633A;
  background:#FBF4EC; border-radius:12px; padding:15px 16px; }
.shopx-pay-single .shopx-pay-ico { background:#fff; color:#A9633A; }
.shopx-pay-single-t { min-width:0; }
.shopx-pay-single-t strong { display:block; font-size:14.5px; color:#101828; }
.shopx-pay-single-t small { display:block; font-size:12.5px; color:#667085; margin-top:2px; line-height:1.5; }
.shopx-pay-single-check { flex:none; margin-left:auto; width:24px; height:24px; border-radius:50%;
  background:#12805C; color:#fff; display:inline-flex; align-items:center; justify-content:center; }

/* сводка: длинную конфигурацию поджимаем */
.shopx-sum-attrs { display:-webkit-box; -webkit-line-clamp:4; -webkit-box-orient:vertical;
  overflow:hidden; color:#667085; line-height:1.5; }
.shopx-sum-lineprice { white-space:nowrap; font-weight:700; }

/* ===== вход через Google (кабинет) ===== */
.shopx-gwrap { text-align:center; margin:0 0 18px; }
.shopx-gbtn { display:inline-flex; align-items:center; gap:10px; background:#fff; border:1.5px solid #E4E7EC;
  border-radius:10px; padding:12px 22px; font-weight:700; font-size:14px; color:#101828; text-decoration:none;
  transition:border-color .15s ease, box-shadow .15s ease; }
.shopx-gbtn:hover { border-color:#A9633A; box-shadow:0 4px 14px rgba(16,24,40,.08); text-decoration:none; }

/* сводка чекаута: название позиции — ссылка на ту же сборку */
.nw-summary-link { color: inherit; text-decoration: none; }
.nw-summary-link:hover { color: #A9633A; text-decoration: underline; }

/* === Оплата переводом: инструкции на «Děkujeme», в кабинете и в админке === */
.nwpay { margin: 22px 0; background: #fff; border: 1px solid #E4E7EC; border-radius: 16px; padding: 22px 24px; text-align: left; }
.nwpay-head { margin-bottom: 16px; }
.nwpay-h { font: 800 18px Inter, sans-serif; letter-spacing: -.02em; margin: 0 0 5px; }
.nwpay-x { font: 400 13.5px/1.6 Inter, sans-serif; color: #667085; margin: 0; }
.nwpay-warn { font: 500 13.5px/1.6 Inter, sans-serif; color: #B54708; background: #FFFAEB;
  border: 1px solid #FEDF89; border-radius: 10px; padding: 12px 14px; margin: 0; }
.nwpay-grid { display: grid; grid-template-columns: minmax(0, 1fr) 208px; gap: 22px; align-items: start; }
.nwpay-rows { display: flex; flex-direction: column; }
.nwpay-row { display: flex; align-items: center; gap: 12px; padding: 11px 0; border-bottom: 1px dashed #E4E7EC; }
.nwpay-row:last-child { border-bottom: 0; }
.nwpay-lab { flex: none; width: 165px; font: 600 12.5px Inter, sans-serif; color: #667085; }
.nwpay-val { flex: 1; min-width: 0; font: 700 15px Inter, sans-serif; color: #101828; word-break: break-word; }
.nwpay-copy { flex: none; display: inline-flex; align-items: center; gap: 6px; height: 32px; padding: 0 10px;
  border: 1px solid #E4E7EC; border-radius: 8px; background: #fff; color: #667085; cursor: pointer;
  font: 700 11.5px Inter, sans-serif; transition: border-color .15s ease, color .15s ease, background .15s ease; }
.nwpay-copy:hover { border-color: #A9633A; color: #A9633A; background: #FBF4EC; }
.nwpay-copy.is-copied { border-color: #12805C; color: #12805C; background: #EAFBF1; }
.nwpay-row--plain .nwpay-val { font-weight: 500; font-size: 14px; color: #475467; }
.nwpay-qr { text-align: center; background: #F8F9FB; border: 1px solid #E4E7EC; border-radius: 12px; padding: 14px; }
.nwpay-qrbox { width: 168px; height: 168px; margin: 0 auto 10px; background: #fff; border-radius: 8px; padding: 8px; }
.nwpay-qrbox svg, .nwpay-qrbox img { display: block; width: 100%; height: 100%; }
.nwpay-qrt { font: 800 13px Inter, sans-serif; color: #101828; }
.nwpay-qrx { font: 400 11.5px/1.5 Inter, sans-serif; color: #98A2B3; margin-top: 4px; }
.nwpay-sum { margin: 20px 0 4px; text-align: left; }
.nwpay-item { display: flex; align-items: baseline; gap: 14px; padding: 9px 0; border-bottom: 1px dashed #E4E7EC; }
.nwpay-item-t { flex: 1; min-width: 0; font: 500 14px Inter, sans-serif; color: #344054; }
.nwpay-item-t small { display: block; font: 400 12px/1.5 Inter, sans-serif; color: #98A2B3; margin-top: 2px; }
.nwpay-item-p { font: 700 14px Inter, sans-serif; color: #101828; }
.nwpay-item--total { border-bottom: 0; border-top: 2px solid #101828; margin-top: 4px; }
.nwpay-item--total .nwpay-item-t, .nwpay-item--total .nwpay-item-p { font-weight: 800; font-size: 15.5px; color: #101828; }
@media (max-width: 760px) {
  .nwpay-grid { grid-template-columns: minmax(0, 1fr); }
  .nwpay-qr { justify-self: center; }
  .nwpay-row { flex-wrap: wrap; }
  .nwpay-lab { width: 100%; }
}

/* Ошибки валидации чекаута */
.nw-co-err { display: block; margin-top: 5px; font: 600 12px Inter, sans-serif; color: #B42318; }
.nw-co-f.is-bad input, label.is-bad input { border-color: #F04438 !important; background: #FFFBFA; }
.nw-co-f.is-bad, label.is-bad { color: #B42318; }
.nw-agree.is-bad .nw-agree-box { border-color: #F04438; }
/* миниатюра в сводке не должна сжиматься флексом (ссылка-обёртка тоже) */
.nw-summary-item > a { flex: none; display: block; line-height: 0; }

/* «Přepočítat» — фолбэк для случая без JS; при живом JS прячем классом на <html> */
.nw-js .nw-nojs-recalc { display: none; }
.nw-nojs-recalc { height: 40px; padding: 0 16px; border-radius: 9px; border: 1.5px solid #E4E7EC;
  background: #fff; font: 600 13px Inter, sans-serif; color: #475467; cursor: pointer; }
.nw-nojs-recalc:hover { border-color: #A9633A; color: #A9633A; }


/* ===== выбор способа оплаты (три варианта с 04.09.2026) ===================== */
.shopx-pay-list { display: flex; flex-direction: column; gap: 10px; }
.shopx-pay-opt {
  display: flex; align-items: flex-start; gap: 12px;
  border: 1.5px solid #E4E7EC; border-radius: 11px; padding: 14px 16px;
  cursor: pointer; transition: border-color .18s ease, background .18s ease;
}
.shopx-pay-opt:hover { border-color: #CBD2DC; }
.shopx-pay-opt:has(input:checked) { border-color: #A9633A; background: #FBF4EC; }
.shopx-pay-opt input { margin-top: 3px; accent-color: #A9633A; flex: none; }
.shopx-pay-opt .shopx-pay-single-t { display: block; }
.shopx-pay-opt strong { display: block; font: 700 14px Inter, sans-serif; color: #101828; }
.shopx-pay-opt small { display: block; margin-top: 3px; font: 500 12.5px/1.5 Inter, sans-serif; color: #667085; }
.shopx-pay-hint {
  margin: 12px 0 0; padding: 11px 13px; border-radius: 9px; background: #F9F7F3;
  font: 500 12.5px/1.6 Inter, sans-serif; color: #475467;
}
/* доставка считается по адресу, поэтому в итогах не сумма, а пояснение */
.shopx-ship-calc { font: 500 13px Inter, sans-serif; color: #667085; }
