
:root {
    --main-gray-color: #5d5b5b;
    --desc-line-height: 24px;
    --desc-padding: 5px;

    --desc-max-height: calc(var(--desc-line-height) * 3 + 2 * var(--desc-padding));
    --desc-main-color: #efeeee;
    --desc-border-radius: 10px;

    --box-shadow-style: 5px 5px 8px 0px rgba(64, 108, 142, 0.2);
}

:root {
    
    --bs-font-sans-serif: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";

    --bs-border-width: 1px;
    --bs-border-style: solid;
    --bs-border-color: #dee2e6;
    --bs-border-color-translucent: rgba(0, 0, 0, 0.175);
    --bs-border-radius: 0.375rem;



    --bs-body-font-family: var(--bs-font-sans-serif);
    --bs-body-font-size: 1.6rem;
    --bs-body-font-weight: 400;
    --bs-body-line-height: 1.5;
    --bs-body-color: #212529;
    --bs-body-text-align: left;
    --bs-body-bg: #fff;
}

.card {
    --bs-card-spacer-y: 1rem;
    --bs-card-spacer-x: 1rem;
    --bs-card-title-spacer-y: 0.5rem;
    --bs-card-title-color: ;
    --bs-card-subtitle-color: ;
    --bs-card-border-width: var(--bs-border-width);
    --bs-card-border-color: var(--bs-border-color-translucent);
    --bs-card-border-radius: var(--bs-border-radius);
    --bs-card-box-shadow: ;
    --bs-card-inner-border-radius: calc(var(--bs-border-radius) - (var(--bs-border-width)));
    --bs-card-cap-padding-y: 0.5rem;
    --bs-card-cap-padding-x: 1rem;
    --bs-card-cap-bg: rgba(var(--bs-body-color-rgb), 0.03);
    --bs-card-cap-color: ;
    --bs-card-height: ;
    --bs-card-color: ;
    --bs-card-bg: var(--bs-body-bg);
    --bs-card-img-overlay-padding: 1rem;
    --bs-card-group-margin: 0.75rem;
    position: relative;
    display: flex;
    flex-direction: column;
    min-width: 0;
    height: var(--bs-card-height);
    color: var(--bs-body-color);
    word-wrap: break-word;
    background-color: var(--bs-card-bg);
    background-clip: border-box;
    border: var(--bs-card-border-width) solid var(--bs-card-border-color);
    border-radius: calc(var(--bs-card-border-radius) / 2);
}

.card_mini {
    --bs-card-spacer-y: 1rem;
    --bs-card-spacer-x: 1rem;
    --bs-card-title-spacer-y: 0.5rem;
    --bs-card-title-color: ;
    --bs-card-subtitle-color: ;
    --bs-card-border-width: var(--bs-border-width);
    --bs-card-border-color: var(--bs-border-color-translucent);
    --bs-card-border-radius: var(--bs-border-radius);
    --bs-card-box-shadow: ;
    --bs-card-inner-border-radius: calc(var(--bs-border-radius) - (var(--bs-border-width)));
    --bs-card-cap-padding-y: 0.5rem;
    --bs-card-cap-padding-x: 1rem;
    --bs-card-cap-bg: rgba(var(--bs-body-color-rgb), 0.03);
    --bs-card-cap-color: ;
    --bs-card-height: ;
    --bs-card-color: ;
    --bs-card-bg: var(--bs-body-bg);
    --bs-card-img-overlay-padding: 1rem;
    --bs-card-group-margin: 0.75rem;
    position: relative;
    display: flex;
    flex-direction: column;
    min-width: 0;
    height: var(--bs-card-height);
    color: var(--bs-body-color);
    word-wrap: break-word;
    background-color: var(--bs-card-bg);
    background-clip: border-box;
    border: var(--bs-card-border-width) solid var(--bs-card-border-color);
    border-radius: 5px;
}

/* наследие бутстрапа */
body {
    margin: 0;
    font-family: var(--bs-body-font-family);
    font-size: var(--bs-body-font-size);
    font-weight: var(--bs-body-font-weight);
    line-height: var(--bs-body-line-height);
    color: var(--bs-body-color);
    text-align: var(--bs-body-text-align);
    background-color: var(--bs-body-bg);
    -webkit-text-size-adjust: 100%;
    -webkit-tap-highlight-color: transparent;
}

/* наследие бутстрапа */
*, ::after, ::before {
    box-sizing: border-box;
}

.main_select_container {
    width: 100%;
    margin: 0 auto;
    height: 44px;
    /* transition: opacity 0.99s ease; */

}

