/* EngineXpress. Формы и блоки с заявкой. Подключается последним.

   Логика
   - Подпись живёт внутри поля: крупная, пока поле пустое, и уезжает вверх мелкой, когда в поле фокус или текст.
     Никаких примеров («Z94CB…», «+7 (___)…») и подсказок под полями: под полем появляется только ошибка.
   - Поле и кнопка одной высоты (64 px), поэтому строка «поле, поле, кнопка» читается как один предмет.
   - Поля без рамок: на белом фоне светло-голубые, на цветном фоне белые. Рамка появляется только в фокусе.
   - Формы стоят прямо на фоне блока, без белой карточки внутри цветной карточки.
   - Отступы: внутри блока 64 / 72 px, между полями 12 px, между группами 32 и 48 px. */

:root {
  --fx-h: 64px;
  --fx-r: 12px;
  --fx-bg: var(--nx-tint-2);
  --fx-gap: 12px;
}

/* ==========================================================================
   Поле
   ========================================================================== */
.fx { position: relative; display: block; min-width: 0; margin: 0; }
.fx__in { display: block; width: 100%; height: var(--fx-h); margin: 0; padding: 27px 18px 9px; border: 0 !important; border-radius: var(--fx-r) !important;
  background: var(--fx-bg) !important; box-shadow: inset 0 0 0 1px transparent; color: var(--nx-ink); font: 500 17px/26px var(--font-sans) !important;
  letter-spacing: 0; outline: none; appearance: none; -webkit-appearance: none; transition: box-shadow .25s var(--nx-ease), background-color .25s var(--nx-ease); }
