/* Локальные шрифты */
@font-face {
  font-family: 'Muli';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: local('Muli Light'), local('Muli-Light'),
       url('../fonts/muli-v20-latin-300.woff2') format('woff2'),
       url('../fonts/muli-v20-latin-300.woff') format('woff');
}

@font-face {
  font-family: 'Muli';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: local('Muli Regular'), local('Muli-Regular'),
       url('../fonts/muli-v20-latin-regular.woff2') format('woff2'),
       url('../fonts/muli-v20-latin-regular.woff') format('woff');
}

@font-face {
  font-family: 'Muli';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: local('Muli Bold'), local('Muli-Bold'),
       url('../fonts/muli-v20-latin-700.woff2') format('woff2'),
       url('../fonts/muli-v20-latin-700.woff') format('woff');
}

/* Принудительное применение шрифта ко всем элементам */
* {
  font-family: 'Neucha', cursive, sans-serif !important;
}

/* Более специфичные селекторы для разных элементов */
body, 
p, 
div, 
span, 
a, 
li, 
td, 
th, 
input, 
textarea, 
button,
h1, 
h2, 
h3, 
h4, 
h5, 
h6,
.page-header h1, 
.page-header h2, 
.item-page .page-header h1, 
.item-page .page-header h2, 
.blog .page-header h1, 
.blog .page-header h2, 
.blog-featured .page-header h1, 
.blog-featured .page-header h2,
.nav-link,
.btn,
.dropdown-item,
.navbar-brand,
.custom-control-label,
.form-control,
.alert,
.badge,
.card-title,
.card-text {
  font-family: 'Neucha', cursive, sans-serif !important;
}

/* Специальные стили для заголовков */
h1, h2, h3, h4, h5, h6 {
  font-weight: bold !important;
}

/* Адаптивный контейнер для видео */
.video-container {
  position: relative;
  padding-bottom: 56.25%;
  padding-top: 30px;
  height: 0;
  overflow: hidden;
  max-width: 100%;
}

.video-container iframe,
.video-container object,
.video-container embed {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/* Адаптивные изображения */
img.scale, img.responsive {
  max-width: 100%;
  height: auto;
}

/* Адаптивные таблицы */
@media (max-width: 767px) {
  .responsive-table td {
    display: block;
    width: 100% !important;
    text-align: center;
    margin-bottom: 20px; /* Добавляем отступ между ячейками */
    padding-bottom: 20px; /* Дополнительный отступ внутри ячейки */
    border-bottom: 1px solid #eee; /* Разделитель между ячейками */
  }
  
  .responsive-table {
    width: 100% !important;
    border-spacing: 0;
    border-collapse: collapse;
  }
  
  /* Убираем стили высоты для мобильных устройств */
  .responsive-table tr, 
  .responsive-table td {
    height: auto !important;
  }
  
  /* Фиксированная высота для изображений в галерее */
  .photo-gallery img.scale {
    height: 200px;
    object-fit: cover;
    width: 100%;
    margin-bottom: 10px;
  }
  
  /* Меньший эффект увеличения для мобильных */
  .photo-gallery img.scale:hover {
    transform: scale(1.15);
    z-index: 10;
    box-shadow: 0 5px 15px rgba(0,0,0,0.3);
  }
}

/* Стили для галереи фотографий */
.photo-gallery img.scale {
  height: 200px; /* Фиксированная высота для всех изображений */
  object-fit: cover; /* Сохраняет пропорции, обрезая при необходимости */
  width: 100%;
  transition: transform 0.3s ease;
  cursor: pointer; /* Показывает, что изображение кликабельное */
}

/* Более сильный эффект увеличения для десктопа */
@media (min-width: 768px) {
  .photo-gallery img.scale:hover {
    transform: scale(1.8); /* Значительно увеличиваем эффект на десктопе */
    z-index: 100; /* Более высокий z-index для десктопа */
    box-shadow: 0 8px 25px rgba(0,0,0,0.4); /* Более выраженная тень */
    transition: transform 0.4s ease, box-shadow 0.4s ease; /* Более плавный переход */
    position: relative; /* Для правильной работы z-index */
  }
}

/* Исправление для больших изображений */
.large-image {
  max-width: 90%;
  height: auto;
  margin: 20px auto;
  display: block;
}

/* Адаптивная карта Google */
.map-container {
  position: relative;
  padding-bottom: 75%; /* Соотношение сторон 4:3 */
  height: 0;
  overflow: hidden;
  max-width: 100%;
  margin: 20px 0;
}

.map-container iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

/* Стили для контактной информации */
.contact-info {
  margin: 20px auto;
  max-width: 600px;
  padding: 15px;
  background-color: #f9f9f9;
  border-radius: 5px;
  box-shadow: 0 2px 5px rgba(0,0,0,0.1);
}

.contact-info p {
  margin: 10px 0;
}