@media (min-width: 769px) {
    .main_select_container {
        display: none;
    }
}

.content__container {
    width: 100%;
    margin: 0 auto;
    padding: 0 10px;
}


@media (min-width: 1200px) {
    .content__container {
        
        margin: 0 auto;
    }

    .main_select_container{

        
        margin: 0 auto;
        
    }


}



.tag{
    color: #fff;
    font-size: 12px;
    font-weight: bold;
    /* text-transform: uppercase; */
    padding: 5px;
    border-radius: 5px;
    position: absolute;
    left: 5px;
    z-index: 100;
  }

.tag.mini{
    font-size: 10px;
    padding: 2px;
    border-radius: 3px;
}
  
.scales {
    position: absolute;
    right: 5px;
    top: 5px;
    z-index: 50;
    border-radius: 5px;
    background-color: white;
    display: flex;          /* Включаем flexbox */
    align-items: center;    /* Выравниваем элементы по центру по вертикали */
    gap: 5px;               /* Добавляем небольшой отступ между картинкой и текстом */

    padding-right: 5px;
}






.noStyles{
    text-decoration: none;
    color: #000;
    cursor: pointer;
}

.height-32 {
    height: 32px;
}


.wrapper {
    /* min-height: 100vh; */

    
    /* padding-top: constant(safe-area-inset-top); */
    
    flex-direction: column;
    display: flex;
    position: relative;

}


.header__container, .main__container, .footer__container {
    max-width: 1504px;
    margin: 0 auto;
    /* padding: 0 32px; */
}

@media (max-width: 768px) {

    .wrapper {

        width: 100%;
        /* margin: 10 auto; */

    }

    

}

@media (min-width: 768px) {

    .wrapper {
        padding-top: 0 !important;
    }

    #menu{
        display: none;
    }

}


@media (max-width: 768px) {

    html, body {
        overflow-y: scroll; /* Всегда показываем полосу прокрутки (но она будет скрыта) */
        -ms-overflow-style: none;  /* Скрываем полосу прокрутки в IE и Edge */
        scrollbar-width: none;     /* Скрываем полосу прокрутки в Firefox */
    }

    /* Скрываем полосу прокрутки в WebKit-браузерах (Chrome, Safari) */
    html::-webkit-scrollbar, body::-webkit-scrollbar {
        display: none;
    }
    
}


body {
    /* background-color:rgb(244, 244, 244); */ /* Светло-серый цвет */
    background-color: white;     /* белый */
    display: flex;
    flex-direction: column;
    min-height: 100vh; /* Минимальная высота страницы = высота окна браузера */
}



/* .footer {
    margin-top: auto;  
    background-color: var(--main-gray-color); 
    border-top: 1px solid #e9ecef;  
    padding: 10px 0;  
}


@media (max-width: 767.98px) {
    .footer {
        position: fixed;
        bottom: 0;
        left: 0;
        right: 0;
        margin-top: 0;
        z-index: 150;
    }
}
 */



.header {
    /* margin: 5px auto; */
    padding: 5px;
    /* background-color: #f0f0f0; */
    border-radius: 10px;
    overflow: visible; /* Разрешаем отображение содержимого за пределами */
    display: flex;
    /* width: 90%; */
}

.toggle-view {
    cursor: pointer;
    background-color: #666;
    color: white;
    padding: 10px;
    border: none;
    border-radius: 5px;
    margin: 10px;
    display: inline-block;
}

/* Сеточная верстка для карточек */
.card-container {
    display: grid;
    grid-gap: 20px;
    grid-template-columns: repeat(1, 1fr);

}

.card-container-mini {
    display: grid;
    grid-gap: 5px;
    grid-template-columns: repeat(2, 1fr);

}

.card {
    border: 1px solid #ddd;
    padding: 8px;
    text-align: center;
    background-color: white;
    transition: transform 0.3s ease;
    box-shadow: var(--box-shadow-style);
}

.card-title{

    white-space: nowrap; /* Запрещаем перенос текста */
    overflow: auto; /* Скрываем содержимое при превышении */
    /* text-overflow: ellipsis; */ /* Добавляем многоточие в конце */
    flex-shrink: 1; /* Позволяет блоку сжиматься при нехватке места */
    min-width: 0; /* Необходимо для корректной работы text-overflow в flex */
    margin-right: 5px; /* Небольшой отступ между текстом и иконками */

    font-weight: bold;

    font-size: 1.2em;

    scrollbar-width: none;
}

