/*
 * Минимальный слой исправлений для redesign.css.
 * Подключать ПОСЛЕ исходного файла.
 * Исходное вложение не найдено в рабочей папке, поэтому этот файл
 * не заменяет его, а точечно перекрывает спорные/дублирующиеся правила.
 */

/* Единое предсказуемое поведение интерактивных элементов. */
:where(a, button, input, select, textarea, [tabindex]):focus-visible {
  outline: 3px solid var(--rd-ember-500, #ff7a1f);
  outline-offset: 3px;
}

:where(button, input[type="submit"], .btn, .btn-primary, .btn--primary,
  .cta-button, .hero-button, .submit-button, .parts-card__button,
  .product-card__button, .product-card__cta, .brake-hero-btn, .final-cta__button,
  .fc-submit, .tr-btn, .fq-chip, .messenger-btn, .messenger-link) {
  transition: background-color .2s ease, color .2s ease, border-color .2s ease,
    box-shadow .2s ease, transform .2s ease, filter .2s ease;
}

:where(button, input[type="submit"], .btn, .btn-primary, .btn--primary,
  .cta-button, .hero-button, .submit-button, .fc-submit):disabled,
:where(button, input[type="submit"], .btn, .btn-primary, .btn--primary,
  .cta-button, .hero-button, .submit-button, .fc-submit)[aria-disabled="true"] {
  cursor: not-allowed;
  opacity: .62;
  transform: none;
  filter: none;
}

/* Уважать настройку пользователя, отключающую анимацию. */
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    animation: none !important;
    transition: none !important;
  }
}

/* Изолированный stacking context: сетка не должна перекрывать содержимое hero. */
.section-hero:not([style*="hero-bg"]) {
  position: relative;
  isolation: isolate;
}

.section-hero:not([style*="hero-bg"])::before {
  z-index: -1;
}

/* Исправить конфликтующие определения тарифной сетки:
   3 колонки на широком экране, 2 на планшете, 1 на телефоне. */
.tr-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

