/* Стилі для тіла сторінки */
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-poslugu {
  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: 100%;
  overflow: hidden;
  border-radius: 0.5rem;
  border: 1px solid #ccc;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}

/* Стилі для iFrame, щоб він був адаптивним */
.map-container iframe {
  display: block;
  width: 100%;
  height: 450px;
}

/* Стилі для лівої колонки (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%;
  }
}
