/* Три цены vipnsp.eu: подписка, VIP-цена, обычная (модификация «Я: NSP три цены», docs/2026-11-06-tri-ceny.md).
   Карточка — .nsp-prices-card, плитки — .nsp-prices-tile; .nsp-prices-vip — вошедший или с NSP ID. */
.nsp-prices-card {margin-bottom: 12px;}
.nsp-pr-your {margin-bottom: 8px;}
.nsp-pr-your-lbl {color: #6c757d; font-size: 13px;}
.nsp-pr-your-val {font-size: 28px; line-height: 1.2; white-space: nowrap;}
.nsp-pr-your-sub {color: #6c757d; font-size: 14px;}
.nsp-pr-opt {display: block; font-weight: 400; cursor: pointer; border: 1px solid #dee2e6; border-radius: 6px; padding: 8px 12px; margin-bottom: 8px; background: #fff;}
.nsp-pr-opt.is-sel {border: 2px solid #212529; padding: 7px 11px;}
.nsp-pr-opt-sub {border-color: #8fd19e;}
.nsp-pr-opt-sub.is-sel {border-color: #28a745;}
.nsp-pr-opt.is-off {cursor: default; color: #adb5bd;}
.nsp-pr-opt input[type="radio"] {margin: 0 5px 0 0; vertical-align: -1px;}
.nsp-pr-row {display: flex; justify-content: space-between; align-items: baseline; gap: 8px;}
.nsp-pr-lbl {font-weight: 600; font-size: 15px;}
.nsp-pr-val {font-size: 19px; white-space: nowrap;}
.nsp-pr-opt-sub .nsp-pr-val {color: #218838;}
.nsp-pr-opt.is-off .nsp-pr-val {color: #adb5bd;}
.nsp-pr-old {color: #6c757d; font-size: 14px; white-space: nowrap;}
.nsp-pr-badge {background: #d4edda; color: #155724; font-size: 12px; padding: 2px 8px; border-radius: 4px; white-space: nowrap;}
.nsp-pr-note {color: #6c757d; font-size: 13px; line-height: 1.35; margin-top: 3px;}
.nsp-pr-opt-regular .nsp-pr-val {font-size: 17px;}
.nsp-pr-hint {font-size: 14px; line-height: 1.4; margin-bottom: 8px; padding: 6px 10px; background: #f8f9fa; border-radius: 6px;}
.nsp-pr-hint[hidden] {display: none;}
.nsp-pr-hint-cta {background: #fff3cd;}
.nsp-pr-wholesale {font-size: 14px; margin-bottom: 6px;}
.nsp-pr-points {font-size: 14px; margin-bottom: 6px;}
.nsp-pr-points b {background: #ffe08a; border-radius: 4px; padding: 1px 6px;}
/* Плитки */
.nsp-prices-tile {margin-bottom: 8px; font-size: 13px; line-height: 1.35;}
.nsp-pt-main {font-size: 18px; font-weight: 600; white-space: nowrap;}
.nsp-pt-old {color: #9aa0a6; font-size: 13px; font-weight: 400;}
.nsp-pt-line {color: #495057;}
.nsp-pt-line b {white-space: nowrap;}
.nsp-pt-sub b {color: #218838;}
/* Доставка и «Как проходит заказ» */
.nsp-dlv {display: flex; align-items: flex-start; gap: 12px; border: 1px solid #b8daff; background: #f1f8ff; border-radius: 6px; padding: 10px 13px; margin-bottom: 12px;}
.nsp-dlv-icon {font-size: 26px; color: #1b6ec2;}
.nsp-dlv-main {flex: 1 1 auto;}
.nsp-dlv-title {font-size: 13px; color: #495057;}
.nsp-dlv-days {font-size: 15px;}
.nsp-dlv-days b {font-size: 20px;}
.nsp-dlv-cost {font-size: 14px; color: #155724; line-height: 1.35; margin-top: 2px;}
.nsp-dlv-pick {font-size: 14px; line-height: 1.35; margin-top: 2px;}
.nsp-dlv-ask {display: flex; flex-wrap: wrap; align-items: center; gap: 6px 8px; margin: 8px 0 4px; padding: 8px 10px; background: #fff; border: 1px solid #b8daff; border-radius: 6px;}
.nsp-dlv-ask-q {flex: 1 1 100%; font-size: 14px; font-weight: 600; line-height: 1.3;}
select.nsp-dlv-choose {display: block; max-width: 100%; height: auto; margin-top: 6px; padding: 0; border: 0; background: transparent; color: #1b6ec2; font-size: 13px; cursor: pointer;}
select.nsp-dlv-choose.nsp-dlv-choose-main {width: 100%; padding: 7px 10px; border: 2px solid #1b6ec2; border-radius: 6px; background: #fff; font-size: 15px; font-weight: 600;}
.nsp-how {margin: 12px 0 16px;}
.nsp-how-title {font-weight: 600; margin-bottom: 8px;}
.nsp-how-steps {display: grid; grid-template-columns: 1fr; gap: 8px;} /* колонка узкая: в две колонки длинные слова рвались */
@media (min-width: 480px) and (max-width: 991.98px) {.nsp-how-steps {grid-template-columns: repeat(2, minmax(0, 1fr));}}
.nsp-how-step {display: flex; gap: 8px; align-items: flex-start; border: 1px solid #dee2e6; border-radius: 6px; padding: 8px 10px; font-size: 13px; line-height: 1.35;}
.nsp-how-step > div {min-width: 0; overflow-wrap: break-word;}
.nsp-how-step div div {color: #6c757d;}
.nsp-how-n {flex: 0 0 24px; height: 24px; border-radius: 50%; background: #e9ecef; text-align: center; line-height: 24px; font-weight: 600; font-size: 13px;}
.nsp-dlv-main {min-width: 0;}
/* Поле NSP ID */
.nsp-id {margin: 0 0 12px;}
.nsp-id-card {display: block; text-align: center; color: #212529; text-decoration: none; border: 1px solid #dee2e6; border-radius: 6px; padding: 8px 12px; background: #f8f9fa;}
.nsp-id-card:hover, .nsp-id-card:focus {color: #212529; text-decoration: none; box-shadow: 0 4px 12px rgba(0,0,0,.12);}
.nsp-id-card b {display: block; font-size: 15px;}
.nsp-id-card span {display: block; font-size: 14px; color: #28a745; margin-top: 2px;}
.nsp-id-form {display: flex; flex-wrap: wrap; gap: 8px; margin-top: 8px;}
.nsp-id-form[hidden], .nsp-id-error[hidden] {display: none;}
.nsp-id-input {flex: 1 1 180px; min-width: 0;}
.nsp-id-error {flex-basis: 100%; font-size: 13px;}
.nsp-id-ok {font-size: 14px; padding: 8px 12px; background: #d4edda; color: #155724; border-radius: 6px;}
/* Корзина */
tr.nsp-cart-headrow td {border: 0 !important; padding: 10px 0 6px !important; text-align: left !important; display: table-cell !important; white-space: normal !important; max-width: 1px;} /* длинный заголовок не растягивает таблицу */
.nsp-cart-head {font-weight: 600;}
.nsp-cart-head-sub {padding-top: 10px; border-top: 2px solid #28a745; color: #155724;}
.nsp-cart-subnote {font-size: 14px; line-height: 1.4; margin-top: 12px; padding: 8px 12px; background: #d4edda; border-radius: 6px; color: #155724;}
/* Узкий телефон: столбец «Итого» помещается целиком (в теме таблица шире экрана); убрать строку можно и количеством 0 — красная кнопка есть в столбце количества */
@media (max-width: 399.98px) {
  .simplecheckout-cart td.remove, .simplecheckout-cart th.remove {display: none !important;}
  .simplecheckout-cart td, .simplecheckout-cart th {padding-left: 4px !important; padding-right: 4px !important;}
  .simplecheckout-cart .total {white-space: nowrap;}
  .simplecheckout-cart td.name {min-width: 0 !important; overflow-wrap: anywhere;}
  .simplecheckout-cart td.quantity input {padding-left: 4px !important; padding-right: 4px !important; width: 34px !important; min-width: 0 !important;}
  .simplecheckout-cart td.quantity .input-group {max-width: 82px !important;}
}
/* Подсказки поиска: строка «обычная · VIP …» длиннее одной цены — переносится, а не уезжает за край окна */
.live-search__price {white-space: normal !important; flex: 0 0 auto; max-width: 110px; text-align: right; font-size: 14px !important; line-height: 1.3;}
