/* all-bearings.ru — стили компонентов MODX поверх темы Reboot */

:root {
    --ab-accent: #4d3bfe;
    --ab-dark: #1a2348;
    --ab-border: #dfe3ea;
    --ab-muted: #5f6b7a;
    --ab-bg-soft: #f5f6fa;
    --ab-error: #c62828;
    --ab-success: #1b7f3b;
}

/* ---------- Иконки: шрифт wpshop-core не сохранился, заменяем на локальные SVG ---------- */
.search-icon, .search-form .search-submit, .scrolltop, .humburger {
    font-family: inherit !important;
}
button.search-icon, button.humburger {
    padding: 0;
    border: 0;
    background: none;
    color: inherit;
}
.search-icon:before, .search-icon.close:before,
.search-screen .search-form .search-submit:before, .search-form .search-submit:before {
    content: "" !important;
    display: inline-block;
    width: 22px;
    height: 22px;
    vertical-align: middle;
    background: no-repeat center / contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23333' stroke-width='2.2' stroke-linecap='round'%3E%3Ccircle cx='10.5' cy='10.5' r='6.5'/%3E%3Cpath d='M15.5 15.5 21 21'/%3E%3C/svg%3E");
}
.search-screen .search-form .search-submit:before, .search-form .search-submit:before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%234d3bfe' stroke-width='2.2' stroke-linecap='round'%3E%3Ccircle cx='10.5' cy='10.5' r='6.5'/%3E%3Cpath d='M15.5 15.5 21 21'/%3E%3C/svg%3E");
}
.search-icon.close:before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23333' stroke-width='2.2' stroke-linecap='round'%3E%3Cpath d='M5 5l14 14M19 5 5 19'/%3E%3C/svg%3E");
}
.scrolltop:before {
    content: "" !important;
    display: inline-block;
    width: 24px;
    height: 24px;
    top: 0;
    background: no-repeat center / contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%234d3bfe' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 15l7-7 7 7'/%3E%3C/svg%3E");
}
.entry-content blockquote.danger:before, .entry-content blockquote.info:before,
.entry-content blockquote.warning:before, .entry-content blockquote.check:before {
    content: "" !important;
    font-family: inherit !important;
    width: 30px;
    height: 30px;
    background: no-repeat center / contain;
}
.entry-content blockquote.danger:before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='11' fill='%23e53935'/%3E%3Cpath d='M12 6v8' stroke='%23fff' stroke-width='2.4' stroke-linecap='round'/%3E%3Ccircle cx='12' cy='17.5' r='1.4' fill='%23fff'/%3E%3C/svg%3E");
}
.entry-content blockquote.warning:before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2 23 21H1z' fill='%23f9a825'/%3E%3Cpath d='M12 9v6' stroke='%23fff' stroke-width='2.2' stroke-linecap='round'/%3E%3Ccircle cx='12' cy='18' r='1.3' fill='%23fff'/%3E%3C/svg%3E");
}
.entry-content blockquote.info:before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='11' fill='%231e88e5'/%3E%3Cpath d='M12 11v7' stroke='%23fff' stroke-width='2.4' stroke-linecap='round'/%3E%3Ccircle cx='12' cy='7' r='1.4' fill='%23fff'/%3E%3C/svg%3E");
}
.entry-content blockquote.check:before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='11' fill='%2343a047'/%3E%3Cpath d='m7 12.5 3.2 3.2L17 9' stroke='%23fff' stroke-width='2.4' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}
.table-of-contents__hide:after {
    font-family: inherit !important;
}

/* ---------- Шапка ---------- */
.header-html-1 { font-size: 1.15rem; line-height: 1.3; }
.ab-head-label { color: red; }
.ab-head-mail { color: blue; font-weight: 700; text-decoration: none; }
.ab-head-mail:hover { text-decoration: underline; }
.sticky-block-text a { text-decoration: none; }
body { padding-bottom: 56px; }

