/* ===== ОБЩИЕ СТИЛИ (сброс отступов и базовые настройки) ===== */

/* Селектор * означает "все элементы на странице" */
* {
    margin: 0;              /* Убирает внешние отступы у всех элементов */
    padding: 0;             /* Убирает внутренние отступы у всех элементов */
    box-sizing: border-box; /* Ширина элемента считается вместе с padding и border (удобно для вёрстки) */
}

/* Стили для тега <body> – главной части страницы */
body {
    font-family: 'Arial', sans-serif;  /* Задаёт шрифт Arial, если его нет – любой похожий без засечек */
    line-height: 1.6;                  /* Межстрочный интервал (1.6 от размера шрифта) – текст легче читать */
    background-color: #f5f2e8;         /* Цвет фона страницы – тёплый бежевый, как старая бумага */
    color: #2c3e3d;                    /* Цвет основного текста – тёмный серо-зелёный (не чёрный, мягче) */
}

/* Стили для всех изображений */
img {
    max-width: 100%;        /* Картинка не вылезает за пределы родительского блока */
    height: auto;           /* Высота подстраивается автоматически, чтобы сохранить пропорции */
    display: block;         /* Убирает лишние отступы снизу, которые бывают у строчных картинок */
}

/* ===== ШАПКА САЙТА (тег <header>) ===== */

