/* Блок-контейнер */
.custom-block {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
  margin: 0 auto;
  padding: 20px 0px;
}

/* === Верхний ряд: картинка + текст (первые 2 колонки) === */
.image-box {
  grid-column: 3 / 5; 
  border-radius: 100px 100px 100px 0px;
  overflow: hidden; /* чтобы изображение тоже скруглилось */
}
.image-box-left {
  grid-column: 1 / 3; 
  border-radius: 100px 100px 0px 100px;
  overflow: hidden; /* чтобы изображение тоже скруглилось */
}
.image-box img, .image-box-left img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.text-box {
  grid-column: 1 / 3; /* занимает 3-ю и 4-ю колонки */
  border-radius: 100px 100px 0px 100px;
  padding: 100px 50px 80px 80px;
  background: #0076bc;
  align-items: center; /* вертикальное центрирование текста */
}
.text-box p{
  color: #ffffff;
}
.text-box-right {
  grid-column: 3 / 5; /* занимает 3-ю и 4-ю колонки */
  border-radius: 100px 100px 100px 0px;
  border: 1px solid #0003;
  padding: 80px 50px 60px 80px;
  background: #ffffff;
  align-items: center; /* вертикальное центрирование текста */
}


.blok-containers {
    width: 100%;
    max-width: 100%;
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 20px;
    box-sizing: border-box;
}

.blok-card {
    display: flex;
    align-items: center;
    align-content: center;
    width: 100%;
    min-width: 0;
    background: #ffffff;
    overflow: hidden;
    box-sizing: border-box;
    padding: 20px 30px;
    justify-content: space-evenly;
    border-radius: 35px 0 35px 35px;
    border: 1px solid rgba(0, 0, 0, 0.2);
}

.contact-col {
    width: 100%;
    flex: 1;
    min-width: 0;
}
.contact-col p{
    display:flex;
    align-items:center;
    gap: 20px;
    margin:0 0 12px;
}

.contact-col img{
    flex-shrink:0;
}



.zag1-lena {
    font-size: 60px;
    line-height: 80%;
    color: #005386;
    font-family: "Lena";
}

.zag2-lena {
    font-size: 46px;
    line-height: 80%;
    font-family: "Lena";
    margin: 40px 0px 60px 0px;
}

.price{
   display: block; 
   background-color: #00b3c8; 
   color: #ffffff; 
   min-width: 100%; 
   border-radius: 0px 100px 100px 100px; 
   padding: 55px;
}

.main-info{
   display: block; 
   background-color: #cce4f266; 
   min-width: 100%; 
   border-radius: 100px 100px 0px 100px; 
   padding: 35px 35px 35px 45px;
   margin-bottom: 20px;
}
.main-info-text{
   display: block; 
   min-width: 100%; 
   border: 1px solid rgba(0, 0, 0, 0.2);
   border-radius: 100px 0px 100px 100px; 
   padding: 55px 35px 35px 45px;
}

/* Адаптивность для маленьких экранов */
@media (max-width: 1280px) {
  .custom-block {
    grid-template-columns: 1fr;
    gap: 15px;
  }

  .image-box,
  .text-box,
  .image-box-left,
  .text-box-right {
    grid-column: 1 / 2;
  }

 .blok-containers {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 15px;
    }

.zag1-lena {
    font-size: 35px;
}

.zag2-lena {
    font-size: 25px;
    margin: 20px 0px 30px 0px;
}

}

@media (max-width: 800px) {
.image-box, .image-box-left, .main-info {
    border-radius: 40px 40px 0px 40px;
}
.text-box, .text-box-right {
    border-radius: 40px 40px 40px 0px;
    padding: 40px 30px 30px 30px;
}
.price{
   border-radius: 0px 40px 40px 40px;
}
.main-info-text{
   border-radius: 40px 0px 40px 40px;
}

.blok-containers {
        grid-template-columns: 1fr;
        gap: 15px;
    }

}

}