/* Load after custom.css. Do not run through either px-to-vw converter. */
@font-face {font-family:'Futura PT';src:url('FuturaPT-Book.woff') format('woff');font-weight:400;font-style:normal;font-display:swap}
@font-face {font-family:'Futura PT';src:url('FuturaPT-Medium.woff') format('woff');font-weight:500;font-style:normal;font-display:swap}
@font-face {font-family:'Futura PT';src:url('FuturaPT-Demi.woff') format('woff');font-weight:600;font-style:normal;font-display:swap}
/* ===== ТРОКОТ · корзина и оформление · общие стили макета =====
   Классы с префиксом tk- — новые. Классы без префикса (product_item_cart, qtybtn, minusqty, addbtn,
   delete, totalprice_sum, promocode_block …) — «крючки» script.js, их в разметке сохранить. */

/* --- токены: тёмная тема (по умолчанию) --- */
:is(.tk-cart.tk-cart, .tk-checkout.tk-checkout) {
  --tk-bg: #0F1214;
  --tk-surface: #171B1F;
  --tk-surface-2: #1F252A;
  --tk-line: #2C3339;
  --tk-field-border: #6B757E;
  --tk-text: #F4F6F7;
  --tk-text-2: #A7B0B8;
  --tk-accent: #F39200;
  --tk-accent-hover: #FFA526;
  --tk-on-accent: #111417;
  --tk-accent-text: #F7A51C;
  --tk-accent-soft: rgba(243,146,0,.14);
  --tk-success: #4CC77A;
  --tk-success-bg: rgba(76,199,122,.13);
  --tk-danger: #FF6B5E;
  --tk-danger-bg: rgba(255,107,94,.12);
  --tk-warn: #F5B544;
  --tk-warn-bg: rgba(245,181,68,.13);
  --tk-focus: #FFC266;
  --tk-chip-bg: #FFFFFF;
  --tk-overlay: rgba(5,7,8,.66);
  --tk-shadow: 0 12px 40px rgba(0,0,0,.5);
  --tk-shadow-bar: 0 -10px 28px rgba(0,0,0,.45);
}

/* --- база --- */
:is(.tk-cart.tk-cart, .tk-checkout.tk-checkout) { font-family: 'Futura PT', 'Futura', 'Century Gothic', 'Trebuchet MS', Arial, sans-serif;
      font-size: 16px; line-height: 1.4; color: var(--tk-text); -webkit-font-smoothing: antialiased; }

:is(.tk-cart.tk-cart, .tk-checkout.tk-checkout) *, :is(.tk-cart.tk-cart, .tk-checkout.tk-checkout) *::before, :is(.tk-cart.tk-cart, .tk-checkout.tk-checkout) *::after { box-sizing: border-box; }

:is(.tk-cart.tk-cart, .tk-checkout.tk-checkout) h1, :is(.tk-cart.tk-cart, .tk-checkout.tk-checkout) h2, :is(.tk-cart.tk-cart, .tk-checkout.tk-checkout) h3, :is(.tk-cart.tk-cart, .tk-checkout.tk-checkout) p { margin: 0; }

:is(.tk-cart.tk-cart, .tk-checkout.tk-checkout) button, :is(.tk-cart.tk-cart, .tk-checkout.tk-checkout) input, :is(.tk-cart.tk-cart, .tk-checkout.tk-checkout) textarea { font-family: inherit; }

:where(:is(.tk-cart.tk-cart, .tk-checkout.tk-checkout)) a { color: var(--tk-accent-text); text-underline-offset: 3px; }

:is(.tk-cart.tk-cart, .tk-checkout.tk-checkout) :focus-visible { outline: 2px solid var(--tk-focus); outline-offset: 2px; border-radius: 6px; }

:is(.tk-cart.tk-cart, .tk-checkout.tk-checkout) .tk-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

:is(.tk-cart.tk-cart, .tk-checkout.tk-checkout) .tk-muted { color: var(--tk-text-2); }

:is(.tk-cart.tk-cart, .tk-checkout.tk-checkout) .tk-ico { width: 20px; height: 20px; flex: none; fill: none; stroke: currentColor; stroke-width: 1.8;
          stroke-linecap: round; stroke-linejoin: round; }


/* --- кнопки --- */
:is(.tk-cart.tk-cart, .tk-checkout.tk-checkout) .tk-btn { display: inline-flex; align-items: center; justify-content: center; gap: 10px;
  min-height: 52px; padding: 0 24px; border: 1px solid transparent; border-radius: 12px;
  font-weight: 600; font-size: 17px; line-height: 1.1; text-decoration: none; cursor: pointer;
  transition: background-color .15s, border-color .15s, color .15s; -webkit-appearance: none; appearance: none; }

:is(.tk-cart.tk-cart, .tk-checkout.tk-checkout) .tk-btn--primary { background: var(--tk-accent); color: var(--tk-on-accent); }

:is(.tk-cart.tk-cart, .tk-checkout.tk-checkout) .tk-btn--primary:hover { background: var(--tk-accent-hover); }

:is(.tk-cart.tk-cart, .tk-checkout.tk-checkout) .tk-btn--ghost { background: transparent; color: var(--tk-text); border-color: var(--tk-field-border); }

:is(.tk-cart.tk-cart, .tk-checkout.tk-checkout) .tk-btn--ghost:hover { border-color: var(--tk-text); }

:is(.tk-cart.tk-cart, .tk-checkout.tk-checkout) .tk-btn--block { width: 100%; }

:is(.tk-cart.tk-cart, .tk-checkout.tk-checkout) .tk-btn--sm { min-height: 44px; padding: 0 16px; font-size: 15px; border-radius: 10px; }

:is(.tk-cart.tk-cart, .tk-checkout.tk-checkout) .tk-btn.is-loading { cursor: progress; opacity: .85; }

:is(.tk-cart.tk-cart, .tk-checkout.tk-checkout) .tk-link { display: inline-flex; align-items: center; gap: 6px; min-height: 44px; padding: 0;
  background: none; border: 0; color: var(--tk-accent-text); font-weight: 500; font-size: 16px; line-height: 1.2;
  text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }

:is(.tk-cart.tk-cart, .tk-checkout.tk-checkout) .tk-spinner { width: 18px; height: 18px; border: 2px solid currentColor; border-right-color: transparent;
  border-radius: 50%; animation: tk-spin .7s linear infinite; }

@keyframes tk-spin { to { transform: rotate(360deg); } }

@media (prefers-reduced-motion: reduce) {
:is(.tk-cart.tk-cart, .tk-checkout.tk-checkout) .tk-spinner { animation-duration: 2s; }

:is(.tk-cart.tk-cart, .tk-checkout.tk-checkout) * { transition: none !important; }
 }


/* --- плашки --- */
:is(.tk-cart.tk-cart, .tk-checkout.tk-checkout) .tk-badge { display: inline-flex; align-items: center; gap: 6px; padding: 3px 10px; border-radius: 999px;
  font-weight: 600; font-size: 13px; line-height: 1.3; white-space: nowrap; }

:is(.tk-cart.tk-cart, .tk-checkout.tk-checkout) .tk-badge--accent { background: var(--tk-accent-soft); color: var(--tk-accent-text); }

:is(.tk-cart.tk-cart, .tk-checkout.tk-checkout) .tk-badge--ok { background: var(--tk-success-bg); color: var(--tk-success); }

:is(.tk-cart.tk-cart, .tk-checkout.tk-checkout) .tk-badge--warn { background: var(--tk-warn-bg); color: var(--tk-warn); }

:is(.tk-cart.tk-cart, .tk-checkout.tk-checkout) .tk-badge--err { background: var(--tk-danger-bg); color: var(--tk-danger); }


/* --- карточка-секция --- */
:is(.tk-cart.tk-cart, .tk-checkout.tk-checkout) .tk-card { background: var(--tk-surface); border-radius: 16px; padding: 20px 16px; }

:is(.tk-cart.tk-cart, .tk-checkout.tk-checkout) .tk-sec__head { display: flex; align-items: center; gap: 12px; margin-bottom: 16px; }

:is(.tk-cart.tk-cart, .tk-checkout.tk-checkout) .tk-sec__num { width: 30px; height: 30px; border-radius: 50%; display: grid; place-items: center;
  background: var(--tk-surface-2); border: 1px solid var(--tk-line); font-weight: 600; font-size: 15px; line-height: 1; flex: none; }

