/* ==========================================================
   Milwaukee Service — Stage 9 parts/product UI polish
   2026-05-27
   Исправления после визуальной проверки:
   - читаемые кнопки контактов на страницах запчастей;
   - аккуратные карточки /zapchasti/ без вылезания текста;
   - стабильная таблица совместимости на страницах товаров;
   - дополнительная защита от белой подложки в столбце корзины.
   ========================================================== */

:root{
  --mw-stage9-bg:#08090d;
  --mw-stage9-card:#12151d;
  --mw-stage9-card-2:#171b24;
  --mw-stage9-line:rgba(255,255,255,.13);
  --mw-stage9-line-soft:rgba(255,255,255,.08);
  --mw-stage9-text:#f7f8fa;
  --mw-stage9-muted:rgba(255,255,255,.72);
  --mw-stage9-muted-2:rgba(255,255,255,.56);
  --mw-stage9-red:#db011c;
}

/* Общая защита от вылезания длинных строк на страницах запчастей */
.mw-product-layout,
.mw-product-main,
.mw-product-side,
.mw-product-main .mw-card,
.mw-product-side .mw-card,
.mw-product-main .mw-card-body,
.mw-product-side .mw-card-body,
.mw-fit-table,
.mw-fit-table th,
.mw-fit-table td,
.mw-popular-parts,
.mw-popular-part,
.mw-parts-stat,
.mw-parts-stat strong,
.mw-parts-stat span{
  min-width:0 !important;
  max-width:100%;
  box-sizing:border-box;
}

/* 1) Правая карточка товара: кнопки контактов должны быть читаемыми,
   не сливаться с фоном и не разбиваться по буквам. */
.mw-product-side .mw-card{
  overflow:hidden !important;
}

.mw-product-side .mw-actions{
  display:grid !important;
  grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
  gap:10px !important;
  margin-top:18px !important;
  align-items:stretch !important;
}

.mw-product-side .mw-actions .mw-button,
.mw-product-side .mw-actions .mw-button.mw-button--outline{
  width:100% !important;
  min-width:0 !important;
  min-height:46px !important;
  padding:10px 10px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
  white-space:nowrap !important;
  word-break:keep-all !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  line-height:1 !important;
  font-size:12px !important;
  letter-spacing:.055em !important;
  text-transform:uppercase !important;
  font-weight:850 !important;
  color:#fff !important;
  text-decoration:none !important;
  border-radius:16px !important;
  border:1px solid rgba(255,255,255,.18) !important;
  background:linear-gradient(180deg, rgba(255,255,255,.115), rgba(255,255,255,.055)) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08), 0 10px 22px rgba(0,0,0,.18) !important;
}

.mw-product-side .mw-actions .mw-button[href^="tel"]{
  background:linear-gradient(135deg, rgba(219,1,28,.98), rgba(150,0,18,.98)) !important;
  border-color:rgba(255,255,255,.22) !important;
  box-shadow:0 12px 26px rgba(219,1,28,.22) !important;
}

.mw-product-side .mw-actions .mw-button:hover,
.mw-product-side .mw-actions .mw-button:focus-visible{
  color:#fff !important;
  background:linear-gradient(135deg, rgba(219,1,28,.96), rgba(105,13,24,.96)) !important;
  border-color:rgba(255,255,255,.30) !important;
  transform:translateY(-1px);
}

.mw-product-side .mw-actions .mw-button:active{
  transform:translateY(0);
}

/* Текстовое описание рядом с кнопками — аккуратно и без переполнения */
.mw-product-side .mw-card-body p{
  overflow-wrap:anywhere !important;
  word-break:normal !important;
}

/* 2) /zapchasti/: три информационные карточки под статистикой.
   Чиним метки "артикул" / "поиск и заявка" и перенос заголовков. */
.mw-parts-index-hero + .mw-section .mw-grid--3{
  align-items:stretch !important;
  gap:16px !important;
}

.mw-parts-index-hero + .mw-section .mw-grid--3 > .mw-card,
.mw-parts-index-hero + .mw-section .mw-grid--3 > .mw-card-link{
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  justify-content:flex-start !important;
  gap:0 !important;
  min-height:214px !important;
  padding:26px 24px !important;
  overflow:hidden !important;
  background:linear-gradient(145deg, rgba(24,20,27,.96), rgba(14,17,24,.96)) !important;
  border:1px solid rgba(255,255,255,.13) !important;
  color:var(--mw-stage9-text) !important;
}

.mw-parts-index-hero + .mw-section .mw-grid--3 > .mw-card .mw-card-meta,
.mw-parts-index-hero + .mw-section .mw-grid--3 > .mw-card-link .mw-card-meta{
  position:static !important;
  display:inline-flex !important;
  align-items:center !important;
  width:auto !important;
  max-width:100% !important;
  margin:0 0 18px !important;
  padding:0 !important;
  color:rgba(255,255,255,.76) !important;
  font-size:11px !important;
  line-height:1.2 !important;
  letter-spacing:.16em !important;
  text-transform:uppercase !important;
  white-space:normal !important;
  overflow-wrap:anywhere !important;
}

.mw-parts-index-hero + .mw-section .mw-grid--3 > .mw-card h3,
.mw-parts-index-hero + .mw-section .mw-grid--3 > .mw-card-link h3{
  margin:0 0 14px !important;
  max-width:100% !important;
  color:#fff !important;
  font-size:clamp(22px, 2.35vw, 30px) !important;
  line-height:1.13 !important;
  letter-spacing:-.035em !important;
  overflow-wrap:normal !important;
  word-break:normal !important;
}

