/* =========================================
   1. Глобальные настройки и Шрифты
   ========================================= */
/* Подключаем шрифты, если не подключены */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600&family=Montserrat:wght@600;700;800&display=swap');

body {
    font-family: 'Inter', sans-serif;
    font-style: normal;
    color: #333;
    background-color: #f9f9f9; /* Чуть сероватый фон приятнее глазу, чем чистый белый */
    margin: 0;
    padding: 0;
    -webkit-font-smoothing: antialiased; /* Улучшает рендеринг шрифтов на Mac/iOS */
}

/* Ссылки */
a {
    text-decoration: none;
    transition: all 0.3s ease;
}

/* =========================================
   2. Шапка (Header & Hero)
   ========================================= */

/* Базовый класс для шапки */
.city-page-header {
    position: relative;
    min-height: 100vh; /* На мобильных лучше не 100vh, чтобы был виден контент снизу */
    display: flex;
    flex-direction: column;
    color: #fff;
    background-color: #1a2a6c; /* Фолбэк цвет */
    overflow: hidden;
}

/* ВАРИАНТ 1: Современная замена старому градиенту 
   Используем глубокий синий "Deep Ocean" под углом
*/
.header-bg-gradient {
    background: linear-gradient(135deg, #0f2027 0%, #203a43 50%, #2c5364 100%);
    /* Или более яркий вариант (раскомментируйте, если хотите ярче): 
    background: linear-gradient(135deg, #1e3c72 0%, #2a5298 100%); */
}

/* ВАРИАНТ 2: Для фото-фона
   Класс добавим позже в PHP. Он создает затемнение поверх картинки.
*/
.header-bg-image {
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    /* Затемнение через linear-gradient прямо в фоне */
}
/* Затемнение делаем отдельным слоем или встроенным градиентом в PHP, 
   но для чистоты кода лучше использовать псевдоэлемент */
.header-overlay::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    background: rgba(0, 0, 0, 0.4); /* 40% темноты */
    z-index: 0;
}

/* Контент внутри шапки должен быть выше затемнения */
.city-page-header > .container, 
.city-page-header > nav {
    position: relative;
    z-index: 2;
}

/* Навигация */
.navbar-brand img {
    height: auto;
}
.nav-link {
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
    font-size: 15px;
    text-transform: uppercase;
    color: rgba(255,255,255, 0.9) !important;
    letter-spacing: 0.5px;
}
.nav-link:hover {
    color: #fff !important;
    opacity: 1;
}

/* Типографика Hero-блока */
.index-page-h1 h1 {
    font-family: 'Montserrat', sans-serif;
    font-weight: 800; /* Жирный современный заголовок */
    font-size: 3.5rem; /* Крупнее на десктопе */
    line-height: 1.2;
    color: #ffffff;
    text-align: center;
    text-shadow: 0 2px 10px rgba(0,0,0,0.3); /* Тень для читаемости */
    margin-bottom: 20px;
}

.index-page-h2 h2 {
    font-family: 'Inter', sans-serif;
    font-weight: 400;
    font-size: 1.5rem;
    color: rgba(255,255,255, 0.9);
    text-align: center;
    max-width: 800px;
    margin: 0 auto;
}

/* Мобильная адаптация типографики */
@media only screen and (max-width : 768px) {
    .city-page-header {
        min-height: auto;
        padding-bottom: 60px;
    }
    .index-page-h1 h1 {
        font-size: 2.2rem; /* Уменьшаем для телефона */
    }
    .index-page-h2 h2 {
        font-size: 1.1rem;
    }
    .navbar-collapse {
        background: rgba(0,0,0,0.9); /* Темное меню на мобильном */
        padding: 20px;
        border-radius: 10px;
        margin-top: 10px;
    }
}

/* =========================================
   3. Карточки (Популярные направления)
   ========================================= */

/* Контейнер карточки */
.card-popular {
    background: #fff;
    border-radius: 15px; /* Скругленные углы */
    overflow: hidden;
    box-shadow: 0 10px 30px rgba(0,0,0,0.05); /* Легкая тень */
    transition: all 0.3s ease;
    height: 100%; /* Чтобы все карточки были одной высоты */
    border: 1px solid rgba(0,0,0,0.03);
    position: relative;
}

/* Эффект при наведении курсора */
.card-popular:hover {
    transform: translateY(-7px); /* Карточка "всплывает" */
    box-shadow: 0 20px 40px rgba(0,0,0,0.12);
}

/* Обертка для картинки (фиксирует пропорции) */
.card-popular-img-wrapper {
    position: relative;
    width: 100%;
    padding-top: 60%; /* Соотношение сторон картинки (3:2) */
    overflow: hidden;
}

/* Сама картинка */
.card-popular-img-wrapper img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover; /* Картинка заполняет блок без искажений */
    transition: transform 0.5s ease;
}

/* Зум картинки при наведении */
.card-popular:hover .card-popular-img-wrapper img {
    transform: scale(1.05);
}

/* Текст внутри карточки */
.card-popular-body {
    padding: 20px;
    text-align: left;
}

.card-popular-title {
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    font-size: 1.15rem;
    color: #2c3e50;
    margin-bottom: 8px;
    line-height: 1.3;
}