:is(.tk-cart.tk-cart, .tk-checkout.tk-checkout) .tk-sec__title { font-weight: 600; font-size: 20px; line-height: 1.2; }

:is(.tk-cart.tk-cart, .tk-checkout.tk-checkout) .tk-stack { display: grid; gap: 16px; }


/* --- поле ввода --- */
:is(.tk-cart.tk-cart, .tk-checkout.tk-checkout) .tk-field { display: grid; gap: 6px; }

:is(.tk-cart.tk-cart, .tk-checkout.tk-checkout) .tk-field__label { font-weight: 500; font-size: 15px; line-height: 1.3; color: var(--tk-text); }

:is(.tk-cart.tk-cart, .tk-checkout.tk-checkout) .tk-field__label i { font-style: normal; color: var(--tk-text-2); font-weight: 400; }

:is(.tk-cart.tk-cart, .tk-checkout.tk-checkout) .tk-input { width: 100%; height: 52px; padding: 0 14px; border: 1px solid var(--tk-field-border); border-radius: 12px;
  background: var(--tk-surface-2); color: var(--tk-text); font-weight: 400; font-size: 17px; line-height: 1.2;
  -webkit-appearance: none; appearance: none; transition: border-color .15s, box-shadow .15s; }

:is(.tk-cart.tk-cart, .tk-checkout.tk-checkout) .tk-input::placeholder { color: var(--tk-text-2); opacity: 1; }

:is(.tk-cart.tk-cart, .tk-checkout.tk-checkout) .tk-input:hover { border-color: var(--tk-text-2); }

:is(.tk-cart.tk-cart, .tk-checkout.tk-checkout) .tk-input:focus { outline: none; border-color: var(--tk-accent); box-shadow: 0 0 0 3px rgba(243,146,0,.32); }

:is(.tk-cart.tk-cart, .tk-checkout.tk-checkout) textarea.tk-input { height: auto; min-height: 96px; padding: 12px 14px; resize: vertical; }

:is(.tk-cart.tk-cart, .tk-checkout.tk-checkout) .tk-field__hint { font-size: 14px; line-height: 1.35; color: var(--tk-text-2); }

:is(.tk-cart.tk-cart, .tk-checkout.tk-checkout) .tk-field__error { display: none; align-items: flex-start; gap: 6px; font-size: 14px; line-height: 1.35; color: var(--tk-danger); }

:is(.tk-cart.tk-cart, .tk-checkout.tk-checkout) .tk-field__error .tk-ico { width: 16px; height: 16px; margin-top: 1px; }

:is(.tk-cart.tk-cart, .tk-checkout.tk-checkout) .tk-input.error { border-color: var(--tk-danger); }

:is(.tk-cart.tk-cart, .tk-checkout.tk-checkout) .tk-input.error::placeholder { color: transparent; }

:is(.tk-cart.tk-cart, .tk-checkout.tk-checkout) .tk-input.error ~ .tk-field__error { display: flex; }

:is(.tk-cart.tk-cart, .tk-checkout.tk-checkout) .tk-input.error ~ .tk-field__hint { display: none; }


/* --- выбор (радио-строки) --- */
:is(.tk-cart.tk-cart, .tk-checkout.tk-checkout) .tk-radio { -webkit-appearance: none; appearance: none; width: 22px; height: 22px; margin: 0; flex: none;
  border: 2px solid var(--tk-field-border); border-radius: 50%; display: grid; place-content: center; background: transparent; }

:is(.tk-cart.tk-cart, .tk-checkout.tk-checkout) .tk-radio::before { content: ""; width: 10px; height: 10px; border-radius: 50%; background: var(--tk-accent);
  transform: scale(0); transition: transform .12s; }

:is(.tk-cart.tk-cart, .tk-checkout.tk-checkout) .tk-radio:checked { border-color: var(--tk-accent); }

:is(.tk-cart.tk-cart, .tk-checkout.tk-checkout) .tk-radio:checked::before { transform: scale(1); }

:is(.tk-cart.tk-cart, .tk-checkout.tk-checkout) .tk-opts { display: grid; gap: 8px; }

:is(.tk-cart.tk-cart, .tk-checkout.tk-checkout) .tk-opts__group { font-weight: 500; font-size: 14px; line-height: 1.3; color: var(--tk-text-2); margin: 8px 0 -2px; }

:is(.tk-cart.tk-cart, .tk-checkout.tk-checkout) .tk-opt { display: flex; align-items: flex-start; gap: 14px; min-height: 64px; padding: 14px 16px; cursor: pointer;
  border: 1px solid var(--tk-line); border-radius: 14px; background: var(--tk-surface); transition: background-color .15s, border-color .15s; }

:is(.tk-cart.tk-cart, .tk-checkout.tk-checkout) .tk-opt .tk-radio { margin-top: 2px; }

:is(.tk-cart.tk-cart, .tk-checkout.tk-checkout) .tk-opt:hover { border-color: var(--tk-field-border); }

:is(.tk-cart.tk-cart, .tk-checkout.tk-checkout) .tk-opt:has(.tk-radio:checked) { border-color: var(--tk-field-border); background: var(--tk-surface-2); }

:is(.tk-cart.tk-cart, .tk-checkout.tk-checkout) .tk-opt__body { display: grid; gap: 3px; flex: 1; min-width: 0; }

:is(.tk-cart.tk-cart, .tk-checkout.tk-checkout) .tk-opt__title { font-weight: 500; font-size: 16px; line-height: 1.3; }

:is(.tk-cart.tk-cart, .tk-checkout.tk-checkout) .tk-opt__descr { font-size: 14px; line-height: 1.35; color: var(--tk-text-2); }

:is(.tk-cart.tk-cart, .tk-checkout.tk-checkout) .tk-opt__logo { width: 64px; height: 40px; border-radius: 8px; background: var(--tk-chip-bg); flex: none;
  display: grid; place-items: center; font-weight: 600; font-size: 12px; line-height: 1; letter-spacing: .02em; }

:is(.tk-cart.tk-cart, .tk-checkout.tk-checkout) .tk-opt__more { display: none; margin-top: 8px; font-size: 14px; line-height: 1.4; color: var(--tk-text-2); }

:is(.tk-cart.tk-cart, .tk-checkout.tk-checkout) .tk-opt:has(.tk-radio:checked) .tk-opt__more { display: block; }

:is(.tk-cart.tk-cart, .tk-checkout.tk-checkout) .tk-paylogos { display: flex; gap: 6px; flex-wrap: wrap; margin-top: 6px; }

:is(.tk-cart.tk-cart, .tk-checkout.tk-checkout) .tk-paylogo { height: 22px; padding: 0 7px; border-radius: 5px; background: var(--tk-chip-bg); color: #1B1F22;
  display: inline-grid; place-items: center; font-weight: 600; font-size: 11px; line-height: 1; letter-spacing: .03em; }


/* --- товар в корзине --- */
:is(.tk-cart.tk-cart, .tk-checkout.tk-checkout) .tk-item { display: grid; grid-template-columns: 84px 1fr 44px; gap: 14px; padding: 16px 0; }

:is(.tk-cart.tk-cart, .tk-checkout.tk-checkout) .tk-item + .tk-item { border-top: 1px solid var(--tk-line); }

