/*
 * Asia Auto — связка дизайн-системы (tokens.css + bundle.css) со старой темой Docpart.
 * Подключается последним, только когда новый дизайн включён (aa/config.php).
 * Здесь только каркас: контейнер, шапка, строка поиска, подвал, нижняя панель.
 */

:root { --aa-on-dark-muted: #a6a6ad; --aa-on-dark-line: rgba(245, 245, 243, .14); }

.aa-wrap { width: 100%; max-width: 1280px; margin: 0 auto; box-sizing: border-box; }
.aa-sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

/* Ссылки в шапке, подвале и панели: старая тема красит a:hover в синий и подчёркивает */
/* Кнопки-ссылки (.aa-btn, .btn) исключены — у них свой цвет (иначе «Войти» в окне входа — чёрным по чёрному) */
.aa-header a:not(.aa-btn):not(.btn), .aa-footer a:not(.aa-btn):not(.btn), .aa-tabbar a:not(.aa-btn):not(.btn),
.aa-header a:not(.aa-btn):not(.btn):hover, .aa-footer a:not(.aa-btn):not(.btn):hover, .aa-tabbar a:not(.aa-btn):not(.btn):hover,
.aa-header a:not(.aa-btn):not(.btn):focus, .aa-footer a:not(.aa-btn):not(.btn):focus, .aa-tabbar a:not(.aa-btn):not(.btn):focus { color: inherit; text-decoration: none; }
.aa-header a:focus:not(:focus-visible), .aa-footer a:focus:not(:focus-visible), .aa-tabbar a:focus:not(:focus-visible) { outline: none; }
.aa-footer a:focus-visible, .aa-tabbar a:focus-visible { outline: 2px solid currentColor; outline-offset: 2px; }

/* ---------- Объявления над шапкой ---------- */
.aa-notice { background: var(--surface-sunken); color: var(--ink); font: 500 14px/20px var(--font-sans); }
.aa-notice__row { display: flex; align-items: flex-start; gap: var(--space-2); padding: var(--space-2) var(--space-8); }
.aa-notice__row .aa-i { flex: none; margin-top: 2px; }
.aa-notice__row p { margin: 0; }
.aa-notice + .aa-notice { border-top: 1px solid var(--line); }

/* ---------- Шапка ---------- */
.aa-header { position: relative; z-index: 1000; }
.aa-header__phone { text-decoration: none; }
.aa-header__nav a[aria-current="page"] { opacity: 1; font-weight: 700; }
.aa-header__cart[aria-current="page"] { background: var(--brand-white); color: var(--brand-black) !important; }
.aa-header__cart[aria-current="page"] .aa-header__count { background: var(--brand-black); color: var(--brand-white); }
.aa-header__count[hidden], .aa-badge[hidden] { display: none !important; }

.aa-header__user { position: relative; }
.aa-header__user > a { display: inline-flex; align-items: center; gap: 6px; font: 500 14px/20px var(--font-sans); opacity: .82; white-space: nowrap; }
.aa-header__user > a:hover, .aa-header__user.open > a { opacity: 1; }
.aa-header__user-name { max-width: 160px; overflow: hidden; text-overflow: ellipsis; }

/* Выпадающие меню: «Каталог» и «Кабинет» */
.aa-header__drop { position: relative; }
.aa-header__drop > a { display: inline-flex; align-items: center; gap: 4px; }
.aa-header__drop.open > a { opacity: 1; }
.aa-header .aa-menu { min-width: 240px; margin-top: 12px; padding: var(--space-2) 0; background: var(--surface); color: var(--ink); border: 1px solid var(--line); border-radius: var(--radius-lg); box-shadow: var(--shadow-pop); font: 500 15px/20px var(--font-sans); }
.aa-header .aa-menu > a, .aa-menu__logout button { display: flex; align-items: center; gap: var(--space-2); min-height: 44px; padding: var(--space-2) var(--space-4); box-sizing: border-box; color: var(--ink); opacity: 1; font: 500 15px/20px var(--font-sans); white-space: nowrap; }
.aa-header .aa-menu > a:hover, .aa-header .aa-menu > a:focus, .aa-menu__logout button:hover { background: var(--surface-sunken); color: var(--ink); }
.aa-menu__row { justify-content: space-between; gap: var(--space-6) !important; }
.aa-menu__row b { font-weight: 700; }
.aa-menu__count { min-width: 20px; height: 20px; padding: 0 6px; box-sizing: border-box; border-radius: 10px; background: var(--action); color: var(--on-action); font: 700 12px/20px var(--font-sans); text-align: center; }
.aa-menu__count[hidden] { display: none !important; }
.aa-menu__logout { margin: var(--space-2) 0 0; padding-top: var(--space-2); border-top: 1px solid var(--line); }
.aa-menu__logout button { width: 100%; border: 0; background: transparent; cursor: pointer; text-align: left; color: var(--ink-muted); }

/* Выпадающее окно входа: внутри пока старая форма (переделка — шаг 4) */
.aa-header .aa-header__login { min-width: 320px; margin-top: 12px; padding: var(--space-4); background: var(--surface); color: var(--ink); border: 1px solid var(--line); border-radius: var(--radius-lg); box-shadow: var(--shadow-pop); font: 400 14px/20px var(--font-sans); }
.aa-header .aa-header__login a.btn, .aa-header .aa-header__login a.btn:hover { color: #fff; }

@media (max-width: 1100px) {
  .aa-header__row { gap: var(--space-4); }
  .aa-header__nav { gap: var(--space-4); }
  .aa-header__phone { display: none; }
}
@media (max-width: 900px) {
  .aa-header__user-name { display: none; }
}
@media (max-width: 720px) {
  .aa-header__row { padding: 0 var(--space-1) 0 var(--space-4); gap: 0; }
  .aa-header__user { display: none; }
  .aa-header__mobile { margin-left: auto; }
  .aa-notice__row { padding: var(--space-2) var(--space-4); font-size: 13px; line-height: 18px; }
}

/* ---------- Строка поиска под шапкой ---------- */
.aa-searchrow { background: var(--surface); border-bottom: 1px solid var(--line); }
.aa-searchrow .aa-wrap { padding: var(--space-4) var(--space-8); }
.aa-searchrow .aa-search { margin: 0; }
.aa-searchrow__icon { display: flex; align-items: center; padding-left: var(--space-4); color: var(--ink-subtle); }
.aa-searchrow .aa-search__input { padding-left: var(--space-3); }
.aa-searchrow__input--art { font-family: var(--font-mono); }
.aa-searchrow__input--art::placeholder { font-family: var(--font-sans); }
@media (max-width: 720px) {
  .aa-searchrow .aa-wrap { padding: var(--space-3) var(--space-4); }
  .aa-searchrow .aa-search__input { height: 48px; padding-left: 10px; }
  .aa-searchrow .aa-search__btn { min-height: 48px; padding: 0 var(--space-4); }
  .aa-searchrow__icon { padding-left: 14px; }
}

/* ---------- Подвал ---------- */
.aa-footer { background: var(--brand-black); color: var(--brand-white); font: 500 14px/20px var(--font-sans); }
.aa-footer__grid { display: flex; flex-wrap: wrap; justify-content: space-between; gap: var(--space-8) var(--space-16); padding: var(--space-12) var(--space-8); }
.aa-footer__brand { display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-4); max-width: 320px; }
.aa-footer__brand .aa-logo { height: 32px; }
.aa-footer__muted { color: var(--aa-on-dark-muted); font-weight: 400; }
.aa-footer__btn { border-color: var(--brand-white); color: var(--brand-white) !important; background: transparent; white-space: normal; text-align: left; }
.aa-footer__btn:hover { background: var(--brand-white); color: var(--brand-black) !important; }
.aa-footer__col { display: flex; flex-direction: column; gap: var(--space-2); }
.aa-footer__col .aa-i { color: var(--aa-on-dark-muted); vertical-align: -3px; }
.aa-footer__title,
.aa-footer__menu h3 { margin: 0 0 var(--space-1); font: 500 11px/14px var(--font-display); letter-spacing: .08em; text-transform: uppercase; color: var(--aa-on-dark-muted); }
.aa-footer__menu ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: var(--space-2); }
.aa-footer__menu li { margin: 0; padding: 0; }
.aa-footer a:hover { opacity: .8; }
.aa-footer__bottom { display: flex; flex-wrap: wrap; justify-content: space-between; gap: var(--space-2) var(--space-6); padding: var(--space-4) var(--space-8); border-top: 1px solid var(--aa-on-dark-line); font: 400 13px/18px var(--font-sans); color: var(--aa-on-dark-muted); }

