body {
    overflow: scroll;
    font-family: "Inter", sans-serif;
    font-optical-sizing: auto;
    color: #202020;
    overflow-x: hidden;
}

/* або через універсальний селектор */
* {
    letter-spacing: -0.02em !important;
}

html, body {
    letter-spacing: -0.02em !important;
}

h1, h2, h3, h4, h5, h6 {
    letter-spacing: -0.02em !important;
}

/* Стилізуємо сам скролбар */
::-webkit-scrollbar {
    width: 12px; /* Ширина вертикального скролбару */
    /* height: 12px;  */
}

::-webkit-scrollbar-thumb {
    background-color: #888;
    border-radius: 10px;
    border: 3px solid #f1f1f1;
}

::-webkit-scrollbar-thumb:hover {
    background-color: #555;
}

::-webkit-scrollbar-track {
    background-color: #f1f1f1;
    border-radius: 10px;
}

a {
    text-decoration: none;
    color: #202020;
}

a:hover {
    color: #202020;
}

p {
    margin: 0;
}

main > .container, main > .container-fluid
{
    padding: 70px 15px 20px;
}

/* Початковий стан – весь екран білий */
.fade-in {
    opacity: 0;
    background-color: white;
    transition: opacity 0.8s ease-in-out, background-color 0.8s ease-in-out;
}

/* Кінцевий стан після завантаження */
.fade-in.show {
    opacity: 1;
    background-color: transparent;
}

.search-wrapper {
    width: 520px;
    position: relative;
    /* left: 50%;
    transform: translateX(-50%); */
    display: flex;
    justify-content: center;
    z-index: 110;
}

.searched-products {
    display: flex;
}

.searched-category {
    display: flex;
    padding-bottom: 40px;
}

.search-filter {
    min-width: 320px;
    width: 320px;
    margin-right: 80px;
    border-top: 1px solid #ECECEC;
    margin-bottom: 30px;
}

.filter_name {
    font-weight: 500;
    font-size: 15px;
    line-height: 21px;
}

.filter-item {
    margin-bottom: 8px;
    display: flex;
    align-items: center;
    /* flex-wrap: wrap; */
    position: relative;
}

.filter-item label {
    font-size: 15px;
    font-weight: 500;
    line-height: 120%;
    letter-spacing: -0.05em !important;
}

.count_items {
    color: #878787 !important;
}

/* Сховати стандартний чекбокс */
.filter-item input[type="checkbox"] {
    position: relative;
    width: 20px;
    height: 20px;
    margin-right: 10px;
    -webkit-appearance: none; /* Вимикаємо стандартний стиль */
    -moz-appearance: none;
    appearance: none;
    border: 1.5px solid #CCCCCC; /* Сіра обводка */
    border-radius: 2px; /* Можна додати закруглені кути, якщо хочете */
    outline: none;
    cursor: pointer;
}

/* Галочка всередині чекбокса */
.filter-item input[type="checkbox"]:checked {
    background-color: #1256A9; /* Колір галочки */
    border-color: #1256A9; /* Колір обводки при виборі */
}

/* Додаємо стилізацію для галочки */
.filter-item input[type="checkbox"]:checked:before {
    content: "";
    position: absolute;
    left: 5px;
    top: 2px;
    width: 6px;
    height: 10px;
    border: solid white;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
    border-radius: 2px; /* Заокруглення країв */
}


.filter-card {
    width: 100%;
    padding: 30px 0 5px 0;
    border-bottom: 1px solid #ECECEC;
}

.filter_div {
    margin-bottom: 15px;
    display: flex;
    justify-content: space-between;
}

.filter_div_price {
    margin-bottom: 25px;
}

.filter_btn {
    width: 24px;
    height: 24px;
}

.filter_btn:hover {
    cursor: pointer;
}

.btn_close {
    background: url('../img/svg/arrow_down.svg') no-repeat;
}

.btn_open {
    background: url('../img/svg/arrow_up.svg') no-repeat !important;
}

.opened_filter {
    display: block;
    margin-bottom: 25px;
}

.closed_filter {
    display: none;
}

.reserve_blur {
    padding-top: 81px !important;
    display: flex;
    top: 0;
    width: 100%;
    height: 100%;
    position: fixed;
    opacity: 0; /* Початкова непрозорість 0 */
    background-color: #111;
    z-index: 104;
    left: 0;
    visibility: hidden; /* Приховуємо елемент */
    transition: opacity 750ms ease, visibility 0ms 750ms; /* Анімація opacity та visibility */
}

/* Початковий стан елемента - він прихований */
.slide_blur {
    padding-top: 81px !important;
    display: flex;
    top: 0;
    width: 100%;
    height: 100%;
    position: fixed;
    opacity: 0; /* Початкова непрозорість 0 */
    background-color: #202020;
    z-index: 114;
    left: 0;
    visibility: hidden; /* Приховуємо елемент */
    transition: opacity 750ms ease, visibility 0ms 750ms; /* Анімація opacity та visibility */
}

/* Клас, який застосовується для появи */
.show_blur {
    opacity: 0.25; /* Плавне набуття непрозорості */
    visibility: visible; /* Робимо елемент видимим */
    transition: opacity 750ms ease, visibility 0ms; /* Час анімації */
}


#suggestions {
    min-height: 72px;
    top: -10px;
    position: absolute;
    width: 100%;
    background-color: #fff;
    padding-bottom: 10px;
    z-index: 106;
    border-radius: 15px;
    margin: 0;
}

#suggestions li {
    padding: 0 10px;
    width: 100%;
    display: flex;
}

#suggestions li:first-child {
    margin-top: 72px;
}

.search_divider {
    border-top: 1px solid #ECECEC;
    margin: 10px 0 !important;
}

.search_product_link, .search_category_link {
    display: flex;
    width: 100%;
    padding: 15px;
    font-size: 15px;
    line-height: 120%;
    border-radius: 15px;
    cursor: pointer;
}

.search_p {
    display: -webkit-box;
    -webkit-line-clamp: 1; /* Максимум 2 лінії */
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
}

.search_category_link img {
    margin-right: 10px;
}

.search_product_link:hover, .search_category_link:hover {
    background-color: #F5F5F5;
}

.search {
    background: url('../img/f_search.svg') no-repeat 20px center;  
    background-size: 24px 24px; /* Задаємо розмір іконки */
    padding-left: 54px; /* Відступ для іконки */
    height: 52px; /* Висота інпута */
    color: #202020;
    z-index: 107;
    text-decoration: none; /* За замовчуванням текст без підкреслення */
    width: 500px;
    border-radius: 15px;
    background-color: #F5F5F5;
    border: 1px solid #fff;
    box-shadow: none !important;
    outline: none;
}

.search-btn {
    position: absolute;
    top: 50%;
    right: 23px; /* Відступ праворуч */
    transform: translateY(-50%);
    background: url('../img/f_search.svg') no-repeat center center;
    background-size: 24px 24px;
    width: 24px; /* Ширина кнопки */
    height: 24px; /* Висота кнопки */
    border: none;
    cursor: pointer;
    z-index: 108;
    opacity: 0; /* Початково приховуємо кнопку */
    visibility: hidden; /* Прибираємо кнопку з DOM */
    transition: opacity 0.3s ease, visibility 0.3s ease; /* Анімація появи/зникнення */
}

.search:focus + .search-btn, /* Коли інпут у фокусі */
.search:not(:placeholder-shown) + .search-btn { /* Коли інпут заповнений */
    opacity: 1; /* Робимо кнопку видимою */
    visibility: visible;
}

.search-btn:focus {
    outline: none; /* Прибираємо обводку */
}

/* Появление крестика и перемещение иконки поиска вправо при наличии текста */
.search:focus,
.search:not(:placeholder-shown) {
    background: none; /* Иконка справа */
    padding-left: 15px; /* Сдвиг текста влево */
    padding-right: 108px; /* Оставляем место для иконки справа */
}

/* Стан, коли інпут не у фокусі, але має текст */
.search:not(:focus):not(:placeholder-shown) {
    border: 2px solid #CCCCCC !important;
}