.card-popular-cta {
    font-size: 0.9rem;
    color: #e67e22; /* Оранжевый цвет ссылки */
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Улучшение читаемости основного текста */
.content-text {
    font-family: 'Inter', sans-serif;
    font-size: 1.1rem; /* Чуть крупнее, чем раньше */
    line-height: 1.7;  /* Больше воздуха между строками */
    color: #4a4a4a;
}
/* Стили для заголовков внутри текста, если они есть */
.content-text h2, .content-text h3 {
    font-family: 'Montserrat', sans-serif;
    color: #1a2a6c;
    margin-top: 40px;
    margin-bottom: 20px;
}


.footer-text{
	font-family: 'Arial',Arial,sans-serif;
    color: #000;
	font-size: 12px;
    line-height: 1.55;
}
.footer {
	padding-top: 15px;
    padding-bottom: 15px;
}
.footer a{
	color: #ff8562;
	font-size: 12px;
    text-decoration: none;
}
.navbar{
	padding-left: 1rem !important;
	padding-right: 1rem !important
}
.navbar-brand{
	vertical-align: baseline;
}
.nav-link{
	font-weight: 600;
	color: white !important
}
.index-page-h1 h1{
	font-weight: 900;
	font-size: 40px;
    color: #ffffff;
	text-align: center;
}
.index-page-h2 h2{
	font-size: 32px;
	color: #ffffff;
	text-align: center;
}
.bottom-left {
    position: absolute;
    top: 20px;
    left: 30px;
	font-family: 'Arial',Arial,sans-serif;
    font-weight: 600;
	background: rgba(255, 255, 255, 0.7);
    color: #000;
	font-size: 20px;
    line-height: 1.55;
	padding: 0px 10px 0px 10px;
}
.best-destination-container{
	position: relative;
    text-align: center;
}
.best-destination-img{
	min-height: 260px;
}
/* Medium Devices&Laptops */
@media only screen and (max-width : 992px) {
	.navbar-toggler{
		font-size: 1rem;
	}
}
/* Mobile Devices */
@media only screen and (max-width : 400px) and (max-height : 600px){
	.index-page-h1 h1{
		font-size: 24px;
	}
	.index-page-h2 h2{
		font-size: 20px;
		line-height: 1.4;
	}
	.footer a{
	font-size: 8px;
	font-weight: 600;
	}
}
@media only screen and (max-width : 400px) and (min-height : 601px){
	.index-page-h1 h1{
		margin-top: 30px;
		font-size: 24px;
	}
	.index-page-h2 h2{
		margin-top: 30px;
		font-size: 20px;
		line-height: 1.4;
	}
	.footer a{
	font-size: 8px;
	font-weight: 600;
	}
}
@media only screen and (min-width : 401px) and (max-width : 460px){
	.index-page-h1 h1{
		margin-top: 50px;
		font-size: 24px;
	}
	.index-page-h2 h2{
		margin-top: 50px;
		font-size: 20px;
		line-height: 1.4;
	}
	.footer a{
	font-size: 9px;
	font-weight: 600;
	}
}
@media only screen and (min-width : 461px) and (max-width : 576px){
	.index-page-h1 h1{
		margin-top: 50px;
		font-size: 24px;
	}
	.index-page-h2 h2{
		margin-top: 50px;
		font-size: 20px;
		line-height: 1.4;
	}
}

/* Подключение шрифтов (если они еще не подключены на сайте) */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&family=Montserrat:wght@600;700;800&display=swap');

/* Основной контейнер статьи */
.trip-article {
    font-family: 'Inter', sans-serif;
    color: #333333;
    line-height: 1.65;
    font-size: 16px;
    max-width: 100%; /* Или ограничьте, например, 800px */
    margin: 0 auto;
}

/* Заголовки */
.trip-article h2 {
    font-family: 'Montserrat', sans-serif;
    color: #1a1a1a;
    font-size: 28px;
    font-weight: 700;
    margin-top: 45px;
    margin-bottom: 20px;
    line-height: 1.3;
}

.trip-article h3 {
    font-family: 'Montserrat', sans-serif;
    color: #2c3e50;
    font-size: 22px;
    font-weight: 600;
    margin-top: 30px;
    margin-bottom: 15px;
}

/* Списки */
.trip-article ul {
    margin-bottom: 25px;
    padding-left: 20px;
}

.trip-article li {
    margin-bottom: 12px;
    list-style-type: disc; /* Или 'none', если хотите свои маркеры */
}

/* Блок "Важно" / Советы */
.trip-alert {
    background-color: #f8f9fa;
    border-left: 5px solid #ff6b6b; /* Акцентный цвет */
    padding: 20px 25px;
    margin: 30px 0;
    border-radius: 0 8px 8px 0;
    font-size: 0.95em;
}

/* Ссылки-призывы (CTA) внутри текста */
.trip-cta {
    color: #e67e22; /* Оранжевый цвет */
    font-weight: 700; /* Жирный */
    text-decoration: none; /* Убираем подчеркивание */
    cursor: default; /* Обычный курсор, не "рука" */
}

.trip-cta:hover {
    color: #d35400;
    text-decoration: none;
    background-color: transparent;
}

/* Галерея изображений (Сетка) */
.trip-gallery {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 20px;
    margin: 40px 0;
}

.trip-gallery img {
    width: 100%;
    height: 220px; /* Фиксированная высота для аккуратности */
    object-fit: cover;
    border-radius: 12px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.08);
    transition: transform 0.3s ease;
}

.trip-gallery img:hover {
    transform: translateY(-5px);
}

/* Блок FAQ (Вопрос-Ответ) */
.trip-faq-item {
    background: #fff;
    border: 1px solid #eee;
    border-radius: 10px;
    padding: 20px;
    margin-bottom: 15px;
    box-shadow: 0 2px 5px rgba(0,0,0,0.03);
}

.trip-faq-question {
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    color: #000;
    display: block;
    margin-bottom: 8px;
}

/* Мобильная адаптация */
@media (max-width: 768px) {
    .trip-article h2 { font-size: 24px; }
    .trip-gallery { grid-template-columns: 1fr; } /* Одна колонка на телефоне */
    .trip-gallery img { height: auto; aspect-ratio: 16/9; }
}