@media (max-width: 720px) {
  .aa-footer__grid { flex-direction: column; gap: var(--space-6); padding: var(--space-8) var(--space-4); }
  .aa-footer__brand .aa-logo { height: 24px; }
  /* место под нижнюю панель */
  .aa-footer__bottom { padding: var(--space-4) var(--space-4) calc(var(--space-4) + 64px + env(safe-area-inset-bottom)); }
}

/* ---------- Нижняя панель (телефон) ---------- */
/* Старая нижняя панель Docpart скрыта везде: её JS остаётся в странице и обновляет счётчик корзины.
   Администратору — кнопка «Текст URL» (.aa-admin-chip, создаёт aa/footer.php). */
.navbar-fixed-bottom, .bottom-border { display: none !important; }
.aa-admin-chip { position: fixed; left: 12px; bottom: 12px; z-index: 1031; padding: 6px 12px; border-radius: var(--radius-md); background: var(--brand-black); color: var(--brand-white) !important; font: 600 13px/18px var(--font-sans); text-decoration: none !important; box-shadow: var(--shadow-pop); }
.aa-tabbar--fixed { display: none; }
@media (max-width: 720px) {
  .aa-tabbar--fixed { display: grid; position: fixed; left: 0; right: 0; bottom: 0; z-index: 1030; }
  .aa-admin-chip { bottom: calc(76px + env(safe-area-inset-bottom)); }
}