/* Показ іконок, коли поле в фокусі або коли є текст */
.search:focus ~ .clear-btn, .search:focus ~ .line,
.search:not(:placeholder-shown) ~ .clear-btn, .search:not(:placeholder-shown) ~ .line {
    opacity: 1; /* Робимо видимою */
    visibility: visible; /* Активуємо видимість */
}

/* Плейсхолдер без підкреслення */
.search::placeholder {
    text-decoration: none; /* Точно прибираємо підкреслення */
}

/* Текст інпуту з підкресленням */
.search:focus:not(:placeholder-shown) {
    text-decoration: none; /* Основний стиль для тексту */
}

.search:focus {
    border: 2px solid #1256A9 !important;
}

.search:focus,
.search:hover {
    box-shadow: none !important;
    outline: none;
    border: 1px solid #fff; /* Гарантована відсутність видимої границі */
}

.searchDiv {
    width: 1580px;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
}

.searchContent {
    width: 100%;
    margin-bottom: 140px;
}

.searchContent h1 {
    margin: 0 0 40px 0;
    font-size: 40px;
    line-height: 110%;
    font-weight: 500;
}

.searchContent h2 {
    font-size: 40px;
}

.div_breadcrumbs {
    width: 100%;
    display: flex;
    justify-content: center;
    padding-top: 40px;
}

.div_breadcrumbs nav {
    width: 1580px;
}

/* Кнопка очистки (крестик) */
.clear-btn {
    font-weight: 300;
    position: absolute;
    right: 67px;
    top: 45%;
    transform: translateY(-50%);
    font-size: 30px;
    cursor: pointer;
    opacity: 0; /* Початково прихована */
    color: #202020;
    z-index: 110;
    transition: opacity 500ms ease, visibility 500ms ease; /* Додаємо плавний перехід */
    visibility: hidden; /* Забороняємо взаємодію, поки не видно */
}

.line {
    position: absolute;
    right: 52px;
    top: 49.5%;
    transform: translateY(-50%);
    font-size: 15px;
    opacity: 0; /* Початково невидима */
    visibility: hidden; /* Забороняємо взаємодію */
    color: #D9D9D9;
    z-index: 110;
    transition: opacity 500ms ease, visibility 500ms ease; /* Плавний перехід */
}

.left-menu {
    width: 400px !important;
    border-right: 1px solid #ECECEC;
    background-color: #fff;
}

.right-menu {
    scrollbar-width: none; /* Приховує скролбар у Firefox */
    overflow-y: auto; /* Дозволяє вертикальне прокручування всередині цього блоку */
    max-height: 100%;
    background-color: #fff;
    flex: 1;
    /* max-width: 1134px; */
    padding: 40px 0 40px 80px;
    display: none; /* Изначально скрыто, будет показано при наведении */
}

.right-menu::-webkit-scrollbar {
    display: none; /* Приховує скролбар */
}

.menuDiv {
    width: 100%;
    display: flex;
    justify-content: space-between;
    padding-bottom: 100px;
}

.submenu_ul {
    width: 320px;
    padding-bottom: 20px;
    margin-bottom: 30px;
    border-bottom: 1px solid #ECECEC;
}

.submenu_ul li {
    display: flex;
}

.second-level-menu {
    display: none; /* Скрыто по умолчанию */
    flex-wrap: wrap !important;
}

.catIconDiv {
    height: 24px;
    width: 24px;
    margin-right: 10px;
}

.catArrowDiv {
    display: none;
    height: 24px;
    width: 24px;
    margin-left: 10px;
    justify-self: end;
    flex-grow: 1;
    justify-content: end;
}

.catIcon {
    display: flex;
    height: 100%;
}

.closeIcon {
    display: flex;
    height: 100%;
    margin-left: auto;
    margin-right: 0 !important;
}

.categoryName h3 {
    margin: 0 0 40px 0;
    color: #202020;
    font-size: 40px;
    font-weight: 500;
    line-height: 110%;
}

.categoryName h3:hover {
    /* text-decoration: underline; */
}

.showHideDiv {
    display: flex;
    margin-top: 20px;
}

.showHideButton {
    cursor: pointer;
    text-transform: uppercase;
    font-size: 11px;
    padding: 6px 10px;
    border-radius: 5px;
    border: 1px solid #ccc;
    color: #797979;
    font-weight: 400;
    height: 23px;
    display: flex;
    align-items: center;
}

.showHideButton:hover {
    border-color: #202020;
}

.second-level-item {
    width: 320px;
    margin-bottom: 15px;
}

.second-level-item a {
    font-weight: 500;
    font-size: 17px;
    line-height: 120%;
    color: #202020;
}

.third-level-item {
    margin-bottom: 10px;
}

.third-level-item a {
    font-weight: 500;
    font-size: 15px;
    line-height: 120%;
    color: #6E6E6E !important;
}

/* .second-level-item a:hover {
    text-decoration: underline;
} */

.third-level-item a:hover {
    color: #202020 !important;
}

.first-level-menu {
    margin-top: 40px;
    padding-right: 40px;
}

.first-level-item {
    display: flex;
    align-items: center;
}

.first-level-link {
    padding: 12px 19px 12px 15px;
    align-items: center;
    display: flex;
    width: 100%;
}

.hovered_item {
    background-color: #F5F5F5 !important;
    border-radius: 15px !important;
}

.first-level-item a {
    font-size: 15px;
    line-height: 120%;
    font-weight: 500;
}

.first-level-item:hover + .right-menu .second-level-menu {
    display: flex; /* Показываем соответствующее подменю */
    flex-wrap: wrap;
}

.showArrow {
    display: flex !important; /* Показываем соответствующее подменю */
}

.category-menu {
    display: flex;
    top: -100%;
    position: fixed;
    z-index: 108;
    width: 100%;
    height: 100%;
    justify-content: center;
    background-color: #fff;
}

.standart_block {
    display: flex;
    width: 1580px;
    height: 100%;
}

.noscroll {
    padding-right: 12px;
    overflow: hidden !important;
    /* position: fixed; */
    /* width: 100%; */
}

.openCat {
    border-top: 1px solid #ECECEC;
    top: 90px;
}

.category-menu ul {
    list-style-type: none;
}

.category-menu li a {
    text-decoration: none;
    color: #202020;
}

.left_header {
    width: 40%;
    display: flex;
    align-items: center;
}

.mid_header {
    width: 35%;
    display: flex;
    align-items: center;
    justify-content: center
}

.right_header {
    width: 25%;
    display: flex;
    align-items: center;
    justify-content: flex-end;
}

.warehouse {
    position: relative;
    margin-left: 40px;
    cursor: pointer;
    display: flex;
    align-items: center;
    font-size: 15px;
    line-height: 120%;
    font-weight: 500;
    letter-spacing: -0.05em;
}

#current-warehouse-city {
    color: #1256A9;
    padding-bottom: 2px;
    border-bottom: 1px solid #1256A9;
}

.warehouse_current {
    color: #1256A9;
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 12px 16px;
    border-radius: 15px;
    background-color: #FFFFFF;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.warehouse_current:hover {
    color: #0c468d;
}

.warehouse_menu {
    display: none;
    position: absolute;
    top: calc(100% + 8px);
    left: 0;
    min-width: 220px;
    background: #FFFFFF;
    border: 1px solid #ECECEC;
    border-radius: 15px;
    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.08);
    padding: 12px 0;
    z-index: 120;
}

.warehouse_show {
    display: block;
}

.warehouse_list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.warehouse_option {
    padding: 10px 20px;
    cursor: pointer;
    transition: background 0.2s ease, color 0.2s ease;
    font-size: 15px;
    line-height: 120%;
}

.warehouse_option:hover,
.warehouse_option.active {
    background: #F5F8FE;
    color: #1256A9;
}

.burger_menu {
    border: 2px solid #1256A9;
    padding: 14px 17px 14px 15px;
    background-color: #1256A9;
    height: 52px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    z-index: 105;
    position: relative;
    cursor: pointer;
    /* -webkit-transition: all .5s ease-in-out;
    -o-transition: all .5s ease-in-out;
    transition: all .5s ease-in-out; */
    border-radius: 15px;
}