/* ---------- Коммерческий и рекламный блоки ---------- */
.obj__mail a { text-decoration: none; }
.ab-btn {
    display: inline-block;
    margin-top: 10px;
    border: 0;
    font: inherit;
    text-decoration: none;
    line-height: 1.4;
}
.ab-btn:hover, .ab-btn:focus { background: var(--ab-dark); color: #fff; }
.ab-promo {
    margin: 24px 0;
    padding: 18px 22px;
    background: #bfc1f5;
    border-radius: 4px;
}
.ab-promo__title { font-size: 1.35rem; font-weight: 700; margin-bottom: 8px; }
.ab-promo ol { margin: 8px 0 8px 1.2em; }
.ab-promo__cta { font-weight: 700; color: red; text-align: center; font-size: 1.15rem; margin: 10px 0 0; }
.ab-promo a { color: blue; }

/* ---------- Подписи вместо отсутствующих иллюстраций ---------- */
.ab-chips { display: flex; flex-wrap: wrap; gap: 8px; list-style: none; margin: 12px 0 20px; padding: 0; }
.entry-content ul.ab-chips > li { margin: 0; padding: 6px 12px; background: var(--ab-bg-soft); border: 1px solid var(--ab-border); border-radius: 16px; font-size: .9rem; }
.entry-content ul.ab-chips > li:before { display: none; }

/* ---------- Таблица характеристик ---------- */
.ab-props td:first-child { width: 45%; }

/* ---------- Фильтры раздела ---------- */
.ab-filter {
    margin: 0 0 20px;
    padding: 16px;
    background: var(--ab-bg-soft);
    border: 1px solid var(--ab-border);
    border-radius: 4px;
}
.ab-filter__row { display: flex; flex-wrap: wrap; gap: 12px 16px; }
.ab-filter__field { display: flex; flex-direction: column; gap: 4px; margin: 0; padding: 0; border: 0; min-width: 0; }
.ab-filter__field legend, .ab-filter__field > span { font-size: .85rem; color: var(--ab-muted); padding: 0; margin-bottom: 4px; }
fieldset.ab-filter__field { flex-direction: row; flex-wrap: wrap; align-items: flex-end; }
fieldset.ab-filter__field legend { width: 100%; }
.ab-filter__field input { width: 78px; padding: 6px 8px; border: 1px solid #c5cbd6; border-radius: 3px; font: inherit; background: #fff; }
.ab-filter__field--wide input { width: 210px; }
.ab-filter__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 18px; margin-top: 14px; }
.ab-filter__actions .ab-btn { margin: 0; }
.ab-filter__count { color: var(--ab-muted); }
.ab-filter__errors { margin: 10px 0 0; padding: 0; list-style: none; color: var(--ab-error); }
.ab-empty { padding: 16px; background: var(--ab-bg-soft); border-radius: 4px; }

/* ---------- Таблица размеров раздела ---------- */
.ab-table-wrap { overflow-x: auto; margin-bottom: 24px; -webkit-overflow-scrolling: touch; }
.ab-table { width: 100%; border-collapse: collapse; font-size: .95rem; }
.ab-table th, .ab-table td { padding: 6px 10px; border: 1px solid var(--ab-border); text-align: left; white-space: nowrap; }
.ab-table thead th { position: sticky; top: 0; background: var(--ab-dark); color: #fff; }
.ab-table thead a { color: #fff; text-decoration: none; }
.ab-table thead a.is-sorted:after { content: " ↑"; }
.ab-table tbody tr:nth-child(even) { background: var(--ab-bg-soft); }

/* ---------- Пагинация ---------- */
.pagination .nav-links { display: flex; flex-wrap: wrap; gap: 6px; }
.pagination .page-numbers.prev, .pagination .page-numbers.next { padding-left: 14px; padding-right: 14px; }

/* ---------- Теги, связанные, документы ---------- */
.entry-tag--plain { cursor: default; opacity: .8; }
.ab-related, .ab-docs { margin: 30px 0; }
.ab-related__title { font-size: 1.3rem; }
.ab-related__list { columns: 3 180px; padding-left: 1.2em; }
.ab-related__list li { break-inside: avoid; margin-bottom: 4px; }
.ab-sitemap-list { columns: 3 200px; }
.ab-sitemap-list li { break-inside: avoid; }

/* ---------- Поиск ---------- */
.ab-search-form { position: relative; max-width: 640px; margin: 10px 0 0; }
.ab-search-form .search-field { width: 100%; padding: 12px 48px 12px 14px; border: 1px solid #c5cbd6; border-radius: 4px; font: inherit; }

/* ---------- Форма заявки ---------- */
.ab-form { max-width: 640px; margin: 20px 0; }
.ab-form__item { padding: 10px 14px; background: var(--ab-bg-soft); border-radius: 4px; }
.ab-form__field { display: flex; flex-direction: column; gap: 4px; margin-bottom: 14px; }
.ab-form__field > span:first-child { font-weight: 600; }
.ab-form__field input, .ab-form__field textarea { padding: 9px 12px; border: 1px solid #c5cbd6; border-radius: 3px; font: inherit; width: 100%; box-sizing: border-box; }
.ab-form__field--short input { max-width: 160px; }
.ab-form__pair { display: grid; grid-template-columns: 1fr 1fr; gap: 0 16px; }
.ab-form__hint { margin: -6px 0 14px; color: var(--ab-muted); font-size: .9rem; }
.ab-form__consent { display: grid; grid-template-columns: auto 1fr; gap: 4px 10px; align-items: start; margin-bottom: 16px; }
.ab-form__consent input { margin-top: 4px; }
.ab-form__consent .ab-form__error { grid-column: 2; }
.ab-form__error { color: var(--ab-error); font-size: .88rem; min-height: 0; }
.ab-form__error:empty { display: none; }
.ab-form__hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
.ab-form-message { padding: 12px 16px; border-radius: 4px; margin: 16px 0; }
.ab-form-message--success { background: #e7f5ec; color: var(--ab-success); }
.ab-form-message--error { background: #fdecea; color: var(--ab-error); }

/* ---------- 404 ---------- */
.ab-404-search { position: relative; max-width: 560px; margin: 20px 0; }
.ab-404-search .search-field { width: 100%; padding: 12px 48px 12px 14px; border: 1px solid #c5cbd6; border-radius: 4px; }
.ab-404-links { display: flex; flex-wrap: wrap; gap: 10px 20px; list-style: none; padding: 0; }
.entry-content .ab-404-links li:before, .page-content .ab-404-links li:before { display: none; }

/* ---------- Адаптив ---------- */
@media (max-width: 767px) {
    .header-html-1 { display: none; }
    .ab-form__pair { grid-template-columns: 1fr; }
    .ab-filter__field--wide, .ab-filter__field--wide input { width: 100%; }
    fieldset.ab-filter__field { flex: 1 1 45%; }
    .ab-filter__field input { width: calc(50% - 4px); }
    .ab-filter__field--wide input { width: 100%; }
    .sticky-block-text { font-size: 16px; padding: 4px 8px; }
    body { padding-bottom: 48px; }
    .obj__img img { max-width: 100%; height: auto; }
}

/* Кнопки внутри контента не наследуют цвет ссылок */
.entry-content a.ab-btn, a.ab-btn, .ab-btn { color: #fff !important; }
@media (max-width: 991px) { .header-html-1 { display: none; } }
.ab-form__general:empty { display: none; }