/* ---------- Остальные страницы (контакты, доставка, статьи, новости, 404 и др.) ----------
   Старая вёрстка не переделывается — только шрифты и цвета бренда, чтобы ничего не ломалось. */
.boxed { background: transparent; }
.main-header { padding: var(--space-6) 0 var(--space-2); background: none; }
.main-header .page-title { margin: 0; font: 600 28px/34px var(--font-display); color: var(--ink); }
.main-header .breadcrumb { margin: var(--space-2) 0 0; padding: 0; background: none; font: 500 13px/18px var(--font-sans); color: var(--ink-muted); }
.main-header .breadcrumb a:not(.aa-btn) { color: var(--ink-muted); text-decoration: none; }
.main-header .breadcrumb a:not(.aa-btn):hover { color: var(--ink); text-decoration: underline; }
.main-header .breadcrumb > li + li:before { color: var(--ink-subtle); }
body:not(.aa-has-page) #right_col { font: 400 16px/26px var(--font-sans); color: var(--ink); }
body:not(.aa-has-page) #right_col h1, body:not(.aa-has-page) #right_col h2, body:not(.aa-has-page) #right_col h3, body:not(.aa-has-page) #right_col h4, body:not(.aa-has-page) #right_col .section-title { font-family: var(--font-display); font-weight: 600; color: var(--ink); letter-spacing: 0; }
body:not(.aa-has-page) #right_col h2 { font-size: 22px; line-height: 28px; }
body:not(.aa-has-page) #right_col h3 { font-size: 18px; line-height: 24px; }
body:not(.aa-has-page) #right_col p, body:not(.aa-has-page) #right_col li { color: var(--ink); }
body:not(.aa-has-page) #right_col a:not(.btn):not(.aa-btn) { color: var(--ink); text-decoration: underline; text-underline-offset: 2px; }
body:not(.aa-has-page) #right_col a:not(.btn):not(.aa-btn):hover { color: var(--ink-muted); }
#right_col img { max-width: 100%; height: auto; }
.btn-primary, .btn-ar.btn-primary, .btn-primary:focus { background: var(--action) !important; border-color: var(--action) !important; color: var(--on-action) !important; border-radius: var(--radius-md); font-family: var(--font-sans); font-weight: 600; text-shadow: none; }
.btn-primary:hover, .btn-ar.btn-primary:hover { background: var(--action-hover) !important; border-color: var(--action-hover) !important; }
.btn-default, .btn-ar.btn-default { background: var(--surface); border-color: var(--line-strong); color: var(--ink); border-radius: var(--radius-md); font-family: var(--font-sans); }
.form-control { border-color: var(--line-strong); border-radius: var(--radius-md); color: var(--ink); font-family: var(--font-sans); box-shadow: none; }
.form-control:focus { border-color: var(--ink); box-shadow: 0 0 0 1px var(--ink); }
.table > thead > tr > th { background: var(--surface-sunken); border-bottom: 1px solid var(--line); font: 500 11px/14px var(--font-display); letter-spacing: .08em; text-transform: uppercase; color: var(--ink-muted); }
.table > tbody > tr > td { border-top-color: var(--line); }
.panel { border-color: var(--line); border-radius: var(--radius-lg); box-shadow: none; }
.panel-primary > .panel-heading { background: var(--brand-black); border-color: var(--brand-black); color: var(--brand-white); font-family: var(--font-sans); }
.label-primary, .badge-primary { background: var(--action); color: var(--on-action); }
.alert { border-radius: var(--radius-md); }
.pagination > li > a, .pagination > li > span { color: var(--ink); border-color: var(--line); }
.pagination > .active > a, .pagination > .active > span { background: var(--action); border-color: var(--action); color: var(--on-action); }
.news_item_box { border-color: var(--line); border-radius: var(--radius-lg); }
@media (max-width: 720px) {
  .main-header .page-title { font-size: 22px; line-height: 28px; }
  body:not(.aa-has-page) #right_col { font-size: 15px; line-height: 24px; }
}