.catalog_burger {
    margin: 0;
    font-size: 15px;
    line-height: 120%;
    color: #fff;
    /* text-transform: uppercase; */
    margin-left: 10px;
    font-weight: 550;
}


.burger {
    width: 16px;
    height: 1.5px;
    background: #fff;
    border-radius: 10px;
    /* -webkit-transition: all .5s ease-in-out;
    -o-transition: all .5s ease-in-out;
    transition: all .5s ease-in-out; */
}


.burger::before,
.burger::after {
    content: '';
    position: absolute;
    width: 16px;
    height: 1.5px;
    background: #fff;
    border-radius: 10px;
    /* -webkit-transition: all .5s ease-in-out;
    -o-transition: all .5s ease-in-out;
    transition: all .5s ease-in-out; */
}

.burger::before {
    -webkit-transform: translateY(-6px);
        -ms-transform: translateY(-6px);
            transform: translateY(-6px);
}

.burger::after {
    -webkit-transform: translateY(6px);
        -ms-transform: translateY(6px);
            transform: translateY(6px);
}

.open {
    color: #1256A9 !important;    
    background-color: #fff !important;
}
.open .catalog_burger {
    color: #1256A9 !important;    
}

/* Animation burger */

.open .burger {
    background: #1256A9;
    -webkit-transform: translateX(50px);
        -ms-transform: translateX(50px);
            transform: translateX(50px);
    background: transparent;
    -webkit-box-shadow: none;
            box-shadow: none;
}

.open .burger::before {
    background: #1256A9;
    -webkit-transform: rotate(45deg) translate(-35px, 35px);
        -ms-transform: rotate(45deg) translate(-35px, 35px);
            transform: rotate(45deg) translate(-35px, 35px);
}

.open .burger::after {
    background: #1256A9;
    -webkit-transform: rotate(-45deg) translate(-35px, -35px);
        -ms-transform: rotate(-45deg) translate(-35px, -35px);
            transform: rotate(-45deg) translate(-35px, -35px);
}


.footer {
    background-color: #00162F;
    color: #fff;
}

.footer a {
    color: #bbbbbb;
}

.footer_container {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
}

ul {
    list-style: none;
    padding: 0;
}

.footer_menu {
    padding: 60px 0;
    width: 1580px;
    display: flex;
}

.f_div h5 {
    margin-bottom: 20px;
    font-size: 17px;
    font-weight: 500;
    line-height: 120%;
}

.f_div ul li {
    font-size: 15px;
    font-weight: 450;
    line-height: 120%;
    margin-top: 10px;
}

.f_div ul {
    margin-bottom: 0;
}

.f_div ul li:last-child {
    margin-bottom: 0;
}

.f_div {
    width: 380px !important;
    margin-right: 20px;
}

.footer_menu .f_div:last-child {
    margin-right: 0;
}

.f_shops ul li {
    font-size: 15px;
    font-weight: 450;
    line-height: 120%;
    margin-bottom: 25px;
}

.footer_div_img {
    width: 33%;
}

.footer_name {
    display: flex;
    width: 33%;
    justify-content: flex-end;
}

.footer_pay {
    display: flex;
    justify-content: center;
    width: 34%;
}

.address {
    margin: 0 0 8px 0;
    font-size: 15px;
    line-height: 120%;
}

.phone {
    font-size: 24px;
    line-height: 100%;
    font-weight: 500;
    color: #fff !important;
}

.road_map {
    gap: 10px;
    padding: 4px 10px;
    border-radius: 5px;
    text-transform: uppercase;
    font-size: 11px;
    line-height: 11px;
    font-weight: 500;
    background-color: #1256A9;
    color: #fff !important;
}

.road_map img {
    margin-left: 4px;
}

/* .f_client {
    max-width: 175px;
}

.f_shops {
    max-width: 216px;
}

.f_rights {
    max-width: 254px;
}

.f_contacts {
    max-width: 240px;
} */

.footer_div {
    border-top: 1px solid #E4E4E426;
    display: flex;
    align-items: center;
    padding: 30px 0;
    width: 1580px;
    justify-content: space-between;
}

.footer_name p {
    margin: 0;
    opacity: 20%;
    font-size: 15px;
    line-height: 21px;
    font-weight: 400;
}

.telegram_link  {
    display: flex;
}

.telegram_link img {
    margin-right: 4px;
}

.not-set {
    color: #c55;
    font-style: italic;
}

/* add sorting icons to gridview sort links */
a.asc:after, a.desc:after {
    content: '';
    left: 3px;
    display: inline-block;
    width: 0;
    height: 0;
    border: solid 5px transparent;
    margin: 4px 4px 2px 4px;
    background: transparent;
}

a.asc:after {
    border-bottom: solid 7px #212529;
    border-top-width: 0;
}

a.desc:after {
    border-top: solid 7px #212529;
    border-bottom-width: 0;
}

.grid-view th,
.grid-view td:last-child {
    white-space: nowrap;
}

.grid-view .filters input,
.grid-view .filters select {
    min-width: 50px;
}

.hint-block {
    display: block;
    margin-top: 5px;
    color: #999;
}

.error-summary {
    color: #a94442;
    background: #fdf7f7;
    border-left: 3px solid #eed3d7;
    padding: 10px 20px;
    margin: 0 0 15px 0;
}

/* align the logout "link" (button in form) of the navbar */
.navbar form > button.logout {
    padding-top: 7px;
    color: rgba(255, 255, 255, 0.5);
}

.navbar-nav {
    flex-direction: row;
}

.icons_navbar {
    width: 152px;
    display: flex;
    justify-content: space-between;
}

.index {
    position: relative;
    overflow: hidden;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}

.baner {
    width: 100%;
    height: 600px;
    background-color: #ccc;
    margin-bottom: 140px;
}

.baner_small {
    width: 100%;
    height: 525px;
    margin-bottom: 140px;
    display: flex;
    justify-content: center;
}

.baner_small_block {
    width: 1580px;
    height: 525px;
    background-color: #ccc;
}

.widget-title {
    width: 1580px;
    display: flex;
    justify-content: space-between;
}

.h3-viewed {
    font-size: 40px;
    font-weight: 500;
    line-height: 110%;
    letter-spacing: -0.04em;
    margin-bottom: 0;
}

.arrows {
    width: 95px;
    display: flex;
    justify-content: space-between;
}

.viewed-products-widget {
    display: flex;
    flex-wrap: wrap;
    /* margin-left: 170px; */
    width: 1580px;
    /* height: 512px; */
    margin-bottom: 140px;
    overflow: hidden; /* Приховати елементи за межами контейнера */
    /* position: relative; */
}

.category_list {
    display: flex;
    flex-wrap: wrap;
    align-items: start;
    flex-grow: 1;
}

.cover {
    width: 100%;
    display: grid; /* Вмикає grid */
    grid-template-columns: repeat(3, 1fr); /* 4 колонки однакової ширини */
    gap: 20px; /* Відстань між елементами по горизонталі і вертикалі */
}

.category_card {
    display: flex;
    height: 448px;
    padding: 30px 30px 20px 30px;
    width: 100%;
    background-color: #fff;
    filter: brightness(0.975);
}

.category_card a {
    flex-grow: 1;
    display: flex;
    flex-wrap: wrap;
    width: 100%;
}


.cover_grow {
    display: flex;
    width: 100%;
    align-self: stretch;
    flex-grow: 1;
}

.subcategory_list {
    min-width: 320px !important;
    width: 320px !important;
    margin-right: 80px;
}

.categories_div {
    display: flex;
}

.search-list {
    width: 100%;
}

.product_top {
    display: flex;
    align-items: center;
    font-size: 15px;
    font-weight: 500;
    line-height: 120%;
}

.sort-option {
    font-size: 15px;
    line-height: 120%;
    font-weight: 500;
    letter-spacing: -0.05em !important;
}

.product_sort {
    margin-bottom: 30px;
}

.filter-item input[type=radio] {
    margin-right: 8px;
    width: 22px;
    height: 22px;
}

.products-list {
    display: flex;
    width: 100%;
    height: 424px;
    transition: transform 0.5s ease-in-out;
    /* position: absolute; */
    margin-top: 25px;
}

