@media (max-width: 1200px){
  .contacts-grid-3{
    grid-template-columns: 1fr 1.2fr;
  }
  .requisites-card{
    grid-column: 1 / -1; /* реквизиты на новую строку */
  }
}

@media (max-width: 1100px){
  .footer-top{
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 992px) {
    .container {
        flex-direction: column;
        gap: 10px;
        text-align: center;
    }
    .contacts {
        text-align: center;
    }
	
	    .menu {
        flex-direction: column;
        align-items: flex-start;
        gap: 0;
    }

    .menu a {
        padding: 12px 0;
    }
	
	    .hero {
        padding: 40px 0;
    }

	.hero-content {
        flex-direction: column;
        text-align: center;
    }

    .hero-image {
        text-align: center;
        margin-top: 30px;
    }

    .hero h1 {
        font-size: 24px;
    }
	
	.services-grid{ grid-template-columns: repeat(2, 1fr); }
	.advantages-grid{ grid-template-columns: repeat(2, 1fr); }
	.advantages-cta{ flex-direction: column; align-items: flex-start; }

  .table-wrapper{overflow-x: auto;}
    
  .about-grid{grid-template-columns: 1fr;}  

  .reviews-slider{
    grid-template-columns: repeat(2, 1fr);
  }
  .contacts-grid{
    grid-template-columns: 1fr;
}
.map-card{
    min-height: 320px;
  }

    .contacts-grid-3{
    grid-template-columns: 1fr;
  }

  .map-card{
    min-height: 320px;
  }

  .contacts-actions .btn-gold,
  .contacts-actions .btn-outline{
    padding: 11px 10px;
    font-size: 13px;
  }

}

@media (max-width: 900px){
  .feedback-modal .feedback-form .form-grid{
    grid-template-columns: 1fr !important;
  }

  .feedback-form .form-grid{
    grid-template-columns: 1fr;
  }
}

@media (max-width: 700px){
  .site-footer{ padding: 44px 0 20px; }
  .footer-top{
    grid-template-columns: 1fr;
    gap: 18px;
  }
}

@media (max-width: 640px){
  .services{ padding: 55px 0; }
  .services-grid{ grid-template-columns: 1fr; }
  .section-head h2{ font-size: 24px; }
  .advantages-grid{ grid-template-columns: 1fr; }
  .reviews-slider{grid-template-columns: 1fr;  }
}

@media (max-width: 1200px){
  .contacts-grid-3{
    grid-template-columns: 1fr 1.2fr;
  }

  .requisites-card{
    grid-column: 1 / -1;
  }

  .footer-top{
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 992px){
  .services-grid{
    grid-template-columns: repeat(2, 1fr);
  }

  .advantages-grid{
    grid-template-columns: repeat(2, 1fr);
  }

  .reviews-slider{
    grid-template-columns: repeat(2, 1fr);
  }

  .table-wrapper{
    overflow-x: auto;
  }

  .feedback-form .form-grid{
    grid-template-columns: 1fr;
  }
}

@media (max-width: 900px){
  .top-header .container{
    flex-direction: column;
    align-items: center;
  }

  .contacts{
    text-align: center;
  }

  .hero-content{
    flex-direction: column;
    gap: 28px;
  }

  .hero-image{
    text-align: left;
  }

  .about-grid{
    grid-template-columns: 1fr;
  }

  .contacts-grid-3{
    grid-template-columns: 1fr;
  }

  .map-card{
    min-height: 320px;
  }

  .feedback-modal .feedback-form .form-grid{
    grid-template-columns: 1fr; /* КРИТИЧНО для мобильной модалки */
  }
}

@media (max-width: 700px){
  .menu{
    flex-wrap: wrap;
    gap: 20px;
  }

  .services-grid,
  .advantages-grid,
  .reviews-slider{
    grid-template-columns: 1fr;
  }

  .footer-top{
    grid-template-columns: 1fr;
    gap: 18px;
  }

  .footer-bottom{
    flex-direction: column;
    align-items: flex-start;
  }

  .contacts-actions{
    flex-wrap: wrap;
  }

  .contacts-actions .btn-gold,
  .contacts-actions .btn-outline{
    flex: 1 1 100%;
  }
}

@media (max-width: 900px){
  .article-teaser__inner{
    grid-template-columns: 1fr;
  }
}

@media (max-width: 980px){
      .article-layout{ grid-template-columns: 1fr; }
      .article-aside{ position: static; }
      .article-hero h1{ font-size: 32px; }
      .deadline-table{ display: block; overflow-x: auto; }
    }

@media (max-width: 1024px){
      .service-page-grid{ grid-template-columns: 1fr; }
      .service-page-grid > *{ min-width: 0; }
      .service-side-card{
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
        overflow-wrap: anywhere;
        word-break: break-word;
      }
      .service-cards{ grid-template-columns: 1fr 1fr; }
    }
    @media (max-width: 700px){
      .service-cards{ grid-template-columns: 1fr; }
      .service-page-hero{ padding-top: 36px; }
    }    
