
/* ──────────── ГЛОБАЛЬНАЯ ЗАЩИТА ОТ ПЕРЕПОЛНЕНИЯ ──────────── */
@media(max-width:1024px){
  body{
    overflow-x: hidden;   /* прячем горизонтальный скролл */
    max-width: 100vw;
  }

  .container{
    padding: 0 16px;      /* уменьшаем боковые отступы */
    max-width: 100%;
  }

  /* Все секции — вертикально */
  section{
    padding: 48px 0;
  }

  /* Заголовки — меньше */
  h2{
    font-size: 26px;
  }

  .section-sub{
    font-size: 15px;
    margin-bottom: 32px;
  }
}

@media(max-width:600px){
  .why-layout .why-grid{
    grid-template-columns:1fr;
  }
  .form-grid{
    grid-template-columns:1fr;
  }
  .form-grid .full{
    grid-column:span 1;
  }
}

@media(max-width: 1210px) and (min-width: 1101px){
  .menu{gap:14px}
  .menu a{font-size:13.5px;padding:4px 6px}
  .logo{font-size:18px}
  .phone{font-size:13.5px}
  .nav-right{gap:12px}
  .nav-right .btn{padding:10px 16px;font-size:13.5px}
}

@media(max-width: 1100px){
  .menu{display:none}
  .burger{display:block}
  .phone{display:none}
  .nav{padding:14px 0}
}
@media(max-width:960px){
  section{padding:64px 0}
  .hero{padding:64px 0 56px}
  .hero-grid,.calc-wrap,.geo-wrap,.form-wrap{
    grid-template-columns:1fr;gap:40px;
  }
  .why-layout,
  .side-layout{
    grid-template-columns:1fr;
    gap:40px;
  }
  .why-layout .why-grid{grid-template-columns:repeat(2,1fr);
    gap:16px;}
  .news-col,
  .side-col{
    position:static;
    top:auto;
    max-height:none;
    overflow:visible;
  }
  .why-grid,.projects-grid,.materials-grid,
  .sale-grid,.guarantee-grid{
    grid-template-columns:1fr;
  }
  .steps{grid-template-columns:1fr 1fr}
  .gallery{grid-template-columns:1fr 1fr}
  .gallery-item:nth-child(1),.gallery-item:nth-child(6){
    grid-column:span 2;grid-row:span 1;
  }
  .footer-grid{grid-template-columns:1fr 1fr;gap:32px}
  .form-wrap{padding:32px}
  .calc-wrap{padding:28px}
  .faq{padding:8px 20px}
  .hero-stats{grid-template-columns:repeat(3,1fr);gap:16px}
  .stat-num{font-size:28px}
}
@media(max-width:560px){
  .hero-stats{grid-template-columns:1fr 1fr}
  .form-grid{grid-template-columns:1fr}
  .form-grid .full{grid-column:span 1}
  .footer-grid{grid-template-columns:1fr}
  .geo-list{grid-template-columns:1fr}
  .steps{grid-template-columns:1fr}
}

@media(max-width:1024px){
  html{
    overflow-x: hidden;
    width: 100%;
  }

  section, .container{
    max-width: 100% !important;
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
}

@media(max-width:768px){
  /* Все сетки — в одну колонку */
  .why-grid,
  .why-layout .why-grid,
  .materials-grid,
  .steps,
  .gallery,
  .projects-grid,
  .sale-grid,
  .guarantee-grid{
    grid-template-columns: 1fr !important;
  }

  /* Форма — в одну колонку */
  .form-grid{
    grid-template-columns: 1fr !important;
  }
  .form-grid .full{
    grid-column: span 1 !important;
  }
}