@media (max-width: 960px) {
  .tr-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 600px) {
  .tr-grid {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* Сжать широкие карточки без переполнения длинными словами/контентом. */
.xp-card,
.cat-card,
.rv-card,
.tr-card,
.fq-item,
.hb-link {
  min-width: 0;
}

/* Область FAQ — удобнее нажимать на мобильном; сохраняем размеры иконки. */
.fq-q {
  min-height: 56px;
}

/* Ticker не должен навязывать бесконечное движение при наведении/фокусе. */
.brands-ticker__viewport:focus-within .brands-ticker__track,
.brands-ticker__viewport:hover .brands-ticker__track {
  animation-play-state: paused;
}

/* Предотвратить сжатие CTA и переполнение поля на узких экранах. */
.fc-field {
  min-width: min(240px, 100%);
}

@media (max-width: 600px) {
  .fc-field {
    min-width: 0;
    width: 100%;
  }

  .tp-wrap,
  .hb-wrap {
    padding-right: 16px;
    padding-left: 16px;
  }
}

/* Контраст заголовка блока похожих ссылок на светлом фоне. */
.hb-title {
  color: #10141d;
}

/* Системный fallback, если веб-шрифт временно недоступен. */
:root {
  --rd-font-display: 'Unbounded', 'Montserrat', 'Segoe UI', Arial, sans-serif;
  --rd-font-body: 'Manrope', 'Open Sans', 'Segoe UI', Arial, sans-serif;
}

/* Явное выделение выбранного языка/ссылки/кнопки, если интерфейс использует
   aria-current или aria-pressed. */
:where(a, button)[aria-current="page"],
:where(button)[aria-pressed="true"] {
  border-color: var(--rd-ember-500, #ff7a1f);
}

@media (forced-colors: active) {
  :where(a, button, input, select, textarea, [tabindex]):focus-visible {
    outline: 2px solid Highlight;
  }
}

/* Устранить побочные эффекты глобального !important в исходном наборе кнопок. */
.btn-secondary {
  background: #6c757d !important;
  color: #fff !important;
  box-shadow: none !important;
}

.btn-secondary:hover {
  background: #545b62 !important;
  box-shadow: none !important;
}

.messenger-link--whatsapp,
.whatsapp-chat__cta {
  background: #25d366 !important;
  box-shadow: 0 4px 12px rgba(37, 211, 102, .22) !important;
}

.messenger-link--telegram {
  background: #0088cc !important;
  box-shadow: 0 4px 12px rgba(0, 136, 204, .22) !important;
}

.messenger-link--whatsapp:hover,
.whatsapp-chat__cta:hover {
  background: #20ba5a !important;
  box-shadow: 0 6px 16px rgba(37, 211, 102, .3) !important;
}

.messenger-link--telegram:hover {
  background: #0077b3 !important;
  box-shadow: 0 6px 16px rgba(0, 136, 204, .3) !important;
}

/* ===== Ремонт правил, побитых пробелами в redesign.css ===== */
.pb-badge{align-items:center;letter-spacing:.18em;}
.pb-title{font-family:var(--rd-font-display);}
.pb-lead{color:var(--rd-text-muted);}
.xp-icon{justify-content:center;}
.xp-card--half{grid-column:span 3;}
.xp-chat__b{border-radius:10px;padding:10px 12px;font-size:12.5px;line-height:1.45;color:var(--rd-text);}
.xp-chat__status{display:flex;}
.cat-card{background:var(--rd-ink-800);border:1px solid var(--rd-border);border-radius:16px;overflow:hidden;display:flex;flex-direction:column;text-decoration:none;transition:transform .2s,border-color .2s;}
.cat-media{background:radial-gradient(120% 90% at 80% 0%,rgba(244,93,11,.22),transparent 60%),linear-gradient(160deg,#1c2230 0%,#0a0c12 100%);}
.cat-chip--l{left:10px;}
.cat-row{align-items:center;}
.cat-arrow{border:1px solid var(--rd-border);}
.st-grid{gap:40px;}
.st-item::before{position:absolute;}
.st-media{background:radial-gradient(120% 90% at 80% 0%,rgba(244,93,11,.18),transparent 60%),linear-gradient(160deg,#1c2230 0%,#0a0c12 100%);}
.st-badge{font-size:12.5px;}
.st-stat span{color:var(--rd-text-muted);font-size:11px;}
.rv-score{border-radius:16px;}
.rv-score small{display:block;color:var(--rd-text-muted);font-size:11px;margin-top:4px;max-width:120px;line-height:1.3;}
.rv-stars{letter-spacing:2px;}
.rv-card{background:var(--rd-ink-800);}
.rv-quote{color:rgba(255,255,255,.06);}
.rv-author{align-items:center;}
.rv-avatar{background:linear-gradient(135deg,var(--rd-ember-400),var(--rd-ember-600));}
.rv-author b{font-size:14px;}
.tr-list{list-style:none;margin:0 0 24px;padding:0;display:flex;flex-direction:column;gap:12px;flex:1;}
.tr-list li{color:var(--rd-text-muted);}
.tr-btn{padding:13px;}
.tr-btn:hover{border-color:var(--rd-ember-400);}
.tr-foot{text-align:center;}
.fq-contact{border-radius:18px;}
.fq-contact h3{font-size:18px;}
.fq-contact__btns{flex-wrap:wrap;}
.fq-chip,.fq-chip:hover{text-decoration:none;}
.fq-item{background:var(--rd-ink-800);}
.fq-ic{border:1px solid var(--rd-border);}
.fq-a{overflow:hidden;}
.fq-item.fq-open .fq-a{max-height:400px;}
.fc-box{background:radial-gradient(900px 400px at 50% -10%,rgba(244,93,11,.18),transparent 60%),linear-gradient(180deg,#131722 0%,#0a0c12 100%);}
.fc-chip{align-items:center;}
.fc-form{justify-content:center;}
.fc-field__ic svg{width:18px;height:18px;}
.fc-submit{background:linear-gradient(135deg,var(--rd-ember-400),var(--rd-ember-600));}
.fc-legal{color:var(--rd-text-muted);}
.fc-alt{font-size:13px;}
@media (max-width:960px){
.cat-grid{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:600px){
.cat-grid,.xp-grid{grid-template-columns:1fr;}
.xp-card,.xp-card--wide,.xp-card--half{grid-column:span 1;}
.fc-submit{justify-content:center;}
}

.xl-wrap{max-width:1100px;margin:0 auto;padding:8px 20px 44px;}
.xl-title{font-family:var(--rd-font-display);font-size:clamp(16px,2vw,22px);font-weight:700;color:#10141d;margin:0 0 14px;}
.xl-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
.xl-col{background:#fff;border:1px solid #e3e7ec;border-radius:14px;padding:16px 18px;min-width:0;}
.xl-col h3{margin:0 0 8px;font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#5b6470;}
.xl-col a{display:block;padding:7px 0;border-bottom:1px solid #f0f2f5;color:#10141d;font-size:14px;font-weight:600;text-decoration:none;}
.xl-col a:last-child{border-bottom:none;}
.xl-col a:hover{color:#c2410c;}
@media (max-width:900px){.xl-grid{grid-template-columns:1fr;}}

.xl-cta{background:linear-gradient(180deg,#131722 0%,#0a0c12 100%);border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:26px 24px;margin:26px 0 10px;text-align:center;}
.xl-cta p{margin:0 0 14px;font-size:15px;font-weight:700;color:#fff;}
.xl-cta .tp-switch{justify-content:center;margin-top:0;}
.xl-cta .tp-switch a{border-color:rgba(255,255,255,.16);color:#e8eaed;background:rgba(255,255,255,.04);}
.xl-cta .tp-switch a:hover{border-color:#f45d0b;color:#ff9e57;}

/* ===== конец ремонтного блока ===== */

/*
 * Ручная оптимизация исходника (не обязательна для применения этого слоя):
 * - удалить повторяющийся второй @media с тем же правилом .section-hero;
 * - оставить единственное определение .tr-grid/.tr-card вместо дубля внизу;
 * - собрать последовательные body/#bar_all/#bar правила в один блок;
 * - для FAQ заменить фиксированный max-height:400px: длинный ответ может
 *   обрезаться; лучше управлять высотой через JS или grid-template-rows.
 * - перенести Google Fonts @import в <link rel="preconnect"> и <link>
 *   в HTML, чтобы снизить блокировку загрузки CSS.
 */

/* EOF */
