/* ===== МОБИЛЬНАЯ ОПТИМИЗАЦИЯ ===== */

/* Общие стили для мобильных устройств */
@media (max-width: 768px) {
  /* Уменьшаем отступы секций */
  .section-padding {
    padding: 40px 0 !important;
  }
  
  /* Оптимизируем заголовки */
  .section-title h2,
  .about__heading h2,
  .features-section .section-title h2 {
    font-size: 1.8rem !important;
    line-height: 1.3 !important;
    text-align: center !important;
  }
  
  .section-title h2::after,
  .about__heading h2::after,
  .features-section .section-title h2::after {
    left: 50% !important;
    transform: translateX(-50%) !important;
    margin-left: 0 !important;
  }
  
  .section-title p {
    font-size: 1rem !important;
    margin-bottom: 30px !important;
  }
  
  /* Оптимизируем контейнеры */
  .container {
    padding-left: 15px !important;
    padding-right: 15px !important;
  }
  
  /* Улучшаем навигацию */
  .navbar-brand {
    font-size: 1.1rem !important;
  }
  
  .navbar-nav .nav-link {
    padding: 10px 15px !important;
    font-size: 0.95rem !important;
  }
  
  /* Оптимизируем кнопки */
  .btn {
    padding: 12px 20px !important;
    font-size: 0.9rem !important;
    min-height: 44px !important;
  }
  
  .btn-sm {
    padding: 8px 16px !important;
    font-size: 0.85rem !important;
  }
  
  /* Улучшаем формы */
  .form-control {
    padding: 12px 15px !important;
    font-size: 16px !important; /* Предотвращает зум на iOS */
    min-height: 44px !important;
  }
  
  .form-label {
    font-size: 0.9rem !important;
    margin-bottom: 8px !important;
  }
  
  /* Оптимизируем модальные окна */
  .modal-dialog {
    margin: 10px !important;
    max-width: calc(100% - 20px) !important;
  }
  
  .modal-content {
    border-radius: 10px !important;
  }
  
  .modal-header {
    padding: 15px !important;
  }
  
  .modal-body {
    padding: 20px 15px !important;
    max-height: calc(100vh - 200px) !important;
    overflow-y: auto !important;
  }
  
  .modal-footer {
    padding: 15px !important;
  }
  
  /* Оптимизируем карточки */
  .card {
    margin-bottom: 20px !important;
  }
  
  .card-body {
    padding: 15px !important;
  }
  
  .card-title {
    font-size: 1.1rem !important;
  }
  
  .card-text {
    font-size: 0.9rem !important;
  }
  
  /* Улучшаем календарь */
  .month-calendar {
    margin-bottom: 20px !important;
  }
  
  .month-header {
    padding: 10px 15px !important;
  }
  
  .current-month {
    font-size: 1.1rem !important;
  }
  
  .days-grid {
    padding: 10px 5px !important;
    gap: 3px !important;
  }
  
  .day {
    height: 35px !important;
    font-size: 0.85rem !important;
  }
  
  /* Оптимизируем события */
  .event-mini-item {
    margin-bottom: 15px !important;
  }
  
  .event-mini-date {
    min-width: 60px !important;
    padding: 8px 10px !important;
  }
  
  .event-mini-date .day {
    font-size: 1.2rem !important;
  }
  
  .event-mini-date .month {
    font-size: 0.7rem !important;
  }
  
  .event-mini-info {
    padding: 12px !important;
  }
  
  /* Улучшаем слайдеры */
  .swiper-slide {
    height: auto !important;
  }
  
  .swiper-button-next,
  .swiper-button-prev {
    display: none !important;
  }
  
  .swiper-pagination {
    position: relative !important;
    margin-top: 20px !important;
  }
  
  /* Оптимизируем FAQ */
  .accordion-item {
    margin-bottom: 10px !important;
  }
  
  .accordion-button {
    padding: 15px !important;
    font-size: 0.9rem !important;
  }
  
  .accordion-body {
    padding: 15px !important;
    font-size: 0.85rem !important;
  }
  
  /* Улучшаем счетчики */
  .counter-box {
    text-align: center !important;
    margin-bottom: 20px !important;
  }
  
  .counter-box h3 {
    font-size: 1.5rem !important;
  }
  
  .counter-box p {
    font-size: 0.8rem !important;
  }
  
  /* Оптимизируем футер */
  .footer {
    padding: 20px 0 !important;
  }
  
  .footer h4,
  .footer h5 {
    font-size: 1rem !important;
    margin-bottom: 10px !important;
  }
  
  .footer p,
  .footer li {
    font-size: 0.8rem !important;
    line-height: 1.4 !important;
  }
  
  .footer-bottom {
    padding-top: 15px !important;
    text-align: center !important;
  }
  
  .footer-bottom .row {
    flex-direction: column !important;
  }
  
  .footer-bottom .col-md-6 {
    margin-bottom: 10px !important;
  }
  
  /* Исправляем размеры карточек оплаты в футере */
  .payment-methods img {
    height: 15px !important;
    width: auto !important;
    margin-right: 8px !important;
  }
  
  .footer-bottom .payment-methods {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 5px !important;
  }
  
  /* Улучшаем социальные иконки */
  .social-links a {
    display: inline-block !important;
    margin-right: 15px !important;
    font-size: 1.2rem !important;
  }
  
  /* Оптимизируем изображения */
  img {
    max-width: 100% !important;
    height: auto !important;
  }
  
  /* Улучшаем текст */
  .lead {
    font-size: 1rem !important;
  }
  
  h1 {
    font-size: 1.8rem !important;
  }
  
  h2 {
    font-size: 1.5rem !important;
  }
  
  h3 {
    font-size: 1.3rem !important;
  }
  
  h4 {
    font-size: 1.1rem !important;
  }
  
  h5 {
    font-size: 1rem !important;
  }
  
  h6 {
    font-size: 0.9rem !important;
  }
  
  /* Улучшаем отступы */
  .mb-5 {
    margin-bottom: 2rem !important;
  }
  
  .mt-5 {
    margin-top: 2rem !important;
  }
  
  .py-5 {
    padding-top: 2rem !important;
    padding-bottom: 2rem !important;
  }
  
  /* Оптимизируем сетку */
  .row {
    margin-left: -10px !important;
    margin-right: -10px !important;
  }
  
  .row > * {
    padding-left: 10px !important;
    padding-right: 10px !important;
  }
}