/* ---------- Старые акцентные цвета темы (фиолетовый #5946D7 с !important в style_all.css) → токены ---------- */
.dropdown, .fa-location-arrow, .fa-clock-o, .balance_indicator, .fa-user, .fa-chevron-down, .menu-box-icon, .phone-fabars,
.fa-search, .fa-sign-in, .fa-copy, .fa-flip-horizontal, .fa-bookmark-o, .fa-shopping-cart, .btn-gray,
header .navbar-nav > .dropdown > a::before, .navbar-default .navbar-nav > li > a > i,
.li, .list-unstyled, .module_caption, .bottom-button { color: inherit !important; }
.badge, .bottom-button, .header-cat-btn { background-color: var(--action) !important; color: var(--on-action) !important; }
button.btn.btn-ar.btn-primary, a.btn.btn-ar.btn-primary, input.btn.btn-ar.btn-primary,
.btn-ar.btn-primary:active, .btn-ar.btn-primary:focus { background-color: var(--action) !important; border-color: var(--action) !important; color: var(--on-action) !important; text-shadow: none !important; box-shadow: none !important; }
button.btn.btn-ar.btn-primary:hover, a.btn.btn-ar.btn-primary:hover, input.btn.btn-ar.btn-primary:hover { background-color: var(--action-hover) !important; border-color: var(--action-hover) !important; }
button.btn.btn-ar.btn-primary[onclick^="unsetFilter"] { background-color: var(--surface) !important; border-color: var(--line-strong) !important; color: var(--ink) !important; }
button.btn.btn-ar.btn-primary[onclick^="unsetFilter"]:hover { border-color: var(--ink) !important; }

/* Старые счётчики корзины в шапке (их заполняет bottom_panel): .badge темы перебивает атрибут hidden */
#header_cart_items_count, #header_cart_items_count_mobile { display: none !important; }

/* Шапка: пункты с выпадающим меню — белые, шеврон в строку с текстом */
.aa-header .dropdown, .aa-header .dropdown > a { color: var(--brand-white) !important; }
.aa-header__drop > a, .aa-header__user > a { display: inline-flex !important; flex-direction: row !important; flex-wrap: nowrap !important; align-items: center !important; gap: 4px; white-space: nowrap; }
.aa-header__drop > a .aa-i, .aa-header__user > a .aa-i { display: inline-block !important; flex: none; margin: 0; vertical-align: middle; }
.aa-header__drop.open > a .aa-i--chevron-down, .aa-header__user.open > a .aa-i--chevron-down { transform: rotate(180deg); }

/* ---------- Обёртка страницы старой темы (Slidebars) ----------
   #sb-site { transform: translate(0); z-index: 1; min-height: 100vh } ломает position: fixed у потомков:
   нижняя панель и липкая панель «Оформить» прилипали к обёртке, а не к экрану (телефон), а min-height
   давал пустое место над подвалом на главной. Боковое меню Slidebars в новом дизайне не используется. */
#sb-site, .sb-site-container { -webkit-transform: none !important; transform: none !important; z-index: auto !important; min-height: 0 !important; -webkit-backface-visibility: visible !important; background: transparent !important; }

/* Плашка о ценах: на телефоне — короткий текст в одну строку */
.aa-notice__short { display: none; }
@media (max-width: 720px) {
  .aa-notice__long { display: none; }
  .aa-notice__short { display: inline; }
  .aa-notice__row p { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; min-width: 0; }
}

/* Пустой контейнер старой темы: astself.css задаёт #sb-site .boxed > .container { min-height: 580px } —
   отсюда огромный отступ над подвалом (на главной содержимое страницы выводится выше, контейнер пуст) */
#sb-site .boxed > .container { min-height: 0 !important; }

/* Шапка: второй (старый) шеврон темы у пунктов с выпадающим меню — .dropdown > a::after */
.aa-header .dropdown > a::after, .aa-header .dropdown > a::before { content: none !important; display: none !important; }

/* ---------- Штатная вёрстка внутри страниц нового дизайна: общие правила ----------
   Один шрифт и размеры текста, кнопки одной высоты в ряду, таблицы не шире блока (прокрутка внутри). */
