body {
    font-family: 'Roboto', 'Arial', sans-serif;
}

.main-container {
    width: 100%;
    min-height: 100px;
}


b,
strong {
    display: inline;
    /* Убедитесь, что элементы остаются строчными */
}


/*
    Стили для статических страниц.
*/



div.container-main {
    max-width: 1344px;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    padding: 0 16px;
    min-height: 900px;
}


/* ================== Всё, что касается левого меню ================>>>>> */
div.left-section {
    width: 260px;

}


aside.aside-left {
    width: 100%;
    padding: 10px;
    background: #ffffff;
    /* box-shadow: 4px 4px 8px 0px rgba(34, 60, 80, 0.2); */
}


ul.aside-menu {
    list-style: none;
    padding-left: 0;
    font-size: 20px;
}

.aside-menu-item {
    margin-bottom: 10px;
    position: relative;
    padding-left: 30px;
    /* Отступ под иконку */
    margin-bottom: 10px;
}


/*Стили для иконок->*/



.aside-menu-item a {
    
}
.aside-menu-item_link{
    display: flex;
    /* Для горизонтального выравнивания иконки и текста */
    align-items: center;
    text-decoration: none;
    color: inherit;
    padding: 4px 0;
}

.aside-menu-item_link .icon {
    flex-shrink: 0;
    /* Иконка не сжимается */
    width: 26px;
    /* Стандартная ширина иконки */
    height: 26px;
    /* Стандартная высота иконки */
    margin-right: 10px;
    /* Отступ между иконкой и текстом */
    display: flex;
    align-items: center;
    justify-content: center;
}

.aside-menu-item_link .icon img {
    width: 100%;
    /* Иконка адаптируется к размеру контейнера */
    height: 100%;

    object-fit: contain;
    /* Корректное масштабирование */
    display: block;
}

.aside-menu-item .aside-menu-item_link:hover {
    color: #007bff;

}

/*SUBMENU*/
/* Вложенные элементы меню */
/* Стили для вложенных пунктов меню */
.aside-menu-item ul {
    list-style: none;
    /* padding-left: 20px; */
    /* Отступ вложенного уровня */
    margin: 5px 0 0;
    /* Отступы между подпунктами */
}

.aside-menu-item ul li {
    font-size: 14px;
    /* Размер шрифта меньше, чем у основного уровня */
    margin-bottom: 5px;
    padding-left: 0;
    /* Убираем отступ для иконки */
}

/* Убираем иконки у вложенных пунктов */
.aside-menu-item ul li .aside-menu-item_link {
    display: inline-block;
    /* Линейный текст без flex */
    padding-left: 0;
    /* Убираем отступы */
    text-decoration: none;
    color: inherit;
}

.aside-menu-item ul li .aside-menu-item_link:hover {
    color: #007bff;
    /* Цвет ссылки при наведении */
}


/*SUBMENU*/



/* <<<<<================== Всё, что касается левого меню ================ */

h1.static_pages {
    padding-left: 280px;
}

.radius-20 {
    border-radius: 20px;
}


span.bold {
    font-weight: bold;
    display: inline-block;
    align-self: auto;
}


/* ================== Контент статических страниц ================ */
/* Основной блок с калькуляцией относительно левого меню */
div.content-section {
    width: calc(100% - 280px);
}


/* Глобальные стили для элементов контента страницы */
div.page_content {
    width: 100%;
    display: flex;
    align-items: flex-start;
    margin-bottom: 30px;
    justify-content: space-between;
}


/* Универсальная строка для выравнивания контента по горизонтали */
div.f-row {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    gap: 20px;
}

/* Блоки контента внутри main-section row */
div.content_wrapper {
    min-height: 20px;
    box-shadow: 4px 4px 8px 0px rgba(34, 60, 80, 0.2);
    margin-bottom: 20px;
    padding: 20px;
    background-color: #ffffff;
    box-shadow: 4px 4px 8px 0px rgba(34, 60, 80, 0.2);
    
    font-size: 18px;
    line-height: 1.5;
    color: #333;
    flex-grow: 1;
    flex-shrink: 1;
    max-width: 60%;
}

.content_wrapper.map {
    max-width: 100%;
}

.content_wrapper.map iframe {
    max-width: 100%;
}



/* Блок с контактами */
.contacts-section {
    margin-bottom: 0px;
    /**/
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    height: 80%;

}

.mtb-0 {
    margin-top: 0px;
    margin-bottom: 0px;
}

/* Блок с длинным текстом */
.contacts-section.long-text {
    justify-content: flex-start;

}

/* Оформление заголовока блока контактов*/
.contacts-title {
    display: flex;
    align-items: center;
    font-weight: bold;
    margin-bottom: 10px;
    font-size: 18px;
}