.category-list {
    width: 100%;
    display: grid; /* Вмикає grid */
    grid-template-columns: repeat(6, 1fr); /* 4 колонки однакової ширини */
    gap: 21px; /* Відстань між елементами по горизонталі і вертикалі */
}

.category-card {
    padding: 25px;
    width: 243px;
    height: 303px;
    background-color: #fff;
    filter: brightness(0.975);
}

.category-card a {
    height: 100%;
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
}

.item-cards {
    /* transition: opacity 0.8s ease-in-out, background-color 0.8s ease-in-out; */
    width: 100%;
    display: grid; /* Вмикає grid */
    grid-template-columns: repeat(4, 1fr); /* 4 колонки однакової ширини */
    gap: 20px; /* Відстань між елементами по горизонталі і вертикалі */
}

.item-card {
    /* transition: opacity 0.8s ease-in, background-color 0.8s ease-in; */
    height: 424px;
    position: relative;
}

.search-item {
    width: 100%;
}

.category_window {
    width: 100%;
}

.category_title {
    width: 100%;
    align-self: flex-end;
    font-size: 17px;
    text-align: center;
    font-weight: 500;
    line-height: 23.8px;
    margin: 0;
}

.category_image {
    width: 100%;
}

.subcategory_card {
    width: 100%;
    padding: 30px 0 20px 0;
    border-bottom: 1px solid #ECECEC;
}

.subcategory_list > .subcategory_card:first-child {
    padding-top: 0 !important;
}

.category_link {
    font-weight: 600;
}

.subcategory_item {
    margin-bottom: 10px;
    display: flex;
    align-items: center;
}

.subcategory_main_item {
    margin-bottom: 15px;
}

.subcategory_main_item a {
    font-size: 17px;
    line-height: 120%;
    font-weight: 500;
    letter-spacing: -0.04em;
}

.subcategory_main_item a:hover {
    text-decoration: underline;
}

.subcategory_item a {
    font-size: 15px;
    line-height: 120%;
    font-weight: 500;
    letter-spacing: -0.05em;
}

.subcategory_link {
    color: #6E6E6E;
}

.prod_w100 {
    width: 100%;
    display: flex;
    justify-content: center;
}

.after_prod {
    width: 100%;
    display: flex;
    justify-content: center;
}

.icon_slides {
    position: absolute;
    left: -100px;
    height: 100%;
}

.mini_slide {
    margin-bottom: 20px;
    width: 100%;
    display: flex;
    justify-content: flex-end;
}

.mini_slide img {
    filter: brightness(0.95);
}

.product_view {
    display: flex;
    justify-content: center;
    padding: 0;
    flex-wrap: wrap;
    position: relative;
    overflow: hidden;
    flex-grow: 1;
}

.product_view .viewed-products-widget {
    margin-left: 0 !important;
}

.product_card_image {
    position: relative;
    width: 800px;
}

.product_card_info {
    display: flex;
    flex-wrap: wrap;
    width: 780px;
    padding-left: 80px;
}
.card_article {
    font-size: 10px;
    font-weight: 400;
    line-height: 10px;
    color: #797979;
    text-transform: uppercase;
}

.progress_title {
    margin-top: 100px;
    align-items: center;
    display: flex;
    width: 100%;
    justify-content: space-between;
}

/* Контейнер для слайдера */
.price_slider_wrapper {
    overflow: hidden; /* Сховати все, що виходить за межі */
    position: absolute;
    width: 100%;
    margin-bottom: 100px;
}

.slider_cover {
    height: 239px;
    width: 100%;
    margin-bottom: 100px;
}

.delivery_type {
    width: 100%;
    margin-bottom: 15px;
}

.map_button {
    text-transform: uppercase;
    padding: 5px 8px;
    border: 1px solid #CCCCCC;
    font-size: 11px;
    line-height: 110%;
    letter-spacing: -0.04em;
    border-radius: 5px;
}

.delivery_card {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    width: 100%;
    margin-bottom: 100px;
}

.delivery_stroke {
    width: 340px;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    border-top: 1px solid #ECECEC;
    border-bottom: 1px solid #ECECEC;
    font-size: 15px;
    padding: 20px 0;
    color: #979797;
    font-weight: 500;
    letter-spacing: -0.05em;
    line-height: 120%;
}

.delivery_stroke p {
    margin: 0;
}

.color_hex {
    display: inline-block;
    width: 18px !important;
    height: 18px !important;
    border-radius: 5px;
    margin-left: 5px;
    vertical-align: middle;
}

.that_div {
    width: 100%;
    display: flex;
    margin-top: 10px;
}

.this {
    display: flex;
    align-items: center;
    width: 50%;
}

.that {
    display: flex;
    align-items: center;
    width: 50%;
    color: #202020 !important;
    justify-content: flex-end;
    text-align: end;
}

.description {
    font-size: 15px;
    line-height: 21px;
    margin-bottom: 40px;
    color: #a5a5a5;
}

/* Слайдер елементів */
.price_slider {
    display: flex;
    transition: transform 0.5s ease;
}

.price_range {
    width: 363px;
    height: 239px; /* Фіксована висота */
    flex-shrink: 0;  /* Забороняємо елементам стискатися */
    border: 1.5px solid #ECECEC;
    border-radius: 15px;
    display: flex;
    padding: 20px;
    flex-wrap: wrap;
    position: relative;
}

.range_road {
    margin-top: 30px;
    width: 100%;
}

.range_road_text {
    font-size: 17px;
    color: #AFAFAF;
    font-weight: 400;
    margin-bottom: 15px;
    height: 17px;
}

.range_road_progress {
    width: 100%;
    background-color: #F8F8F8;
    height: 6px;
    border-radius: 100px;
    position: relative;
    overflow: hidden; /* Щоб приховати виступання range_road_progress_fill */
}

.range_road_progress_fill {
    height: 100%;
    background-color: #1256A9;
    width: 0; /* Початкова ширина, оновлюється JavaScript-ом */
    border-radius: 100px;
    position: absolute;
    top: 0;
    left: 0;
}

.arrows {
    display: flex;
    justify-content: space-between;
    width: 103px;
    margin: 10px 0;
    cursor: pointer;
}

.arrows_widget {
    align-items: center;
    margin: 0 !important;
}

.arrow {
    cursor: pointer;
    transition: fill 0.3s ease, stroke 0.3s ease;  /* Плавний перехід для кольорів */
}

.arrow:hover circle {
    fill: #202020 !important;  /* Зміна заливки кола на чорний при hover */
}

.arrow:hover path {
    stroke: white !important;  /* Зміна кольору стрілки на білий при hover */
}

.arrow[disabled]:hover circle {
    fill: #EDEDED !important;  /* Якщо стрілка неактивна, залишаємо оригінальний колір */
}

.arrow[disabled]:hover path {
    stroke: #878787 !important;  /* Неактивний стан стрілки */
}


.range {
    width: 100%;
}

.range p {
    font-size: 15px;
    font-weight: 500;
    line-height: 120%;
    margin: 0;
    color: #ccc;
}

.price_type {
    width: 100%;
    display: flex;
    margin-bottom: 10px;
}

.price_type p {
    font-size: 11px;
    font-weight: 500;
    line-height: 110%;
    letter-spacing: -0.05em;
    text-transform: uppercase;
}

.price_int {
    font-size: 20px;
    font-weight: 500;
    line-height: 110%;
    letter-spacing: -0.05em;
    margin-bottom: 40px;
}

/* removed .price_check styles (obsolete) */

.top_card_info {
    width: 100%;
}

.top_card_info h1 {
    font-size: 34px;
    line-height: 110%;
    font-weight: 500;
    margin: 0;
    letter-spacing: -0.05em;
}

.card_price {
    margin: 25px 0 40px 0;
    font-size: 26px;
    line-height: 100%;
    letter-spacing: -0.05em;
    font-weight: 550;
}

.buy_cheaper {
    border-radius: 15px;
    border: 2px solid #1256A9;
    padding: 17px 24px;
    background-color: #fff;
    color: #1256A9;
    font-size: 15px;
    line-height: 120%;
    font-weight: 600;
    margin-right: 15px;
    box-sizing: border-box;
    letter-spacing: -0.05em;
}

