/* ===== Мобильная адаптация pipe-group.ru (2026-08-30) =====
   Инлайн-стили шаблона рендерятся ПОСЛЕ этого файла,
   поэтому на конфликтных правилах стоит !important. */

@media screen and (max-width: 1023px) {
  html, body { height: auto !important; }
  body { font-size: 15px !important; }

  .wrapper { width: auto !important; min-width: 0 !important; padding: 0 10px !important; margin: 0 auto 0 auto !important; box-sizing: border-box !important; overflow-x: hidden !important; }
  .footerOffset { height: 0 !important; display: none !important; }
  .footer { width: auto !important; height: auto !important; background: #22313d !important; padding: 15px 10px 20px !important; box-sizing: border-box !important; margin: 0 !important; }
  .fInfo { float: none !important; padding: 5px 0 10px !important; }
  .fInfo span { font-size: 20px !important; }
  .fInfo b { margin: 6px 0 2px !important; }
  .fMenu { float: none !important; padding: 10px 0 0 !important; }
  .fMenu div { width: auto !important; margin-top: 8px !important; }
  .fMenu div ul li { width: auto !important; float: none !important; margin: 0 0 8px !important; }
  .fMenu div ul li a { font-size: 15px !important; display: block !important; padding: 10px 0 !important; }
  .fLinks { float: none !important; border-left: 0 !important; padding: 10px 0 0 !important; margin: 0 !important; }
  .fLinks a { padding: 10px 0 10px 20px !important; font-size: 15px !important; }
  .fDeveloper { float: none !important; text-align: left !important; margin: 10px 0 0 !important; }
  /* Контраст текста подвала (аудит Lighthouse) */
  .fMenu b { color: #e2e2e2 !important; }
  .fLinks a { color: #d6d6d6 !important; }
  .fDeveloper span, .fDeveloper a { color: #d8cfae !important; }
  .fInfo div { color: #dddddd !important; }
  .fInfo b { color: #eeeeee !important; }

  .logo { margin: 0 auto !important; }

  /* Колонки в столбик: меню сверху, контент ниже */
  .aside { float: none !important; width: auto !important; padding-top: 10px !important; }
  .mainColumn { float: none !important; width: auto !important; margin-left: 0 !important; padding-top: 10px !important; }

  /* Бургер-кнопка меню (2026: анимированный гамбургер -> крестик) */
  .menuToggle { display: block; width: 100%; padding: 14px 10px; font: bold 17px Arial; text-align: left; background: #0F4C81; color: #fff; border: 0; border-radius: 10px; margin: 8px 0; cursor: pointer; box-shadow: 0 3px 10px rgba(15,76,129,.25); }
  .menuToggle span { display: inline-block; width: 20px; height: 3px; background: #fff; margin-right: 10px; vertical-align: middle; position: relative; border-radius: 2px; transition: background .25s ease; }
  .menuToggle span:before, .menuToggle span:after { content: ''; position: absolute; left: 0; width: 20px; height: 3px; background: #fff; border-radius: 2px; transition: transform .25s ease, top .25s ease; }
  .menuToggle span:before { top: -7px; }
  .menuToggle span:after { top: 7px; }
  .menuToggle.open span { background: transparent; }
  .menuToggle.open span:before { transform: rotate(45deg); top: 0; }
  .menuToggle.open span:after { transform: rotate(-45deg); top: 0; }
  .aside.has-burger .menu { display: block !important; max-height: 0; opacity: 0; overflow: hidden; transition: max-height .35s ease, opacity .3s ease; }
  .aside.has-burger.menu-open .menu { max-height: 2400px; opacity: 1; }
  .aside.has-burger .submenuDiv { display: block !important; }

  /* Меню: крупные тап-цели, подменю всегда развёрнуто */
  .menu ul li a.lvl1 { text-align: left !important; font-size: 17px !important; padding: 12px 10px !important; }
  .menu ul li div.submenuDiv { display: block !important; position: static !important; left: auto !important; top: auto !important; border: 0 !important; width: auto !important; max-width: 100% !important; overflow: hidden !important; }
  .menu ul li div.submenuDiv div, .menu ul li div.submenuDiv ul { width: auto !important; max-width: 100% !important; }
  .menu ul li div div { border: 0 !important; padding: 0 0 6px 10px !important; background: none !important; }
  .menu ul li ul li { margin: 0 !important; }
  .menu ul li ul li a { font-size: 15px !important; padding: 13px 8px !important; }
  .menu ul li ul li ul li { float: none !important; margin: 0 !important; }

  /* Шапка: компактно в два столбца — телефон | кнопка, адрес скрыт (есть в подвале) */
  .header { line-height: 1.5 !important; display: flex !important; flex-wrap: wrap; align-items: center !important; justify-content: space-between !important; gap: 8px !important; }
  .header .hAddr { display: none !important; }
  .header .hHours { order: 3; flex-basis: 100%; font-size: 12px !important; padding: 5px 12px !important; white-space: normal; text-align: center; }
  .header span { font-size: 18px !important; display: inline-block !important; margin: 0 !important; top: 0 !important; order: 1; }
  .header span a { color: #fff !important; text-decoration: none !important; font-weight: 700 !important; font-size: 19px !important; }
  .hOrder { order: 2; margin: 0 !important; display: inline-block !important; padding: 9px 14px !important; background: #0F4C81 !important; color: #fff !important; border-radius: 8px !important; text-decoration: none !important; font-size: 14px !important; white-space: nowrap !important; }

  /* Баннер на всю ширину */
  .slidesDiv { margin-top: 10px !important; }
  .objBanner > div { width: 100% !important; height: auto !important; min-height: 150px !important; background-size: cover !important; background-position: center !important; box-sizing: border-box !important; }
  .slide1Left { float: none !important; width: auto !important; margin: 0 !important; padding: 12px !important; }
  .slide1Left a { display: inline-block !important; background: rgba(255,255,255,.85) !important; padding: 8px 12px !important; font-size: 15px !important; text-decoration: none !important; }
  .slide1Right { position: static !important; width: auto !important; padding: 15px !important; margin: 0 !important; box-sizing: border-box !important; }
  .bannersNums a { padding: 8px 14px !important; font-size: 15px !important; margin: 2px !important; }

  /* Таблицы: горизонтальная прокрутка (обёртка ставится из JS) */
  .tableScroll { overflow-x: auto !important; -webkit-overflow-scrolling: touch; }
  .tableScroll table { max-width: none !important; }

  /* Картинки не вылезают */
  img { max-width: 100% !important; height: auto !important; }
  iframe, object, embed { max-width: 100% !important; }

  /* Виджет обратной связи на всю ширину */
  .feedbackFloat { width: auto !important; left: 10px !important; right: 10px !important; top: 20% !important; margin-top: 0 !important; }
  .fbfContent { width: auto !important; }
  #fbfName, #fbfContact, .fbfContent textarea { width: 100% !important; box-sizing: border-box !important; }

  /* Табы и панели */
  .tabs a { display: block !important; margin: 4px 0 !important; text-align: center !important; }
  .panels-grad-top, .panels-grad-bottom { width: auto !important; }

  /* Поиск шире */
  .search { width: auto !important; max-width: 260px !important; }
  .search input.sInput { width: 85% !important; font-size: 15px !important; }

  /* Новости/статьи в столбик */
  .newsDiv, .articlesDiv { float: none !important; width: auto !important; margin: 0 0 15px !important; }
  .nfDate { float: none !important; }
  .nfLeft { float: none !important; margin: 0 0 10px !important; }
  .catMenu ul li { float: none !important; margin: 0 0 12px !important; }

  h1 { font-size: 21px !important; }
  h2 { font-size: 19px !important; }
  .path { font-size: 13px !important; }
  .browse_msg a, .browse_msg span { width: 36px !important; height: 36px !important; line-height: 36px !important; font-size: 15px !important; }
}

@media screen and (max-width: 640px) {
  body { font-size: 16px !important; }
  .wrapper { padding: 0 8px !important; }
  .objBanner > div { min-height: 120px !important; }
  .fbfContent label { font-size: 14px !important; }
  .prodGrid { grid-template-columns: repeat(2, 1fr) !important; }
  .tcRow { flex-direction: column !important; gap: 8px !important; }
  .tcCta { flex-direction: column !important; align-items: flex-start !important; }
  .newsTeaser { flex-wrap: wrap; }
  /* Модалка заявки на мобиле — нижний лист */
  .feedbackFloat { top: auto !important; bottom: 0 !important; left: 0 !important; right: 0 !important; transform: none !important; width: auto !important; max-width: none !important; border-radius: 16px 16px 0 0 !important; max-height: 92vh !important; }
  .fbfTitle { border-radius: 16px 16px 0 0 !important; }
}

/* На десктопе бургера нет */
@media screen and (min-width: 1024px) {
  .menuToggle { display: none !important; }
  .aside.has-burger .menu { display: block !important; max-height: none !important; opacity: 1 !important; overflow: visible !important; }
}