.card-title a, a.card-title{
    
    color: var(--central-text-link-color);
}

 

.card h3 {
    font-size: 1.2em;
    margin-bottom: 10px;
}

.card p {
    color: #333;
    margin-bottom: 15px;
}

.card button {
    background-color: #ff0606;
    color: white;
    padding: 10px;
    border: none;
    border-radius: 5px;
    cursor: pointer;
}

.card button:hover {
    background-color: #555;
}

.card-desc-container{
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: center;
    background-color: #efeeee;

    position: relative;
    border-radius: var(--desc-border-radius);

    /* z-index: 55; */

}

.card-content{
    display: flex;
    
    justify-content: space-between;
    /* flex-direction: column; */
    align-items: center;
    padding: 5px 5px 0 5px;
    margin-bottom: 5px;
    
    /* background-color: #f0f0f0; */
    /* border-top: 1px solid #ddd; */
    /* flex-wrap: wrap; */
    
    
    width: 100%;
}

.radius-5{
    border-radius: 5px;
}

.radius-10{
    border-radius: 10px;
}

.radius-20{
    border-radius: 20px;
}

.card-desc{
    /* display: flex; */
    display: block;
    justify-content: space-between;
    text-align: justify;
    font-size: 16px;
    width: 100%;
    /* height: var(--desc-max-height); */
    /* max-height: var(--desc-max-height); */
    overflow: hidden;
    position: relative;
    transition: max-height 0.3s ease, box-shadow 0.3s ease;
    /* z-index: 1; */ /* Базовый уровень */

    background-color: var(--desc-main-color);

    border-radius: var(--desc-border-radius);

    padding: 0 10px 10px 10px;

    /* z-index: 10; */
  

}


@media (min-width: 768px) {

    .card-description-wrapper:hover {
    
        overflow: visible;
        
        z-index: 10; /* Поднимаем над другими элементами */
        position: relative;
    }
}

/* .card-desc:hover::before {
    opacity: 0; 
} */

/* .card-desc:hover  .card-desc-text {
    box-shadow: 0 0 20px rgba(0, 0, 0, 0.5);
  }

.card-desc-text{

    
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
 
    background-color: var(--desc-main-color);
    padding: 0 10px 10px 10px;
    border-radius: var(--desc-border-radius);
    min-height: var(--desc-max-height);

} */

.icons-container {
    /* display: flex; */
    justify-content: flex-end; /* Прижимаем иконки к правому краю */
    align-items: center;
    flex-shrink: 0; /* Запрещаем сжимание контейнера с иконками */
}
  
.icons-container img {
    width: 32px; /* Фиксированный размер для всех иконок */
    height: 32px;
    object-fit: scale-down; /* Обеспечивает одинаковое отображение разных исходных размеров */
    /* border-radius: 50%; */ /* Опционально - если нужны круглые иконки */
    margin-left: 5px; /* Отступ между иконками */
}

.card_mini .icons-container img{
    width: 28px; 
    height: 28px;
    margin-left: 1px;
}


.icons-container i{

    margin-left: 5px;
}



.card-footer{

    display: flex;
    justify-content: center;
    align-items: center;
    padding: 10px 20px;
    background-color: var(--magfarkop-main-red-color);
    border-top: 1px solid #ddd;
    margin-top: 10px;

    flex-wrap: nowrap;
    cursor: pointer;
    color: #fff;
    font-size: large;

    margin-top: auto; /* Прижимаем к низу */
    position: relative;
    z-index: 1; /* Над раскрывающимся описанием */

}



/* Стиль для мобильных устройств */


/* Стиль для очень больших экранов */
@media (min-width: 1024px) {
    .card-container {
        grid-template-columns: repeat(3, 1fr); /* 3 карточек в ряду */
    }
}

@media (min-width: 768px) and (max-width: 1023px) {
    .card-container {
        grid-template-columns: repeat(2, 1fr); /* 2 карточек в ряду */
    }
}

@media (max-width: 767px) {
    .hidden-xs {
    display: none !important;
    }
}

@media (min-width: 768px) and (max-width: 991px) {
    .hidden-sm {
    display: none !important;
    }
}
@media (min-width: 992px) and (max-width: 1199px) {
    .hidden-md {
    display: none !important;
    }
}
@media (min-width: 1200px) {
    .hidden-lg {
    display: none !important;
    }
}

@media (max-width: 768px) {
    .table-view {
       overflow-x: auto;
    }
}

