/* Стилі для тіла сторінки */
body {
  font-family: "Merriweather", serif;
  background-color: #e0f7fa; /* Світло-блакитний фон */
  color: #000;
  font-size: 1.2rem;
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 100vh;
  padding: 1rem;
  box-sizing: border-box;
  transition: all 0.3s ease-in-out; /* Плавний перехід для всього */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  /* Додаткові стилі для кращого вигляду */
  line-height: 1.6;
}



/* Стиль, який застосовується до зображення при наведенні */
.image-hovered {
  filter: none !important; /* Прибрати сірий фільтр */
  z-index: 100; /* Розмістити зображення зверху */
  transform: scale(2); /* Збільшити зображення */
}

/* Основний контейнер */
.main-container {
  background-color: #fff;
  padding: 2.5rem;
  border-radius: 1rem;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  max-width: 1900px;
  width: 100%;
  display: flex;
  gap: 2rem;
  box-sizing: border-box;
  position: relative;
  z-index: 2;
}

/* Стилі для лівої колонки (30%) */
.left-panel-osnova {
  flex: 0 0 15%;
  flex-grow: 1;
  background-color: #f0f4f7;
  padding: 1rem;
  border-radius: 0.5rem;
  min-width: 0;
}

/* Стилі для контейнера кнопок */
.button-group {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  align-items: flex-start;
}


/* Стилі для правої частини, що містить сітку */
.right-grid-container {
  width: 96%;
  max-width: 100%;
  overflow: hidden;
  padding: 1rem;
  border-radius: 0.5rem;
  display: grid;
  /* Тепер у нас лише один стовпець, який займає всю доступну ширину */
  grid-template-columns: 1fr;
  /* Відстань між елементами сітки залишається */
  gap: 2rem;
}

.right-grid-item {
  /* Замість background-color використовуємо градієнт */
  background-image: linear-gradient(to right, white, #B0C4DE);
  border-radius: 0.5rem;
  padding: 1rem;
  min-height: 220px;
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 1rem;
}

/* Стилі для зображення всередині .right-grid-item */
.right-grid-item img {
  /* Задаємо фіксовану ширину і висоту для контейнера зображення */
  width: 300px;
  height: 200px;
  /* Ця властивість масштабує зображення, щоб воно повністю помістилося всередині контейнера */
  object-fit: contain;
  /* Додаткові стилі */
  border-radius: 0.25rem;
  transition: transform 0.3s ease-in-out, filter 0.3s ease-in-out,
    z-index 0s 0.3s;
  cursor: pointer;
}
/* Ефект збільшення */
.right-grid-item img:hover {
  transform: scale(1.1);
  z-index: 10;
}

/* Стилі для опису новини */
.image-description {
  flex: 1;
  font-size: 1rem;
  color: #555;
  font-weight: bold;
  text-align: left;
  padding-top: 0;
}

/* Стилі для центрування тексту заголовка */
h3 {
  text-align: center;
}




/* Стилі для основного контейнера, який обгортає обидва блоки */
.right-section-wrapper-osnova {
    flex: 0 0 75%;
    display: flex;
    flex-direction: column; 
    gap: 2rem; 
    padding: 1rem;
    box-sizing: border-box;
    width: 100%;
}

/* Стилі для контейнера з текстом контактів */
.contacts-container {
    width: 100%;
    line-height: 1.6;
    color: #333;
    /* Центруємо весь вміст контейнера */
    text-align: center; 
}

/* Стилі для заголовка "Контакти:" */
.contacts-container h2 {
    color: #004d99;
    font-size: 1.8rem;
    margin-bottom: 1rem;
    text-align: center; 
}

/* Стилі для клікабельних посилань (телефон, пошта) */
.contacts-container a {
    color: #1a0dab;
    text-decoration: none;
    transition: color 0.3s ease;
}

.contacts-container a:hover {
    text-decoration: underline;
    color: #007bff;
}

.map-container {
    /* Карта знаходиться під контактами і займає повну ширину */
    width: 90%; 
    overflow: hidden;
    border-radius: 0.5rem;
    border: 1px solid #ccc;
    box-shadow: 0 4px 8px rgba(0,0,0,0.1);
    
    /* Додаємо верхній відступ, щоб відокремити карту від контактів */
    margin-top: 20px; 
}

/* Стилі для iFrame: робить його адаптивним */
.map-container iframe {
    display: block;
    width: 100%; /* Карта не вилізе за межі .map-container */
    height: 450px; /* Фіксована висота */
    /* Видалення атрибуту style="border:0;" тут є зайвим, якщо ви вказали його в HTML,
       але це гарантує його відсутність, якщо ви не вказали. */
}

.map-container-ratio {
    position: relative;
    width: 100%;
    /* 16:9 співвідношення: 9 / 16 = 0.5625 або 56.25% */
    padding-bottom: 50%; /* Встановлює висоту контейнера */
    overflow: hidden;
    /* інші стилі (border, shadow) */
}

.map-container-ratio iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; /* Займає 100% висоти, встановленої padding-bottom */
}



/* Стилі для лівої колонки (30%) */
.left-panel {
  flex: 0 0 30%;
  flex-grow: 1;
  background-color: #f0f4f7;
  padding: 1rem;
  border-radius: 0.5rem;
  min-width: 0;
}


/* Стилі для кнопки "Новини" */
.btn-news {
  width: 200px;
  align-self: center;
}

/* Медіа-запити для адаптивності */
@media (max-width: 768px) {
  .main-container {
    flex-direction: column;
  }

  .left-panel,
  .right-section-wrapper {
    flex: 1 1 100%;
  }
}