/* Оформление иконки в заголовке */
.contacts-title .icon {
    flex-shrink: 0;
    /* Иконка не сжимается */
    width: 24px;
    /* Размер иконки */
    height: 24px;
    margin-right: 10px;
    /* Отступ между иконкой и текстом */
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Оформление иконки в заголовке */
.contacts-title .icon img {
    max-width: 100%;
    /* Иконка занимает всю ширину контейнера */
    max-height: 100%;
    object-fit: contain;
    /* Корректное масштабирование */
    display: block;
}

/* Оформление текста блока контактов (не длинный текст) */
.contacts-text {
    display: flex;
    font-size: 15px;
    align-items: flex-start;
    margin-bottom: 10px;
}

.option .contacts-text {
    font-size: 17px;
}


/* Оформление иконки для текста и других ситуаций */
.little-icon {
    flex-shrink: 0;
    /* Иконка не сжимается */
    width: 20px;
    /* Размер иконки */
    height: 20px;
    margin-right: 10px;
    /* Отступ между иконкой и текстом */
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
}

.contacts-text .little-icon {
    width: 25px;
    height: 25px;
}

/* Оформление иконки для текста и других ситуаций */
.little-icon img {
    max-width: 100%;
    /* Иконка занимает всю ширину контейнера */
    max-height: 100%;
    object-fit: contain;
    /* Корректное масштабирование */
    display: block;
}

/* Элементы внутри блока контактов */
.contacts-info {
    margin-left: 12%;
    font-size: 16px;
    align-items: center;

}



/* Уменьшенный текст внутри блока контактов */
.contacts-info-mini {
    margin-left: 12%;
    font-size: 14px;
    align-items: center;
}

.no-ml {
    margin-left: 0px;
}






/* Стили для страницы доставки, для реализации вкладок переключения глобальных типов доставки */

nav.tabs {
    margin-bottom: 35px;
}

.tabs ul {
    display: flex;
    list-style: none;
    padding: 0;
    margin: 0;
    gap: 5px;
}

.tabs li {
    flex: 1;

}

.tabs button {
    width: 100%;
    padding: 10px;
    border: none;
    background-color: #f0f0f0;
    cursor: pointer;
    transition: background-color 0.3s;
    font-size: 15px;
    border-radius: 10px;
}

.tabs button[aria-selected="true"] {
    background-color: #484f55;
    color: white;
    /* border-bottom: 2px solid #007bff; */
}

.tab-content {
    background-color: #fff;
    /* padding: 20px; */
    /* border-top: 1px solid #ddd; */
}

.tab-content>div {
    display: none;
}

.tab-content>div:not([hidden]) {
    display: block;
}


/* Стили для страницы доставки, для реализации вкладок переключения глобальных типов доставки */

.content_wrapper.options-block {
    max-width: 40%;
    min-width: 30%;
}

.info-text {
    display: none;
    /* Скрываем все блоки по умолчанию */
}

.info-text[hidden] {
    display: none;
    /* Убеждаемся, что атрибут hidden работает */
}

.info-text.active {
    display: block;
    /* Показываем только активный блок */
}

.active-option {
    /* font-weight: bold; */
    /* color: #007bff; */
    /* text-decoration: underline; */
    /* text-decoration-color: rgb(47, 0, 255); */
    /* Синий цвет для выделения */
    /* background: #f5f5f5; */
    padding: 5px;
    /* border-top: 2px solid #ebebeb;
    border-bottom: 2px solid #ebebeb; */

}



/*Блок с тоглом доставка*/

.content_wrapper.options-block {
    max-width: 100%;
}

.option {
    width: 100%;
    cursor: pointer;
    padding: 15px 20px;
    border-bottom: 2px solid #eee;
    position: relative;
    user-select: none;
}

.option .contacts-text {
    display: flex;
    align-items: center;
    user-select: none;
    pointer-events: none;
}

/* .option .info-text {    
    display: none;
    padding: 15px;
    background-color: #f9f9f9;
    border-left: 3px solid #007bff;
    transition: max-height 1s ease-out, padding 1s ease-out;

} */

/* .option.active .info-text {
    display: block;
} */

.option .info-text {
    max-height: 0;
    overflow: hidden;
    padding: 0 15px;
    /* background-color: #f5f5f5; */
    /* border-left: 3px solid #007bff; */
    transition: max-height 0.3s ease-out, padding 0.3s ease-out;
    /* display: none; */
    font-size: 15px;
}

.option.active .info-text {
    /* max-height: 500px; */
    /* Убедитесь, что это значение достаточно для содержимого */
    padding: 15px;
    display: block;
}

.option.active>.contacts-text {
    font-weight: bold;
}

.option>p.contacts-text::after {
    content: "\25b6";
    display: inline-block;
    margin-left: 5px;
    transition: transform 0.3s ease;
    color: #7a5505;
    font-size: 14px;
}

.option.active>p.contacts-text::after {
    transform: rotate(90deg);
}


.option:hover {
    background-color: #f0f0f0;
}

/*Блок с тоглом доставка*/

.contacts-text.mini-header {
    font-size: 18px;
    font-weight: 600;

}


.info-text .mini-header {
    display: flex;
    font-size: 15px;
}

/* Стили для реализации выбора условий конкретного типа доставки */



/* Стили для блока страницы Оплата */
.payment-methods {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 20px;
}

.payment-method {
    width: 200px;
    height: 200px;
    text-decoration: none;
    color: inherit;
    text-align: center;
    transition: transform 0.3s ease;
}

.image-container {
    width: 100%;
    height: 80%;
    overflow: hidden;
}

.image-container img {
    width: 80%;
    /* height: 100%; */
    object-fit: cover;
    transition: transform 0.3s ease;
}

.payment-method:hover .image-container img {
    transform: scale(1.1);
}


/* Стили для блока оплаты */


/* Текстовые стили для лонгридов */

div.big-text {
    padding: 30px;
    line-height: 2;
    font-size: 17px;
    font-weight: 500;
    border-radius: 25px;
    box-shadow: 4px 4px 8px 0px rgba(34, 60, 80, 0.2);
}

.big-text .image-wrapper {
    max-width: 100%;
}

.big-text .image-wrapper img {
    max-width: 100%;
}

/* Текстовые стили для лонгридов */


@media (max-width: 768px) {
    h1.static_pages{
        padding-left:0;
    }
    div.left-section{
        display: none;;
    }
    div.content-section{
        width: 100%;;
    }
    .payment-method{
        width: calc(50% - 20px);
    }
    div.f-row{
        flex-flow: row wrap;
    }
    div.content_wrapper{
        width: 100%;
        max-width: 100%;
    }
}