/* Стиль для таблицы */
.table-view {
    display: none;
    width: 100%;
    border-collapse: collapse;
}
table, th, td {
    border: 1px solid var(--unified-border-color);
}
th, td {
    padding: 4px;
    text-align: center;
    max-width: 94vw;
}

table button {
    background-color: red;
}

.hidden-column {
    display: none;
}

/* Стиль для таблицы на мобильных устройствах */
@media (max-width: 768px) {
    .table-view .hidden-column {
        display: none;
    }
}



/* Обновим стиль таблицы для больших экранов */
@media (min-width: 1024px) {
    .table-view {
        display: table;
    }
    .table-view th, .table-view td {
        padding: 2px;
    }
    .table-view .hidden-column {
        display: table-cell; /* Показываем скрытые столбцы на большом экране */
    }
}

/* Эффект при наведении на изображение */
.gallery img:hover {
    transform: scale(1.05); /* Увеличение изображения */
}


/* 
.mm-wrapper {
    height: calc(100vh + 50px) !important; 
}


.menu-container {
    padding-bottom: 50px; 
} */

/* .mm-wrapper {
    height: 100vh !important; 
} */

.accessories-main-link {
    text-decoration: underline;
    color: #dc0000;
    /* font-size: 1.4rem; */
    font-weight: bold;
}

.accessories-sub-link {
    text-decoration: underline;
    color: black;
    font-size: 1.4rem;
    font-weight: bold;
}

.velo-table td{
    border: 1px solid #E2E2E2 !important;
    text-align: left !important;
    padding-left: 10px;
}


h1.catalog-title{
    margin: 0;
    padding: 0;
}

table.mobile, table.computer{
    border: 1px solid var(--unified-border-color);
    border-radius: 5px;
    box-shadow: var(--unified-box-shadow);
}


.contacts a{

    color: var(--central-text-link-color);

}






/* блок для новостей */


.news-container ul > li{

    /* квадратные точки */
    list-style-type: square;
    padding-left: 0;
    margin-left: 0;
    /* font-size: 2.2rem; */
    /* font-weight: bold; */

    font-size: 1.8rem;
    font-weight: normal;
       
        
}


    
.news-container ol > li{

    list-style-type: decimal;
    padding-left: 0;
    margin-left: 0;
    /* font-size: 2.0rem; */
    /* font-weight: bold; */

    font-size: 1.8rem;
    font-weight: normal;

}


.news-container img{
    max-width: 50%;
    height: auto;
    display: block;
    margin: 35px auto;
    border-radius: 10px;
    border: 1px solid #000;
}

.news-container p, .news-container figcaption{
    font-size: 1.95rem;
}

.news-container div[formed]{

    width: 80%;

    margin: 0 auto;
}


.news_form_group {
    display: flex;
    flex-direction: column;
    margin-bottom: 18px;
}
.news_form_label {
    font-weight: bold;
    margin-bottom: 6px;
    font-size: 1.3rem;
}
.news_form_input, .news_form_textarea {
    font-size: 1.2rem;
    padding: 8px 10px;
    border: 1px solid #ccc;
    border-radius: 4px;
    font-family: inherit;
    resize: none;
}
.news_form_input:focus, .news_form_textarea:focus {
    border-color: #DC0000;
    outline: none;
}
.news_form_textarea {
    min-height: 80px;
}
.news_form_button {
    background: #DC0000;
    color: #fff;
    border: none;
    border-radius: 4px;
    padding: 10px 28px;
    font-size: 1.2rem;
    font-weight: bold;
    cursor: pointer;
    transition: background 0.2s;
}
.news_form_button:hover {
    background: #b80000;
}



.noble-link{
    color: var(--central-text-link-color) !important;
    text-decoration: underline;
    font-weight: bold;
}




.myCatalog ul{


    padding: 0; /* Убираем отступы у самого ul */
}

.myCatalog li{

    line-height: 1.2; /* Меньше стандартного значения (обычно 1.4-1.6) */

}




.sertifikaty-container{

    /* border: 1px solid #000;
    border-radius: 10px; */
    padding: 10px;
    display: flex;
    flex-direction: column;
    margin-bottom: 20px;

    gap: 20px;
}


.sertifikaty-container-item{

    border: 1px solid #000;
    border-radius: 10px;
    padding: 10px;

}

@media (min-width: 768px) {
    .sertifikaty-container{
        display: flex;
        flex-direction: row;
        justify-content: space-between;
       

    }

    .sertifikaty-container-item{
        width: 33%;
    }
}