.buy_cheaper:hover {
    color: #1256A9;
    cursor: pointer;
}

.add_cart {
    box-sizing: border-box;
    border-radius: 15px;
    border: 1px solid #1256A9;
    padding: 17px 24px;
    background-color: #1256A9;
    color: #fff;
    font-size: 15px;
    line-height: 120%;
    font-weight: 600;
    margin-right: 15px;
    letter-spacing: -0.05em;
}

.add_cart:hover {
    color: #fff;
    cursor: pointer;
}

.favourite {
    box-sizing: border-box;
    border: 2px solid #ECECEC;
    border-radius: 15px;
    display: flex;
    align-items: center;
    padding: 12px;
    cursor: pointer;
}

.favourite_item {
    display: flex;
    position: absolute;
    top: 10px;
    right: 10px;
    z-index: 102;
    cursor: pointer;
}

.available {
    width: 100%;
    margin-bottom: 40px;
}

.available p {
    font-size: 20px;
    line-height: 110%;
    font-weight: 500;
    letter-spacing: -0.05em;
}

.price_progress {
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 20px;
}

.price_progress p {
    font-size: 20px;
    line-height: 110%;
    font-weight: 500;
    letter-spacing: -0.05em;
}

.button_div {
    display: flex;
    align-items: center;
}

.button_div a:hover {
    color: #0c468d;
}

.button_div img {
    margin-left: 8.75px;
}

.article {
    cursor: pointer;
}

.article img {
    margin-left: 6px;
}

.how_it_works {
    cursor: pointer;
    font-size: 15px;
    line-height: 120%;
    color: #1256A9;
    font-weight: 500;
    letter-spacing: -0.05em;
}

.card_buttons {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
}

.search_buttons {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
}

.search_window {
    position: absolute;
    width: 100%;
    background-color: #fff;
    filter: brightness(0.975);
}

/* Початкові стани для зображень */
.search_window[data-index] {
    flex: 1; /* Рівномірне поділення ширини */
    transition: opacity 0.3s ease, z-index 0s ease 0.3s;
}

/* Початкові стани для зображень */
.search_window[data-index] {
    opacity: 0;
    z-index: 0;
}

/* Зображення з індексом 0 буде видимим */
.search_window[data-index="0"] {
    opacity: 1;
    z-index: 1;
}

.image_search {
    width: 100%;
    position: relative;
    padding-bottom: 100%; /* Висота буде рівною ширині */
    display: flex;
    margin-bottom: 20px;
}

.product-item {
    width: 300px;
    height: 424px;
    margin-right: 20px;
    position: relative;
}

.product_link {
    display: block;
}

.image_window {
    position: relative;
    display: flex; /* Розподіляємо зображення рівномірно */
    width: 300px;
    height: 300px;
    margin-bottom: 20px;
}

.image_window img {
    flex: 1; /* Рівномірне поділення ширини */
    transition: opacity 0.3s ease, z-index 0s ease 0.3s;
}

.image_window img[data-index] {
    opacity: 0; /* Початково всі зображення непрозорі */
    z-index: 0; /* За замовчуванням всі зображення на одному рівні */
}

.image_window img[data-index="0"] {
    opacity: 1;
    z-index: 1; /* Перше зображення відображається на передньому плані */
}

.image-dots {
    z-index: 100;
    position: absolute;/* Дитячий елемент з позицією absolute */
    left: 50%; /* Переміщаємо елемент на 50% від ширини батьківського елемента */
    transform: translateX(-50%); /* Зсуваємо елемент на половину його ширини, щоб центр був в середині */
    bottom: 15px;
    display: flex;
    justify-content: center;
    margin-top: 10px;
}

.image-dots .dot {
    width: 6px;
    height: 6px;
    margin: 0 5px;
    background-color: #CCC;
    border-radius: 50%;
    transition: background-color 0.3s;
    cursor: pointer;
}

.image-dots .dot.active {
    background-color: #202020;
}

.slidedots {
    z-index: 100;
    position: absolute;/* Дитячий елемент з позицією absolute */
    left: 50%; /* Переміщаємо елемент на 50% від ширини батьківського елемента */
    transform: translateX(-50%); /* Зсуваємо елемент на половину його ширини, щоб центр був в середині */
    bottom: 15px;
    display: flex;
    justify-content: center;
    margin-top: 10px;
}

.slidedots .dot {
    width: 6px;
    height: 6px;
    margin: 0 5px;
    background-color: #CCC;
    border-radius: 50%;
    transition: background-color 0.3s;
    cursor: pointer;
}

.slidedots .dot.active {
    background-color: #202020;
}


.single-image .slider-images img {
    cursor: url('../img/svg/btn_plus.svg'), auto !important;
}

.single-image .slider-images img:hover {
    cursor: url('../img/svg/btn_plus.svg'), auto !important;
}

/* .product_list_cover {
    height: 424px;
    width: 100%;
} */

.product_window {
    position: absolute;
    background-color: #fff;
    filter: brightness(0.975);
    width: 300px;
    height: 300px;
}

.product_category {
    text-transform: uppercase;
    color: #797979;
    font-size: 11px;
    line-height: 100%;
    font-weight: 500;
    margin-bottom: 15px;
    /* Додаємо обмеження тексту */
    display: -webkit-box;
    -webkit-line-clamp: 1; /* Максимум 2 лінії */
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    letter-spacing: -0.02em;
}

.category_name {
    width: 100%;
    align-self: flex-end;
    color: #202020;
    font-size: 15px;
    line-height: 21px;
    font-weight: 500;
    text-align: center;
    margin-bottom: 0 !important;
}

.product_name {
    color: #353535;
    line-height: 120%;
    letter-spacing: -0.02em;
    font-weight: 450;
    margin-bottom: 15px;
    /* Додаємо обмеження тексту */
    display: -webkit-box;
    -webkit-line-clamp: 2; /* Максимум 2 лінії */
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    word-break: break-word; /* Розриває слово на будь-якому місці, якщо воно не поміщається */
    overflow-wrap: break-word; /* Додає додатковий контроль над перенесенням */
    hyphens: auto;
    font-size: 15px;
}

.product_price {
    color: #202020;
    line-height: 100%;
    font-weight: 500;
}

.article-list {
    display: flex;
    width: 100%;
    /* height: 375px; */
    /* position: absolute; */
    margin-top: 25px;
    transition: transform 0.5s ease-in-out;
}

.article-item {
    width: 513px;
    /* height: 375px; */
    margin-right: 20px;
}

.article_window {
    background-color: #fff;
    filter: brightness(0.975);
    width: 513px;
    height: 260px;
    margin-bottom: 28px;
}

.article_category {
    text-transform: uppercase;
    color: #797979;
    font-size: 11px;
    line-height: 110%;
    font-weight: 500;
    margin-bottom: 23px;
}

.article_category span {
    border-radius: 5px;
    border: 1.5px solid #ccc;
    padding: 3px 6px;
}

.article_name {
    color: #202020;
    font-size: 16px;
    line-height: 120%;
    font-weight: 450;
    margin-bottom: 15px;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
}

.read_more {
    display: inline-block;
    color: #1256A9;
    border-bottom: 1px solid #1256A9;
    line-height: 120%;
    font-size: 18px;
    font-weight: 500;
}

.nav_cover {
    height: 90px;
}

header {
    width: 100%;
    display: flex;
    justify-content: center;
}

#header {
    justify-content: center;
    display: flex;
    align-items: center;
    width: 100%;
    height: 90px;
    z-index: 104;
    background-color: #fff;
    transition: transform 0.4s ease-out, opacity 0.4s ease-out;
}

.fixed {
    position: fixed;
    top: 0;
    /* right: 0; */
    /* left: 0; */
    z-index: 1030;
}

#header.hide {
    transform: translateY(-100%);
}

.navbar-brand img {
    margin-right: 60px;
    height: 60px;
}

.header_container {
    height: 100%;
    width: 1580px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.navbar {
    display: flex;
    justify-content: space-between;
    width: 100%;
}

.empty_search {
    margin: 40px 0 30px 0;
}

#pjaxLogin {
    display: flex;
    align-items: center;
}

.hidden {
    display: none !important;
}