:is(.tk-cart.tk-cart, .tk-checkout.tk-checkout) .tk-item__img { width: 84px; height: 84px; border-radius: 12px; background: #fff; overflow: hidden; display: grid; place-items: center; }

:is(.tk-cart.tk-cart, .tk-checkout.tk-checkout) .tk-item__img img { width: 100%; height: 100%; object-fit: contain; display: block; }

:is(.tk-cart.tk-cart, .tk-checkout.tk-checkout) .tk-item__title { display: block; font-weight: 500; font-size: 16px; line-height: 1.3; color: var(--tk-text); text-decoration: none; }

:is(.tk-cart.tk-cart, .tk-checkout.tk-checkout) .tk-item__title:hover { text-decoration: underline; }

:is(.tk-cart.tk-cart, .tk-checkout.tk-checkout) .tk-item__meta { margin-top: 4px; font-size: 14px; line-height: 1.3; color: var(--tk-text-2); }

:is(.tk-cart.tk-cart, .tk-checkout.tk-checkout) .tk-item__row { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: 12px; }

:is(.tk-cart.tk-cart, .tk-checkout.tk-checkout) .tk-item__del { width: 44px; height: 44px; margin: -8px -8px 0 0; border: 0; border-radius: 10px; background: transparent;
  color: var(--tk-text-2); display: grid; place-items: center; cursor: pointer; }

:is(.tk-cart.tk-cart, .tk-checkout.tk-checkout) .tk-item__del:hover { color: var(--tk-danger); background: var(--tk-danger-bg); }

:is(.tk-cart.tk-cart, .tk-checkout.tk-checkout) .tk-stepper { display: inline-flex; align-items: center; height: 44px; border: 1px solid var(--tk-field-border); border-radius: 12px; }

:is(.tk-cart.tk-cart, .tk-checkout.tk-checkout) .tk-stepper__btn { width: 44px; height: 42px; border: 0; background: none; color: var(--tk-text); cursor: pointer;
  display: grid; place-items: center; font-weight: 400; font-size: 24px; line-height: 1; border-radius: 11px; }

:is(.tk-cart.tk-cart, .tk-checkout.tk-checkout) .tk-stepper__btn:hover { background: var(--tk-surface-2); }

:is(.tk-cart.tk-cart, .tk-checkout.tk-checkout) .tk-stepper__btn[disabled] { color: var(--tk-text-2); opacity: .45; cursor: default; background: none; }

:is(.tk-cart.tk-cart, .tk-checkout.tk-checkout) .tk-stepper input { width: 30px; border: 0; background: none; color: var(--tk-text); text-align: center; padding: 0;
  font-weight: 600; font-size: 17px; line-height: 1; }

:is(.tk-cart.tk-cart, .tk-checkout.tk-checkout) .tk-price { text-align: right; white-space: nowrap; }

:is(.tk-cart.tk-cart, .tk-checkout.tk-checkout) .tk-price__now { display: block; font-weight: 600; font-size: 19px; line-height: 1.2; }

:is(.tk-cart.tk-cart, .tk-checkout.tk-checkout) .tk-price__old { display: block; font-size: 14px; color: var(--tk-text-2); text-decoration: line-through; }

:is(.tk-cart.tk-cart, .tk-checkout.tk-checkout) .tk-item__note { margin-top: 8px; font-size: 13px; color: var(--tk-text-2); }


/* --- прогресс ТРОКОТСЕТ --- */
:is(.tk-cart.tk-cart, .tk-checkout.tk-checkout) .tk-set { padding: 14px 16px; border-radius: 14px; background: var(--tk-surface-2); }

:is(.tk-cart.tk-cart, .tk-checkout.tk-checkout) .tk-set__head { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; }

:is(.tk-cart.tk-cart, .tk-checkout.tk-checkout) .tk-set__title { font-weight: 500; font-size: 16px; line-height: 1.3; }

:is(.tk-cart.tk-cart, .tk-checkout.tk-checkout) .tk-set__title b { color: var(--tk-accent-text); font-weight: 600; }

:is(.tk-cart.tk-cart, .tk-checkout.tk-checkout) .tk-set__bar { display: grid; grid-template-columns: repeat(4, 1fr); gap: 4px; margin: 12px 0 6px; }

:is(.tk-cart.tk-cart, .tk-checkout.tk-checkout) .tk-set__cell { height: 6px; border-radius: 3px; background: var(--tk-line); }

:is(.tk-cart.tk-cart, .tk-checkout.tk-checkout) .tk-set__cell.is-on { background: var(--tk-accent); }

:is(.tk-cart.tk-cart, .tk-checkout.tk-checkout) .tk-set__labels { display: grid; grid-template-columns: repeat(4, 1fr); gap: 4px; font-size: 12px; line-height: 1.25; color: var(--tk-text-2); }

:is(.tk-cart.tk-cart, .tk-checkout.tk-checkout) .tk-set__labels span.is-now { color: var(--tk-text); font-weight: 500; }

:is(.tk-cart.tk-cart, .tk-checkout.tk-checkout) .tk-set__note { margin-top: 8px; font-size: 13px; color: var(--tk-text-2); }


/* --- «подходит к вашей машине» --- */
:is(.tk-cart.tk-cart, .tk-checkout.tk-checkout) .tk-rec__title { font-weight: 600; font-size: 17px; line-height: 1.3; margin: 8px 0 10px; }

:is(.tk-cart.tk-cart, .tk-checkout.tk-checkout) .tk-rec { display: grid; grid-auto-flow: column; grid-auto-columns: 272px; gap: 10px; overflow-x: auto; padding-bottom: 6px; scroll-snap-type: x mandatory; }

:is(.tk-cart.tk-cart, .tk-checkout.tk-checkout) .tk-rec__card { scroll-snap-align: start; display: grid; grid-template-columns: 64px 1fr; gap: 10px; padding: 10px;
  border: 1px solid var(--tk-line); border-radius: 14px; background: var(--tk-surface); }

:is(.tk-cart.tk-cart, .tk-checkout.tk-checkout) .tk-rec__img { width: 64px; height: 64px; border-radius: 10px; overflow: hidden; background: #fff; }

:is(.tk-cart.tk-cart, .tk-checkout.tk-checkout) .tk-rec__img img { width: 100%; height: 100%; object-fit: cover; display: block; }

:is(.tk-cart.tk-cart, .tk-checkout.tk-checkout) .tk-rec__name { font-size: 14px; line-height: 1.3; }

:is(.tk-cart.tk-cart, .tk-checkout.tk-checkout) .tk-rec__foot { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-top: 6px; }

:is(.tk-cart.tk-cart, .tk-checkout.tk-checkout) .tk-rec__price { font-weight: 600; font-size: 16px; line-height: 1; }


/* --- строки итога --- */
:is(.tk-cart.tk-cart, .tk-checkout.tk-checkout) .tk-lines { display: grid; gap: 10px; font-size: 16px; }

:is(.tk-cart.tk-cart, .tk-checkout.tk-checkout) .tk-line { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; }

:is(.tk-cart.tk-cart, .tk-checkout.tk-checkout) .tk-line > span:first-child { color: var(--tk-text-2); }

:is(.tk-cart.tk-cart, .tk-checkout.tk-checkout) .tk-line s { color: var(--tk-text-2); font-size: 14px; margin-right: 6px; }

:is(.tk-cart.tk-cart, .tk-checkout.tk-checkout) .tk-line--minus > span:last-child { color: var(--tk-success); font-weight: 500; }

:is(.tk-cart.tk-cart, .tk-checkout.tk-checkout) .tk-line__sub { font-size: 13px; color: var(--tk-text-2); margin-top: -6px; }

:is(.tk-cart.tk-cart, .tk-checkout.tk-checkout) .tk-total { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; padding-top: 14px; margin-top: 4px; border-top: 1px solid var(--tk-line); }

:is(.tk-cart.tk-cart, .tk-checkout.tk-checkout) .tk-total__label { font-weight: 500; font-size: 18px; line-height: 1.2; }

:is(.tk-cart.tk-cart, .tk-checkout.tk-checkout) .tk-total__val { font-weight: 600; font-size: 28px; line-height: 1.1; white-space: nowrap; }


/* --- промокод --- */
:is(.tk-cart.tk-cart, .tk-checkout.tk-checkout) .tk-promo summary { list-style: none; }

:is(.tk-cart.tk-cart, .tk-checkout.tk-checkout) .tk-promo summary::-webkit-details-marker { display: none; }

:is(.tk-cart.tk-cart, .tk-checkout.tk-checkout) .tk-promo__form { display: flex; gap: 8px; margin-top: 4px; }

:is(.tk-cart.tk-cart, .tk-checkout.tk-checkout) .tk-promo__form .tk-input { flex: 1; text-transform: uppercase; }

:is(.tk-cart.tk-cart, .tk-checkout.tk-checkout) .tk-promo__ok, :is(.tk-cart.tk-cart, .tk-checkout.tk-checkout) .tk-promo__err { display: none; margin-top: 8px; font-size: 14px; line-height: 1.35; align-items: flex-start; gap: 6px; }

:is(.tk-cart.tk-cart, .tk-checkout.tk-checkout) .tk-promo__ok { color: var(--tk-success); }

:is(.tk-cart.tk-cart, .tk-checkout.tk-checkout) .tk-promo__err { color: var(--tk-danger); }

:is(.tk-cart.tk-cart, .tk-checkout.tk-checkout) .promocode_block.success ~ .tk-promo__ok, :is(.tk-cart.tk-cart, .tk-checkout.tk-checkout) .promocode_block.error ~ .tk-promo__err { display: flex; }

:is(.tk-cart.tk-cart, .tk-checkout.tk-checkout) .promocode_block.error .tk-input { border-color: var(--tk-danger); }


/* --- доверие --- */
:is(.tk-cart.tk-cart, .tk-checkout.tk-checkout) .tk-trust { display: grid; gap: 10px; font-size: 14px; line-height: 1.35; color: var(--tk-text-2); }

:is(.tk-cart.tk-cart, .tk-checkout.tk-checkout) .tk-trust li { display: flex; gap: 10px; align-items: flex-start; list-style: none; }

:is(.tk-cart.tk-cart, .tk-checkout.tk-checkout) .tk-trust ul { margin: 0; padding: 0; display: grid; gap: 10px; }

:is(.tk-cart.tk-cart, .tk-checkout.tk-checkout) .tk-trust .tk-ico { color: var(--tk-text); width: 18px; height: 18px; margin-top: 1px; }

:is(.tk-cart.tk-cart, .tk-checkout.tk-checkout) .tk-legal { font-size: 13px; line-height: 1.4; color: var(--tk-text-2); }

:is(.tk-cart.tk-cart, .tk-checkout.tk-checkout) .tk-legal a { color: var(--tk-text-2); }


/* --- сводка ошибок у кнопки --- */
:is(.tk-cart.tk-cart, .tk-checkout.tk-checkout) .tk-errsum { display: flex; gap: 8px; align-items: flex-start; padding: 10px 12px; border-radius: 12px;
  background: var(--tk-danger-bg); color: var(--tk-danger); font-size: 14px; line-height: 1.35; }


/* --- оверлей отправки (стиль для .loaderjs) --- */
:is(.tk-cart.tk-cart, .tk-checkout.tk-checkout) .tk-sending { position: absolute; inset: 0; z-index: 50; background: var(--tk-overlay); display: grid; place-items: center; }

:is(.tk-cart.tk-cart, .tk-checkout.tk-checkout) .tk-sending__box { display: grid; justify-items: center; gap: 14px; padding: 24px 28px; border-radius: 16px;
  background: var(--tk-surface); box-shadow: var(--tk-shadow); font-weight: 500; font-size: 17px; line-height: 1.3; }

:is(.tk-cart.tk-cart, .tk-checkout.tk-checkout) .tk-sending__box .tk-spinner { width: 32px; height: 32px; border-width: 3px; color: var(--tk-accent); }


/* --- экран результата --- */
:is(.tk-cart.tk-cart, .tk-checkout.tk-checkout) .tk-result { max-width: 560px; margin: 0 auto; display: grid; gap: 20px; }

:is(.tk-cart.tk-cart, .tk-checkout.tk-checkout) .tk-result__icon { width: 56px; height: 56px; border-radius: 50%; display: grid; place-items: center; }

:is(.tk-cart.tk-cart, .tk-checkout.tk-checkout) .tk-result__icon .tk-ico { width: 30px; height: 30px; }

:is(.tk-cart.tk-cart, .tk-checkout.tk-checkout) .tk-result__icon--ok { background: var(--tk-success-bg); color: var(--tk-success); }

:is(.tk-cart.tk-cart, .tk-checkout.tk-checkout) .tk-result__icon--warn { background: var(--tk-warn-bg); color: var(--tk-warn); }

:is(.tk-cart.tk-cart, .tk-checkout.tk-checkout) .tk-result__icon--pay { background: var(--tk-accent-soft); color: var(--tk-accent-text); }

:is(.tk-cart.tk-cart, .tk-checkout.tk-checkout) .tk-result h1 { font-weight: 600; font-size: 28px; line-height: 1.2; }

:is(.tk-cart.tk-cart, .tk-checkout.tk-checkout) .tk-result__lead { font-size: 17px; line-height: 1.45; color: var(--tk-text-2); }

:is(.tk-cart.tk-cart, .tk-checkout.tk-checkout) .tk-kv { display: grid; gap: 10px; }

:is(.tk-cart.tk-cart, .tk-checkout.tk-checkout) .tk-kv div { display: flex; justify-content: space-between; gap: 12px; }

:is(.tk-cart.tk-cart, .tk-checkout.tk-checkout) .tk-kv dt { color: var(--tk-text-2); }

:is(.tk-cart.tk-cart, .tk-checkout.tk-checkout) .tk-kv dd { margin: 0; font-weight: 500; text-align: right; }

:is(.tk-cart.tk-cart, .tk-checkout.tk-checkout) .tk-steps { margin: 0; padding: 0; list-style: none; display: grid; gap: 14px; counter-reset: s; }

:is(.tk-cart.tk-cart, .tk-checkout.tk-checkout) .tk-steps li { display: grid; grid-template-columns: 30px 1fr; gap: 12px; align-items: start; counter-increment: s; line-height: 1.4; }

:is(.tk-cart.tk-cart, .tk-checkout.tk-checkout) .tk-steps li::before { content: counter(s); width: 30px; height: 30px; border-radius: 50%; display: grid; place-items: center;
  background: var(--tk-surface-2); border: 1px solid var(--tk-line); font-weight: 600; font-size: 15px; }

:is(.tk-cart.tk-cart, .tk-checkout.tk-checkout) .tk-widget { min-height: 220px; border-radius: 14px; border: 1px dashed var(--tk-field-border); display: grid; place-items: center;
  text-align: center; padding: 20px; color: var(--tk-text-2); font-size: 15px; background: var(--tk-surface-2); }

:is(.tk-cart.tk-cart, .tk-checkout.tk-checkout) .tk-actions { display: grid; gap: 10px; }



/* Integration resets for the retained script.js hooks and legacy site cascade. */
:is(.tk-cart.tk-cart, .tk-checkout.tk-checkout) { color-scheme:dark; text-align:left; letter-spacing:normal; }
:is(.tk-cart.tk-cart, .tk-checkout.tk-checkout) * { font-family:inherit; text-transform:none; letter-spacing:normal; }
:is(.tk-cart.tk-cart, .tk-checkout.tk-checkout) :is(h1,h2,h3,p,ul,ol,dl) { margin:0; }
:is(.tk-cart.tk-cart, .tk-checkout.tk-checkout) :is(p,li) { font-weight:400!important; }
:is(.tk-cart.tk-cart, .tk-checkout.tk-checkout) p.tk-set__title { font-weight:500!important; }
:is(.tk-cart.tk-cart, .tk-checkout.tk-checkout) :is(a,button,input,textarea) { -webkit-tap-highlight-color:transparent; }
:is(.tk-cart.tk-cart, .tk-checkout.tk-checkout) :is(a,button) { touch-action:manipulation; }
:is(.tk-cart.tk-cart, .tk-checkout.tk-checkout) :is(button,input,textarea) { margin:0; }
:is(.tk-cart.tk-cart, .tk-checkout.tk-checkout) a { color:var(--tk-accent-text); }
:is(.tk-cart.tk-cart, .tk-checkout.tk-checkout) a.tk-btn--primary { color:var(--tk-on-accent); }
:is(.tk-cart.tk-cart, .tk-checkout.tk-checkout) a.tk-btn--ghost { color:var(--tk-text); }
:is(.tk-cart.tk-cart, .tk-checkout.tk-checkout) button { text-shadow:none; }
:is(.tk-cart.tk-cart, .tk-checkout.tk-checkout) .tk-btn { width:auto; max-width:100%; height:auto; min-height:52px; box-shadow:none; white-space:normal; }
:is(.tk-cart.tk-cart, .tk-checkout.tk-checkout) .tk-btn--block { width:100%; }
:is(.tk-cart.tk-cart, .tk-checkout.tk-checkout) .tk-btn--sm { min-height:44px; }
:is(.tk-cart.tk-cart, .tk-checkout.tk-checkout) .tk-btn:disabled { opacity:.45; cursor:default; }
:is(.tk-cart.tk-cart, .tk-checkout.tk-checkout) .tk-link { text-align:left; }
:is(.tk-cart.tk-cart, .tk-checkout.tk-checkout) [hidden] { display:none!important; }
.tk-checkout.tk-checkout .input_group.tk-field { display:grid; width:100%; min-width:0; gap:6px; }
.tk-checkout.tk-checkout .input_group .tk-field__label { display:block; padding:0; font-weight:500; font-size:15px; line-height:1.3; color:var(--tk-text); }
.tk-checkout.tk-checkout .input_group .tk-input,
.tk-checkout.tk-checkout .promocode_block .tk-input { display:block; width:100%; min-width:0; height:52px; margin:0; padding:0 14px; border:1px solid var(--tk-field-border); border-radius:12px; background:var(--tk-surface-2); color:var(--tk-text); font-size:17px; font-weight:400; line-height:1.2; scroll-margin:24px 0 260px; }
.tk-checkout.tk-checkout .input_group textarea.tk-input { height:auto; min-height:96px; padding:12px 14px; }
.tk-checkout.tk-checkout .input_group .tk-input:hover { border-color:var(--tk-text-2); }
.tk-checkout.tk-checkout .input_group .tk-input:focus,
.tk-checkout.tk-checkout .promocode_block .tk-input:focus { border-color:var(--tk-accent); box-shadow:0 0 0 3px rgba(243,146,0,.32); }
.tk-checkout.tk-checkout .input_group .tk-input.error,
.tk-checkout.tk-checkout .promocode_block.error .tk-input { border-color:var(--tk-danger); }
.tk-checkout.tk-checkout .promocode_block.success .tk-input { border-color:var(--tk-success); }
.tk-checkout.tk-checkout .step_info_block { display:grid; }
.tk-checkout.tk-checkout .promocode_block { display:flex; gap:8px; width:100%; margin:4px 0 0; padding:0; border:0; }
.tk-checkout.tk-checkout .promocode_block .tk-input { flex:1 1 0; }
.tk-checkout.tk-checkout .promocode_block .tk-btn { flex:none; padding:0 16px; }
.tk-checkout.tk-checkout .products_total_price { width:100%; padding:0; margin:0; border:0; }
.tk-checkout.tk-checkout .products_total_price .oldprice { color:var(--tk-text-2); font-size:14px; opacity:1; font-weight:400; }
.tk-checkout.tk-checkout .products_total_price .promocode { display:none; padding:0; background:transparent; }
.tk-checkout.tk-checkout .products_total_price .promocode > span { color:var(--tk-text-2); }
.tk-checkout.tk-checkout .products_total_price .promocode > span:last-child { color:var(--tk-success); }
.tk-checkout.tk-checkout .products_total_price .line.economy { display:inline-flex; padding:3px 10px; background:var(--tk-success-bg); color:var(--tk-success); }
.tk-checkout.tk-checkout .products_total_price .totalprice_sum { font-size:28px; }
.tk-checkout.tk-checkout .tk-line__prices { text-align:right; }
.tk-checkout.tk-checkout .tk-line__prices > span { white-space:nowrap; }
.tk-checkout.tk-checkout .tk-line__prices s { display:inline-block; white-space:nowrap; }
.tk-checkout.tk-checkout .tk-radio { position:static; opacity:1; float:none; min-width:22px; max-width:22px; height:22px; padding:0; box-shadow:none; }
.tk-checkout.tk-checkout .tk-radio:focus-visible { outline:2px solid var(--tk-focus); outline-offset:4px; }
.tk-checkout.tk-checkout .tk-opt__logo img { display:block; width:100%; height:100%; max-width:64px; max-height:40px; object-fit:contain; padding:4px; }
.tk-checkout.tk-checkout .tk-opt__more .tk-ico { display:inline; width:16px; height:16px; vertical-align:-3px; }
.tk-checkout.tk-checkout .tk-opt__title { overflow-wrap:anywhere; }
.tk-checkout.tk-checkout .tk-trust__hours { display:block; }
.tk-checkout.tk-checkout .tk-trust li { padding:0; margin:0; }
.tk-checkout.tk-checkout .tk-legal a { color:var(--tk-text-2); }
.tk-checkout.tk-checkout .tk-errsum { display:none; }
.tk-checkout.tk-checkout .tk-submit-error:not([hidden]) { display:flex; }
body:has(.tk-checkout--order .stepstoorder .error) .tk-checkout .tk-cta > .tk-errsum:not(.tk-submit-error) { display:flex; }

/* Cart: one scrolling body includes progress, all items and recommendations. */
.modalfull:has(> .tk-cart) { overflow:hidden; background:rgba(5,7,8,.66); backdrop-filter:blur(4px); }
body:has(.modalfull[style*="block"] > .tk-cart) { overflow:hidden; }
.tk-cart.tk-cart { position:fixed; inset:0 0 0 auto; width:460px; max-width:100%; height:100vh; height:100dvh; min-height:0; margin:0; padding:0; display:flex; flex-direction:column; overflow:hidden; background:var(--tk-bg); box-shadow:var(--tk-shadow); }
.tk-cart.tk-cart .tk-cart__head { flex:none; display:flex; align-items:center; justify-content:space-between; gap:12px; padding:16px 20px 12px 28px; background:var(--tk-bg); }
.tk-cart.tk-cart .tk-cart__title { font-size:26px; font-weight:600; line-height:1.2; }
.tk-cart.tk-cart .closebtnmodalcart { position:static; width:44px; height:44px; margin:0; padding:0; color:var(--tk-text-2); }
.tk-cart.tk-cart .tk-cart__body { flex:1 1 auto; min-height:0; overflow:auto; padding:0 28px 20px; overscroll-behavior:contain; scrollbar-width:thin; scrollbar-color:var(--tk-field-border) transparent; }
.tk-cart.tk-cart .tk-cart__body:focus-visible { outline-offset:-3px; }
.tk-cart.tk-cart .tk-cart__foot { flex:none; display:grid; align-items:stretch; gap:10px; padding:20px 28px calc(16px + env(safe-area-inset-bottom)); background:var(--tk-surface); box-shadow:var(--tk-shadow-bar); }
.tk-cart.tk-cart .to_order .btn-empty { margin:0; }
.tk-cart.tk-cart .tk-cart__continue { justify-self:center; color:var(--tk-text-2); text-decoration:none; }
.tk-cart.tk-cart .tk-total--cart { margin:0; padding:0; border:0; }
.tk-cart.tk-cart .tk-cart__saving { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:6px; font-size:14px; }
.tk-cart.tk-cart .product_item_cart { display:grid; width:100%; margin:0; position:relative; }
.tk-cart.tk-cart .product_item_info { display:block; position:static; flex:initial; width:auto; max-width:none; min-width:0; }
.tk-cart.tk-cart .product_item_info > .tk-item__title { color:var(--tk-text); overflow-wrap:anywhere; }
.tk-cart.tk-cart .tk-item__row { width:calc(100% + 58px); flex-wrap:wrap; }
.tk-cart.tk-cart .product_item_cart .delete { position:static; display:grid; place-items:center; width:44px; min-width:44px; height:44px; padding:0; margin:-8px -8px 0 0; font-size:20px; line-height:1; color:var(--tk-text-2); }
.tk-cart.tk-cart .product_item_cart .delete:hover { color:var(--tk-danger); }
.tk-cart.tk-cart .qty_block_cart .qtybtn { width:44px; height:44px; min-width:44px; padding:0; margin:0; color:var(--tk-text); font-size:24px; line-height:1; }
.tk-cart.tk-cart .qty_block_cart .qtybtn:disabled { color:var(--tk-text-2); }
.tk-cart.tk-cart .qty_block_cart { flex:none; height:46px; }
.tk-cart.tk-cart .qty_block_cart input { width:30px; height:42px; margin:0; padding:0; border:0; font-size:17px; line-height:1; }
.tk-cart.tk-cart .tk-rec__card { min-width:0; }
.tk-cart.tk-cart .tk-rec__name { display:block; color:var(--tk-text); text-decoration:none; }
.tk-cart.tk-cart .tk-rec__foot { flex-wrap:wrap; }
.tk-cart.tk-cart .tk-rec__foot .btn { margin:0; position:static; border:1px solid var(--tk-field-border); background:transparent; color:var(--tk-text); font-size:15px; }
.tk-cart.tk-cart .tk-empty { display:grid; justify-items:center; text-align:center; gap:12px; padding:80px 0 40px; }
.tk-cart.tk-cart .tk-empty__title { font-size:22px; font-weight:600; line-height:1.2; }

/* Checkout: a single form and a single submit_order for both layouts. */
.tk-checkout.tk-checkout { background:var(--tk-bg); }
.tk-checkout.tk-checkout .tk-checkout__container { max-width:1264px; margin:0 auto; padding:28px 32px 48px; }
.tk-checkout.tk-checkout .order_page { display:grid; grid-template-columns:minmax(0,1fr) 440px; grid-template-areas:"heading summary" "form summary"; gap:0 40px; padding:0; margin:0; align-items:start; }
.tk-checkout.tk-checkout .tk-checkout__heading { grid-area:heading; margin-bottom:12px; }
.tk-checkout.tk-checkout h1 { font-size:34px; line-height:1.15; font-weight:600; }
.tk-checkout.tk-checkout .make_order_column { grid-area:form; min-width:0; width:auto; max-width:none; }
.tk-checkout.tk-checkout .stepstoorder { width:100%; margin:0; padding:0; border:0; }
.tk-checkout.tk-checkout .tk-card { padding:28px; }
.tk-checkout.tk-checkout .tk-contact-fields { grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.tk-checkout.tk-checkout .tk-field--name { grid-column:1/-1; }
.tk-checkout.tk-checkout .tk-opts--delivery, .tk-checkout.tk-checkout .tk-opts--payment { grid-template-columns:repeat(2,minmax(0,1fr)); }
.tk-checkout.tk-checkout .tk-opts__group { grid-column:1/-1; }
.tk-checkout.tk-checkout .products_info_order { grid-area:summary; position:sticky; top:24px; width:auto; max-width:none; min-width:0; }
.tk-checkout.tk-checkout .tk-summary__card { display:grid; gap:16px; }
.tk-checkout.tk-checkout .tk-summary__heading { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.tk-checkout.tk-checkout .tk-summary__heading .tk-link { font-size:14px; }
.tk-checkout.tk-checkout .tk-sum > summary { display:none; }
.tk-checkout.tk-checkout .tk-sum__body { display:grid; gap:16px; }
.tk-checkout.tk-checkout .tk-mini-list { display:grid; gap:16px; }
.tk-checkout.tk-checkout .tk-mini { display:grid; grid-template-columns:56px minmax(0,1fr) auto; gap:12px; align-items:start; }
.tk-checkout.tk-checkout .tk-mini__img { width:56px; height:56px; border-radius:10px; overflow:hidden; background:white; }
.tk-checkout.tk-checkout .tk-mini__img img { display:block; width:100%; height:100%; object-fit:contain; }
.tk-checkout.tk-checkout .tk-mini__title { font-size:14px; line-height:1.3; overflow-wrap:anywhere; }
.tk-checkout.tk-checkout .tk-mini__title a { color:var(--tk-text); text-decoration:none; }
.tk-checkout.tk-checkout .tk-mini__meta { display:block; color:var(--tk-text-2); }
.tk-checkout.tk-checkout .tk-mini__price { display:block; font-size:16px; line-height:1.2; font-weight:600; }
.tk-checkout.tk-checkout .tk-bar { display:grid; gap:12px; }
.tk-checkout.tk-checkout .tk-bar__row { display:flex; align-items:center; gap:14px; }
.tk-checkout.tk-checkout .tk-bar__sum { display:none; }
.tk-checkout.tk-checkout .tk-cta__loading { display:none; align-items:center; justify-content:center; gap:8px; }
.tk-checkout.tk-checkout .tk-sum__promo { display:none; }
.tk-checkout.tk-checkout:has(.promocode_block.success) .tk-sum__discount { display:none; }
.tk-checkout.tk-checkout:has(.promocode_block.success) .tk-sum__promo { display:inline-flex; }
body:has(.loaderjs[style*="flex"]) .tk-checkout #submit_order { cursor:progress; opacity:.85; }
body:has(.loaderjs[style*="flex"]) .tk-checkout .tk-cta__label { display:none; }
body:has(.loaderjs[style*="flex"]) .tk-checkout .tk-cta__loading { display:inline-flex; }
.tk-checkout.tk-checkout.tk-loader { position:fixed; inset:0; z-index:100001; display:none; align-items:center; justify-content:center; width:100%; height:100%; padding:16px; background:var(--tk-overlay); }
.tk-checkout.tk-checkout .tk-sending__box .tk-spinner { width:32px; height:32px; border-width:3px; color:var(--tk-accent); }
.tk-checkout.tk-checkout--result { padding:64px 24px; }
.tk-checkout.tk-checkout .tk-result { width:100%; }
.tk-checkout.tk-checkout .tk-result h1 { font-size:28px; }
.tk-checkout.tk-checkout .tk-result__lead b { color:var(--tk-text); font-weight:600; }
.tk-checkout.tk-checkout .tk-result__next { margin-bottom:12px; }
.tk-checkout.tk-checkout .tk-kv { margin:0; }
.tk-checkout.tk-checkout .tk-kv dt { flex:none; }
.tk-checkout.tk-checkout .tk-kv dd { overflow-wrap:anywhere; }
.tk-checkout.tk-checkout .tk-result .tk-link { font-size:16px; }
.tk-checkout.tk-checkout .tk-empty { display:grid; justify-items:center; text-align:center; gap:16px; padding:64px 0; }
@media (min-width:721px) and (max-width:1100px) {
  .tk-checkout.tk-checkout .tk-checkout__container { padding-left:24px; padding-right:24px; }
  .tk-checkout.tk-checkout .order_page { grid-template-columns:minmax(0,1fr) 360px; gap:0 24px; }
  .tk-checkout.tk-checkout .tk-card { padding:20px; }
  .tk-checkout.tk-checkout .tk-contact-fields,
  .tk-checkout.tk-checkout .tk-opts--delivery,
  .tk-checkout.tk-checkout .tk-opts--payment { grid-template-columns:minmax(0,1fr); }
}
@media (max-width:720px) {
  .tk-cart.tk-cart { width:100%; box-shadow:none; }
  .tk-cart.tk-cart .tk-cart__head { padding:8px 8px 8px 16px; }
  .tk-cart.tk-cart .tk-cart__title { font-size:24px; }
  .tk-cart.tk-cart .tk-cart__body { padding:0 16px 20px; }
  .tk-cart.tk-cart .tk-cart__foot { padding:16px 16px calc(12px + env(safe-area-inset-bottom)); border-radius:20px 20px 0 0; }
  .tk-cart.tk-cart .tk-empty { padding-top:80px; }
  .tk-checkout.tk-checkout .tk-checkout__container { padding:8px 16px 24px; }
  .tk-checkout.tk-checkout .order_page { display:grid; grid-template-columns:minmax(0,1fr); grid-template-areas:"heading" "summary" "form" "trust"; gap:12px; }
  .tk-checkout.tk-checkout .tk-checkout__heading { margin:0; }
  .tk-checkout.tk-checkout .tk-checkout__heading .tk-link { font-size:15px; }
  .tk-checkout.tk-checkout h1 { font-size:26px; }
  .tk-checkout.tk-checkout .tk-card { padding:20px 16px; }
  .tk-checkout.tk-checkout .tk-contact-fields { grid-template-columns:minmax(0,1fr); }
  .tk-checkout.tk-checkout .tk-opts--delivery, .tk-checkout.tk-checkout .tk-opts--payment { grid-template-columns:minmax(0,1fr); }
  .tk-checkout.tk-checkout .products_info_order,
  .tk-checkout.tk-checkout .tk-summary__card { display:contents; }
  .tk-checkout.tk-checkout .tk-summary__heading { display:none; }
  .tk-checkout.tk-checkout .tk-sum { grid-area:summary; min-width:0; padding:16px; border-radius:16px; background:var(--tk-surface); }
  .tk-checkout.tk-checkout .tk-sum > summary { list-style:none; display:grid; grid-template-columns:auto minmax(0,1fr) auto 20px; gap:8px; min-height:44px; align-items:center; cursor:pointer; }
  .tk-checkout.tk-checkout .tk-sum > summary::-webkit-details-marker { display:none; }
  .tk-checkout.tk-checkout .tk-sum[open] > summary > .tk-ico { transform:rotate(180deg); }
  .tk-checkout.tk-checkout .tk-sum__thumbs { display:flex; }
  .tk-checkout.tk-checkout .tk-sum__thumbs img { display:block; width:32px; height:32px; background:white; object-fit:contain; border:2px solid var(--tk-surface); border-radius:8px; }
  .tk-checkout.tk-checkout .tk-sum__thumbs img + img { margin-left:-14px; }
  .tk-checkout.tk-checkout .tk-sum__txt { display:grid; gap:4px; justify-items:start; font-size:14px; line-height:1.25; }
  .tk-checkout.tk-checkout .tk-sum__txt .tk-badge { padding:3px 6px; font-size:11px; white-space:normal; }
  .tk-checkout.tk-checkout .tk-sum__total { font-size:19px; font-weight:600; white-space:nowrap; }
  .tk-checkout.tk-checkout .tk-sum__body { margin-top:14px; padding-top:14px; border-top:1px solid var(--tk-line); }
  .tk-checkout.tk-checkout .tk-summary__card > .tk-trust { grid-area:trust; padding:20px 16px; border-radius:16px; background:var(--tk-surface); }
  .tk-checkout.tk-checkout .tk-cta { position:fixed; inset:auto 0 0; z-index:60; padding:12px 16px calc(12px + env(safe-area-inset-bottom)); border-radius:20px 20px 0 0; background:var(--tk-surface); box-shadow:var(--tk-shadow-bar); gap:8px; }
  .tk-checkout.tk-checkout .tk-bar__sum { display:grid; flex:none; gap:3px; font-size:14px; line-height:1.15; }
  .tk-checkout.tk-checkout .tk-bar__sum b { font-size:22px; font-weight:600; white-space:nowrap; }
  .tk-checkout.tk-checkout .tk-bar__row > .tk-btn { flex:1 1 0; min-width:0; padding:0 12px; }
  .tk-checkout.tk-checkout .tk-cta .tk-legal { font-size:12px; line-height:1.35; }
  body:has(.tk-checkout--order .stepstoorder) { padding-bottom:calc(240px + env(safe-area-inset-bottom)); }
  .tk-checkout.tk-checkout--result { padding:32px 16px 40px; }
}
@media (prefers-reduced-motion:reduce) {
  :is(.tk-cart.tk-cart,.tk-checkout.tk-checkout) * { transition:none!important; scroll-behavior:auto; }
  :is(.tk-cart.tk-cart,.tk-checkout.tk-checkout) .tk-spinner { animation-duration:2s; }
}
.tk-checkout.tk-checkout .tk-paylogo img { display:block; width:auto; height:18px; max-width:40px; object-fit:contain; }
/* Reset legacy flex alignment, which also affects an element switched to grid. */
.tk-cart.tk-cart .tk-cart__foot { grid-template-columns:minmax(0,1fr); justify-content:stretch; width:100%; }
.tk-cart.tk-cart .to_order .btn-empty { display:inline-flex; width:auto; height:auto; min-height:44px; padding:0; margin:0; border:0; border-radius:0; background:transparent; box-shadow:none; font-size:16px; line-height:1.2; }
/* Observed site launchers; cbk-phone is also referenced by the retained site script. */
body:has(main.tk-checkout--order) :is(.cjatter_fixed,.fixedbut_tg,.cbk-phone),
body:has(main.tk-checkout--result) :is(.cjatter_fixed,.fixedbut_tg,.cbk-phone),
body:has(.modalfull[style*="block"] > .tk-cart) :is(.cjatter_fixed,.fixedbut_tg,.cbk-phone) { display:none!important; }
.tk-checkout.tk-checkout .tk-legal a { text-decoration:underline; text-underline-offset:3px; }
.tk-checkout.tk-checkout .tk-cta .tk-legal { position:relative; background:var(--tk-surface); }
/* Keep the desktop action reachable when a longer order exceeds the viewport. */
@media (min-width:721px) {
  .tk-checkout.tk-checkout .tk-summary__card { display:flex; flex-direction:column; max-height:calc(100dvh - 48px); overflow:hidden; }
  .tk-checkout.tk-checkout .tk-summary__card > :is(.tk-summary__heading,.tk-cta,.tk-trust) { flex:none; }
  .tk-checkout.tk-checkout .tk-sum { min-height:0; overflow:auto; scrollbar-width:thin; scrollbar-color:var(--tk-field-border) transparent; }
}

/* ИИ Иванович (06.11.26, сайты №50): подпись «скидка на доставку» — в корзине и на оформлении (вариант зависит от суммы) */
.tk-cart.tk-cart .tk-cart__delbonus { margin:6px 0 0; font-size:14px; line-height:1.35; }
.tk-checkout.tk-checkout .tk-delbonus__on { display:none; }
.tk-checkout.tk-checkout.has-delbonus .tk-delbonus__on { display:inline; color:var(--tk-success); }
.tk-checkout.tk-checkout.has-delbonus .tk-delbonus__off { display:none; }

/* ИИ Иванович (09.11.26, сайты №53): подсказки адреса и расчётная цена доставки */
.tk-checkout.tk-checkout .tk-addr-list { margin:4px 0 0; padding:6px 0; list-style:none;
  background:var(--tk-surface-2); border:1px solid var(--tk-field-border); border-radius:12px; box-shadow:var(--tk-shadow); }
.tk-checkout.tk-checkout .tk-addr-list[hidden] { display:none; }
.tk-checkout.tk-checkout .tk-addr-list li { padding:10px 14px; font-size:15px; line-height:1.35; cursor:pointer; }
.tk-checkout.tk-checkout .tk-addr-list li:hover { background:rgba(255,255,255,.06); }
.tk-checkout.tk-checkout .tk-delprice { color:var(--tk-text); font-weight:500; }
.tk-checkout.tk-checkout .tk-delprice[hidden], .tk-checkout.tk-checkout .tk-delcalc-wait { display:none; }
.tk-checkout.tk-checkout.is-delcalc .tk-delcalc-wait { display:block; }
.tk-checkout.tk-checkout .tk-opt__body:has(.tk-delprice:not([hidden])) .tk-opt__descr:not(.tk-delprice) { display:none; }
body:has(main.tk-checkout--order) .scrolltotop { display:none!important; }   /* круглая «наверх» налезала на итог в нижней панели */

/* ИИ Иванович (09.11.26, сайты №53): пункты выдачи СДЭК и квартира для Почты */
.tk-checkout.tk-checkout .tk-pvz[hidden], .tk-checkout.tk-checkout .tk-post[hidden] { display:none; }
.tk-checkout.tk-checkout .tk-pvz, .tk-checkout.tk-checkout .tk-post { display:flex; flex-direction:column; gap:10px; }
.tk-checkout.tk-checkout .tk-pvz__list { display:flex; flex-direction:column; gap:8px; }
.tk-checkout.tk-checkout .tk-pvz__item { display:flex; gap:12px; align-items:flex-start; padding:12px 14px; border:1px solid var(--tk-line); border-radius:12px; cursor:pointer; }
.tk-checkout.tk-checkout .tk-pvz__item:has(.tk-radio:checked) { border-color:var(--tk-accent); background:var(--tk-accent-soft); }
.tk-checkout.tk-checkout .tk-pvz__body { display:flex; flex-direction:column; gap:3px; min-width:0; }
.tk-checkout.tk-checkout .tk-pvz__addr { font-weight:500; color:var(--tk-text); }
.tk-checkout.tk-checkout .tk-pvz__work, .tk-checkout.tk-checkout .tk-pvz__note { font-size:14px; line-height:1.35; color:var(--tk-text-2); }
.tk-checkout.tk-checkout .tk-pvz__note { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.tk-checkout.tk-checkout .tk-pvz__wait { display:none; }
.tk-checkout.tk-checkout .tk-pvz.is-loading .tk-pvz__wait { display:block; }
.tk-checkout.tk-checkout .tk-pvz.is-error .tk-pvz__err { display:flex; }
.tk-checkout.tk-checkout .tk-check { display:flex; gap:10px; align-items:center; font-size:15px; cursor:pointer; }
.tk-checkout.tk-checkout .tk-check input[type=checkbox] { display:inline-block!important; position:static!important; opacity:1!important; -webkit-appearance:checkbox; appearance:auto; width:20px; height:20px; margin:0; flex:none; accent-color:var(--tk-accent); }

/* ИИ Иванович (09.11.26, сайты №73): подборка в корзине — слайдер; на компьютере корзина во всё окно */
.tk-cart.tk-cart .tk-rec__wrap { position:relative; }
.tk-cart.tk-cart .tk-rec__body { min-width:0; }
.tk-cart.tk-cart .tk-rec__nav { display:none; }
.tk-cart.tk-cart .tk-cart__torec { display:none; }
@media (max-width:720px) {
  /* к подборке ведёт ссылка из нижней панели: на телефоне её иначе не видно из-под списка товаров */
  .tk-cart.tk-cart .tk-cart__torec { display:inline-flex; align-items:center; justify-content:center; justify-self:center;
    gap:6px; width:auto; min-height:44px; padding:0; margin:0; border:0; border-radius:0; background:transparent; box-shadow:none;
    color:var(--tk-accent-text); font-size:15px; line-height:1.2; cursor:pointer; }
  .tk-cart.tk-cart .tk-cart__torec .tk-ico { width:18px; height:18px; }
}
@media (min-width:721px) {
  .tk-cart.tk-cart { width:100%; }
  .tk-cart.tk-cart .tk-cart__head { width:100%; max-width:1180px; margin:0 auto; padding-left:0; }
  .tk-cart.tk-cart .tk-cart__body,
  .tk-cart.tk-cart .tk-cart__foot { padding-left:max(28px,calc((100% - 1180px) / 2)); padding-right:max(28px,calc((100% - 1180px) / 2)); }
  .tk-cart.tk-cart .tk-set, .tk-cart.tk-cart .tk-cart__items { max-width:760px; }
  .tk-cart.tk-cart .tk-cart__foot { grid-template-columns:minmax(0,1fr) 360px; column-gap:40px; align-items:end; }
  .tk-cart.tk-cart .tk-cart__foot .tk-lines { grid-column:1; grid-row:1 / 3; max-width:560px; }
  .tk-cart.tk-cart .tk-cart__foot #modal_order_btn { grid-column:2; grid-row:1; }
  .tk-cart.tk-cart .tk-cart__foot .tk-cart__continue { grid-column:2; grid-row:2; justify-self:center; }
  .tk-cart.tk-cart .tk-rec { scroll-behavior:smooth; }
  .tk-cart.tk-cart .tk-rec__nav { position:absolute; top:50%; z-index:2; display:grid; place-items:center;
    width:40px; height:40px; padding:0; margin:0; transform:translateY(-50%); border:1px solid var(--tk-field-border);
    border-radius:50%; background:var(--tk-surface); color:var(--tk-text); cursor:pointer; }
  .tk-cart.tk-cart .tk-rec__nav:hover { border-color:var(--tk-text); }
  .tk-cart.tk-cart .tk-rec__nav[hidden] { display:none; }
  .tk-cart.tk-cart .tk-rec__nav--prev { left:-10px; }
  .tk-cart.tk-cart .tk-rec__nav--next { right:-10px; }
}

/* ИИ Иванович (09.11.26, сайты №75): пункт СДЭК выбран — прячем остальные пункты и поиск, оставляем «Выбрать другой пункт» */
.tk-checkout.tk-checkout .tk-pvz__change { display:none; align-self:flex-start; }
.tk-checkout.tk-checkout .tk-pvz:has(#tk-pvz-list .tk-radio:checked):not(.is-open) :is(#tk-pvz-search, #tk-pvz-more) { display:none; }
.tk-checkout.tk-checkout .tk-pvz:has(#tk-pvz-list .tk-radio:checked):not(.is-open) .tk-pvz__item:not(:has(.tk-radio:checked)) { display:none; }
.tk-checkout.tk-checkout .tk-pvz:has(#tk-pvz-list .tk-radio:checked):not(.is-open) .tk-pvz__change { display:inline-flex; }

/* ИИ Иванович (10.11.26, сайты №80): оранжевые рамки у органов управления корзины и оформления —
   кнопки раньше терялись на тёмном фоне (просьба Дениса 09.11, вид утверждён 10.11). */
.tk-cart.tk-cart .closebtnmodalcart { border:1px solid var(--tk-accent); border-radius:10px; color:var(--tk-accent); }
.tk-cart.tk-cart .qty_block_cart { border:1px solid var(--tk-accent); border-radius:12px; }
.tk-cart.tk-cart .qty_block_cart .qtybtn { color:var(--tk-accent); }
.tk-cart.tk-cart .qty_block_cart .qtybtn:disabled { color:var(--tk-text-2); }
.tk-cart.tk-cart .product_item_cart .delete { border:1px solid var(--tk-accent); border-radius:10px; color:var(--tk-accent); }
.tk-cart.tk-cart .to_order .tk-cart__continue { padding:0 20px; border:1px solid var(--tk-accent); border-radius:12px; color:var(--tk-accent); }
.tk-cart.tk-cart .tk-rec__foot .btn { border-color:var(--tk-accent); color:var(--tk-accent); }
.tk-cart.tk-cart .tk-rec__nav { border-color:var(--tk-accent); color:var(--tk-accent); }
.tk-checkout.tk-checkout .tk-pvz__change { padding:0 16px; border:1px solid var(--tk-accent); border-radius:12px; color:var(--tk-accent); }
.tk-checkout.tk-checkout .promocode_block .tk-btn { border:1px solid var(--tk-accent); color:var(--tk-accent); }
.tk-checkout.tk-checkout .tk-checkout__heading .tk-link,
.tk-checkout.tk-checkout .tk-summary__heading .tk-link { padding:0 14px; border:1px solid var(--tk-accent); border-radius:10px; }

/* ИИ Иванович (10.11.26, сайты №85): просьбы Дениса 10.11 — заметная цена без скидок, оранжевая рамка
   у заполненных полей и выбранных вариантов, компактнее блок «Ваш заказ». */

/* 1. Цена товаров без скидок — от неё считается вся экономия, поэтому крупнее и белым */
:is(.tk-cart.tk-cart, .tk-checkout.tk-checkout) .tk-line--base > span:last-child,
:is(.tk-cart.tk-cart, .tk-checkout.tk-checkout) .tk-line--base .tk-line__prices { color:var(--tk-text); font-weight:600; font-size:18px; }
:is(.tk-cart.tk-cart, .tk-checkout.tk-checkout) .tk-line--base > span:first-child { color:var(--tk-text); }

/* 2. Заполненное поле и выбранный вариант — оранжевой рамкой (класс is-filled ставит checkout-ui.js) */
.tk-checkout.tk-checkout .tk-input.is-filled:not(.error) { border-color:var(--tk-accent); }
.tk-checkout.tk-checkout .tk-opt:has(.tk-radio:checked) { border-color:var(--tk-accent); }
.tk-checkout.tk-checkout .tk-pvz__item:has(.tk-radio:checked) { border-color:var(--tk-accent); }

/* 3. «Ваш заказ» компактнее — на невысоких экранах блок целиком не влезал */
.tk-checkout.tk-checkout .products_info_order .tk-card { padding:20px; }
.tk-checkout.tk-checkout .tk-summary__card { gap:12px; }
.tk-checkout.tk-checkout .tk-sum__body { gap:12px; }
.tk-checkout.tk-checkout .tk-mini-list { gap:10px; }
.tk-checkout.tk-checkout .tk-mini { grid-template-columns:44px minmax(0,1fr) auto; gap:10px; }
.tk-checkout.tk-checkout .tk-mini__img { width:44px; height:44px; }
.tk-checkout.tk-checkout .tk-mini__title { font-size:13px; }
.tk-checkout.tk-checkout .tk-mini__price { font-size:15px; }
.tk-checkout.tk-checkout .tk-trust, .tk-checkout.tk-checkout .tk-trust ul { gap:8px; font-size:13px; }
.tk-checkout.tk-checkout .tk-lines { gap:8px; }
