/* Використання CSS-змінних для легкого управління кольорами та розмірами */
:root {
    --header-bg-color: #635c52;
    --left-sidebar-bg: #b3aca0;
    --right-sidebar-bg: #b3aca0;
    --main-content-bg: #ffffff;
    --bottom-info-bg: #f2eee9;
    --footer-bg-color: #4c463f;
    --sidebar-width: 200px;
    --header-height: 119px; /* Ця змінна дозволить налаштувати висоту хедера, якщо вона зміниться */
}

/* Основні стилі тіла та контейнера */
body {
    margin: 0;
    padding: 0;
    background-color: #b3aca0;
    display: flex;
    min-height: 100vh;
    font-family: 'Montserrat', sans-serif;
}

.container {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    width: 100%;
}

header {
    background-color: var(--header-bg-color);
    padding: 20px;
    box-sizing: border-box;
    text-align: center;
    position: relative;
    background-image: url("https://i.pinimg.com/1200x/77/55/86/775586f660a50f316ede3bddc549a428.jpg");
    background-size: cover;   /* картинка растягивается */
    background-position: center; /* центрируется */
    height: var(--header-height);  /* висота блока, можна змінювати */
    display: flex;
    color: rgb(221, 212, 194);  /* цвет текста */
    text-shadow: 2px 2px 5px rgba(0,0,0,0.7); /* чтобы текст был читаемым */
    
}
header h1, 
header p {
    display: block;     /* каждая строка отдельная */
    text-align: left;   /* выравнивание по левому краю */
    margin: 5px 0;      /* отступы между ними */
}

header h1 {
    font-size: 2.5rem;
    font-weight: bold;
}



h1, h2, h3 {
    font-family: 'Lora', serif;
    font-weight: 600;
}

/* Основной текст */
p, li, a {
    font-family: 'Montserrat', sans-serif;
    font-weight: 400;
}


.content-wrapper {
    display: flex;
    flex: 1;
}

/* Сайдбари */
aside.sidebar {
    background-color: var(--left-sidebar-bg);
    padding: 20px;
    box-sizing: border-box;
    width: var(--sidebar-width);
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
}

/* Правий сайдбар з фіксованим позиціонуванням */
aside.sidebar.right {
    position: fixed;
    right: 0;
    top: 0;
    bottom: 0;
    width: var(--sidebar-width);
    background: var(--right-sidebar-bg);
    z-index: 2;
    /* Уникаємо хардкодингу, використовуючи змінну */
    top: var(--header-height);
}


/* Центральна частина контенту */
.main-and-center-content {
    display: flex;
    flex-direction: column;
    flex: 1;
    overflow: hidden;
    /* Залишаємо місце під правий сайдбар без хардкодингу */
    margin-right: var(--sidebar-width);
}

main {
    background-color: var(--main-content-bg);
    padding: 20px;
    flex: 1;
    overflow-y: auto;
    box-sizing: border-box;
}

.bottom-info {
    background-color: var(--bottom-info-bg);
    padding: 15px 20px;
    box-sizing: border-box;
    flex-shrink: 0;
}

/* Футер */
footer {
    background-color: var(--footer-bg-color);
    padding: 20px;
    box-sizing: border-box;
    flex-shrink: 0;
    position: relative;
    z-index: 1; /* футер під блоком 4 */
    /* Залишаємо місце під правий сайдбар */
    margin-right: var(--sidebar-width);
}

/* Адаптивність для зображення */
.responsive-img {
    max-width: 60%;
    height: auto;
    display: block;       /* превращаем в блочный элемент */
    margin: 0 auto;
}

/* Додаткові стилі для мобільних пристроїв */
@media (max-width: 768px) {
    .content-wrapper {
        flex-direction: column;
    }

    aside.sidebar.left,
    aside.sidebar.right,
    .main-and-center-content,
    footer {
        width: 100%;
        position: static;
        margin-right: 0;
        margin-top: 0;
        top: auto;
    }
}