#reset_filters {
    background-color: #303030;
    color: white;
    border: none;
    display: flex;
    align-items: center;
    padding: 0 10px;
    border-radius: 8px;
    cursor: pointer;
    font-size: 13px;
    transition: background-color 0.3s ease, opacity 0.3s ease;
    opacity: 1;
    font-weight: 500;
    height: 37px;
    line-height: 120%;
}

.filter_crumb {
    background-color: #F5F5F5;
    border: none;
    padding: 6px 9px 6px 10px;
    border-radius: 8px;
    display: flex;
    align-items: center;
    opacity: 1;
    transition: opacity 0.3s ease, transform 0.3s ease;
}

#reset_filters.hidden {
    opacity: 0;
    pointer-events: none;
    display: none;
}

.filter_crumbs {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
}

.crumbs_info {
    padding: 0;
    display: flex;
    justify-content: space-between;
    padding-bottom: 25px;
}

.remove-text {
    font-size: 13px !important;
    line-height: 120% !important;
    margin: 0 !important;
}

.filter_crumb.active {
    opacity: 1;
    transform: scale(1);
}

.filter_crumb:not(.active) {
    opacity: 0;
    transform: scale(0.9);
    pointer-events: none;
}

.filter_crumb .remove-crumb {
    margin-left: 5px;
    cursor: pointer;
    color: #202020;
}

.reorder {
    background-color: #1a9b45;
    color: #fff;
}

.reorder:hover {
    background-color: #2bdf67;
}

/* Карта товара в ордері */
.service_item {
    display: flex;
    margin-bottom: 5px;
    background-color: #fff;
    padding: 5px 0;
    align-items: stretch;
}

.order_image {
    align-items: center;
    padding: 0 10px;
    display: flex;
    border-right: 1px solid #F3EFEF;
}

.order_image_size {
    height: 80px;
}

.serviceBlock {
    padding-left: 10px;
}

.order-view {
    background-color: #F3EFEF;
    padding-bottom: 20px;
}
/* Карта товара в ордері */

@media(max-width:767px) {
    .navbar form > button.logout {
        display:block;
        text-align: left;
        width: 100%;
        padding: 10px 0;
    }
}

.navbar form > button.logout:focus,
.navbar form > button.logout:hover {
    text-decoration: none;
    color: rgba(255, 255, 255, 0.75);
}

.navbar form > button.logout:focus {
    outline: none;
}

/* style breadcrumb widget as in previous bootstrap versions */

.breadcrumbs {
    display: flex;
    width: 100%;
    margin-bottom: 20px !important;
}

.breadcrumb-item {
    padding-left: 0 !important;
    display: flex;
    align-items: center;
}

.breadcrumb-item > a
{
    font-weight: 400;
    font-size: 12px;
    line-height: 16.8px;
    margin-right: 10px;
    text-decoration: none;
    color: #797979;
}

.breadcrumb-item > p
{
    font-weight: 500;
    font-size: 13px;
    line-height: 120%;
    letter-spacing: -0.05em;
    margin-right: 10px;
    text-decoration: none;
    color: #797979;
}

/* .active p
{
    font-weight: 400;
    font-size: 12px;
    line-height: 16.8px;
    margin-bottom: 0;
    text-decoration: none;
    color: #797979;
} */
/* Слайдер */
#slider {
    position: relative;
    width: 100%; /* Займає 100% ширини батьківського контейнера */
    height: auto; /* Висота буде автоматично */
    overflow: hidden;
    margin: 0 auto 40px auto;
}

.slider_buttons {
    position: absolute;
    width: 100%;
    height: 100%;
}

.slider-images {
    display: flex;
    transition: transform 0.5s ease;
    width: 100%;
    height: auto; /* Висота буде автоматично */
}

.slider-images img {
    width: 100%; /* Зображення займають 100% ширини */
    height: auto; /* Автоматична висота, щоб зберегти пропорції */
    object-fit: cover; /* Збереження пропорцій зображення */
}

/* Зміни для кружків навігації */
.slider-dots {
    text-align: center;
    position: absolute; /* Встановлюємо позицію абсолютно */
    bottom: 30px; /* Відстань від нижнього краю слайдера */
    left: 50%; /* Вирівнюємо по центру */
    transform: translateX(-50%); /* Центруємо горизонтально */
    z-index: 10; /* Забезпечуємо, що кружки поверх інших елементів */
}

.slider-dots span {
    display: inline-block;
    width: 15px;
    height: 15px;
    border-radius: 50%;
    background-color: #D9D9D9; /* Неактивний колір */
    margin: 0 5px;
    cursor: pointer;
    transition: background-color 0.3s; /* Плавний перехід кольору */
}

.slider-dots .active {
    background-color: #202020; /* Активний колір */
}

/* Модальне вікно */
.modal {
    display: none;
    position: fixed;
    z-index: 1000;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.8);
    overflow-y: auto;
}

/* Стиль для блокування прокручування */
body.modal-open {
    overflow: hidden;
}

.modal_icons {
    position: fixed;
    top: 60px;
    left: 70px;
    z-index: 1000;
    display: flex;
    flex-direction: column;
}

.modal_icons img {
    width: 80px;
    height: 80px;
    object-fit: cover;
    cursor: pointer;
    opacity: 0.8;
    transition: opacity 0.3s ease;
    margin-bottom: 20px;
    filter: brightness(.95);
}
.modal_icons img:hover,
.modal_icons img.active {
    opacity: 1;
}

.modal_icons .active {
    opacity: 1 !important;
}

.modal-content {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 60px 360px;
    border-radius: 0%;
    border: none;
}

.modal-content img {
    width: 100%;
    margin-bottom: 40px;
    filter: brightness(0.975);
}

.close-modal {
    display: flex;
    position: fixed;
    top: 60px;
    right: 70px;
    color: #202020;
    cursor: pointer;
}

#slider {
    filter: brightness(0.975);
}

.nav-item {
    display: flex;
    align-items: center;
}

.nav-link {
    padding: 0;
    cursor: pointer;
}

.profile_menu {
    overflow-y: auto; /* Прокрутка тільки по вертикалі */
    overflow-x: hidden;
    -webkit-transition-timing-function: cubic-bezier(0.770, 0.000, 0.175, 1.000);
    -moz-transition-timing-function: cubic-bezier(0.770, 0.000, 0.175, 1.000);
    -o-transition-timing-function: cubic-bezier(0.770, 0.000, 0.175, 1.000);
    transition-timing-function: cubic-bezier(0.770, 0.000, 0.175, 1.000);    
    -webkit-transition: all 750ms cubic-bezier(0.770, 0.000, 0.175, 1.000);
    -moz-transition: all 750ms cubic-bezier(0.770, 0.000, 0.175, 1.000);
    -o-transition: all 750ms cubic-bezier(0.770, 0.000, 0.175, 1.000);
    transition: all 750ms cubic-bezier(0.770, 0.000, 0.175, 1.000);
    right: -800px;
    position: fixed;
    display: flex;
    z-index: 105;
    width: 800px;
    height: 100%;
    background-color: #fff;
    justify-content: center;
    flex-wrap: wrap;
    padding: 40px 0;
    /* opacity: 0; */
}

.login_show {
    right: 0;
    /* opacity: 100; */
}

.login_top {
    height: 24px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    padding: 0 40px;
}

.login_middle {
    width: 440px;
}

.title_login {
    font-size: 40px;
    line-height: 110%;
    font-weight: 500;
    margin-bottom: 20px;
}

.text_login {
    font-size: 15px;
    line-height: 120%;
    letter-spacing: -0.04em;
    margin-bottom: 40px;
}

.login_phone {
    width: 100%;
    border-radius: 15px;
    border: 2px solid #ccc;
    height: 44px;
    margin-bottom: 10px;
    padding-left: 20px;
}

.login_phone::placeholder {
    color: #ccc;
}

.login_phone:focus::placeholder {
    color: #ccc;
}

.login_phone:hover::placeholder {
    color: #ccc;
}

.login_phone:focus {
    border: 2px solid #1256A9 !important;
    outline: none;
}

.phone_digits {
    width: 100%;
    display: flex;
    margin-bottom: 40px;
}