.fx__in:hover { box-shadow: inset 0 0 0 1px rgba(10, 15, 46, .18); }
.fx.is-focus .fx__in, .fx .fx__in:focus { background: #fff !important; box-shadow: inset 0 0 0 1.5px var(--nx-blue), 0 0 0 4px rgba(2, 19, 123, .08); }
.fx__label { position: absolute; left: 19px; top: 21px; right: 18px; overflow: hidden; color: var(--nx-mute); font: 400 17px/22px var(--font-sans); white-space: nowrap; text-overflow: ellipsis;
  pointer-events: none; transform-origin: 0 0; transition: transform .35s var(--nx-ease), color .3s var(--nx-ease); }
.fx.is-focus .fx__label, .fx.is-filled .fx__label { transform: translateY(-11px) scale(.72); }
.fx.is-focus .fx__label { color: var(--nx-blue); }
.fx__aside { position: absolute; right: 18px; top: 23px; color: var(--nx-mute); font: 500 13px/18px var(--font-sans); font-variant-numeric: tabular-nums; pointer-events: none; opacity: 0; transition: opacity .3s, color .3s; }
.fx.is-filled .fx__aside, .fx.is-focus .fx__aside { opacity: 1; }
.fx__aside.is-ok { color: var(--success); }
.fx--vin .fx__in { padding-right: 72px; letter-spacing: .06em; text-transform: uppercase; font-variant-numeric: tabular-nums; }
.fx__err { display: block; max-height: 0; overflow: hidden; padding: 0 4px; color: var(--danger); font: 500 13px/18px var(--font-sans); opacity: 0; transition: max-height .35s var(--nx-ease), opacity .3s, margin .35s var(--nx-ease); }
.fx.ex-field--error .fx__err:not(:empty) { max-height: 60px; margin-top: 8px; opacity: 1; }
.fx.ex-field--error .fx__in { box-shadow: inset 0 0 0 1.5px var(--danger); }
.fx.ex-field--error .fx__label { color: var(--danger); }
.fx__in:-webkit-autofill { animation: fx-autofill .01s; -webkit-text-fill-color: var(--nx-ink); transition: background-color 9999s; }
@keyframes fx-autofill { from { opacity: 1; } to { opacity: 1; } }

/* Выпадающий список в той же форме */
.fx--select .dd { position: static; }
.fx--select .dd__btn { position: relative; display: flex; align-items: center; height: var(--fx-h); padding: 27px 52px 9px 18px !important; text-align: left; cursor: pointer; }
.fx--select .dd__val { font: 500 17px/26px var(--font-sans); color: var(--nx-ink); }
.fx--select:not(.is-filled) .dd__val { opacity: 0; }
.fx--select .dd__chev { position: absolute; right: 18px; top: 50%; width: 20px; height: 20px; margin-top: -10px; stroke: var(--nx-ink); }
.fx--select .dd.is-open .dd__btn { background: #fff !important; box-shadow: inset 0 0 0 1.5px var(--nx-blue), 0 0 0 4px rgba(2, 19, 123, .08); border-color: transparent; }
.fx--select .dd.is-open ~ .fx__label { transform: translateY(-11px) scale(.72); color: var(--nx-blue); }
.fx--select .dd__list { top: calc(100% + 8px); border: 0; border-radius: var(--fx-r) !important; box-shadow: 0 24px 50px -16px rgba(2, 11, 71, .3), 0 0 0 1px rgba(10, 15, 46, .06); padding: 6px; }
.fx--select .dd__opt { min-height: 44px; padding: 0 14px; border-radius: 8px !important; font: 400 16px/20px var(--font-sans); }
.fx--select .dd__opt[aria-selected="true"] { font-weight: 600; }
.fx--select .dd__opt--empty { display: none; }
.fx.is-disabled .fx__in, .fx--select .dd__btn:disabled { background: color-mix(in srgb, var(--fx-bg) 55%, transparent) !important; box-shadow: none; cursor: default; }
.fx.is-disabled .fx__label { color: rgba(93, 99, 130, .55); }
.fx.is-disabled .dd__chev { opacity: .35; }

/* ==========================================================================
   Галочка согласия
   ========================================================================== */
.fx-check { position: relative; display: grid; grid-template-columns: 22px minmax(0, 1fr); gap: 12px; align-items: start; margin: 0; cursor: pointer; }
.fx-check input { position: absolute; width: 22px; height: 22px; margin: 0; opacity: 0; cursor: pointer; }
.fx-check__box { display: grid; place-items: center; width: 22px; height: 22px; border-radius: 7px; background: #fff; box-shadow: inset 0 0 0 1.5px rgba(10, 15, 46, .28); transition: background-color .25s var(--nx-ease), box-shadow .25s var(--nx-ease); }
.fx-check__box svg { width: 15px; height: 15px; fill: none; stroke: #fff; stroke-width: 2.6; stroke-linecap: round; stroke-linejoin: round; stroke-dasharray: 22; stroke-dashoffset: 22; transition: stroke-dashoffset .35s var(--nx-ease) .05s; }
.fx-check input:checked + .fx-check__box { background: var(--nx-blue); box-shadow: inset 0 0 0 1.5px var(--nx-blue); }
.fx-check input:checked + .fx-check__box svg { stroke-dashoffset: 0; }
.fx-check input:focus-visible + .fx-check__box { box-shadow: inset 0 0 0 1.5px var(--nx-blue), 0 0 0 4px rgba(2, 19, 123, .14); }
.fx-check:hover .fx-check__box { box-shadow: inset 0 0 0 1.5px rgba(10, 15, 46, .5); }
.fx-check:hover input:checked + .fx-check__box { box-shadow: inset 0 0 0 1.5px var(--nx-blue); }
.fx-check__t { padding-top: 2px; color: var(--nx-mute); font: 400 13px/19px var(--font-sans); }
.fx-check__t a { color: var(--nx-ink); text-decoration: underline; text-decoration-thickness: 1px; text-decoration-color: rgba(10, 15, 46, .3); text-underline-offset: 3px; transition: text-decoration-color .25s; }
.fx-check__t a:hover { text-decoration-color: currentColor; }
.fx-check.is-error .fx-check__box { box-shadow: inset 0 0 0 1.5px var(--danger); animation: fx-shake .5s; }
.fx-check.is-error .fx-check__t { color: var(--danger); }
@keyframes fx-shake { 0%, 100% { transform: none; } 20% { transform: translateX(-4px); } 40% { transform: translateX(4px); } 60% { transform: translateX(-3px); } 80% { transform: translateX(2px); } }

/* ==========================================================================
   Форма, ошибка, отправка, готово
   ========================================================================== */
.fx-form { display: grid; gap: var(--fx-gap); margin: 0; }
.fx-form .fx-check { margin-top: 6px; }
.fx-form .fx-submit { margin-top: 10px; }
.nx-pill--card.fx-submit, .nx-find__go { height: var(--fx-h); padding: 0 32px; font-size: 16px; }
.fx-form .form__error, .nx-find .form__error { margin: 0; padding: 0; border: 0; background: none; color: var(--danger); font: 500 13px/18px var(--font-sans); }
.fx-form .form__error:not(.is-shown), .nx-find .form__error:not(.is-shown) { display: none; }
.is-busy .fx-submit { opacity: .7; pointer-events: none; }
.fx-done { text-align: left; padding: 8px 0 0; }
.fx-done .form__done-ic { width: 64px; height: 64px; margin: 0 0 24px; background: #fff; color: var(--success); }
.fx-done__t { margin: 0; font: 400 28px/1.15 var(--font-head); letter-spacing: -.035em; color: var(--nx-ink); }
.fx-done__p { margin: 10px 0 0; max-width: 380px; font: 400 16px/24px var(--font-sans); color: var(--nx-mute); }
.fx-done .nx-pill { margin-top: 24px; }

/* ==========================================================================
   Подбор на главной
   ========================================================================== */
.nx-find { padding: 0; }
.nx-find__box { --fx-bg: #fff; padding: 64px 72px 72px; border-radius: var(--nx-r); background: var(--nx-sand); color: var(--nx-ink); }
.nx-find__top { display: flex; align-items: flex-end; justify-content: space-between; gap: 48px; margin-bottom: 48px; }
.nx-find__head { max-width: 640px; }
.nx-find__t { margin: 0; font: 400 44px/1.1 var(--font-head); letter-spacing: -.04em; text-wrap: balance; }
.nx-find__p { margin: 18px 0 0; max-width: 560px; font: 400 17px/26px var(--font-sans); color: var(--nx-mute); text-wrap: pretty; }
.nx-find__row { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto; gap: var(--fx-gap); align-items: start; }
.nx-find__row--vin .fx-check { grid-column: 1 / -1; margin-top: 12px; max-width: 640px; }
.nx-find__row--vin .form__error { grid-column: 1 / -1; }
.nx-find__go { min-width: 236px; }
.nx-find .fx-done { padding: 0; }

/* Переключатель «по марке / по VIN» */
.nx-tabs { position: relative; flex: none; display: flex; padding: 4px; border-radius: 999px; background: #fff; }
.nx-tabs button { position: relative; z-index: 1; height: 44px; padding: 0 22px; border: 0; border-radius: 999px; background: none; color: var(--nx-mute); font: 600 14px/1 var(--font-sans); cursor: pointer; transition: color .35s var(--nx-ease); }
.nx-tabs button:hover { color: var(--nx-ink); }
.nx-tabs button[aria-selected="true"] { color: #fff; }
.nx-tabs button:focus-visible { outline: 2px solid var(--nx-blue); outline-offset: 2px; }
.nx-tabs__ink { position: absolute; left: 0; top: 4px; bottom: 4px; width: 0; border-radius: 999px; background: var(--nx-blue); transition: transform .55s var(--nx-ease), width .55s var(--nx-ease); }

/* Найденные моторы */
.nx-find__result:not(:empty) { margin-top: 40px; padding-top: 32px; border-top: 1px solid var(--nx-line); }
.nx-find__sum { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; margin-bottom: 20px; }
.nx-find__sum p { margin: 0; font: 400 16px/24px var(--font-sans); color: var(--nx-mute); }
.nx-find__sum b { color: var(--nx-ink); font-weight: 600; }
.nx-find__sum a { position: relative; padding-bottom: 3px; color: var(--nx-ink); font: 600 14px/18px var(--font-sans); text-decoration: none; }
.nx-find__sum a::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 1.5px; background: currentColor; }
.nx-find__matches { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--fx-gap); }
.nx-find .fmatch { display: grid; gap: 4px; padding: 24px; border-radius: var(--nx-r) !important; background: #fff; color: var(--nx-ink); text-decoration: none; box-shadow: none; transition: box-shadow .4s var(--nx-ease); }
.nx-find .fmatch:hover { transform: none; box-shadow: 0 20px 40px -20px rgba(2, 11, 71, .3); }
.nx-find .fmatch__code { margin-bottom: 6px; font: 400 28px/1.05 var(--font-head); letter-spacing: -.04em; color: var(--nx-blue); }
.nx-find .fmatch__name { font: 600 15px/21px var(--font-sans); }
.nx-find .fmatch__meta { font: 400 13px/18px var(--font-sans); color: var(--nx-mute); }
.nx-find .fmatch__foot { display: flex; align-items: center; justify-content: space-between; margin-top: 18px; padding-top: 14px; border-top: 1px solid var(--nx-line); }
.nx-find .fmatch .ex-price { font: 400 18px/1 var(--font-head); letter-spacing: -.02em; }
.nx-find .fmatch__st { font: 600 13px/1 var(--font-sans); color: var(--success); }
.nx-find .fmatch__st.is-order { color: var(--warning); }
.nx-find__none { margin: 0; font: 400 16px/24px var(--font-sans); color: var(--nx-mute); }
.nx-find__none button { padding: 0; border: 0; background: none; color: var(--nx-ink); font: inherit; font-weight: 600; text-decoration: underline; text-underline-offset: 4px; cursor: pointer; }

@media (max-width: 1100px) {
  .nx-find__box { padding: 48px 40px 56px; }
  .nx-find__top { flex-direction: column; align-items: flex-start; gap: 28px; }
  .nx-find__row { grid-template-columns: 1fr 1fr; }
  .nx-find__go { grid-column: 1 / -1; width: 100%; }
}
@media (max-width: 700px) {
  .nx-find__box { margin: 0 calc(var(--gutter) * -1 + 8px); padding: 36px 20px 28px; }
  .nx-find__t { font-size: 28px; }
  .nx-find__p { font-size: 15px; line-height: 23px; }
  .nx-find__top { margin-bottom: 28px; }
  .nx-tabs { align-self: stretch; }
  .nx-tabs button { flex: 1; padding: 0 12px; }
  .nx-find__row { grid-template-columns: 1fr; }
  .nx-find__matches { grid-template-columns: 1fr; }
  .nx-find__matches .fmatch:nth-child(n+3) { display: none; }
}

/* ==========================================================================
   Блок с заявкой (низ главной и страницы сайта): текст слева, поля справа
   ========================================================================== */
.nx-cta { --fx-bg: #fff; container-type: inline-size; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 460px); gap: 64px 96px; align-items: center;
  padding: 72px; border-radius: var(--nx-r); background: var(--nx-tint); color: var(--nx-ink); }
.nx-cta__t { margin: 0; max-width: 620px; font: 400 46px/1.08 var(--font-head); letter-spacing: -.045em; text-wrap: balance; }
.nx-cta__p { margin: 20px 0 0; max-width: 480px; font: 400 18px/27px var(--font-sans); color: var(--nx-mute); text-wrap: pretty; }
.nx-cta__facts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; margin: 56px 0 0; padding: 0; list-style: none; }
.nx-cta__facts li { padding-top: 18px; border-top: 1px solid rgba(10, 15, 46, .14); }
.nx-cta__facts b { display: block; font: 400 21px/1.15 var(--font-head); letter-spacing: -.03em; }
.nx-cta__facts span { display: block; margin-top: 8px; font: 400 14px/20px var(--font-sans); color: var(--nx-mute); }
.nx-cta__side { min-width: 0; }
.nx-cta .fx-done .form__done-ic { background: #fff; }

/* в узкой колонке страниц блок сам перестраивается в одну колонку */
@container (max-width: 860px) {
  .nx-cta__text, .nx-cta__side { grid-column: 1 / -1; }
}
@media (max-width: 1100px) {
  .nx-cta { grid-template-columns: minmax(0, 1fr); gap: 40px; padding: 56px 48px; }
  .nx-cta__side { max-width: 560px; }
}
@media (max-width: 700px) {
  .nx-cta { margin: 0 calc(var(--gutter) * -1 + 8px); padding: 40px 20px 28px; gap: 32px; }
  .nx-cta__t { font-size: 30px; }
  .nx-cta__p { font-size: 16px; line-height: 24px; }
  .nx-cta__facts { grid-template-columns: 1fr; gap: 0; margin-top: 32px; }
  .nx-cta__facts li { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; padding: 14px 0; }
  .nx-cta__facts span { margin: 0; text-align: right; }
}
/* блок на страницах стоит в колонке текста: заголовок поменьше */
.nx-cta--page { margin: 48px 0 !important; padding: 56px; }
.nx-cta--page .nx-cta__t, .doc .nx-cta--page .nx-cta__t { margin: 0 !important; font: 400 34px/1.1 var(--font-head) !important; letter-spacing: -.04em !important; color: var(--nx-ink); }
.doc .nx-cta--page .nx-cta__p { margin: 16px 0 0 !important; font: 400 17px/26px var(--font-sans) !important; color: var(--nx-mute) !important; }
.doc .nx-cta--page .fx-done__p { margin-top: 10px !important; font-size: 16px !important; line-height: 24px !important; color: var(--nx-mute) !important; }
.doc .nx-cta--page .fx-done__t { margin: 0 !important; }
@media (max-width: 700px) {
  .nx-cta--page { margin: 32px calc(var(--gutter) * -1 + 8px) !important; padding: 36px 20px 24px; }
  .nx-cta--page .nx-cta__t, .doc .nx-cta--page .nx-cta__t { font-size: 26px !important; }
}

/* ==========================================================================
   Окно заказа
   ========================================================================== */
.modal__bg { background: rgba(10, 15, 46, .42) !important; backdrop-filter: blur(3px); -webkit-backdrop-filter: blur(3px); }
.modal__box { --fx-bg: var(--nx-tint-2); width: min(540px, 100%); max-width: none !important; padding: 48px 48px 40px !important; border-radius: var(--nx-r) !important; box-shadow: 0 40px 80px -30px rgba(2, 11, 71, .45) !important; transition: transform .7s var(--nx-ease), opacity .5s var(--nx-ease) !important; }
.modal__close { top: 16px !important; right: 16px !important; width: 40px; height: 40px; background: none !important; color: var(--nx-ink) !important; transition: background-color .3s, transform .5s var(--nx-ease); }
.modal__close:hover { background: rgba(10, 15, 46, .06) !important; transform: rotate(90deg); }
.modal__title { margin: 0 48px 0 0 !important; font: 400 32px/1.1 var(--font-head) !important; letter-spacing: -.04em !important; color: var(--nx-ink); }
.modal__lead { margin: 14px 0 32px !important; font: 400 16px/24px var(--font-sans) !important; color: var(--nx-mute) !important; }
.modal__item { margin: -8px 0 24px !important; padding: 18px 20px !important; border-radius: var(--fx-r) !important; background: var(--nx-sand) !important; }
.modal__item b { font: 600 16px/22px var(--font-sans); }
.modal__item small { margin-top: 2px; font: 400 13px/18px var(--font-sans) !important; color: var(--nx-mute) !important; }
.modal__item .ex-price { font: 400 22px/1 var(--font-head); letter-spacing: -.03em; white-space: nowrap; }
.modal .fx-done { padding-top: 0; }
.modal .fx-done .form__done-ic { background: var(--success-soft); }
@media (max-width: 860px) {
  .modal__box { width: 100%; padding: 36px 20px calc(24px + env(safe-area-inset-bottom)) !important; border-radius: 16px 16px 0 0 !important; }
  .modal__title { font-size: 26px !important; }
}

/* ==========================================================================
   Приветственное окно: поля на светло-голубом, слева выровнено
   ========================================================================== */
.welcome__box { --fx-bg: var(--nx-tint-2); }
.welcome__form { gap: var(--fx-gap); margin-top: 28px; }
.welcome .fx-done { text-align: center; }
.welcome .fx-done .form__done-ic { margin: 0 auto 20px; background: var(--success-soft); }
.welcome .fx-done__p { margin-left: auto; margin-right: auto; }

/* ==========================================================================
   Поиск в шапке: та же логика, текст крупнее
   ========================================================================== */
.nx-search .ex-search__input::placeholder { color: var(--nx-mute); opacity: 1; }

@media (prefers-reduced-motion: reduce) {
  .fx__label, .fx__in, .fx-check__box, .fx-check__box svg, .nx-tabs__ink { transition: none !important; }
}

/* ==========================================================================
   Карточка товара
   Фото-плитка, под ней название, для каких машин, характеристики одной строкой, цена и кнопка.
   Без цветных плашек «Новый» и «В наличии»: наличие тихой меткой на плитке.
   ========================================================================== */
.nx-card { position: relative; display: flex; flex-direction: column; min-width: 0; color: var(--nx-ink); }
.nx-card__media { position: relative; display: block; aspect-ratio: 4 / 3; border-radius: var(--nx-r); background: var(--nx-tint); overflow: hidden; color: var(--nx-blue); text-decoration: none; }
.nx-card__img { width: 100%; height: 100%; object-fit: cover; }
.nx-card__code { position: absolute; left: 22px; bottom: 44px; font: 400 34px/1 var(--font-head); letter-spacing: -.045em; white-space: nowrap; }
.nx-card__vol { position: absolute; left: 22px; bottom: 20px; font: 500 14px/18px var(--font-sans); color: var(--nx-mute); }
.nx-card__art { position: absolute; right: -12%; top: 10%; width: 72%; height: auto; fill: none; stroke: currentColor; stroke-width: 1; opacity: .16; transition: transform .9s var(--nx-ease); }
.nx-card:hover .nx-card__art { transform: translateX(-6px); }
.nx-card__st { position: absolute; left: 14px; top: 14px; display: inline-flex; align-items: center; gap: 7px; height: 28px; padding: 0 12px 0 10px; border-radius: 999px; background: rgba(255, 255, 255, .92); color: var(--nx-ink); font: 500 12px/1 var(--font-sans); backdrop-filter: blur(4px); }
.nx-card__st::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: #1fa463; }
.nx-card__st.is-order::before { background: #e59a1a; }
.nx-card__body { display: flex; flex: 1; flex-direction: column; padding: 18px 2px 0; }
.nx-card__t { margin: 0; font: 500 17px/23px var(--font-sans); letter-spacing: -.005em; }
.nx-card__t a { color: inherit; text-decoration: none; background: linear-gradient(currentColor, currentColor) 0 100% / 0 1px no-repeat; transition: background-size .45s var(--nx-ease); }
.nx-card:hover .nx-card__t a { background-size: 100% 1px; }
.nx-card__fit { margin: 6px 0 0; font: 400 14px/20px var(--font-sans); color: var(--nx-mute); }
.nx-card__meta { margin: 2px 0 0; font: 400 14px/20px var(--font-sans); color: var(--nx-mute); }
.nx-card__foot { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: auto; padding-top: 18px; }
.nx-card__price { display: grid; font: 400 22px/1.1 var(--font-head); letter-spacing: -.035em; white-space: nowrap; }
.nx-card__price small { margin-top: 4px; font: 400 12px/14px var(--font-sans); letter-spacing: 0; color: var(--nx-mute); }
.nx-card__buy { flex: none; height: 40px; padding: 0 18px; border: 0; border-radius: 999px; background: transparent; box-shadow: inset 0 0 0 1.5px var(--nx-blue); color: var(--nx-blue); font: 600 14px/1 var(--font-sans); cursor: pointer; transition: background-color .3s var(--nx-ease), color .3s var(--nx-ease); }
.nx-card__buy:hover { background: var(--nx-blue); color: #fff; }
.stock__grid, .cat__grid, .prel__grid { row-gap: 48px !important; }
@media (max-width: 700px) {
  .nx-card__code { font-size: 26px; left: 16px; bottom: 38px; }
  .nx-card__vol { left: 16px; bottom: 16px; }
  .nx-card__t { font-size: 16px; line-height: 22px; }
  .nx-card__price { font-size: 19px; }
  .nx-card__buy { height: 38px; padding: 0 14px; font-size: 13px; }
}

/* ==========================================================================
   Подписи без «КАПСЛОКА»: мелкие прописные подписи с разрядкой убираем по всему сайту
   ========================================================================== */
.cmp3__tag, .cmp3__list dt, .nx-terms dt, .nx-foot__h, .nx-dd__label, .pspec2__label, .pterm__title, .ptable th, .ex-label, .pvar__label, .flt__g legend {
  text-transform: none !important; letter-spacing: 0 !important; font-family: var(--font-sans) !important; }
.cmp3__tag { font: 500 14px/20px var(--font-sans) !important; }
.cmp3__list dt { font: 400 14px/20px var(--font-sans) !important; color: var(--nx-mute) !important; }
.cmp3__card--ours .cmp3__list dt { color: rgba(255, 255, 255, .6) !important; }
.cmp3__list dd { margin-top: 4px !important; font: 500 17px/24px var(--font-sans) !important; }
.nx-terms dt { font: 600 15px/22px var(--font-sans) !important; color: var(--nx-ink) !important; }
.nx-terms dd { margin-top: 4px !important; color: var(--nx-mute) !important; font-size: 15px !important; line-height: 23px !important; }
.nx-foot__h { margin-bottom: 18px !important; font: 600 15px/20px var(--font-sans) !important; color: var(--nx-ink) !important; }
.nx-dd__label { font: 600 15px/20px var(--font-sans) !important; color: var(--nx-ink) !important; }
.nx-band__k { display: none; }

/* ==========================================================================
   Страница товара
   ========================================================================== */
:root { --header-h: 68px; }
.prod__meta { margin-top: 20px; }
.prod__tool { font: 500 14px/20px var(--font-sans) !important; color: var(--nx-mute) !important; }
.prod__tool--share { color: var(--nx-blue) !important; }
.gal__stage { border-radius: var(--nx-r) !important; }
.gal__stage--empty { background: var(--nx-tint) !important; }
.gal__code { font: 400 64px/1 var(--font-head) !important; letter-spacing: -.05em !important; color: var(--nx-blue); }
.gal__sub { font: 500 16px/22px var(--font-sans) !important; color: var(--nx-mute) !important; }
.gal__note { font: 400 14px/20px var(--font-sans) !important; color: var(--nx-mute) !important; }
.pinfo__title { font: 400 38px/1.08 var(--font-head) !important; letter-spacing: -.045em !important; color: var(--nx-ink); }
.pinfo__fit { margin-top: 14px !important; font: 400 16px/24px var(--font-sans) !important; color: var(--nx-mute) !important; }
.pinfo__fit a { color: var(--nx-ink) !important; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.pabout { margin-top: 36px !important; }
.pabout__head h2 { font: 600 17px/22px var(--font-sans) !important; letter-spacing: 0 !important; }
.pabout__head a { color: var(--nx-ink) !important; font: 500 14px/20px var(--font-sans) !important; text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; }
.pabout__list div { padding: 12px 0 !important; border-color: var(--nx-line) !important; }
.pabout__list dt { color: var(--nx-mute) !important; font-size: 15px; }
.pabout__list dd { font: 500 15px/22px var(--font-sans); }
.pvar__label { font: 400 15px/22px var(--font-sans) !important; color: var(--nx-mute) !important; }
.pvar__label b { color: var(--nx-ink); font-weight: 600; }
.pvar__tile { border-radius: var(--fx-r) !important; }

.buy__box { padding: 28px !important; border: 0 !important; border-radius: var(--nx-r) !important; background: #fff !important; box-shadow: 0 0 0 1px var(--nx-line), 0 30px 60px -40px rgba(2, 11, 71, .35) !important; }
.buy__price .ex-price--lg { font: 400 40px/1 var(--font-head) !important; letter-spacing: -.045em !important; }
.buy__price-note { margin-top: 8px; font: 400 14px/20px var(--font-sans) !important; color: var(--nx-mute) !important; }
.buy__stock { margin-top: 18px !important; font: 500 14px/20px var(--font-sans) !important; color: var(--nx-ink) !important; }
.buy__stock::before { width: 8px !important; height: 8px !important; background: #1fa463 !important; box-shadow: 0 0 0 4px rgba(31, 164, 99, .15); }
.buy__stock.is-order::before { background: #e59a1a !important; box-shadow: 0 0 0 4px rgba(229, 154, 26, .15); }
.buy__go { margin-top: 24px; }
.buy__alt { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 8px; }
.buy__alt .nx-pill { height: 48px; padding: 0 12px; font-size: 14px; }
.buy__note { margin: 14px 0 0; text-align: center; font: 400 13px/18px var(--font-sans); color: var(--nx-mute); }
.buy__cheaper { margin-top: 20px !important; padding: 14px 16px !important; border-radius: var(--fx-r) !important; background: var(--nx-tint-2) !important; }
.buy__cheaper b { color: var(--nx-blue) !important; font-weight: 600; }
.buy__deliv { padding: 24px 28px !important; border-radius: var(--nx-r) !important; background: var(--nx-sand) !important; }
.buy__deliv h2 { margin-bottom: 14px !important; font: 600 16px/22px var(--font-sans) !important; letter-spacing: 0 !important; }
.buy__deliv div { padding: 12px 0 !important; border-color: rgba(10, 15, 46, .1) !important; }
.buy__deliv dt { font: 500 14px/20px var(--font-sans) !important; color: var(--nx-ink); }
.buy__deliv dd { margin-top: 3px !important; font: 400 14px/20px var(--font-sans) !important; color: var(--nx-mute) !important; }
.buy__deliv a { color: var(--nx-ink) !important; text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; }

.prod__tabs { gap: 36px !important; margin-top: 88px !important; border-color: var(--nx-line) !important; background: rgba(255, 255, 255, .96); }
.prod__tabs a { padding: 18px 0 !important; color: var(--nx-mute) !important; font: 500 15px/20px var(--font-sans) !important; }
.prod__tabs a:hover, .prod__tabs a.is-active { color: var(--nx-ink) !important; border-color: var(--nx-ink) !important; }
.psec2 { padding: 64px 0 !important; gap: 24px 80px !important; border-color: var(--nx-line) !important; }
.psec2__title { font: 400 30px/1.12 var(--font-head) !important; letter-spacing: -.04em !important; }
.psec2__hint { margin-top: 14px !important; font: 400 15px/23px var(--font-sans) !important; color: var(--nx-mute) !important; }
.ptable-wrap { border: 0 !important; border-radius: 0 !important; }
.ptable { font-size: 15px; }
.ptable th { padding: 0 16px 12px 0 !important; background: none !important; border-bottom: 1px solid rgba(10, 15, 46, .2); color: var(--nx-mute) !important; font: 400 14px/20px var(--font-sans) !important; }
.ptable td { padding: 16px 16px 16px 0 !important; border-color: var(--nx-line) !important; }
.ptable a { color: var(--nx-ink) !important; text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; }
.pfit { border: 0 !important; }
.pfit__row { padding: 16px 0 !important; border-color: var(--nx-line) !important; }
.pfit__chip { border-radius: 999px !important; background: var(--nx-tint-2) !important; padding: 6px 12px !important; }
.pfacts { gap: 0 !important; border: 0 !important; border-top: 1px solid var(--nx-line) !important; border-radius: 0 !important; background: none !important; }
.pfacts > div { border: 0 !important; border-bottom: 1px solid var(--nx-line) !important; padding: 16px 16px 16px 0 !important; background: none !important; }
.pfacts dt { font: 400 14px/20px var(--font-sans) !important; color: var(--nx-mute) !important; text-transform: none !important; letter-spacing: 0 !important; }
.pfacts dd { margin-top: 4px !important; font: 500 17px/24px var(--font-sans) !important; }
.pspec2__label { margin-bottom: 14px !important; font: 600 15px/20px var(--font-sans) !important; color: var(--nx-ink) !important; }
.pspec2__card { border-radius: var(--nx-r) !important; }
.pdesc2__lead { font: 400 20px/30px var(--font-sans) !important; color: var(--nx-ink); }
.pdesc2__list .ex-ic { padding: 0 !important; background: none !important; color: var(--nx-blue) !important; width: 18px !important; height: 18px !important; margin-top: 3px; }
.pdesc2__list li { grid-template-columns: 18px minmax(0, 1fr) !important; gap: 12px !important; }
.pterms2 { gap: 16px !important; }
.pterm { padding: 28px !important; border: 0 !important; border-radius: var(--nx-r) !important; background: var(--nx-sand); }
.pterm__title { margin-top: 0 !important; font: 600 15px/20px var(--font-sans) !important; color: var(--nx-mute) !important; }
.pterm__big { margin-top: 10px !important; font: 400 26px/1.1 var(--font-head) !important; letter-spacing: -.04em !important; }
.pterm__big span { margin-top: 8px !important; font: 400 14px/20px var(--font-sans) !important; color: var(--nx-mute) !important; }
.pterm__list > div { border-color: rgba(10, 15, 46, .1) !important; padding: 12px 0 !important; }
.pterm__list dt { font: 400 13px/18px var(--font-sans) !important; color: var(--nx-mute) !important; }
.pterm__list dd { font: 500 15px/21px var(--font-sans) !important; }
.pterm__more { color: var(--nx-ink) !important; font: 600 14px/20px var(--font-sans) !important; }
.prel .psec__title { font: 400 30px/1.12 var(--font-head) !important; letter-spacing: -.04em !important; }
.mbuy .ex-price { font: 400 22px/1 var(--font-head); letter-spacing: -.035em; }
@media (max-width: 860px) {
  .pinfo__title { font-size: 28px !important; }
  .buy__price .ex-price--lg { font-size: 34px !important; }
  .psec2 { padding: 44px 0 !important; }
  .psec2__title { font-size: 24px !important; }
  .prod__tabs { gap: 24px !important; margin-top: 56px !important; }
  .gal__code { font-size: 44px !important; }
}

/* ==========================================================================
   Каталог: фильтры и плашка «не уверены»
   ========================================================================== */
.flt__g legend { font: 600 15px/20px var(--font-sans) !important; }
.ex-check { font: 400 15px/22px var(--font-sans) !important; color: var(--nx-ink) !important; gap: 12px !important; }
.ex-check input { width: 22px !important; height: 22px !important; border: 0 !important; border-radius: 7px !important; background: #fff !important; box-shadow: inset 0 0 0 1.5px rgba(10, 15, 46, .28); transition: background-color .25s, box-shadow .25s; }
.ex-check input:checked { background: var(--nx-blue) !important; box-shadow: inset 0 0 0 1.5px var(--nx-blue); }
.ex-check input:hover { box-shadow: inset 0 0 0 1.5px rgba(10, 15, 46, .5); }
.flt .ex-check i { color: var(--nx-mute) !important; font-size: 13px !important; }
.flt__price .ex-input { height: 52px !important; padding: 0 16px !important; border: 0 !important; border-radius: var(--fx-r) !important; background: var(--nx-tint-2) !important; font: 500 16px/1 var(--font-sans) !important; }
.flt__price .ex-input:focus { background: #fff !important; box-shadow: inset 0 0 0 1.5px var(--nx-blue) !important; outline: none; }
.cat__vin { padding: 40px 48px !important; border-radius: var(--nx-r) !important; background: var(--nx-tint) !important; color: var(--nx-ink) !important; }
.cat__vin h2 { font: 400 28px/1.12 var(--font-head) !important; letter-spacing: -.04em !important; color: var(--nx-ink) !important; }
.cat__vin p { margin-top: 10px; font: 400 16px/24px var(--font-sans) !important; color: var(--nx-mute) !important; }
.cat__vin .ex-btn { height: 52px !important; padding: 0 26px !important; background: var(--nx-blue) !important; color: #fff !important; }
.cat__title, .page-title { font: 400 40px/1.1 var(--font-head) !important; letter-spacing: -.045em !important; }
@media (max-width: 860px) {
  .cat__title, .page-title { font-size: 28px !important; }
  .cat__vin { padding: 28px 22px !important; }
  .cat__vin h2 { font-size: 24px !important; }
}
.pfacts > div { box-shadow: none !important; }
.pvin { display: flex !important; align-items: center; gap: 24px !important; padding: 24px 28px !important; border: 0 !important; border-radius: var(--nx-r) !important; background: var(--nx-tint) !important; }
.pvin__text { flex: 1; }
.pvin__text b { display: block; font: 600 16px/22px var(--font-sans) !important; color: var(--nx-ink); }
.pvin__text span { display: block; margin-top: 4px; font: 400 14px/21px var(--font-sans) !important; color: var(--nx-mute) !important; }
.pvin__btn { flex: none; }
@media (max-width: 700px) { .pvin { flex-direction: column; align-items: stretch; } }
.pdesc2__list { padding: 0 !important; border: 0 !important; background: none !important; }
.pdesc2__block { padding: 24px 0 0 !important; border: 0 !important; border-top: 1px solid var(--nx-line) !important; border-radius: 0 !important; }

/* ==========================================================================
   Шаги покупки, значки цифр, мелкие ссылки
   ========================================================================== */
.steps3__list { gap: 16px !important; }
.steps3__list li { padding-top: 28px !important; border-top: 1px solid rgba(10, 15, 46, .2) !important; }
.steps3__num { display: block; margin-bottom: 40px !important; font: 400 44px/1 var(--font-head) !important; letter-spacing: -.05em !important; color: var(--nx-blue) !important; }
.steps3__list h3 { margin: 0 0 10px !important; font: 600 18px/24px var(--font-sans) !important; letter-spacing: -.005em !important; }
.steps3__list p { font: 400 15px/23px var(--font-sans) !important; color: var(--nx-mute) !important; }
.nx-badges span { font-size: 12px; line-height: 15px; }
.stock__none { font: 400 15px/22px var(--font-sans); color: var(--nx-mute); }
.stock__none .ex-link, .stock__none button { color: var(--nx-ink) !important; text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; }
.scard__text { font-size: 15px !important; line-height: 23px !important; }
.scard__more { font: 600 14px/20px var(--font-sans) !important; color: var(--nx-ink) !important; }
@media (max-width: 860px) {
  .steps3__num { margin-bottom: 20px !important; font-size: 34px !important; }
}
.gal__code { bottom: 96px !important; }
.gal__sub { bottom: 62px !important; }
@media (max-width: 860px) {
  .gal__code { bottom: 64px !important; }
  .gal__sub { bottom: 36px !important; }
  .gal__note { display: none; }
  .nx-card__media { aspect-ratio: 16 / 10; }
}

/* ==========================================================================
   Информационные страницы и документы
   Заголовки обычной жирности, текст тёмный и читаемый, ссылки подчёркнуты тонкой линией,
   без иконок в квадратиках и подписей прописными
   ========================================================================== */
.info { padding-top: 8px; }
.info__layout { gap: 72px !important; }
.info__nav { gap: 2px !important; }
.info__nav a { padding: 10px 14px !important; border-radius: 999px !important; color: var(--nx-mute) !important; font: 500 15px/20px var(--font-sans) !important; transition: background-color .25s, color .25s; }
.info__nav a:hover { background: var(--nx-tint-2) !important; color: var(--nx-ink) !important; }
.info__nav a.is-active { background: var(--nx-blue) !important; color: #fff !important; }
.doc h1 { margin: 6px 0 28px !important; font: 400 44px/1.08 var(--font-head) !important; letter-spacing: -.045em !important; color: var(--nx-ink); }
.doc h2 { margin: 56px 0 14px !important; font: 400 26px/1.15 var(--font-head) !important; letter-spacing: -.035em !important; color: var(--nx-ink); }
.doc h3 { font: 600 17px/24px var(--font-sans) !important; }
.doc p, .doc li { font-size: 17px !important; line-height: 28px !important; color: #3d4260 !important; }
.doc p + p { margin-top: 14px !important; }
.doc a:not(.nx-pill):not(.ex-btn) { color: var(--nx-ink) !important; text-decoration: underline; text-decoration-thickness: 1px; text-decoration-color: rgba(10, 15, 46, .35); text-underline-offset: 4px; transition: text-decoration-color .25s; }
.doc a:not(.nx-pill):not(.ex-btn):hover { text-decoration-color: currentColor; }
.doc .info__lead, .info__lead { font: 400 21px/32px var(--font-sans) !important; color: var(--nx-ink) !important; margin-bottom: 36px !important; }
.info__hero { padding: 40px 44px !important; border-radius: var(--nx-r) !important; background: var(--nx-tint) !important; color: var(--nx-ink) !important; }
.info__big { font: 400 72px/1 var(--font-head) !important; letter-spacing: -.055em !important; color: var(--nx-blue); }
.info__big-sub { margin-top: 10px; color: var(--nx-mute) !important; font-size: 17px !important; }
.info__photo { border-radius: var(--nx-r) !important; }
.info__card { padding: 28px !important; border: 0 !important; border-radius: var(--nx-r) !important; background: var(--nx-sand); }
.info__label { color: var(--nx-mute) !important; font: 400 14px/20px var(--font-sans) !important; }
.doc .info__card a { color: var(--nx-ink) !important; font-weight: 500 !important; }
.doc a.info__phone { font: 400 28px/1.1 var(--font-head) !important; letter-spacing: -.035em; text-decoration: none !important; }
.info__facts div { border-top: 1px solid rgba(10, 15, 46, .2) !important; padding: 18px 0 !important; }
.info__facts dt { font: 400 30px/1.1 var(--font-head) !important; letter-spacing: -.04em !important; color: var(--nx-blue) !important; }
.info__facts dd { margin-top: 8px !important; font-size: 15px !important; color: var(--nx-mute) !important; }
.info__req div { padding: 14px 0 !important; border-color: var(--nx-line) !important; }
.info__req dt { color: var(--nx-mute) !important; }
.doc ol.info__steps li::before { width: 32px !important; height: 32px !important; border-radius: 50% !important; background: var(--nx-tint) !important; color: var(--nx-blue) !important; font: 500 14px/32px var(--font-sans) !important; }
.loc { padding: 28px !important; border: 0 !important; border-radius: var(--nx-r) !important; background: var(--nx-sand); grid-template-columns: minmax(0, 1fr) !important; }
.loc__label { font: 400 14px/20px var(--font-sans) !important; letter-spacing: 0 !important; text-transform: none !important; color: var(--nx-mute) !important; }
.loc__addr { margin-top: 6px !important; font: 400 24px/1.15 var(--font-head) !important; letter-spacing: -.035em !important; }
.loc__sub { color: var(--nx-mute) !important; }
.loc__links { border-color: rgba(10, 15, 46, .1) !important; }
.loc__links .ex-btn { height: 46px !important; padding: 0 22px !important; }
.loc__links .ex-btn--primary { background: var(--nx-blue) !important; }
.loc__links .ex-btn--secondary { background: #fff !important; box-shadow: none !important; border: 0 !important; }
.info__faq { margin-top: 28px !important; }
.legal .doc h2 { font-size: 22px !important; }
@media (max-width: 860px) {
  .doc h1 { font-size: 30px !important; }
  .doc h2 { margin-top: 40px !important; font-size: 22px !important; }
  .doc p, .doc li { font-size: 16px !important; line-height: 26px !important; }
  .doc .info__lead { font-size: 18px !important; line-height: 28px !important; }
  .info__big { font-size: 52px !important; }
  .info__hero { padding: 28px 24px !important; }
}

/* ==========================================================================
   Логотип WhatsApp в кнопках
   ========================================================================== */
.wa-ic { flex: none; width: 20px; height: 20px; object-fit: contain; }
.nx-pill .wa-ic { margin-left: -4px; }
.info__wa { display: inline-flex; align-items: center; gap: 8px; }

/* ==========================================================================
   Услуги: карточки шире, предметы крупнее, ссылка внизу по центру со стрелкой
   ========================================================================== */
.svc3__grid { gap: 12px !important; margin-left: calc(var(--gutter) * -1 + 24px); margin-right: calc(var(--gutter) * -1 + 24px); }
.scard { aspect-ratio: auto !important; min-height: 600px !important; padding: 40px 36px 36px !important; }
.scard > div:first-child { min-height: 0 !important; }
.scard:hover { transform: none !important; }
.scard__vis { flex: 1 1 auto !important; display: grid !important; place-items: center !important; margin: 24px 0 8px !important; padding: 0 !important; }
.scard__vis .obj { width: 84% !important; max-width: 300px !important; max-height: 250px !important; height: auto !important; object-fit: contain; transition: transform .9s var(--nx-ease); }
.scard:hover .scard__vis .obj { transform: translateY(-6px) !important; }
.scard__vis .obj--empty { min-height: 220px; }
.scard__more { align-self: center; display: inline-flex !important; align-items: center; justify-content: center !important; gap: 10px !important; width: auto !important; margin: 16px 0 0 !important; padding: 6px 0 !important; border: 0 !important; background: none; color: var(--nx-ink) !important; font: 600 15px/20px var(--font-sans) !important; text-decoration: none; cursor: pointer; }
.scard__more span { position: relative; }
.scard__more span::after { content: ""; position: absolute; left: 0; right: 0; bottom: -3px; height: 1.5px; background: currentColor; transform: scaleX(0); transform-origin: right; transition: transform .45s var(--nx-ease); }
.scard__more:hover span::after, .scard:hover .scard__more span::after { transform: scaleX(1); transform-origin: left; }
.scard__arr { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; transition: transform .45s var(--nx-ease); }
.scard__more:hover .scard__arr, .scard:hover .scard__arr { transform: translateX(4px); }
@media (max-width: 1080px) {
  .svc3__grid { margin-left: 0; margin-right: 0; }
  .scard { min-height: 520px !important; }
}
@media (max-width: 700px) {
  .scard { min-height: 0 !important; padding: 28px 22px 24px !important; }
  .scard__vis { margin: 20px 0 4px !important; }
  .scard__vis .obj { max-height: 200px !important; }
}

/* ==========================================================================
   Боковое меню: пункты всегда в одну строку, при наведении слева «вырастает» стрелка
   ========================================================================== */
.nx-drawer__nav > a, .nx-drawer__sub summary { position: relative; padding: 9px 0 !important; font-size: min(22px, calc((100vw - 84px) / 15.5)) !important; white-space: nowrap; color: var(--nx-ink) !important; }
.nx-drawer__nav > a::before, .nx-drawer__sub summary::before { display: none !important; }
.nx-drawer__nav > a > span, .nx-drawer__sub summary > span { display: inline-block; transition: transform .55s var(--nx-ease), color .3s; }
.nx-arr { position: absolute; left: 0; top: 50%; width: 26px; height: 16px; margin-top: -8px; overflow: visible; fill: none; stroke: var(--nx-blue); stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; pointer-events: none; }
.nx-arr__l { stroke-dasharray: 26; stroke-dashoffset: 26; transition: stroke-dashoffset .3s var(--nx-ease) .12s; }
.nx-arr__h { stroke-dasharray: 22; stroke-dashoffset: 22; transition: stroke-dashoffset .2s ease; }
.nx-drawer__nav > a:hover > span, .nx-drawer__sub summary:hover > span, .nx-drawer__nav > a:focus-visible > span { transform: translateX(36px); color: var(--nx-blue); }
.nx-drawer__nav > a:hover .nx-arr__l, .nx-drawer__sub summary:hover .nx-arr__l, .nx-drawer__nav > a:focus-visible .nx-arr__l { stroke-dashoffset: 0; transition: stroke-dashoffset .45s var(--nx-ease); }
.nx-drawer__nav > a:hover .nx-arr__h, .nx-drawer__sub summary:hover .nx-arr__h, .nx-drawer__nav > a:focus-visible .nx-arr__h { stroke-dashoffset: 0; transition: stroke-dashoffset .3s var(--nx-ease) .3s; }
.nx-drawer__sub summary .ex-ic { margin-left: auto; }
@media (hover: none) {
  .nx-drawer__nav > a:hover > span, .nx-drawer__sub summary:hover > span { transform: none; }
  .nx-drawer__nav > a:active > span { transform: translateX(36px); color: var(--nx-blue); }
  .nx-drawer__nav > a:active .nx-arr__l, .nx-drawer__nav > a:active .nx-arr__h { stroke-dashoffset: 0; }
}

/* Проверка на стенде: шаги крупнее и шире */
#proverka .nx-split__in { max-width: 640px; }
#proverka .nx-nums { margin-top: 40px; }
#proverka .nx-nums li { grid-template-columns: 88px minmax(0, 1fr); gap: 0; padding: 28px 0; }
#proverka .nx-nums li:last-child { border-bottom: 1px solid var(--nx-line); }
#proverka .nx-nums span { font: 400 34px/1 var(--font-head); letter-spacing: -.05em; color: var(--nx-blue); }
#proverka .nx-nums b { display: block; font: 400 24px/1.15 var(--font-head); letter-spacing: -.035em; }
#proverka .nx-nums p { margin-top: 10px; font: 400 17px/26px var(--font-sans); }
@media (max-width: 700px) {
  #proverka .nx-nums li { grid-template-columns: 56px minmax(0, 1fr); padding: 22px 0; }
  #proverka .nx-nums span { font-size: 26px; }
  #proverka .nx-nums b { font-size: 20px; }
  #proverka .nx-nums p { font-size: 16px; line-height: 24px; }
}

/* ==========================================================================
   Меню «Марки»: крупные плитки с эмблемой, названием и числом моторов
   ========================================================================== */
.emb { flex: none; display: grid; place-items: center; width: 48px; height: 48px; border-radius: 50%; background: var(--nx-tint-2); color: var(--nx-blue); font: 400 20px/1 var(--font-head); letter-spacing: -.04em; transition: background-color .35s var(--nx-ease), color .35s var(--nx-ease); }
.emb--img { background: transparent; border-radius: 0; }
.emb--img img { max-width: 100%; max-height: 100%; width: auto; height: auto; object-fit: contain; transition: transform .5s var(--nx-ease); }
.nx-dd__label { margin-bottom: 20px !important; font: 400 22px/1.2 var(--font-head) !important; letter-spacing: -.035em !important; }
.nx-dd__brands { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; gap: 6px 12px !important; }
.nx-brand { display: flex !important; align-items: center; gap: 14px; min-height: 72px; padding: 12px 14px !important; border: 0 !important; border-radius: 14px; color: var(--nx-ink) !important; text-decoration: none; transition: background-color .3s var(--nx-ease) !important; }
.nx-brand:hover { background: var(--nx-tint-2); padding-left: 14px !important; }
.nx-brand:hover .emb:not(.emb--img) { background: var(--nx-blue); color: #fff; }
.nx-brand:hover .emb--img img { transform: scale(1.06); }
.nx-brand__t { display: grid; min-width: 0; }
.nx-brand__t b { overflow: hidden; font: 500 17px/22px var(--font-sans); text-overflow: ellipsis; white-space: nowrap; }
.nx-brand__t small { margin-top: 2px; font: 400 14px/18px var(--font-sans); color: var(--nx-mute); }
@media (max-width: 1380px) { .nx-dd__brands { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; } }

/* то же в боковом меню, компактнее */
.nx-drawer__sub > div { grid-template-columns: 1fr 1fr !important; gap: 4px 10px !important; padding: 8px 0 16px !important; }
.nx-drawer__sub > div a { display: flex !important; align-items: center; gap: 10px; padding: 8px 6px !important; border: 0 !important; border-radius: 10px; font: 500 15px/20px var(--font-sans) !important; }
.nx-drawer__sub > div a:hover { background: var(--nx-tint-2); }
.nx-drawer__sub > div a b { flex: 1; min-width: 0; overflow: hidden; font-weight: 500; text-overflow: ellipsis; white-space: nowrap; }
.nx-drawer__sub > div a span { color: var(--nx-mute); font-size: 13px; }
.nx-drawer__sub .emb { width: 32px; height: 32px; font-size: 14px; }
.nx-dd__brands a.nx-brand { justify-content: flex-start !important; }
.nx-dd__brands a.nx-brand span.nx-brand__t { color: var(--nx-ink); font-size: inherit; }
.nx-dd__brands a.nx-brand span.emb, .nx-drawer__sub > div a span.emb { color: var(--nx-blue); font: 400 18px/1 var(--font-head); }
.nx-drawer__sub > div a span.emb { font-size: 14px; }
.nx-dd__brands a.nx-brand:hover span.emb:not(.emb--img) { color: #fff; }
@media (hover: none) {
  .nx-drawer__nav > a:hover .nx-arr__l, .nx-drawer__sub summary:hover .nx-arr__l,
  .nx-drawer__nav > a:hover .nx-arr__h, .nx-drawer__sub summary:hover .nx-arr__h { stroke-dashoffset: 26; }
  .nx-drawer__sub summary:hover > span { color: var(--nx-ink); }
}

/* Услуги: предметы одной высоты и на одной линии, при наведении плавно покачиваются вверх и вниз */
@media (min-width: 1081px) { .scard > div:first-child { min-height: 168px !important; } }
.scard__vis { height: 260px; flex: 0 0 auto !important; margin: auto 0 !important; }
.scard__vis .obj--trim { width: auto !important; height: 190px !important; max-width: 92% !important; max-height: none !important; object-fit: contain; }
.scard:hover .scard__vis .obj { transform: none !important; animation: scard-float 2.6s cubic-bezier(.45, 0, .55, 1) infinite; }
@keyframes scard-float { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-14px); } }
@media (max-width: 700px) {
  .scard__vis { height: 200px; }
  .scard__vis .obj--trim { height: 150px !important; }
}
@media (prefers-reduced-motion: reduce) { .scard:hover .scard__vis .obj { animation: none; } }
.scard__vis { margin-left: -16px !important; margin-right: -16px !important; }
.scard__vis .obj--trim { height: 176px !important; max-width: 100% !important; }
@media (max-width: 700px) { .scard__vis .obj--trim { height: 150px !important; } }

/* ---------- Уведомление о cookie: широкая плашка, текст слева, две кнопки справа ---------- */
.cookie { display: flex !important; align-items: center; gap: 32px; left: 24px; right: 468px; bottom: 24px; max-width: 900px; padding: 20px 20px 20px 24px; border-radius: var(--r-lg) !important; }
.cookie[hidden] { display: none !important; }
.cookie__body { flex: 1 1 auto; min-width: 0; }
.cookie__title { margin: 0; }
.cookie__text { margin-top: 4px; }
.cookie__btns { display: flex; flex: none; align-items: center; gap: 12px; }
.cookie__btns .nx-pill { border-radius: 999px !important; }
.cookie__more { height: 40px; padding: 0 20px; font-size: 14px; background: transparent; color: var(--brand); box-shadow: inset 0 0 0 1px var(--brand); }
.cookie__more:hover { background: var(--brand-soft); color: var(--brand); }
.cookie__accept { height: 50px; min-width: 190px; padding: 0 40px; font-size: 16px; font-weight: 700; background: var(--brand); color: #fff; box-shadow: 0 8px 20px -6px rgba(2, 19, 123, .55); }
.cookie__accept:hover { background: var(--brand-hover); color: #fff; box-shadow: 0 10px 24px -6px rgba(2, 19, 123, .65); }
@media (max-width: 1100px) {
  .cookie { flex-direction: column; align-items: stretch; gap: 16px; }
  .cookie__btns { justify-content: flex-end; }
}
@media (max-width: 860px) {
  .cookie { left: 12px; right: 12px; padding: 16px; gap: 14px; bottom: calc(84px + env(safe-area-inset-bottom)); }
  .cookie__btns { flex-direction: column-reverse; align-items: stretch; gap: 6px; }
  .cookie__accept { width: 100%; height: 52px; min-width: 0; }
  .cookie__more { align-self: center; height: auto; padding: 6px 12px; font-size: 13px; font-weight: 500; background: none; box-shadow: none; color: var(--ink-3); text-decoration: underline; text-underline-offset: 3px; }
  .cookie__more:hover { background: none; color: var(--brand); }
}
/* end-cookie */

/* ---------- Плавная прокрутка (Lenis): служебные правила ---------- */
html.lenis, html.lenis body { height: auto; }
.lenis.lenis-smooth { scroll-behavior: auto !important; }
.lenis.lenis-smooth [data-lenis-prevent] { overscroll-behavior: contain; }
.lenis.lenis-stopped { overflow: hidden; }

/* ---------- Первый экран: отдельная картинка для телефона (hero-bg-N-mobile) ---------- */
.nx-hero__slide picture { display: block; width: 100%; height: 100%; }

/* ---------- Лента марок: в Safari на iPhone логотипы пропадали ----------
   Причина: маска-градиент по краям ленты вместе с бегущей анимацией (ошибка WebKit) и ленивая загрузка картинок в ленте.
   Картинки теперь грузятся сразу (index.php), лента рисуется отдельным слоем, а на телефоне маска отключена. */
.nx-hero__brands .marquee__list { will-change: transform; -webkit-backface-visibility: hidden; backface-visibility: hidden; }

@media (max-width: 860px) {
  .nx-hero__brands .marquee { -webkit-mask-image: none; mask-image: none; }

  /* Первый экран на телефоне: кнопки внизу, над лентой марок, чтобы не закрывать машину на фото */
  .nx-hero { padding-bottom: 0; }
  .nx-hero__in { flex: 1; display: flex; flex-direction: column; }
  .nx-hero__btns { flex-direction: row; flex-wrap: nowrap; width: 100%; max-width: none; margin: auto 0 112px; padding-top: 24px; gap: 10px; }
  .nx-hero__btns .nx-pill { flex: 1 1 0; min-width: 0; height: 48px; padding: 0 12px; font-size: 14px; }
  .nx-hero__slide img { object-position: 50% 100%; }
}

/* ---------- Меню «Марки»: без значка с буквой, при наведении справа на фоне появляется логотип марки ----------
   Логотип занимает только свободное место справа от названия и уменьшается под него, поэтому не наезжает на текст. */
.nx-brand { position: relative; gap: 12px !important; border-radius: 0 !important; overflow: hidden; }
.nx-brand__t { flex: none; max-width: 100%; }
.nx-brand__logo { flex: 1 1 0; min-width: 0; width: 0; max-width: 120px; height: 36px; margin-left: auto; object-fit: contain; object-position: right center; opacity: 0; transform: translateX(14px); pointer-events: none; transition: opacity .45s var(--nx-ease), transform .6s var(--nx-ease); }
.nx-brand:hover .nx-brand__logo, .nx-brand:focus-visible .nx-brand__logo { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) { .nx-brand__logo { transition: none; transform: none; } }

/* ---------- Карточка товара: все подходящие модели списком в столбик ---------- */
.nx-card__fit { margin: 10px 0 0; }
.nx-card__fit-h { margin: 0 0 4px; font: 400 13px/18px var(--font-sans); color: var(--nx-mute); }
.nx-card__fit-list { margin: 0; padding: 0; list-style: none; }
.nx-card__fit-list li { position: relative; padding-left: 14px; font: 400 14px/21px var(--font-sans); color: var(--nx-ink); }
.nx-card__fit-list li::before { content: ''; position: absolute; left: 2px; top: 9px; width: 4px; height: 4px; border-radius: 50%; background: var(--nx-blue); }
.nx-card__fit + .nx-card__meta { margin-top: 8px; }

/* ---------- Карточка товара: «Есть на складе» с галочкой вместо зелёного кружка ---------- */
.buy__stock:not(.is-order)::before { width: 18px !important; height: 18px !important; border-radius: 0 !important; box-shadow: none !important; background: #1fa463 !important;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4.5 12.5l5 5L19.5 7'/%3E%3C/svg%3E") center / contain no-repeat;
          mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4.5 12.5l5 5L19.5 7'/%3E%3C/svg%3E") center / contain no-repeat; }

/* ---------- Разделы каталога: фото во всю карточку, текст белый ----------
   Включается само, когда в /assets/photos/objects/ лежит cat-cars, cat-commercial или cat-kpp (класс nx-cat--photo). */
.nx-cat--photo { color: #fff; isolation: isolate; background: var(--brand-deep); }
.nx-cat--photo .nx-cat__obj { position: absolute; inset: 0; z-index: -1; display: block; padding: 0; }
.nx-cat--photo .nx-cat__obj::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(2, 11, 71, .6) 0%, rgba(2, 11, 71, .25) 32%, rgba(2, 11, 71, 0) 55%); pointer-events: none; }
.nx-cat--photo .nx-cat__obj .obj { width: 100%; height: 100%; max-height: none; object-fit: cover; transform: none; transition: transform 1.2s var(--nx-ease); }
.nx-cat--photo:hover .nx-cat__obj .obj { transform: scale(1.04); }
.nx-cat--photo .nx-cat__t { color: #fff; }
.nx-cat--photo .nx-cat__d { color: rgba(255, 255, 255, .86); }
.nx-cat--photo .nx-pill { background: #fff; color: var(--nx-blue); }
.nx-cat--photo:hover .nx-pill { background: #e6eaff; color: var(--nx-blue); }

/* Меню «Каталог»: фото разделов на весь квадрат */
.nx-dd__thumb--photo img { width: 100%; height: 100%; object-fit: cover; }
.nx-dd__item:hover .nx-dd__thumb--photo img { transform: scale(1.05); }
@media (prefers-reduced-motion: reduce) { .nx-cat--photo:hover .nx-cat__obj .obj, .nx-dd__item:hover .nx-dd__thumb--photo img { transform: none; } }

/* ---------- «Новый двигатель. Без пробега...»: без фото, текст едет вниз при прокрутке ----------
   Блок выше экрана, текст закреплён (sticky) и, пока блок прокручивается, опускается к его низу,
   где встаёт вплотную к следующему блоку. */
.nx-state--pin { overflow: visible; min-height: 150vh; padding: 140px 0 0; }
.nx-state--pin .nx-state__in { position: sticky; top: calc(50vh - 120px); padding-bottom: 12px; }
@media (max-width: 860px) {
  .nx-state--pin { min-height: 120vh; padding-top: 96px; }
  .nx-state--pin .nx-state__in { top: calc(50vh - 110px); padding-bottom: 8px; }
}

/* Слова «пробега», «истории», «гарантией» по очереди заливаются синим слева направо по мере прокрутки блока (scroll.js) */
.nx-w { --p: 0%; color: transparent; background: linear-gradient(90deg, var(--accent) 0 var(--p), var(--nx-ink) var(--p) 100%); -webkit-background-clip: text; background-clip: text; -webkit-box-decoration-break: clone; box-decoration-break: clone; }
@media (prefers-reduced-motion: reduce) { .nx-w { --p: 100%; } }

/* ---------- Главная: кнопка «Весь каталог» крупнее, без счётчика и подписи ---------- */
.stock .stock__more { margin-top: 56px; }
.stock__all-btn { min-width: 280px; height: 60px !important; padding: 0 44px !important; font-size: 17px !important; }

/* ---------- Боковое меню: стрелка. Сначала слева направо вырастает наконечник, затем дорисовывается тело ---------- */
.nx-arr__h { stroke-dasharray: none !important; stroke-dashoffset: 0 !important; opacity: 0; transform: translateX(-19px) scaleX(.15); transform-box: fill-box; transform-origin: 0 50%;
  transition: transform .25s var(--nx-ease) .1s, opacity .15s ease .1s !important; }
.nx-arr__l { transition: stroke-dashoffset .2s ease !important; }
.nx-drawer__nav > a:hover .nx-arr__h, .nx-drawer__sub summary:hover .nx-arr__h, .nx-drawer__nav > a:focus-visible .nx-arr__h {
  opacity: 1; transform: none; transition: transform .38s var(--nx-ease), opacity .12s ease !important; }
.nx-drawer__nav > a:hover .nx-arr__l, .nx-drawer__sub summary:hover .nx-arr__l, .nx-drawer__nav > a:focus-visible .nx-arr__l {
  stroke-dashoffset: 0; transition: stroke-dashoffset .4s var(--nx-ease) .32s !important; }
@media (hover: none) { .nx-drawer__nav > a:active .nx-arr__h { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) {
  .nx-drawer__nav > a:hover .nx-arr__h, .nx-drawer__sub summary:hover .nx-arr__h { opacity: 0; transform: translateX(-19px) scaleX(.15); }
}

/* ---------- Поиск в шапке: строка и список закруглённые, подсказки крупнее ---------- */
.nx-search .ex-search__bar { border-radius: 999px !important; height: 64px; }
.nx-search .hsearch__go { border-radius: 999px !important; height: 48px; padding: 0 26px !important; }
.nx-search .ex-search__list { top: calc(100% + 10px); max-height: min(76vh, 680px); padding: 12px !important; border-radius: 28px !important; box-shadow: 0 30px 70px -20px rgba(2, 11, 71, .3), 0 0 0 1px var(--nx-line); }
.nx-search .ex-search__group { padding: 6px 14px 10px; font: 500 14px/18px var(--font-sans); }
.nx-search .ex-sugg { grid-template-columns: 88px minmax(0, 1fr) auto; gap: 18px; padding: 12px 14px; border-radius: 18px !important; }
.nx-search .ex-sugg__img { width: 88px; height: 72px; border-radius: 12px !important; font-size: 13px; }
.nx-search .ex-sugg__title { font: 600 18px/24px var(--font-sans); }
.nx-search .ex-sugg__meta { display: inline-block; margin-top: 4px; font: 400 15px/21px var(--font-sans); }
.nx-search .ex-sugg__price { font: 700 19px/24px var(--font-sans); }
.nx-search .ex-search__empty { padding: 18px; font-size: 16px; }
@media (max-width: 860px) {
  .nx-search .ex-search__bar { height: 54px; }
  .nx-search .ex-search__list { border-radius: 22px !important; padding: 8px !important; }
  .nx-search .ex-sugg { grid-template-columns: 64px minmax(0, 1fr); gap: 12px; padding: 10px; }
  .nx-search .ex-sugg__img { width: 64px; height: 54px; }
  .nx-search .ex-sugg__title { font-size: 16px; line-height: 21px; }
  .nx-search .ex-sugg__meta { font-size: 13px; line-height: 18px; }
  .nx-search .ex-sugg__price { grid-column: 2; text-align: left; font-size: 16px; }
}

/* ---------- Разделы на главной: фото при наведении плавно приближается сильнее и медленнее ---------- */
.nx-cat--photo .nx-cat__obj .obj { transition: transform 1.8s cubic-bezier(.16, 1, .3, 1) !important; will-change: transform; }
.nx-cat--photo:hover .nx-cat__obj .obj { transform: scale(1.09) !important; }

/* =====================================================================
   Единые анимации кнопок: при наведении кнопка плавно приближается,
   при нажатии чуть «проседает». Только на устройствах с мышью (hover: hover),
   нажатие работает везде. Отключается при «уменьшить движение».
   ===================================================================== */
:root { --btn-ease: cubic-bezier(.22, 1, .36, 1); }
.nx-pill, .ex-btn, .nx-card__buy, .nx-icon, .nx-burger, .gal__arrow, .prod__tool, .pvar__tile, .chat__send, .cookie__btns .nx-pill, .stock__all-btn {
  transition: transform .5s var(--btn-ease), background-color .35s var(--btn-ease), color .35s var(--btn-ease), box-shadow .5s var(--btn-ease), border-color .35s var(--btn-ease) !important;
  will-change: transform;
}

@media (hover: hover) and (pointer: fine) {
  /* Основные кнопки-пилюли */
  .nx-pill:hover, .ex-btn:hover { transform: scale(1.05); }
  .nx-pill--block:hover, .ex-btn--block:hover { transform: scale(1.02); }
  .nx-pill:not(.nx-pill--ghost):not(.nx-pill--white):not(.nx-pill--glass):hover { box-shadow: 0 12px 26px -12px rgba(2, 19, 123, .55); }
  .nx-pill--ghost:hover { background: var(--nx-tint-2, #eef1fc); color: var(--nx-blue); box-shadow: inset 0 0 0 1.5px var(--nx-blue) !important; }
  .nx-pill--white:hover { background: #e9edff; color: var(--nx-blue); box-shadow: 0 12px 28px -12px rgba(0, 0, 0, .45); }
  .nx-pill--glass:hover { background: rgba(255, 255, 255, .26); box-shadow: inset 0 0 0 1px #fff; }
  .stock__all-btn:hover { transform: scale(1.06); }

  /* «Заказать» в карточке товара: заливается синим */
  .nx-card__buy:hover { transform: scale(1.06); background: var(--nx-blue); color: #fff; }

  /* Иконки: поиск, крестики, бургер, стрелки галереи */
  .nx-icon:hover { transform: scale(1.1); background: rgba(127, 140, 200, .16); }
  .nx-burger:hover { transform: scale(1.1); }
  .gal__arrow:hover { transform: scale(1.12); }

  /* Мелкие кнопки и ссылки */
  .prod__tool:hover { transform: translateY(-1px); color: var(--nx-blue); }
  .pvar__tile:not(.is-active):hover { transform: translateY(-3px); box-shadow: inset 0 0 0 1.5px var(--nx-blue), 0 10px 22px -14px rgba(2, 19, 123, .5); }
  .nx-phone, .nx-foot__phone { display: inline-block; transition: transform .45s var(--btn-ease), color .3s; }
  .nx-phone:hover, .nx-foot__phone:hover { transform: scale(1.04); }
  .pterm__more .ex-ic, .tlink .ex-ic { transition: transform .45s var(--btn-ease); }
  .pterm__more:hover .ex-ic { transform: translateX(5px); }
  .tlink:hover { color: var(--nx-blue); }
  .nx-logo { display: inline-flex; transition: transform .5s var(--btn-ease); }
  .nx-logo:hover { transform: scale(1.04); }
  .chat__head:hover .chat__ava-wrap { transform: scale(1.06); }
  .chat__ava-wrap { transition: transform .45s var(--btn-ease); }
  .dd__btn:hover { border-color: var(--nx-blue) !important; }
}

/* Нажатие: короткое «проседание» на всех устройствах */
.nx-pill:active, .ex-btn:active, .nx-card__buy:active, .nx-icon:active, .nx-burger:active, .gal__arrow:active, .chat__send:active, .ex-mbar a:active, .pvar__tile:active {
  transform: scale(.95) !important; transition-duration: .12s !important;
}
.ex-mbar a { transition: transform .3s var(--btn-ease); }

@media (prefers-reduced-motion: reduce) {
  .nx-pill:hover, .ex-btn:hover, .nx-card__buy:hover, .nx-icon:hover, .nx-burger:hover, .gal__arrow:hover, .pvar__tile:hover, .nx-phone:hover, .nx-foot__phone:hover, .nx-logo:hover, .stock__all-btn:hover,
  .nx-pill:active, .ex-btn:active, .nx-card__buy:active, .nx-icon:active { transform: none !important; }
}

/* ---------- Разделы на главной: «Смотреть» при наведении на карточку становится прозрачной с белой обводкой ---------- */
.nx-cat--photo .nx-pill { background: #fff; color: var(--nx-blue); box-shadow: inset 0 0 0 1.5px rgba(255, 255, 255, 0); }
.nx-cat--photo:hover .nx-pill, .nx-cat--photo:focus-visible .nx-pill { background: rgba(255, 255, 255, 0) !important; color: #fff !important; box-shadow: inset 0 0 0 1.5px #fff !important; }

/* ---------- Кнопки в блоках «Что вы получаете», «Гарантия», «Запускаем на стенде»: крупнее ---------- */
.nx-btnrow { gap: 12px !important; margin-top: 40px; }
.nx-btnrow .nx-pill, .nx-btnrow .nx-pill--sm { height: 58px !important; padding: 0 34px !important; font-size: 17px !important; }
@media (max-width: 860px) {
  .nx-btnrow { gap: 10px !important; margin-top: 28px; }
  .nx-btnrow .nx-pill, .nx-btnrow .nx-pill--sm { height: 52px !important; padding: 0 24px !important; font-size: 16px !important; }
}

/* ---------- Телефон: карточки «Легковые / Грузовые / КПП» листаются только вбок, ровно по одной ---------- */
@media (max-width: 860px) {
  .nx-cats__grid { overflow-x: auto !important; overflow-y: hidden !important; overscroll-behavior-x: contain; scroll-snap-type: x mandatory; touch-action: pan-x pan-y; -webkit-overflow-scrolling: touch; }
  .nx-cats__grid > .nx-cat { scroll-snap-align: start; scroll-snap-stop: always; }
}

/* ---------- Телефон: в блоке «В наличии на складе» только две карточки ---------- */
@media (max-width: 860px) {
  .stock__grid > .nx-card:nth-child(n+3) { display: none; }
}

/* ---------- Боковое меню на сенсорных экранах: без стрелки (там нет наведения, и после касания она наезжала на текст) ---------- */
@media (hover: none) {
  .nx-drawer .nx-arr { display: none !important; }
  .nx-drawer__nav > a > span, .nx-drawer__sub summary > span { transform: none !important; }
}

/* ---------- Крестики в окнах: без серой подложки при нажатии ---------- */
.modal__close, .welcome__x { background: none !important; -webkit-tap-highlight-color: transparent; border-radius: 50%; outline: none; }
.modal__close:hover, .modal__close:focus, .modal__close:active, .welcome__x:hover, .welcome__x:focus, .welcome__x:active { background: none !important; box-shadow: none !important; }
.modal__close:focus-visible, .welcome__x:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
.modal__close .ex-ic, .welcome__x .ex-ic { transition: transform .5s var(--btn-ease); }
.modal__close:hover, .welcome__x:hover { transform: none !important; }
@media (hover: hover) and (pointer: fine) { .modal__close:hover .ex-ic, .welcome__x:hover .ex-ic { transform: rotate(90deg); } }
@media (hover: none) { .modal__close, .welcome__x { transition: none !important; } }

/* ---------- Поиск на телефоне: список результатов во всю ширину экрана ---------- */
@media (max-width: 860px) {
  .nx-search__in { position: relative; }
  .nx-search .ex-search { position: static; }
  .nx-search .ex-search__list { left: 8px !important; right: 8px !important; top: calc(100% - 6px) !important; max-height: calc(100dvh - 190px); }
  .nx-search .ex-sugg { grid-template-columns: 76px minmax(0, 1fr); row-gap: 2px; align-items: start; }
  .nx-search .ex-sugg__price { margin-top: 2px; }
  .nx-search .ex-sugg__img { width: 76px; height: 64px; }
}
