/* Общие стили для футера на всех устройствах */
#footer {
  background-color: #f8f9fa;
  padding-top: 3rem;
  padding-bottom: 2rem;
  width: 100%;
  display: block;
  position: relative;
  visibility: visible !important;
  opacity: 1 !important;
  z-index: 10;
  overflow: visible;
}

#footer .container {
  display: block;
  visibility: visible !important;
  opacity: 1 !important;
  padding-bottom: 2rem !important;
  padding-top: 3rem !important;
}

/* Стили для объединенных блоков в футере */
#footer .mt-4 {
  margin-top: 1.5rem !important;
}

#footer ul.list-unstyled {
  margin-bottom: 0;
}

/* Стили для центрирования футера */
#footer .row.justify-content-center {
  max-width: 960px;
  margin-left: auto;
  margin-right: auto;
}

/* Центрирование контейнера футера */
#footer .container {
  max-width: 1140px;
  margin-left: auto;
  margin-right: auto;
}

/* Гарантия видимости строки с колонками */
#footer .row {
  display: flex !important;
  flex-wrap: wrap !important;
  visibility: visible !important;
  opacity: 1 !important;
}

/* Дополнительные стили для адаптивности */
@media (min-width: 992px) {
  #footer .row.justify-content-center {
    margin-left: 50px;
    margin-right: 50px;
  }
}

@media (max-width: 767px) {
  #footer .col-md-3 {
    text-align: center;
  }
}

/* Стили для адаптации контента под мобильные устройства */
@media (max-width: 480px) {
  /* Общие стили для мобильных устройств */
  h2.banner-size, .display-1 {
    font-size: calc(1.8rem + 3vw) !important;
    word-wrap: break-word;
    hyphens: auto;
  }
  
  h3.display-3 {
    font-size: calc(1.6rem + 2vw) !important;
  }
  
  h3.display-5, h2.display-4 {
    font-size: 1.5rem !important;
  }
  
  .padding-medium {
    padding: 3rem 0.75rem !important;
  }
  
  /* Корректировка кнопок в тарифах */
  .filter-button {
    padding: 0.5rem 1rem !important;
    font-size: 0.9rem !important;
    margin-right: 0.5rem !important;
  }
  
  /* Тарифные планы */
  .blog-post {
    padding: 0.75rem !important;
  }
  
  /* Футер */
  #footer .col-md-3 {
    padding-left: 1rem;
    padding-right: 1rem;
  }
  
  /* Подгонка размера кнопок */
  .btn {
    white-space: normal;
    word-wrap: break-word;
  }
  
  /* Перенос текста на кнопках */
  .btn-lg {
    font-size: 1rem;
    padding: 0.5rem 1.5rem !important;
  }
  
  /* Стили для кнопки "Сравнить все тарифы" */
  .btn.button {
    font-size: 0.9rem;
  }
  
  .btn.button .arrow-right {
    width: 25px !important;
    height: 25px !important;
    padding: 0.3rem !important;
  }
  
  /* Дополнительные улучшения для навигации */
  .navbar-brand img {
    max-width: 120px;
    height: auto;
  }
  
  .navbar-toggler {
    padding: 0.25rem 0.5rem;
  }
  
  /* Улучшения для элементов футера */
  #footer h5 {
    font-size: 1.1rem;
  }
  
  #footer ul.list-unstyled li {
    margin-bottom: 0.5rem !important;
  }
  
  #footer ul.list-unstyled li a {
    font-size: 0.9rem;
  }
}

/* Стили для очень маленьких устройств */
@media (max-width: 320px) {
  h2.banner-size, .display-1 {
    font-size: calc(1.4rem + 2vw) !important;
  }
  
  h3.display-3 {
    font-size: calc(1.3rem + 1.5vw) !important;
  }
  
  .filter-button {
    padding: 0.4rem 0.75rem !important;
    font-size: 0.8rem !important;
  }
}

/* Дополнительные стили для адаптивности тарифных планов */
@media (max-width: 767px) {
  .isotope-container .blog-post {
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
  }
  
  .filter-button {
    margin: 0.25rem !important;
    padding: 0.5rem 1rem !important;
  }
  
  /* Более читаемый текст на мобильных */
  p {
    font-size: 0.95rem;
    line-height: 1.5;
  }
  
  /* Корректировка для кнопок на тарифах */
  .blog-post .btn {
    margin-top: auto;
    padding-left: 1rem !important;
    padding-right: 1rem !important;
    font-size: 0.9rem;
  }
}

/* Специфичные стили для очень узких экранов */
@media (max-width: 350px) {
  .filter-button {
    font-size: 0.75rem !important;
    padding: 0.4rem 0.6rem !important;
  }
  
  h3.display-5 {
    font-size: 1.2rem !important;
  }
  
  h2.display-4 {
    font-size: 1.4rem !important;
  }
}

/* Дополнительные стили для футера на десктопе */
@media (min-width: 768px) {
  #footer .row.justify-content-center {
    display: flex;
    justify-content: center;
    width: 100%;
    max-width: 1140px;
    margin: 0 auto;
  }
  
  #footer .col-md-3 {
    padding: 0 1.5rem;
  }
  
  #footer .mt-4 {
    margin-top: 2rem !important;
  }
}