.sertifikaty-container-item-brand{

    margin: 3px 0;

}



/* менюшку подпиливаем... */

li.has-submenu {
    position: static !important;
}



.my_lovely_button {
    background-color: #DC0000 !important;
    color: #fff;
    border: none;
    border-radius: 4px;
    padding: 10px 28px;
    font-size: 1.2rem;
    font-weight: bold;
    cursor: pointer;
}

/* .content__container_wrapper{

    margin-left: 90px;
}
 */


@media (max-width: 768px) {

    .content__container_wrapper{

        margin-left: 0;
    }

}





.card_mini .swiper-wrapper{

    height: 160px !important;

}


.font-size-12rem{

    font-size: 1.2rem;
}

.font-size-14rem{

    font-size: 1.6rem;
}

.card_mini .card-footer{

    padding: 3px 8px;
}

.card_mini .price-pc{

    font-size: 1.6rem;
}

.card_mini .card-title{

    font-size: 1.2rem;
}

.card_mini .card-content{
    height: 32px;
    background-color: transparent;
}

.card_mini .tag{
    font-size: 10px;
}

.card_mini .card-desc-container{

    background-color: transparent;
}





.brand-tag-link{

     
    
    border-radius: 5px;
    padding: 2px 5px;
    background-color: #ff0;

    font-size: 10px;
    font-weight: bold;
    color: #000;
    text-decoration: none;
    position: absolute;
    top: 5px;
    left: 5px;
    z-index: 10;
    cursor: pointer;
}

.underline-text{
    text-decoration: underline;
}

.card_mini .swiper-pagination{

    bottom: -2px !important;
}

.card_mini .swiper {
    padding-bottom: 10px !important;
}

.card_mini .swiper-pagination-bullet{

    height: 4px !important;
    width: 4px !important;
    margin: 0 1px !important;
    
}

.radius-flat{

    border-radius: 4px;

}

.show_more_button{

    /* display: none; */

    position: absolute;
    bottom: 5px;
    right: 5px;
    z-index: 10;
    cursor: pointer;
    color: #000;
    font-size: 12px;
    font-weight: bold;
    text-decoration: underline;


}



.card-description-wrapper.hide-after::after {
    display: none;
}

.card-description-wrapper.hide-after {

    overflow: visible;

}

.card-description-wrapper.hide-after .card-desc{

    z-index: 10;

}

.card-description-wrapper:not(.hide-after) .show_more_button_hide_me {
    display: none;
}

/* .card-description-wrapper:not(:hover) .show_more_button {
    display: block !important;
} */



.card-description-wrapper::after{

    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 40%; /* высота градиента - четверть блока */
    background: linear-gradient(to bottom, rgba(255,255,255,0), rgba(255,255,255,1));
    pointer-events: none; /* чтобы можно было взаимодействовать с элементами под градиентом */

}

.card-description-wrapper {

    position: relative;
    height: var(--desc-max-height);
    max-height: var(--desc-max-height);
    overflow: hidden;
    width: 100%;
    
    /* transition: max-height 0.3s ease; */
}

.card-description-wrapper:hover::after{

    opacity: 0;
}

@media (max-width: 768px) {

    .card-description-wrapper:not(.hide-after)::after{

        opacity: 1 !important;
    }

}



@media (min-width: 768px) {



    .card-description-wrapper:hover .show_more_button{

        display: none !important;
    }
}


.card_mini .card-description-wrapper{

    background-color: #efeeee;

}

.show_more_button_hide_me{

    position: absolute;
    bottom: 5px;
    right: 5px;
    z-index: 10;
    cursor: pointer;
    color: #000;
    font-size: 12px;
    font-weight: bold;
    text-decoration: underline;
}


.card_mini .card-desc{

    font-size: 12px;
    text-align: left;
    /* min-height: var(--desc-max-height); */
    /* margin-top: 7px; */
}

.card_mini a.card-title{

    margin-bottom: 10px;
}

@media (min-width: 768px) {

    .show_more_button_hide_me{

        display: none;
    }
}


.buttons-wrapper{

    display: flex;
    align-items: center;
    gap: 10px;

}

.show-all-schemes-button{

    color: #dc0000;
    font-weight: bold;
    cursor: pointer;
    text-decoration: underline !important;
}

@media (max-width: 768px) {

    .show-all-schemes-button{

        display: none;
    }
}

.phone-small_new{

    cursor: pointer;
}

.phone-small_new:hover{

    color: #dc0000;
    text-decoration: underline;
}