.phone_digit {
    margin-right: 20px;
    width: 60px;
    height: 60px;
    border-radius: 15px;
    border: 1.5px solid #ccc;
    text-align: center; /* Центрує текст у середині */
    font-size: 32px; /* Робить цифри великими */
    font-weight: 500;
    line-height: 60px; /* Вирівнює вертикально */
}

.phone_digit:last-child {
    margin-right: 0; /* Останній інпут без відступу */
}

.phone_digit:focus {
    border-color: #303030; /* Синя рамка при фокусі */
    outline: none;
}

.overlay {
	z-index: 1035;
	background-color: rgba(0,0,0,.8);
	position: fixed;
	width: 100%;
	height: 100vh;
	top: 0;
	left: 0;
	display: none;
}

.popup {	
	border-radius: 10px;
	position: fixed;
	left: 50%;
	top: 50%;
	-webkit-transform: translate(-50%, -50%);
	    -ms-transform: translate(-50%, -50%);
	        transform: translate(-50%, -50%);
	padding: 0;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	/* background-color: #f7f3f3; */
	color: #f7f3f3;
    -webkit-box-shadow: 0 14px 158px rgba(153, 182, 203, .71);
    box-shadow: 0 14px 158px rgba(153, 182, 203, .01);
}


.get_code {
    cursor: pointer;
    display: flex;
    width: 100%;
    border-radius: 15px;
    background-color: #1256A9;
    height: 48px;
    font-size: 14px;
    font-weight: 500;
    color: #fff;
    justify-content: center;
    align-items: center;
    margin-bottom: 10px;
}

.get_code:hover {
    color: #fff;
}

.get_code_again {
    border: 1.5px solid #EDEDED;
    cursor: pointer;
    display: flex;
    width: 100%;
    border-radius: 15px;
    height: 48px;
    font-size: 14px;
    font-weight: 500;
    color: #878787;
    justify-content: center;
    align-items: center;
    margin-bottom: 20px;
}

.disabled {
    color: #ccc; /* Колір неактивного тексту */
    cursor: not-allowed;
}

.web_login {
    height: 64px;
    display: flex;
    justify-content: space-between;
    border-radius: 15px;
    line-height: 120%;
    letter-spacing: -0.04em;
    background-color: #F5F5F5;
    margin-bottom: 10px;
    align-items: center;
    font-size: 14px;
    padding: 25px 20px 25px 15px;
}

.private_policy {
    width: 440px;
    display: flex;
    align-items: flex-end;
}

.private_policy p, .private_policy a {
    font-size: 12px;
    line-height: 16.8px;
    color: #6E6E6E;
}

.private_policy a {
    text-decoration: underline;
}

#close, #backspace {
    cursor: pointer;
}

.cart_menu {
    overflow-y: auto; /* Прокрутка тільки по вертикалі */
    overflow-x: hidden;
    -webkit-transition-timing-function: cubic-bezier(0.770, 0.000, 0.175, 1.000);
    -moz-transition-timing-function: cubic-bezier(0.770, 0.000, 0.175, 1.000);
    -o-transition-timing-function: cubic-bezier(0.770, 0.000, 0.175, 1.000);
    transition-timing-function: cubic-bezier(0.770, 0.000, 0.175, 1.000);    
    -webkit-transition: all 750ms cubic-bezier(0.770, 0.000, 0.175, 1.000);
    -moz-transition: all 750ms cubic-bezier(0.770, 0.000, 0.175, 1.000);
    -o-transition: all 750ms cubic-bezier(0.770, 0.000, 0.175, 1.000);
    transition: all 750ms cubic-bezier(0.770, 0.000, 0.175, 1.000);
    right: -800px;
    position: fixed;
    display: flex;
    z-index: 104;
    width: 800px;
    height: 100%;
    background-color: #fff;
    justify-content: center;
    flex-wrap: wrap;
    padding: 40px 0;
    flex-direction: column;
    align-items: center;
    /* opacity: 0; */
}

.empty_info {
    width: 680px;
    margin-top: 30px;
    margin-bottom: 40px;
}

.empty_info p {
    font-size: 15px;
    line-height: 120%;
    font-weight: 500;
    letter-spacing: -0.05em;
}

.like_link {
    color: #1256A9;
    text-decoration: underline;
}

.cart_list {
    margin-top: 25px;
    padding-top: 15px;
    border-top: 1px solid #D9D9D9;
}

.cart_show {
    right: 0;
    /* opacity: 100; */
}

.cart_title {
    margin: 25px 0;
    display: flex;
    font-size: 40px;
    line-height: 110%;
    letter-spacing: -0.04em;
    font-weight: 500;
}

.cart_middle {
    width: 680px;
}


.go_order {
    cursor: pointer;
    display: flex;
    width: 100%;
    border-radius: 15px;
    background-color: #1256A9;
    height: 48px;
    font-size: 15px;
    font-weight: 500;
    color: #fff;
    justify-content: center;
    align-items: center;
    line-height: 120%;
    letter-spacing: -0.05em;
    margin-bottom: 20px;
}

.go_order:hover {
    color: #fff;
}


.cart_slider_wrapper {
    overflow: hidden; /* Сховати все, що виходить за межі */
    position: absolute;
    width: 100%;
}

.cart_progress_title {
    border-top: 1px solid #ECECEC;
    margin-top: 50px;
    padding-top: 50px;
    align-items: center;
    display: flex;
    width: 100%;
    justify-content: space-between;
}

.progress_tracking {
    padding: 8px 15px;
    width: 100%;
    display: flex;
    align-items: center;
    background-color: #202020;
    border-radius: 15px;
    margin-bottom: 15px;
}

.progress_tracking p {
    color: #fff;
    font-size: 15px;
    font-weight: 600;
    line-height: 120%;
    letter-spacing: -0.05em;
}

.progress_tracking img {
    margin-right: 6px;
}

/* Слайдер елементів */
.cart_price_slider {
    display: flex;
    transition: transform 0.5s ease;
}

.cart_price_range {
    width: 363px;
    height: 239px; /* Фіксована висота */
    flex-shrink: 0;  /* Забороняємо елементам стискатися */
    border: 1.5px solid #ECECEC;
    border-radius: 15px;
    display: flex;
    padding: 20px;
    flex-wrap: wrap;
    margin-right: 20px;
    position: relative;
}

.cart_top_card_info {
    width: 680px;
}

/* Overrides for non-sliding price levels progress */
.price_slider_wrapper {
    position: relative !important;
}
.price_slider {
    transform: none !important; width: 100% !important;
}
.price_range {
    width: calc((100%)/4) !important; height: auto; box-sizing: border-box; margin-right: 0 !important;
}

.price_range .range_road_progress {
    display: none !important;
}

.active .price_type p {
    color: #1256A9;
}

/* Global progress bar across all price ranges */
.global_price_progress {
    width: 100%;
    height: 20px;
    background-color: #F8F8F8;
    position: absolute;
    left: 0;
    right: 0;
    z-index: 5;
    overflow: hidden;
    pointer-events: none;
    top: 79px; /* visually between .price_type and .range across cards */
}
.global_price_progress_fill {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 0;
    background-color: #1256A9;
}

.price_type_check {
    margin-right: 4px;
}

/* Cart overlay: hide per-level bars and support global bar */
.cart_price_range .range_road_progress {
    display: none !important;
}
.cart_global_price_progress {
    width: 100%;
    height: 20px;
    background-color: #F8F8F8;
    border-radius: 100px;
    position: relative;
    overflow: hidden;
    margin-top: 20px;
}
.cart_global_price_progress_fill {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 0;
    background-color: #1256A9;
    border-radius: 100px;
}

.cart_slider_cover {
    height: 239px;
    width: 100%;
    margin-bottom: 40px;
}

.cart_top_card_info h1 {
    font-size: 40px;
    line-height: 48px;
    font-weight: 500;
    margin-top: 30px;
}

#cart_close:hover {
    cursor: pointer;
}

.header_icon {
    position: relative;
}

.header_count {
    border-radius: 4px;
    width: 20px;
    height: 14px;
    background-color: #1256A9;
    color: #fff;
    font-size: 10px;
    font-weight: 600;
    text-align: center;
    position: absolute;
    top: -4px;
    right: -12px;
}

