/* static-menu.css — единая шапка / меню / подвал и центровка контента.
   Копируется в site/ скриптом tools/trim.py и подключается ПОСЛЕДНИМ в <head> каждой страницы.
   Специфичность намеренно высокая (html body ...), чтобы не зависеть от того, какой «эпохи» CSS темы подцепился на странице. */

/* ---------- Шапка: десктоп (>=1024px) ---------- */
html body header.containerWrap{position:absolute!important;top:0;left:0;right:0;width:100%;z-index:100;background:transparent}
html body header.containerWrap .top_header{background:transparent;height:auto}
html body header.containerWrap .top_header>div{box-sizing:border-box;width:100%;max-width:1280px;margin-left:auto;margin-right:auto}
html body header.containerWrap .mb-button{display:none}
html body header.containerWrap .mobile-phone-icon{display:none}
html body header.containerWrap .h-lo img{display:block;max-width:100%;height:auto}
@media (min-width:1024px){
  html body header.containerWrap .top_header>div{display:flex;align-items:center;justify-content:space-between}
  html body header.containerWrap nav.top_menu{display:block;position:relative;flex:1 1 auto;min-width:0;width:auto;height:auto;margin:0;padding:0 20px;background:none;top:auto;left:auto;right:auto;bottom:auto;z-index:auto}
  html body header.containerWrap nav.top_menu .full_menu{display:block;position:static}
  html body header.containerWrap nav.top_menu ul.menu{display:flex;flex-wrap:nowrap;align-items:center;justify-content:center;gap:0 34px;position:static;width:auto;height:auto;margin:0;padding:0;background:none;overflow:visible;text-align:left;font-size:0;box-shadow:none}
  html body header.containerWrap nav.top_menu ul.menu>li{display:block;position:relative;float:none;margin:0;padding:0;background:none}
  html body header.containerWrap nav.top_menu ul.menu>li:before{display:none}
  html body header.containerWrap nav.top_menu ul.menu>li>a{display:block;margin:0;padding:3px 0;color:#fff;font-size:14px;font-weight:500;letter-spacing:.02em;line-height:20px;text-transform:uppercase;text-decoration:none;white-space:nowrap;height:auto;background:none;border-bottom:2px solid transparent;transform:none;top:auto;transition:border-color .2s,opacity .2s}
  html body header.containerWrap nav.top_menu ul.menu>li>a:hover{color:#fff;opacity:.85;border-bottom-color:rgba(255,255,255,.6);text-decoration:none}
  html body header.containerWrap nav.top_menu ul.menu>li.current-menu-item>a{color:#fff;border-bottom-color:#fc4a2a}
  html body header.containerWrap .social_head{display:flex;flex-wrap:nowrap;gap:10px;margin:0;float:none;position:static}
  html body header.containerWrap .social_head a{display:block;width:30px;height:30px;margin:0;float:none;border-radius:5px;background-size:30px!important}
  html body header.containerWrap .h-phn{display:block;color:#fff;font-size:18px;font-weight:600;white-space:nowrap}
  html body header.containerWrap .mb-menu,html body header.containerWrap .mb-menu.open{display:none}
}
/* узкий десктоп 1024-1279: чуть плотнее, чтобы пункты и телефон влезли в одну строку */
@media (min-width:1024px) and (max-width:1279px){
  html body header.containerWrap nav.top_menu{padding:0 8px}
  html body header.containerWrap nav.top_menu ul.menu{gap:0 16px}
  html body header.containerWrap nav.top_menu ul.menu>li>a{font-size:12px;letter-spacing:0}
  html body header.containerWrap .social_head{gap:6px}
  html body header.containerWrap .social_head a{width:26px;height:26px;background-size:26px!important}
  html body header.containerWrap .h-phn{font-size:15px}
  html body header.containerWrap .h-lo img{width:130px}
}

/* ---------- Шапка: планшет/мобильный (<1024px) ---------- */
@media (max-width:1023px){
  html body header.containerWrap .top_header>div{display:flex;align-items:center;justify-content:space-between}
  html body header.containerWrap nav.top_menu{display:none}
  html body header.containerWrap .mb-button{display:block;background:none;border:0;padding:8px;color:#fff;cursor:pointer}
  html body header.containerWrap .mb-button svg{width:24px;height:24px;display:block}
  html body header.containerWrap .mobile-phone-icon{display:flex}
  html body header.containerWrap .social_head{display:flex;gap:8px;margin:0}
  html body header.containerWrap .social_head a{display:block;width:28px;height:28px;margin:0;float:none;background-size:28px!important}
  html body header.containerWrap .h-phn{display:none}
}
@media (max-width:480px){
  html body header.containerWrap .h-lo img{width:120px;height:auto}
  html body header.containerWrap .social_head a{width:24px;height:24px;background-size:24px!important}
}

/* ---------- Мобильное меню-бургер (то же единое меню) ---------- */
html body header.containerWrap .mb-menu{display:none;position:fixed;top:0;left:0;right:0;bottom:0;z-index:2147483000;background:#232323;color:#fff;overflow-y:auto;-webkit-overflow-scrolling:touch}
html body header.containerWrap .mb-menu.open{display:block}
html body header.containerWrap .mb-menu__panel{position:static;box-sizing:border-box;min-height:100%;max-width:560px;margin:0 auto;padding:16px 20px 32px;background:#232323;color:#fff}
html body header.containerWrap .mb-menu__top{display:flex;align-items:center;justify-content:space-between;margin-bottom:32px}
html body header.containerWrap .mb-menu__logo img{display:block;width:144px;height:auto}
html body header.containerWrap .mb-close{display:block;background:none;border:0;padding:8px;color:#fff;cursor:pointer}
html body header.containerWrap .mb-close svg{display:block;width:24px;height:24px}
html body header.containerWrap .mb-menu nav{margin:0 0 32px}
html body header.containerWrap .mb-menu ul.mb-nav{display:block;margin:0;padding:0;list-style:none}
html body header.containerWrap .mb-menu ul.mb-nav>li{display:block;margin:0;padding:0;border-bottom:1px solid rgba(255,255,255,.12)}
html body header.containerWrap .mb-menu ul.mb-nav>li>a{display:block;padding:16px 0;color:#fff;font-size:18px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;text-decoration:none}
html body header.containerWrap .mb-menu ul.mb-nav>li.current-menu-item>a{color:#fc4a2a}
html body header.containerWrap .mb-menu__contacts{display:flex;flex-direction:column;align-items:center;gap:18px;text-align:center}
html body header.containerWrap .mb-menu__phone{display:flex;align-items:center;gap:12px}
html body header.containerWrap .mb-menu__phone svg{width:24px;height:24px;flex:none}
html body header.containerWrap .mb-menu .h-phn{display:block;color:#fff;font-size:22px;font-weight:600;white-space:nowrap;text-decoration:none}
html body header.containerWrap .mb-menu__social{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 22px}
html body header.containerWrap .mb-menu__social a{display:inline-block;width:auto;height:auto;margin:0;float:none;background:none!important;color:#b9b9b9;font-size:14px;text-decoration:none}
html.mb-open,html.mb-open body{overflow:hidden}

/* ---------- Подвал ---------- */
html body footer.containerWrap{display:block;margin-top:50px;padding:35px 0 20px;background:#232323}
html body footer.containerWrap .wrap{box-sizing:border-box}
html body footer.containerWrap .foot-cols{display:grid;grid-template-columns:minmax(180px,1fr) minmax(200px,1fr) minmax(280px,1.2fr);gap:20px 40px;align-items:start}
html body footer.containerWrap .foot-brand img{display:block;width:176px;height:auto}
html body footer.containerWrap .menu_block{display:block;padding-top:0}
html body footer.containerWrap .menu_block ul{display:block;margin:0;padding:0;list-style:none}
html body footer.containerWrap .menu_block ul li{display:block;margin:0 0 12px}
html body footer.containerWrap .menu_block ul li:last-child{margin-bottom:0}
html body footer.containerWrap .menu_block ul li a{color:#b9b9b9;font-size:14px;letter-spacing:.02em;line-height:19px;text-decoration:none}
html body footer.containerWrap .menu_block ul li a:hover{color:#fff}
html body footer.containerWrap .foot-contacts .phone{margin:0}
html body footer.containerWrap .foot-contacts .social{padding-top:24px;text-align:left}
html body footer.containerWrap .info{padding-top:30px;text-align:center}
html body footer.containerWrap .info a{margin-left:8px;color:#8a8a8a!important;text-decoration:none}
html body footer.containerWrap .info a:hover{color:#fff!important}
@media (max-width:1023px){
  html body footer.containerWrap .foot-cols{grid-template-columns:1fr 1fr;gap:28px 24px}
  html body footer.containerWrap .foot-contacts{grid-column:1/-1}
  html body footer.containerWrap .foot-contacts .social{text-align:left}
  html body footer.containerWrap .info a{display:block;margin:6px 0 0}
}
@media (max-width:560px){
  html body footer.containerWrap .foot-cols{grid-template-columns:1fr}
  html body footer.containerWrap .foot-brand img{width:150px}
}

/* ---------- Центровка основного контента (контейнер ~1200px, как на главной) ---------- */
html body .containerWrap .wrap{box-sizing:border-box;max-width:100%}
@media (min-width:1201px){ html body .containerWrap .wrap{width:1200px;margin-left:auto;margin-right:auto} }

/* ---------- Сетка карточек кейсов: после скрытия карточек без дыр, остаток по центру ---------- */
html body .hq-project-cards{display:flex;flex-wrap:wrap;justify-content:center;gap:20px}
html body .hq-project-cards>.hq-project-cards__item{box-sizing:border-box;flex:0 1 calc((100% - 60px)/4);min-width:240px}
html body .hq-project-cards:not(.hq-project-cards--4)>.hq-project-cards__item{flex-basis:calc((100% - 40px)/3)}
@media (max-width:900px){ html body .hq-project-cards>.hq-project-cards__item,html body .hq-project-cards:not(.hq-project-cards--4)>.hq-project-cards__item{flex-basis:calc((100% - 20px)/2);min-width:0} }
@media (max-width:560px){ html body .hq-project-cards>.hq-project-cards__item,html body .hq-project-cards:not(.hq-project-cards--4)>.hq-project-cards__item{flex-basis:100%} }

/* страница без бокового меню (trim.py убирает nav.sidebar_menu и пустую левую колонку) */
html body .twoWrap.no-side .rightWrap{width:100%;float:none;margin-left:0}

/* иконки соцсетей в шапке: на части «эпох» CSS темы правил .wh/.tg/.max нет */
html body header.containerWrap .social_head a.wh{background:#2dd54b url("/wp-content/themes/stroikaveka54/images/social/wh.svg") center no-repeat}
html body header.containerWrap .social_head a.tg{background:#64a9dc url("/wp-content/themes/stroikaveka54/images/social/tg.svg") center no-repeat}

/* таблицы цен не должны раздвигать страницу на мобильном */
html body .formatBlock,html body .tabs__block{max-width:100%;overflow-x:auto}
html body table.price-list2{max-width:100%}
