/* ==========================================================
   Milwaukee Service — Stage 1 UI cleanup, 2026-05-26
   Единый шрифт, аккуратная шапка/подвал, мобильные фиксы,
   кнопка наверх и лупа схемы без клика по всей картинке.
   ========================================================== */
:root { --mw-font-main: "Jura", "Manrope", "Inter", "Segoe UI", Arial, sans-serif; }
html, body, button, input, textarea, select, a, p, span, div, li, label, small, strong, b,
h1, h2, h3, h4, h5, h6, table, thead, tbody, tfoot, tr, th, td, code, pre, kbd, samp {
  font-family: var(--mw-font-main) !important;
}
code, pre, kbd, samp, .mw-parts-table code {
  font-weight: 700 !important;
  letter-spacing: .01em !important;
  font-variant-numeric: lining-nums tabular-nums;
  color: #fff;
}
body { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
.mw-header--pro { transition: transform .24s ease, box-shadow .24s ease, background .24s ease; will-change: transform; }
.mw-header--pro.is-hidden { transform: translateY(-100%); }
.mw-header--pro.is-solid { background: rgba(7,8,12,.97); box-shadow: 0 18px 55px rgba(0,0,0,.34); }
.mw-nav--pro a:first-child { background: rgba(218,3,29,.18); color: #fff; }
.mw-nav--pro a.is-active:first-child { background: linear-gradient(135deg, var(--mw-red), var(--mw-red-dark)); }
.mw-header-line__text { letter-spacing: .02em; }
.mw-mobile-panel--pro a[href="/vzryv-shemy/"] { background: rgba(218,3,29,.22); color: #fff; }
.mw-scheme-box { cursor: default; }
.mw-scheme-box > img { pointer-events: none; user-select: none; }
.mw-scheme-box .mw-zoom-btn { text-decoration: none; cursor: zoom-in; }
.mw-scheme-box .mw-zoom-btn:hover { transform: translateY(-2px) scale(1.03); }
.mw-footer--clean { padding: 0 0 24px; }
.mw-footer-clean-grid {
  display: grid;
  grid-template-columns: minmax(260px, 1.15fr) minmax(155px,.65fr) minmax(230px,1fr) minmax(230px,.9fr);
  gap: 28px;
  padding: 42px 0 28px;
  border-bottom: 1px solid rgba(255,255,255,.10);
}
.mw-footer-clean-brand p { margin: 16px 0 0; max-width: 430px; color: rgba(255,255,255,.72); line-height: 1.62; }
.mw-footer--clean .mw-footer-tags span { white-space: normal; }
.mw-footer--clean .mw-footer-col a, .mw-footer--clean .mw-footer-col span { line-height: 1.38; }
.mw-footer--clean .mw-footer-logo img { width: 210px; max-width: 100%; display: block; }
.mw-scroll-top {
  position: fixed; right: 22px; bottom: 22px; z-index: 80;
  width: 52px; height: 52px; border: 0; border-radius: 18px;
  display: grid; place-items: center; cursor: pointer;
  color: #fff; background: linear-gradient(135deg, var(--mw-red), var(--mw-red-dark));
  box-shadow: 0 18px 44px rgba(218,3,29,.35);
  opacity: 0; visibility: hidden; transform: translateY(14px) scale(.96);
  transition: opacity .2s ease, visibility .2s ease, transform .2s ease;
  font-size: 24px; font-weight: 1000;
}
.mw-scroll-top.is-visible { opacity: 1; visibility: visible; transform: translateY(0) scale(1); }
.mw-mobile-dock { display: none; }
@media (max-width: 920px) {
  .mw-footer-clean-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .mw-footer-clean-brand, .mw-footer-contact { grid-column: span 2; }
}
@media (max-width: 760px) {
  body { padding-bottom: 76px; }
  .mw-header--pro.is-hidden { transform: translateY(-110%); }
  .mw-topbar--pro { min-height: 66px !important; }
  .mw-mobile-panel--pro { padding-bottom: 12px; }
  .mw-mobile-panel--pro a { min-height: 50px; border-radius: 18px; }
  .mw-section { padding-top: 28px; padding-bottom: 58px; }
  .mw-card, .mw-card-link, .mw-hero-main, .mw-hero-side, .mw-contact { border-radius: 22px; }
  .mw-card-head, .mw-card-body { padding-left: 18px; padding-right: 18px; }
  .mw-parts-table { min-width: 900px; }
  .mw-table-wrap { border-radius: 18px; border: 1px solid rgba(255,255,255,.08); }
  .mw-footer-clean-grid { grid-template-columns: 1fr; gap: 22px; padding-top: 32px; }
  .mw-footer-clean-brand, .mw-footer-contact { grid-column: auto; }
  .mw-footer-bottom { padding-bottom: 10px; }
  .mw-scroll-top { right: 14px; bottom: 86px; width: 48px; height: 48px; border-radius: 16px; }
  .mw-mobile-dock {
    position: fixed; left: 10px; right: 10px; bottom: 10px; z-index: 79;
    display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 7px;
    padding: 8px; border-radius: 22px;
    background: rgba(9,11,17,.92); border: 1px solid rgba(255,255,255,.12);
    box-shadow: 0 20px 60px rgba(0,0,0,.38); backdrop-filter: blur(18px);
  }
  .mw-mobile-dock a {
    min-height: 44px; display: flex; align-items: center; justify-content: center;
    border-radius: 16px; text-decoration: none; color: #fff;
    font-size: 12px; font-weight: 900; line-height: 1.05; text-align: center;
    background: rgba(255,255,255,.075); border: 1px solid rgba(255,255,255,.08);
  }
  .mw-mobile-dock a:first-child { background: linear-gradient(135deg, var(--mw-red), var(--mw-red-dark)); }
}
@media (max-width: 430px) {
  .mw-container { width: min(100% - 18px, 1200px) !important; }
  .mw-header--pro .mw-logo--pro { max-width: 158px !important; }
  .mw-header--pro .mw-logo--pro .mw-logo-clean { width: 154px !important; }
  .mw-burger--pro { width: 44px; height: 44px; }
  h1 { font-size: clamp(30px, 10.5vw, 38px) !important; }
  h2 { font-size: clamp(24px, 8vw, 32px) !important; }
  .mw-lead { font-size: 16px; line-height: 1.55; }
  .mw-actions .mw-button { width: 100%; }
}