.aa-legacy, .aa-legacy p, .aa-legacy td, .aa-legacy th, .aa-legacy li, .aa-legacy label, .aa-legacy small, .aa-legacy b, .aa-legacy span { font-family: var(--font-sans); }
.aa-legacy p, .aa-legacy td, .aa-legacy li { font-size: 15px; line-height: 22px; }
.aa-legacy small { font-size: 13px; line-height: 18px; color: var(--ink-muted); }
.aa-legacy .table td small { font-size: 13px; }
.aa-legacy .btn { box-sizing: border-box; height: auto; vertical-align: middle; white-space: nowrap; }
.aa-legacy .btn-xs, .aa-legacy .btn-sm { min-height: 36px !important; padding: 0 var(--space-3) !important; font-size: 14px !important; line-height: 20px !important; }
.aa-legacy .btn + .btn { margin-left: 0; }
.aa-legacy .form-group { margin-bottom: var(--space-3); }
.aa-legacy [style*="overflow-x: auto"], .aa-legacy [style*="overflow-x:auto"] { max-width: 100%; -webkit-overflow-scrolling: touch; }
.aa-legacy table { max-width: none; }
.aa-legacy hr { border: 0; border-top: 1px solid var(--line); margin: var(--space-4) 0; }
.aa-legacy::after { content: ""; display: table; clear: both; }
.aa-account__head { text-align: left; }
.aa-account__head > .aa-h1:only-child { margin-right: auto; }


/* ---------- Прелоадер старой темы — в новом дизайне не показываем ----------
   Тема держит body { overflow: hidden } ради прелоадера (снятие в app.js закомментировано): из-за этого body —
   контейнер прокрутки и не работают липкие блоки. Горизонтальный вынос по-прежнему срезает html (Slidebars). */
#preloader, #status, .preloader { display: none !important; }
body:not(.modal-open) { overflow: visible !important; }

/* ---------- Cookie: маленькая плашка снизу по центру ---------- */
#cookie-message { position: fixed !important; left: 50% !important; right: auto !important; bottom: 16px !important; top: auto !important; transform: translateX(-50%); z-index: 1040 !important; width: calc(100% - 32px) !important; max-width: 560px; margin: 0 !important; padding: var(--space-3) var(--space-4) !important; box-sizing: border-box; background: var(--surface) !important; border: 1px solid var(--line) !important; border-radius: var(--radius-lg) !important; box-shadow: var(--shadow-pop) !important; color: var(--ink-muted) !important; }
#cookie-message:not(.show) { display: none !important; }
#cookie-message.show { display: block !important; }
#cookie-message .cookie-inner { display: flex; align-items: center; gap: var(--space-3); margin: 0; padding: 0; }
#cookie-message p { flex: 1; min-width: 0; margin: 0 !important; font: 500 13px/18px var(--font-sans) !important; color: var(--ink-muted) !important; text-align: left !important; }
#cookie-message .cookie-btn { flex: none; margin: 0 !important; }
@media (max-width: 768px) {
  #cookie-message { bottom: calc(64px + 12px + env(safe-area-inset-bottom)) !important; }
  body.aa-page--cart #cookie-message, body.aa-page--checkout #cookie-message { bottom: calc(64px + 76px + env(safe-area-inset-bottom)) !important; }
}

/* ---------- «Наверх»: на телефоне не нужен, на десктопе — спокойная кнопка ---------- */
#back-top a { width: 40px !important; height: 40px !important; padding: 0 !important; display: flex !important; align-items: center; justify-content: center; right: 16px !important; bottom: 16px !important; background: var(--surface) !important; border: 1px solid var(--line) !important; border-radius: var(--radius-md) !important; color: var(--ink) !important; box-shadow: var(--shadow-pop); z-index: 1020 !important; }
#back-top a:hover { border-color: var(--ink) !important; }
#back-top a .fa { display: none; }
#back-top a .aa-i { transform: rotate(180deg); }
@media (max-width: 768px) {
  #back-top { display: none !important; }
}

/* ---------- Сообщения Docpart (?success_message=, ?error_message=…) ---------- */
.aa-alerts { padding: var(--space-3) var(--space-8) 0; }
.aa-alerts:empty { display: none; }
.aa-alerts .alert { position: relative; margin: 0 0 var(--space-2) !important; padding: var(--space-3) 44px var(--space-3) var(--space-4) !important; background: var(--surface) !important; border: 1px solid var(--line) !important; border-left: 3px solid var(--ink-muted) !important; border-radius: var(--radius-md) !important; color: var(--ink) !important; font: 400 14px/20px var(--font-sans) !important; box-shadow: none !important; text-shadow: none !important; }
.aa-alerts .alert strong { font-weight: 700; }
.aa-alerts .alert .fa { display: none; }
.aa-alerts .alert-danger { border-left-color: var(--danger) !important; }
.aa-alerts .alert-success { border-left-color: var(--stock) !important; }
.aa-alerts .alert-warning { border-left-color: var(--order) !important; }
.aa-alerts .alert-info { border-left-color: var(--ink) !important; }
.aa-alerts .alert .close { position: absolute; top: 8px; right: 8px; width: 28px; height: 28px; padding: 0; border: 0; background: none; color: var(--ink-muted); font: 400 20px/28px var(--font-sans); opacity: 1; text-shadow: none; cursor: pointer; }
@media (max-width: 720px) {
  .aa-alerts { padding: var(--space-3) var(--space-4) 0; }
}