/* Основной блок шапки */
header {
    background: linear-gradient(135deg, #1e4d3d, #2d6b55); /* Градиент от тёмно-зелёного к светлому под углом 135° */
    color: #fff;            /* Цвет текста в шапке – белый */
    padding: 20px;          /* Внутренние отступы со всех сторон по 20 пикселей */
    text-align: center;     /* Текст выравнивается по центру */
    border-bottom: 4px solid #e8c35c; /* Снизу толстая золотая полоска толщиной 4 пикселя */
}

/* Заголовок первого уровня (название сайта) внутри шапки */
header h1 {
    font-size: 2.5rem;      /* Размер шрифта – 2.5 относительных единицы (примерно 40 пикселей) */
    margin-bottom: 5px;     /* Небольшой отступ снизу (5 пикселей) */
}

/* Подзаголовок внутри шапки (например, "Путеводитель по родному краю") */
header p {
    font-size: 1.2rem;      /* Размер шрифта – 1.2 rem (чуть больше обычного) */
    opacity: 0.9;           /* Лёгкая прозрачность (90% видимости) для красоты */
}

/* ===== НАВИГАЦИОННОЕ МЕНЮ ===== */

/* Блок <nav> – панель навигации */
nav {
    background-color: #1e4d3d; /* Тёмно-зелёный фон меню */
    padding: 10px 0;           /* Внутренние отступы: сверху и снизу 10px, слева и справа 0 */
    position: sticky;          /* Меню становится "липким": при прокрутке прилипает к верху */
    top: 0;                    /* Прилипает к верхнему краю окна */
    z-index: 100;              /* Высокий приоритет слоя, чтобы меню перекрывало другие элементы */
    border-bottom: 2px solid #e8c35c; /* Тонкая золотая полоска снизу толщиной 2 пикселя */
}

/* Список <ul> внутри меню */
nav ul {
    display: flex;          /* Включаем Flexbox – элементы выстраиваются в ряд */
    justify-content: center; /* Выравниваем пункты по центру по горизонтали */
    flex-wrap: wrap;        /* Если пунктов много и они не помещаются, переносим на следующую строку */
    list-style: none;       /* Убираем стандартные маркеры списка (точки) */
    padding: 0;             /* Убираем внутренние отступы */
    margin: 0;              /* Убираем внешние отступы */
}

/* Каждый пункт меню (элемент списка) */
nav li {
    margin: 5px 15px;       /* Внешние отступы: сверху/снизу 5px, слева/справа 15px (расстояние между пунктами) */
}

/* Ссылки внутри меню */
nav a {
    color: white;           /* Цвет текста ссылок – белый */
    text-decoration: none;  /* Убираем подчёркивание у ссылок */
    font-weight: bold;      /* Жирное начертание */
    padding: 8px 15px;      /* Внутренние отступы: сверху/снизу 8px, слева/справа 15px – увеличивает область клика */
    border-radius: 20px;    /* Скругление углов – 20 пикселей, делает ссылки похожими на таблетки */
    transition: background 0.3s; /* Плавное изменение фона при наведении за 0.3 секунды */
}

/* Эффект при наведении курсора на ссылку в меню */
nav a:hover {
    background-color: #e8c35c; /* Фон становится золотым */
    color: #1e4d3d;            /* Текст становится тёмно-зелёным */
}

/* ===== ОСНОВНОЙ КОНТЕЙНЕР (для содержимого страниц) ===== */

/* Класс .container – общий блок для центрирования контента */
.container {
    max-width: 1100px;      /* Максимальная ширина – 1100 пикселей, дальше контент не растягивается */
    margin: 30px auto;      /* Внешние отступы: сверху/снизу 30px, слева/справа auto – центрирует блок по горизонтали */
    padding: 0 20px;        /* Внутренние отступы: слева и справа по 20px, чтобы текст не прилипал к краям на узких экранах */
    
}

/* ===== ЗАГОЛОВКИ РАЗДЕЛОВ (например, "Достопримечательности") ===== */

/* Класс .section-title оформляет заголовки разделов на главной странице */
.section-title {
    font-size: 2rem;            /* Размер шрифта – 2 rem (примерно 32 пикселя) */
    color: #1e4d3d;             /* Цвет текста – тёмно-зелёный */
    margin-bottom: 30px;        /* Отступ снизу 30 пикселей */
    text-align: center;         /* Выравнивание по центру */
    border-bottom: 3px solid #e8c35c; /* Тонкая золотая полоска под текстом толщиной 3 пикселя */
    padding-bottom: 10px;       /* Отступ от текста до полоски – 10 пикселей */
}

/* ===== КАРТОЧКИ ДОСТОПРИМЕЧАТЕЛЬНОСТЕЙ НА ГЛАВНОЙ ===== */

/* Контейнер для всех карточек – используется Flexbox */
.cards {
    display: flex;          /* Включаем Flexbox */
    flex-wrap: wrap;        /* Разрешаем перенос карточек на следующую строку */
    gap: 20px;              /* Расстояние между карточками – 20 пикселей */
    justify-content: center; /* Карточки выравниваются по центру по горизонтали */
}

/* Стиль одной карточки */
.card {
    flex: 1 1 280px;        /* Базовый размер 280px, может растягиваться (flex-grow:1) и сжиматься (flex-shrink:1) */
    max-width: 320px;       /* Максимальная ширина карточки – 320 пикселей */
    background: white;      /* Белый фон карточки */
    border-radius: 12px;    /* Скругление углов – 12 пикселей */
    overflow: hidden;       /* Обрезаем всё, что выходит за границы (нужно для скругления и тени) */
    box-shadow: 0 10px 20px rgba(0,0,0,0.1); /* Тень: смещение по X 0, по Y 10px, размытие 20px, цвет чёрный с прозрачностью 10% */
    transition: transform 0.3s, box-shadow 0.3s; /* Плавная анимация для transform и тени (0.3 секунды) */
    display: flex;          /* Внутри карточки тоже Flexbox */
    flex-direction: column; /* Элементы внутри располагаются вертикально (картинка сверху, текст снизу) */
    border: 1px solid #9bbf8b; /* Тонкая светло-зелёная рамка вокруг карточки */
}

/* Эффект при наведении на карточку */
.card:hover {
    transform: translateY(-5px); /* Поднимаем карточку вверх на 5 пикселей */
    box-shadow: 0 15px 30px rgba(0,0,0,0.15); /* Увеличиваем тень – сильнее эффект парения */
}

/* Изображение внутри карточки */
.card img {
    width: 100%;            /* Картинка занимает всю ширину карточки */
    height: 200px;          /* Фиксированная высота – 200 пикселей */
    object-fit: cover;      /* Картинка обрезается так, чтобы заполнить всю область, сохраняя пропорции */
}


/* Блок с текстовым содержимым карточки */
.card-content {
    padding: 20px;          /* Внутренние отступы со всех сторон по 20 пикселей */
    flex-grow: 1;           /* Занимает всё свободное место, прижимая кнопку вниз */
    display: flex;          /* Внутри тоже Flexbox */
    flex-direction: column; /* Располагаем текст и кнопку вертикально */
}

/* Заголовок (название места) внутри карточки */
.card h3 {
    margin-bottom: 10px;    /* Отступ снизу 10 пикселей */
    color: #1e4d3d;         /* Тёмно-зелёный цвет */
}

/* Текст-описание внутри карточки */
.card p {
    margin-bottom: 15px;    /* Отступ снизу 15 пикселей */
    color: #2c3e3d;         /* Тёмный серо-зелёный цвет */
    flex-grow: 1;           /* Текст занимает свободное пространство, чтобы кнопка была прижата к низу */
}

/* Кнопка "Подробнее" */
.btn {
    display: inline-block;      /* Кнопка ведёт себя как строчный, но с возможностью задать размеры и отступы */
    background: #e8c35c;        /* Золотой фон */
    color: #1e4d3d;             /* Тёмно-зелёный текст */
    padding: 10px 20px;         /* Внутренние отступы: сверху/снизу 10px, слева/справа 20px */
    border-radius: 30px;        /* Сильное скругление – 30 пикселей (форма таблетки) */
    text-decoration: none;      /* Убираем подчёркивание */
    font-weight: bold;          /* Жирный шрифт */
    text-align: center;         /* Текст внутри кнопки по центру */
    transition: background 0.3s; /* Плавное изменение фона при наведении за 0.3 секунды */
    align-self: flex-start;     /* Кнопка не растягивается на всю ширину, а только под свой размер */
    border: none;               /* Убираем стандартную рамку (у кнопок она есть по умолчанию) */
}

/* Эффект при наведении на кнопку */
.btn:hover {
    background: #c9a23d;        /* Фон становится темнее (более тёмный золотой) */
    color: white;               /* Текст становится белым */
}

/* ===== СТРАНИЦА ОТДЕЛЬНОГО МЕСТА (подробное описание) ===== */

/* Класс .place-header – блок, содержащий основное фото места (может использоваться, но в нашем коде он не всегда применяется) */
.place-header {
    margin-bottom: 30px;        /* Отступ снизу 30 пикселей */
}

/* Изображение внутри .place-header (главное фото) */
.place-header img {
    width: 100%;                /* Занимает всю ширину родителя */
    max-height: 400px;          /* Ограничивает высоту 400 пикселями */
    object-fit: cover;          /* Обрезает картинку, сохраняя пропорции */
    border-radius: 12px;        /* Скругление углов 12 пикселей */
    box-shadow: 0 5px 15px rgba(0,0,0,0.2); /* Лёгкая тень */
    border: 3px solid #9bbf8b;  /* Светло-зелёная рамка толщиной 3 пикселя */
}

/* Блок с подробной информацией о месте (текст, мета-данные) */
.place-info {
    background: white;          /* Белый фон */
    padding: 30px;              /* Внутренние отступы 30 пикселей со всех сторон */
    border-radius: 12px;        /* Скругление углов 12 пикселей */
    box-shadow: 0 5px 15px rgba(0,0,0,0.1); /* Тень */
    margin: 30px 0;             /* Внешние отступы: сверху и снизу 30px, слева/справа 0 */
    border-left: 5px solid #e8c35c; /* Толстая золотая полоска слева (акцент) толщиной 5 пикселей */
}

/* Заголовок второго уровня (название места) внутри .place-info */
.place-info h2 {
    color: #1e4d3d;             /* Тёмно-зелёный цвет */
    margin-bottom: 20px;        /* Отступ снизу 20 пикселей */
}

/* Абзацы текста внутри .place-info */
.place-info p {
    margin-bottom: 15px;        /* Отступ снизу между абзацами 15 пикселей */
    text-indent: 25px;          /* 25 пикселей — красная строка*/
}

/* Блок с мета-информацией (как добраться, координаты, лучшее время) */
.place-meta {
    display: flex;              /* Flexbox для расположения элементов в ряд */
    flex-wrap: wrap;            /* Разрешаем перенос на новую строку */
    gap: 30px;                  /* Расстояние между элементами 30 пикселей */
    margin-top: 20px;           /* Отступ сверху 20 пикселей */
    padding-top: 20px;          /* Внутренний отступ сверху 20 пикселей */
    border-top: 2px dashed #9bbf8b; /* Сверху пунктирная линия светло-зелёного цвета толщиной 2 пикселя */
}

/* Каждый отдельный элемент мета-информации (например, блок "Как добраться") */
.meta-item {
    flex: 1 1 200px;            /* Базовый размер 200px, может растягиваться и сжиматься */
}

/* Жирный текст внутри мета-блока (например, "Как добраться:") */
.meta-item strong {
    color: #1e4d3d;             /* Тёмно-зелёный цвет */
    display: block;             /* Занимает всю строку, чтобы текст был над содержимым */
    margin-bottom: 5px;         /* Отступ снизу 5 пикселей */
}

/* Ссылка "Вернуться к списку мест" */
.back-link {
    margin-top: 20px;           /* Отступ сверху 20 пикселей */
}

/* Стиль ссылки внутри .back-link */
.back-link a {
    color: #1e4d3d;             /* Тёмно-зелёный цвет */
    font-weight: bold;          /* Жирное начертание */
    text-decoration: none;      /* Убираем подчёркивание */
}

/* Эффект при наведении на ссылку возврата */
.back-link a:hover {
    color: #e8c35c;             /* Цвет становится золотым */
    text-decoration: underline; /* Появляется подчёркивание */
}

/* ===== СТРАНИЦЫ "О ПРОЕКТЕ" И "КОНТАКТЫ" ===== */

/* Класс .page-content – общий блок для текстовых страниц */
.page-content {
    background: white;          /* Белый фон */
    padding: 30px;              /* Внутренние отступы 30 пикселей */
    border-radius: 12px;        /* Скругление углов 12 пикселей */
    box-shadow: 0 5px 15px rgba(0,0,0,0.1); /* Тень */
    margin-bottom: 30px;        /* Отступ снизу 30 пикселей */
    border-left: 5px solid #e8c35c; /* Толстая золотая полоска слева (акцент) */
    text-indent: 25px; /* 25 пикселей — красная строка */
}

/* Заголовок второго уровня внутри .page-content */
.page-content h2 {
    color: #1e4d3d;             /* Тёмно-зелёный цвет */
    margin-bottom: 20px;        /* Отступ снизу 20 пикселей */
}

/* Блок с контактной информацией (например, Email) */
.contact-item {
    margin-bottom: 15px;        /* Отступ снизу 15 пикселей */
    padding: 10px;              /* Внутренние отступы 10 пикселей */
    background: #f9f9f9;        /* Светло-серый фон */
    border-radius: 8px;         /* Скругление углов 8 пикселей */
}

/* Жирный текст внутри .contact-item (например, "Email:") */
.contact-item strong {
    display: inline-block;      /* Элемент ведёт себя как строчно-блочный, можно задать ширину */
    width: 100px;               /* Фиксированная ширина 100 пикселей, чтобы все метки были выровнены */
    color: #1e4d3d;             /* Тёмно-зелёный цвет */
}

/* ===== ПОДВАЛ (ФУТЕР) ===== */

/* Блок <footer> */
footer {
    background: #1e4d3d;        /* Тёмно-зелёный фон */
    color: white;               /* Белый текст */
    text-align: center;         /* Текст по центру */
    padding: 20px;              /* Внутренние отступы 20 пикселей */
    margin-top: 40px;           /* Внешний отступ сверху 40 пикселей (отделяет подвал от контента) */
    border-top: 4px solid #e8c35c; /* Толстая золотая полоска сверху */
}

/* Ссылки в подвале */
footer a {
    color: #e8c35c;             /* Золотой цвет ссылок */
    text-decoration: none;      /* Убираем подчёркивание */
}

/* При наведении на ссылку в подвале */
footer a:hover {
    text-decoration: underline; /* Появляется подчёркивание */
}

/* ===== АДАПТИВНОСТЬ (для экранов шириной менее 600 пикселей) ===== */

/* Медиазапрос: если ширина окна браузера <= 600 пикселей (телефоны) */
@media (max-width: 600px) {
    header h1 {
        font-size: 2rem;        /* Уменьшаем размер заголовка шапки до 2rem (примерно 32px) */
    }
    nav ul {
        flex-direction: column; /* Меню становится вертикальным (пункты друг под другом) */
        align-items: center;    /* Центрируем пункты по горизонтали */
    }
    nav li {
        margin: 5px 0;          /* Отступы: сверху/снизу 5px, слева/справа 0 – расстояние между пунктами по вертикали */
    }
    .section-title {
        font-size: 1.8rem;      /* Уменьшаем размер заголовков разделов */
    }
    .place-meta {
        flex-direction: column; /* Блоки мета-информации становятся вертикальными (один под другим) */
        gap: 15px;              /* Уменьшаем расстояние между ними до 15 пикселей */
    }
}