/* Дополнительная оптимизация для очень маленьких экранов */
@media (max-width: 480px) {
  .section-title h2,
  .about__heading h2,
  .features-section .section-title h2 {
    font-size: 1.5rem !important;
    text-align: center !important;
  }
  
  .section-title h2::after,
  .about__heading h2::after,
  .features-section .section-title h2::after {
    left: 50% !important;
    transform: translateX(-50%) !important;
    margin-left: 0 !important;
  }
  
  .btn {
    width: 100% !important;
    margin-bottom: 10px !important;
  }
  
  .btn-group .btn {
    width: auto !important;
  }
  
  .modal-dialog {
    margin: 5px !important;
    max-width: calc(100% - 10px) !important;
  }
  
  .container {
    padding-left: 10px !important;
    padding-right: 10px !important;
  }
  
  .day {
    height: 30px !important;
    font-size: 0.8rem !important;
  }
  
  .event-mini-date {
    min-width: 50px !important;
    padding: 6px 8px !important;
  }
  
  .event-mini-date .day {
    font-size: 1rem !important;
  }
  
  .event-mini-date .month {
    font-size: 0.6rem !important;
  }

  /* Фикс кнопки под слайдером после календаря (iPhone/Safari) */
  .image-slider .gallery-button-container {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    padding-left: 12px !important;
    padding-right: 12px !important;
  }

  .image-slider .gallery-subscribe-btn {
    display: block !important;
    width: calc(100% - 8px) !important;
    max-width: 430px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center !important;
  }
}

/* Исправление для iOS Safari */
@supports (-webkit-touch-callout: none) {
  .form-control {
    font-size: 16px !important;
  }
  
  .modal {
    -webkit-overflow-scrolling: touch !important;
  }
  
  .modal-body {
    -webkit-overflow-scrolling: touch !important;
  }
}

/* Улучшение производительности на мобильных */
@media (max-width: 768px) {
  * {
    -webkit-tap-highlight-color: transparent !important;
  }
  
  .btn,
  .nav-link,
  .card {
    -webkit-tap-highlight-color: rgba(0,0,0,0.1) !important;
  }
  
  /* Отключаем анимации на слабых устройствах */
  @media (prefers-reduced-motion: reduce) {
    * {
      animation-duration: 0.01ms !important;
      animation-iteration-count: 1 !important;
      transition-duration: 0.01ms !important;
    }
  }
}