/* ---------- Шапка и нижняя панель: телефонный вид до 768px (в bundle.css — до 720px) ----------
   Одна строка 56px: логотип слева, справа «Позвонить» и «Корзина»; меню — в нижней панели. */
@media (max-width: 768px) {
  .aa-header__row { height: 56px; padding: 0 var(--space-1) 0 var(--space-4); gap: 0; }
  .aa-header__nav, .aa-header__phone, .aa-header__user, .aa-header__cart--desk { display: none !important; }
  .aa-header__mobile { display: flex !important; align-items: center; margin-left: auto; }
  .aa-header .aa-logo { height: 22px; }
  .aa-tabbar--fixed { display: grid; position: fixed; left: 0; right: 0; bottom: 0; z-index: 1030; }
  .aa-footer__bottom { padding-bottom: calc(var(--space-4) + 64px + env(safe-area-inset-bottom)); }
}

/* ---------- Шрифт: тема задаёт Roboto прямо на <a> — в новом дизайне всё наследует Manrope ---------- */
a, button, input, select, textarea { font-family: inherit; }
/* astself.css: a { font-family: Roboto… !important } — перебиваем тем же !important; моноширинные ссылки-артикулы — свой шрифт */
a { font-family: inherit !important; }
a.aa-art { font-family: var(--font-mono) !important; }

/* Иконка «почта» (Lucide mail, та же версия и линия, что и набор в bundle.css) */
.aa-i--mail { --aa-i: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%2224%22 height=%2224%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%221.6%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22 %3E%3Crect width=%2220%22 height=%2216%22 x=%222%22 y=%224%22 rx=%222%22 /%3E%3Cpath d=%22m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7%22 /%3E%3C/svg%3E"); }

/* Сообщение у блока (вместо alert()) */
.aa-inline-alert { padding: var(--space-3) var(--space-4); background: var(--surface); border: 1px solid var(--line); border-left: 3px solid var(--danger); border-radius: var(--radius-md); color: var(--ink); font: 500 14px/20px var(--font-sans); }
.aa-inline-alert[hidden] { display: none !important; }

/* ---------- Подвал прижат к низу на коротких страницах ---------- */
body { display: flex; flex-direction: column; min-height: 100vh; }
#sb-site { display: flex; flex-direction: column; flex: 1 0 auto; }
#sb-site > .boxed { display: flex; flex-direction: column; flex: 1 0 auto; }
#sb-site > .boxed > .container { flex: 1 0 auto; }

/* Контейнер страницы — как .aa-wrap шапки: до 1280px по центру, поля 32px (16px на телефоне).
   Левый край заголовка страницы совпадает с левым краем логотипа (вложенные row/col Bootstrap дают в сумме 0). */
#sb-site > .boxed > .container { width: 100% !important; max-width: 1280px; margin-left: auto !important; margin-right: auto !important; padding-left: var(--space-8) !important; padding-right: var(--space-8) !important; box-sizing: border-box; }
@media (max-width: 768px) {
  #sb-site > .boxed > .container { padding-left: var(--space-4) !important; padding-right: var(--space-4) !important; }
}

/* Неактивная главная кнопка — один вид везде */
.aa-btn--primary:disabled, .aa-btn--primary[disabled], button.btn.btn-ar.btn-primary:disabled, button.btn.btn-ar.btn-primary[disabled], .order_confirm_button_div #confirm_btn:disabled {
  background: var(--surface-sunken) !important; border-color: var(--surface-sunken) !important; color: var(--ink-subtle) !important; cursor: not-allowed; opacity: 1; }

/* Подвал всегда внизу (выдача и любые короткие страницы): последний элемент колонки .boxed; под ним — цвет подвала, не фон страницы */
html { background: var(--brand-black); }
#sb-site > .boxed > .aa-footer { margin-top: auto; }

/* ---------- Ссылки-кнопки: без подчёркивания в любом состоянии ---------- */
a.aa-btn, a.aa-btn:hover, a.aa-btn:focus, a.aa-btn:active, a.btn, a.btn:hover, a.btn:focus, a.btn:active { text-decoration: none !important; }

/* Зелёных и оранжевых кнопок темы нет: «успех/предупреждение» — нейтральная вторичная кнопка */
.btn.btn-success, .btn.btn-warning, .btn.btn-info { background: var(--surface) !important; border-color: var(--line-strong) !important; color: var(--ink) !important; text-shadow: none !important; }