.cart_list_div {
    width: 680px;
    background-color: #fff;
}

.cart_item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 0;
}

.cart_article {
    font-size: 11px;
    font-weight: 500;
    letter-spacing: -0.04em;
    line-height: 110%;
    color: #797979;
}

.cart_image {
    width: 150px !important;
    height: auto;
    margin-right: 15px;
    filter: brightness(0.98);
}

.cart_image img {
    width: 150px;
}

.cart_item_details {
    flex-grow: 1;
    position: relative;
}

.cart_item_price {
    display: flex;
    margin-bottom: 15px;
}

.cart_item_title {
    font-size: 16px;
    font-weight: 500;
    line-height: 120%;
    max-width: 410px;
    letter-spacing: -0.05em;
    margin: 10px 10px 15px 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.cart_quantity {
    display: flex;
    align-items: center;
}

.cart_quantity button {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 26px;
    height: 26px;
    border-radius: 5px;
    background-color: #303030;
    border: none;
    cursor: pointer;
}

.cart_quantity span {
    font-size: 15px;
    font-weight: 500;
    line-height: 120%;
    letter-spacing: -0.05em;
    color: #000;
    margin: 0 15px;
}

.cart_price {
    font-size: 18px;
    font-weight: 500;
    line-height: 100%;
    letter-spacing: -0.05em;
}

.cart_price_stable {
    font-size: 18px;
    font-weight: 500;
    line-height: 100%;
    letter-spacing: -0.05em;
    color: #AFAFAF;
    text-decoration: line-through;
    margin-left: 12px;
}

.remove_from_cart {
    display: flex;
    justify-content: center;
    align-items: center;
    /* right: 0;
    position: absolute; */
    border: 1.5px solid #ECECEC;
    border-radius: 15px;
    font-size: 20px;
    color: #000;
    cursor: pointer;
    width: 48px;
    height: 48px;
    background-color: #fff;
    margin-bottom: 10px;
}

.favourite_cart {
    display: flex;
    justify-content: center;
    align-items: center;
    /* right: 0;
    position: absolute; */
    border: 1.5px solid #ECECEC;
    border-radius: 15px;
    font-size: 20px;
    color: #000;
    cursor: pointer;
    width: 48px;
    height: 48px;
    background-color: #fff;
}

.cart_item_data {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.cart_summary {
    padding-top: 20px;
    border-top: 1px solid #e0e0e0;
    text-align: right;
}

.cart_summary p {
    font-size: 16px;
    margin: 5px 0;
}

.cart_summary strong {
    font-size: 18px;
}

.checkout_button {
    width: 100%;
    padding: 10px;
    background-color: #007bff;
    color: #fff;
    font-size: 18px;
    text-align: center;
    border: none;
    cursor: pointer;
    border-radius: 5px;
    margin-top: 20px;
}


.cart_result {
    margin: 20px 0;
    padding-top: 25px;
    border-top: 1px solid #ECECEC;
}

.relust_div {
    display: flex;
    width: 100%;
    justify-content: space-between;
    margin-bottom: 10px;
    align-items: end;
}

.relust_div p {
    font-weight: 500;
    margin: 0;
    line-height: 110%;
    letter-spacing: -0.05em;
    font-size: 20px;

}

.relust_div p span {
    line-height: 33.6px;
    font-size: 28px;
}

/* Стилізація контейнера повзунків */
.filter_slider {
    position: relative;
    width: 100%;
    height: 2px;
    background: #ddd;
    border-radius: 5px;
}

/* Стилізація активної частини шкали */
.filter_slider .filter_range {
    position: absolute;
    height: 100%;
    background: #1256A9;
    border-radius: 5px;
    z-index: 102;
    width: 100%;
    left: 0;
}

/* Сховуємо стандартні повзунки */
input[type=range] {
    position: absolute;
    width: 100%;
    -webkit-appearance: none;
    background: none;
    pointer-events: none;
    z-index: 103;
}

/* Стилізація кожного повзунка */
input[type=range]::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    pointer-events: all;
    height: 20px;
    width: 20px;
    border-radius: 2px;
    background: #1256A9;
    cursor: pointer;
    z-index: 108;
}

/* Стилізація повзунків для Firefox */
input[type=range]::-moz-range-thumb {
    height: 20px;
    width: 20px;
    border-radius: 2px;
    background: #1256A9;
    cursor: pointer;
    z-index: 108;
}

.price-range-labels {
    width: 100%;
    display: flex;
    justify-content: space-between;
    margin-bottom: 30px;
    margin-top: 28px;
}

.price_label {
    background-color: #fff;
    padding: 11px 20px;
    border-radius: 8px;
    font-size: 15px;
    font-weight: 500;
    line-height: 120%;
    letter-spacing: -0.05em !important;
    border: 1.5px solid #a5a5a5;
}

.cart_view {
    justify-content: center;
    display: flex;
    width: 100%;
    padding: 40px 170px;
}

.cart_form {
    display: flex;
    flex-direction: column;
    height: 100%; /* Висота контейнера */
    position: relative; /* Відносна позиція для абсолютного позиціонування всередині */
}

.cart_form_cover {
    width: 100%;
    display: flex;
    flex-grow: 1;
}

#cartConfirm {
    display: flex;
    width: 100%;
    flex-wrap: wrap;
    flex-shrink: 0; /* Форма займає мінімальну потрібну висоту */
}

#cartConfirm div {
    width: 400px;
    margin-right: 40px;
}

#cartConfirm div input {
    border-radius: 15px;
    height: 44px;
    font-size: 15px;
    padding-left: 20px !important;
}

#cartConfirm div .form-label {
    font-size: 11px;
    font-weight: 400;
    margin-bottom: 10px !important;
}

.cart_check {
    width: 660px;
    flex-shrink: 0; /* Фіксована ширина, без стиснення */
    box-sizing: border-box;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    background-color: #F8F8F8;
    padding: 0 40px;
}

#cart_count_quantity_check {
    padding: 40px 0;
    font-size: 40px;
    line-height: 48px;
    font-weight: 500;
    width: 100%;
    border-bottom: 1px solid #ECECEC;
    margin-bottom: 25px;
}

.h1_cart {
    margin: 20px 0 40px 0;
    font-size: 40px;
    line-height: 48px;
    font-weight: 500;
}

.cart_list_check {
    width: 100%;
}

.cart_item_check {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 15px 0;
}

.cart_quantity_check span {
    font-size: 17px;
    color: #000;
}

.cart_image_check {
    width: 150px;
    height: auto;
    margin-right: 30px;
    filter: brightness(0.98);
}

.cart_image_check img {
    width: 150px;
}

.cart_middle_check {
    width: 100%;
    margin-top: 40px;
}

.go_order_check {
    border: 1px solid #1256A9;
    cursor: pointer;
    display: flex;
    width: 100%;
    border-radius: 15px;
    background-color: #F8F8F8;
    height: 48px;
    font-size: 15px;
    font-weight: 500;
    color: #1256A9;
    justify-content: center;
    align-items: center;
    margin-bottom: 20px;
    line-height: 120%;
    letter-spacing: -0.05em;
}

.go_order_check:hover {
    background-color: #fff;
    color: #1256A9;
}

.continue_cart {
    width: 215px;
    cursor: pointer;
    display: flex;
    border: none;
    border-radius: 15px;
    background-color: #1256A9;
    height: 48px;
    font-size: 14px;
    font-weight: 500;
    color: #fff;
    justify-content: center;
    align-items: center;
    text-transform: uppercase;
    margin-top: 20px;
}

.continue_cart:hover {
    background: linear-gradient(
        rgba(0, 0, 0, 0.1), /* Чорний із 10% непрозорості */
        rgba(0, 0, 0, 0.1)
    ), 
    #1256A9; /* Основний колір фону */
}
/* Hide obsolete elements in price blocks */
.range_road, .price_check { display: none !important; }


.p_dashed {
    flex-grow: 1;
    height: 1px;
    opacity: 0.2;
    background: repeating-linear-gradient(
        to right,
        #000 0 5px,         /* довжина штриха */
        transparent 5px 10px /* довжина проміжку */
    );
}