.mw-parts-index-hero + .mw-section .mw-grid--3 > .mw-card p,
.mw-parts-index-hero + .mw-section .mw-grid--3 > .mw-card-link p{
  margin:0 !important;
  max-width:100% !important;
  color:rgba(255,255,255,.72) !important;
  font-size:16px !important;
  line-height:1.55 !important;
  overflow-wrap:normal !important;
  word-break:normal !important;
}

.mw-parts-index-hero + .mw-section .mw-grid--3 > .mw-card-link{
  text-decoration:none !important;
}

/* Карточки часто встречающихся запчастей: длинные EAN/артикулы не вылезают */
.mw-popular-part{
  min-width:0 !important;
  overflow:hidden !important;
}

.mw-popular-part span{
  min-width:0 !important;
  max-width:100% !important;
}

.mw-popular-part strong,
.mw-popular-part small{
  max-width:100% !important;
  overflow-wrap:anywhere !important;
  word-break:normal !important;
}

.mw-popular-part b{
  flex:0 0 auto !important;
  max-width:120px !important;
}

/* 3) Страница товара: таблица "Подходит для инструментов".
   Разделяем модель и категорию, убираем слипание, чиним позицию. */
.mw-fit-table{
  border-collapse:separate !important;
  border-spacing:0 !important;
  min-width:760px !important;
  width:100% !important;
  table-layout:fixed !important;
}

.mw-fit-table th,
.mw-fit-table td{
  padding:13px 14px !important;
  overflow-wrap:anywhere !important;
  word-break:normal !important;
}

.mw-fit-table th:first-child,
.mw-fit-table td:first-child{
  width:42% !important;
}

.mw-fit-table th:nth-child(2),
.mw-fit-table td:nth-child(2){
  width:17% !important;
}

.mw-fit-table th:nth-child(3),
.mw-fit-table td:nth-child(3){
  width:17% !important;
}

.mw-fit-table th:nth-child(4),
.mw-fit-table td:nth-child(4){
  width:12% !important;
  text-align:center !important;
}

.mw-fit-table th:nth-child(5),
.mw-fit-table td:nth-child(5){
  width:12% !important;
  text-align:center !important;
}

.mw-fit-table td:first-child a{
  display:block !important;
  margin:0 0 7px !important;
  color:#fff !important;
  font-weight:850 !important;
  line-height:1.32 !important;
  overflow-wrap:anywhere !important;
  word-break:normal !important;
}

.mw-fit-table td:first-child small{
  display:inline-flex !important;
  align-items:center !important;
  max-width:100% !important;
  margin-top:2px !important;
  padding:4px 8px !important;
  border-radius:999px !important;
  background:rgba(255,255,255,.07) !important;
  border:1px solid rgba(255,255,255,.10) !important;
  color:rgba(255,255,255,.64) !important;
  font-size:12px !important;
  line-height:1.25 !important;
  overflow-wrap:anywhere !important;
  white-space:normal !important;
}

.mw-fit-position{
  min-width:50px !important;
  white-space:nowrap !important;
  word-break:keep-all !important;
  text-align:center !important;
  font-variant-numeric:tabular-nums !important;
}

/* На совсем узких экранах таблица прокручивается, а не ломает карточку */
@media (max-width:980px){
  .mw-product-layout{
    grid-template-columns:1fr !important;
  }

  .mw-product-side{
    position:static !important;
  }
}

@media (max-width:760px){
  .mw-product-side .mw-actions{
    grid-template-columns:1fr !important;
  }

  .mw-product-side .mw-actions .mw-button{
    min-height:48px !important;
    font-size:13px !important;
  }

  .mw-parts-index-hero + .mw-section .mw-grid--3 > .mw-card,
  .mw-parts-index-hero + .mw-section .mw-grid--3 > .mw-card-link{
    min-height:0 !important;
    padding:22px 20px !important;
  }

  .mw-parts-index-hero + .mw-section .mw-grid--3 > .mw-card h3,
  .mw-parts-index-hero + .mw-section .mw-grid--3 > .mw-card-link h3{
    font-size:24px !important;
  }

  .mw-fit-table{
    min-width:720px !important;
  }
}

/* 4) Дополнительная защита от белой подложки в правом столбце корзины
   на страницах схем после sticky-эффектов браузера. */
.mw-parts-table th:last-child,
.mw-parts-table td:last-child,
.mw-parts-table .mw-cart-cell{
  background-clip:padding-box !important;
}

.mw-parts-table tbody tr td.mw-cart-cell{
  background-color:#11151d !important;
}

.mw-parts-table tbody tr:nth-child(odd) td.mw-cart-cell{
  background:linear-gradient(180deg, rgba(21,24,32,.99), rgba(18,21,29,.99)) !important;
}

.mw-parts-table tbody tr:nth-child(even) td.mw-cart-cell{
  background:linear-gradient(180deg, rgba(17,20,27,.99), rgba(14,17,24,.99)) !important;
}

.mw-parts-table thead th:last-child{
  background:linear-gradient(180deg, rgba(35,39,50,.99), rgba(25,29,38,.99)) !important;
}

.mw-parts-table .mw-cart-add{
  background:rgba(255,255,255,.075) !important;
  border-color:rgba(255,255,255,.16) !important;
}

.mw-parts-table .mw-cart-add:hover,
.mw-parts-table .mw-cart-add:focus-visible{
  background:linear-gradient(135deg, rgba(219,1,28,.98), rgba(132,0,17,.98)) !important;
}

/* Если браузер делает sticky-last-cell белым из старого правила — принудительно убираем. */
.mw-table-wrap .mw-parts-table th[style],
.mw-table-wrap .mw-parts-table td[style]{
  background-color:transparent;
}