/* Иконки «показать/скрыть пароль» (Lucide eye / eye-off, та же линия, что в bundle.css) */
.aa-i--eye { --aa-i: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%2224%22 height=%2224%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%221.6%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22 %3E%3Cpath d=%22M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0%22 /%3E%3Ccircle cx=%2212%22 cy=%2212%22 r=%223%22 /%3E%3C/svg%3E"); }
.aa-i--eye-off { --aa-i: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%2224%22 height=%2224%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%221.6%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22 %3E%3Cpath d=%22M10.733 5.076a10.744 10.744 0 0 1 11.205 6.575 1 1 0 0 1 0 .696 10.747 10.747 0 0 1-1.444 2.49%22 /%3E%3Cpath d=%22M14.084 14.158a3 3 0 0 1-4.242-4.242%22 /%3E%3Cpath d=%22M17.479 17.499a10.75 10.75 0 0 1-15.417-5.151 1 1 0 0 1 0-.696 10.75 10.75 0 0 1 4.446-5.143%22 /%3E%3Cpath d=%22m2 2 20 20%22 /%3E%3C/svg%3E"); }

/* ---------- Форма входа (собирает aa/login.js): шапка, страницы входа и кабинета, шаг входа в оформлении ---------- */
.aa-header .aa-header__login { width: 360px; min-width: 0; max-width: calc(100vw - 32px); padding: var(--space-6); box-sizing: border-box; border-radius: var(--radius-lg); box-shadow: var(--shadow-pop); }
.aa-login, .aa-login > [class*="col-"] { margin: 0 !important; padding: 0 !important; float: none; width: 100%; }
.aa-login::before, .aa-login::after { content: none !important; }
.aa-login__title { margin: 0 0 var(--space-4); font: 600 18px/24px var(--font-sans); color: var(--ink); }
.aa-login .nav-tabs { display: flex !important; gap: 2px; margin: 0 0 var(--space-4) !important; padding: 3px !important; border: 0 !important; background: var(--surface-sunken) !important; border-radius: var(--radius-md); }
.aa-login .nav-tabs::before, .aa-login .nav-tabs::after { content: none !important; }
.aa-login .nav-tabs.hidden { display: none !important; }
.aa-login .nav-tabs > li { float: none; flex: 1; margin: 0 !important; border: 0 !important; }
.aa-login .nav-tabs > li > a { display: flex; align-items: center; justify-content: center; min-height: 30px; margin: 0 !important; padding: 0 12px !important; border: 0 !important; border-radius: 3px !important; background: transparent; color: var(--ink-muted) !important; text-decoration: none !important; font: 600 14px/20px var(--font-sans); }
.aa-login .nav-tabs > li.active > a { background: var(--surface) !important; color: var(--ink) !important; box-shadow: 0 1px 2px rgba(10, 10, 11, .08); }
.aa-login .nav-tabs + .tab-content { border: 0 !important; padding: 0 !important; }
.aa-login .tab-pane .row { margin: 0 !important; }
.aa-login .tab-pane [class*="col-"] { padding: 0 !important; }
.aa-login .panel-body { padding: 0 !important; color: var(--ink) !important; }
.aa-login br, .aa-login [style*="padding-bottom: 15px"] { display: none !important; }
.aa-login .input-group-addon { display: none !important; }
.aa-login .input-group { display: block !important; width: 100%; }
.aa-login input[type="text"], .aa-login input[type="password"], .aa-login .form-control { display: block; width: 100% !important; height: 48px !important; padding: 0 14px !important; box-sizing: border-box; border: 1px solid var(--line-strong) !important; border-radius: var(--radius-md) !important; background: var(--surface) !important; color: var(--ink) !important; font: 400 16px/24px var(--font-sans) !important; box-shadow: none !important; }
.aa-login input:focus { border-color: var(--ink) !important; box-shadow: 0 0 0 1px var(--ink) !important; outline: none; }
.aa-login .form-group, .aa-login .simple-register-wrapper { display: flex; flex-direction: column; gap: var(--space-3); margin: 0 !important; }
.aa-login .simple-register-wrapper > div:not(.hidden), .aa-login .simple-register-wrapper-body:not(.hidden) { display: flex; flex-direction: column; gap: var(--space-3); }
.aa-login .simple-register-wrapper-body > div { display: flex; gap: var(--space-2); }
.aa-login .simple-register-wrapper-body > div .aa-btn { flex: 1; }
.aa-login .simple-register-wrapper-body p { margin: 0; font: 400 14px/20px var(--font-sans); color: var(--ink-muted); }
.aa-login__pass { position: relative; }
.aa-login .aa-login__pass input[type] { padding-right: 48px !important; }
.aa-login__eye { position: absolute; right: 4px; top: 4px; z-index: 3; display: flex; align-items: center; justify-content: center; width: 40px; height: 40px; padding: 0; border: 0; border-radius: var(--radius-md); background: none; color: var(--ink-muted); cursor: pointer; }
.aa-login__eye:hover { color: var(--ink); }
.aa-login__row { display: flex; align-items: center; justify-content: space-between; gap: var(--space-3); }
.aa-login .checkbox { margin: 0 !important; padding: 0; display: flex; align-items: center; gap: var(--space-2); }
.aa-login .checkbox input[type="checkbox"] { position: static !important; opacity: 1 !important; width: 18px; height: 18px; margin: 0 !important; accent-color: var(--action); }
.aa-login .checkbox label { margin: 0; padding: 0 !important; font: 500 14px/20px var(--font-sans); color: var(--ink); cursor: pointer; }
.aa-login .checkbox label::before, .aa-login .checkbox label::after { content: none !important; display: none !important; }
.aa-login__forgot { font: 500 14px/20px var(--font-sans); color: var(--ink-muted) !important; text-decoration: none !important; white-space: nowrap; }
.aa-login__forgot:hover { color: var(--ink) !important; text-decoration: underline !important; }
.aa-login .aa-login__submit { width: 100%; min-height: 48px; }
.aa-login__foot { margin: var(--space-4) 0 0; padding-top: var(--space-4); border-top: 1px solid var(--line); font: 400 14px/20px var(--font-sans); color: var(--ink-muted); text-align: center; }
.aa-login__foot a:not(.aa-btn) { color: var(--ink) !important; text-decoration: underline !important; text-underline-offset: 3px; }

/* desktop.php для части страниц (id 298, 302, 376, 385, категории, ЧПУ-выдача) не ставит style="margin:0" у внутреннего .row:
   его −15px не компенсируются — контент сдвигается влево и вылезает справа (на телефоне 389 при ширине 375). Обнуляем всегда. */
#right_col > #Container > .row { margin-left: 0 !important; margin-right: 0 !important; }


/* ---------- Кнопки-ссылки: цвет текста во всех состояниях (держать в конце файла) ----------
   Общие правила для ссылок (a {…}, .aa-legacy a, .aa-header a …) кнопки не трогают (:not(.aa-btn)), а здесь цвета
   кнопок закреплены специфичностью a.aa-btn.aa-btn--… — без !important, чтобы работали намеренные исключения
   компонентов (красное «Удалить» в гараже, зелёное «В корзине» в выдаче). Значения — как в bundle.css. */
a.aa-btn.aa-btn--primary, a.aa-btn.aa-btn--primary:hover, a.aa-btn.aa-btn--primary:focus, a.aa-btn.aa-btn--primary:active, a.aa-btn.aa-btn--primary:visited { color: var(--on-action); }
a.aa-btn.aa-btn--secondary, a.aa-btn.aa-btn--secondary:hover, a.aa-btn.aa-btn--secondary:focus, a.aa-btn.aa-btn--secondary:active, a.aa-btn.aa-btn--secondary:visited { color: var(--ink); }
a.aa-btn.aa-btn--ghost, a.aa-btn.aa-btn--ghost:hover, a.aa-btn.aa-btn--ghost:focus, a.aa-btn.aa-btn--ghost:active, a.aa-btn.aa-btn--ghost:visited { color: var(--ink); }
/* Штатные .btn, которым задан вид кнопки: главная — светлый текст на тёмном, обычная — тёмный */
a.btn.btn-default, a.btn.btn-default:hover, a.btn.btn-default:focus, a.btn.btn-default:active, a.btn.btn-default:visited { color: var(--ink); }
a.btn.btn-primary:hover, a.btn.btn-primary:focus, a.btn.btn-primary:active, a.btn.btn-primary:visited { color: var(--on-action); }

/* ---------- Артикулы, номера, VIN: Manrope вместо IBM Plex Mono ----------
   Одна переменная — меняются все места разом (.aa-art, поле артикула, VIN, подсказка поиска).
   tokens.css (источник дизайн-системы) не трогаем: переопределяем здесь, файл подключается после него. */
:root { --font-mono: "Manrope", system-ui, sans-serif; }
.aa-art, a.aa-art, .aa-search__hint b, .aa-searchrow__input--art, .aa-input--mono { font-weight: 600; font-variant-numeric: tabular-nums; letter-spacing: .02em; }
/* Плейсхолдеры — как были */
.aa-searchrow__input--art::placeholder, .aa-input--mono::placeholder { font-weight: 500; letter-spacing: 0; }
