:root {
    --social-items-size: 33px
}

img {
    max-width: 100%;
    height: auto;
}

img[src$=".svg"] {
    width: auto;
}

.brand-switch img {
    width: auto;
}

.btn-container img {
    width: auto;
}

.hide-scroll-line::-webkit-scrollbar {
    display: none;
}

/* Скрываем scrollbar для IE, Edge и Firefox */
.hide-scroll-line {
    -ms-overflow-style: none;  /* IE и Edge */
    scrollbar-width: none;  /* Firefox */
}

.swiper-container {
    overflow: hidden;
}

.pagination.swiper-pagination-horizontal.swiper-pagination-bullets {
    width: auto;
}

.pagination.swiper-pagination-horizontal .swiper-pagination-bullet {
    width: initial;
    height: initial;
    border-radius: initial;
    background: initial;
    opacity: initial;
}

.default .pagination.swiper-pagination-horizontal .swiper-pagination-bullet {
    width: var(--swiper-pagination-bullet-width, var(--swiper-pagination-bullet-size, 8px));
    height: var(--swiper-pagination-bullet-height, var(--swiper-pagination-bullet-size, 8px));
    border-radius: var(--swiper-pagination-bullet-border-radius, 50%);
    background: var(--swiper-pagination-bullet-inactive-color, #000);
    opacity: var(--swiper-pagination-bullet-inactive-opacity, .2);
}

.default .pagination.swiper-pagination-horizontal .swiper-pagination-bullet-active {
    --swiper-pagination-color: #000000;
    opacity: var(--swiper-pagination-bullet-opacity, 1);
    background: var(--swiper-pagination-color, var(--swiper-theme-color));
}

.pagination-dot.swiper-pagination-bullet.swiper-pagination-bullet-active {
    color: #000;
    border-bottom: 1px solid #ccc;
}

.slider-control-prev, .slider-control-next {
    background: none;
    border: none;
    cursor: pointer;
}


@media (min-width: 1200px) and (max-width: 1400px) {
    .mega-menu {width: 100%;}
    .main-menu a {font-size: 20px;}
    header .mb-4 {margin-bottom: 47px !important;}
    .mega-menu-left ul li a {font-size: 18px;}
    .podmenu h4 {font-size: 14px;}
    .podmenu {margin-bottom: 10px;}
    .special-offer-img img {max-width: 260px;}
    .special-offer-tovar {margin-left: 8rem;}
    .main-podmenu {padding: 30px 30px 25px;}
    section#newproducts {min-height: auto;}
    .container {max-width: 1230px!important;}
}

@media screen and (min-width: 992px) {
    .phone-header-block, .search-header-block, .cart-header-block {
        height: auto;
    }
}

@media screen and (max-width: 991px) {
    html {
        font-size: 20px;
    }

    body {
        font-size: 16px;
    }

    h1, .h1 {
        font-size: 28px;
        line-height: 1.1;
        letter-spacing: 0;
    }

    .form-control {
        font-size: 1em;
    }


    /* Мобильный хедер */
    #header_mobile {
        min-height: 70px;
        z-index: 20;
        background: #fff;
    }

    .m-header-content {
        /*padding-right: calc(var(--bs-gutter-x)* .5);*/
    }

    .mobile-logo img {
        width: 100%;
    }

    .mobile-action {
        padding: 6px 0;
        margin-left: 8px;
        flex: 1;
        justify-content: space-between
    }

    .mobile-action--item {
        display: flex;
        flex-direction: column;
        align-items: center;
        flex-basis: 20%;
        gap: 10px;
        padding-top: 5px;
    }

    .mobile-action--item {
        position: relative;
    }

    .mobile-action--item img {
        max-width: 22px;
        max-height: 22px;
    }

    .action-item--icon span {
        background: #023E84;
        color: #fff;
        width: 15px;
        height: 15px;
        position: absolute;
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        top: -1px;
        left: calc(50% - 5px);
        font-size: 9px;
        font-weight: 500;
    }

    .mobile-action--item span {
        font-size: 10px;
    }

    /* END Мобильный хедер */
    /* Мобильный поиск */
    .search-mobile {
        position: relative;
        padding: 15px 0;
        margin: 0 15px;
    }

    .search-mobile input[type="text"] {
        font-weight: 300;
        min-height: 40px;
        padding-left: 40px;
        background: #F5F5F5;
        border-color: #F5F5F5;
    }

    .search-mobile button {
        position: absolute;
        left: 0;
        top: 15px;
        width: 40px;
        height: 55px;
        background: unset;
        border: none;
    }

    .search-mobile img {
        width: 100%;
        height: auto;
        max-width: 23px;
    }

    /* END Мобильный поиск */
    /* Мобильное меню */
    .backdrop {
        position: fixed;
        top: 0;
        width: 100%;
        height: 100%;
        background: rgb(0 0 0 / 40%);
        z-index: 1;
        left: -100%;
        transition: left 0.4s;
    }

    .backdrop.show {
        left: 0;
    }

    .mobile-menu {
        left: -100%;
        position: fixed;
        top: 0;
        background: #FFFFFF;
        height: 100%;
        display: flex;
        max-width: 280px;
        width: 100%;
        z-index: 10;
        overflow-y: auto;
        transition: all 0.6s;
    }

    .mobile-menu.open {
        left: 0;
    }

    .mobile-menu--inner {
        flex: 1;
    }

    /* mobile menu header */
    .mobile-menu--header {
        height: 70px;
        background: #F4F4F480;
    }

    .flow-logo-block {
        overflow: hidden;
        height: 60px;
    }

    .flow-logo-block--scroll {
        transition: transform 0.8s;
    }

    .flow-logo-block--scroll.back {
        transform: translate(0, -60px);
    }

    .flow-logo-block--scroll > * {
        height: 60px;
    }

    .mobile-menu--logo {

    }

    .mobile-menu--back {
        display: inline-flex;
        flex-direction: column;
        justify-content: center;
        margin: 0 15px;
    }

    .mobile-menu--back-icon {
        width: 24px;
        height: 24px;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .mobile-menu--back-icon img {
        width: auto;
    }

    .mobile-menu--back span {
        font-size: 8px;
        line-height: 10px;
    }

    .mobile-menu--close {
        font-size: 8px;
        line-height: 1.25;
        margin-left: auto;
        margin-right: 14px;
        gap: 8px;
    }

    .mobile-menu--close span {
    }

    .mobile-menu--close-icon {
    }

    /* mobile menu body */
    .mobile-menu--body {
    }

    /* Мобильное меню */
    .mobile-menu-list * {
        position: relative;
    }


    .mobile-menu-list {
    }

    .mobile-menu-list ul {
        padding: 0;
        list-style: none;
    }

    .mobile-menu-list li {
        position: relative;
    }

    .mobile-menu-list li:has(ul) {
        /*background: red;*/
    }

    .mobile-menu-list li:has(ul) > a::after {
        content: "";
        position: absolute;
        width: 10px;
        height: 5px;
        background: url(/new_adaptive/img/angle-right.svg) no-repeat center;
        background-size: contain;
        top: 50%;
        margin-left: 15px;
    }


    .mobile-menu-item {
    }

    .mobile-menu-item a,
    .mobile-menu-item span {
        display: block;
    }

    .mobile-menu-item a,
    .mobile-menu-item span {
        line-height: 1;
        padding: 11.5px 0;
        margin: 0 15px;
        font-size: 15px;
        font-family: "Source Serif 4 48pt";
        border-top: 1px solid transparent;
        border-bottom: 1px solid transparent;
    }


    .mobile-menu-item.parent-item > a,
    .mobile-menu-item.parent-item > span {
        font-size: 25px;
    }

    .mobile-menu-item.active > a,
    .mobile-menu-item.active > span {
        font-size: 25px;
        border-bottom-color: #D9DADA;
    }

    .mobile-menu-item.active > a::after,
    .mobile-menu-item.active > span::after {
        content: unset;
    }

    .mobile-menu-item ul {
        display: none;
    }

    .mobile-menu-item.active > ul,
    .mobile-menu-item:has(.active) ul {
        display: block;
    }

    .mobile-menu-item.active ~ .mobile-menu-item,
    .mobile-menu-item:has(.active) ~ .mobile-menu-item {
        display: none;
    }

    .mobile-menu-item:has(.active) > a {
        display: none;
    }

    /* mobile menu footer */
    .mobile-menu--footer {
        border-top: 1px solid #D9DADA;
    }

    .mobile-menu--personal {
    }

    .mobile-menu--personal ul {
        list-style: none;
        padding: 0;
        margin: 20px 0;
    }

    .mobile-menu--personal ul li {
        padding: 10px 0;
        font-size: 14px;
        line-height: 17px;
    }

    .menu-item--inner {
        display: flex;
        align-items: center;
        gap: 15px;
    }

    .mobile-menu--personal-icon {
        display: inline-flex;
    }

    /* Контакты. Телефон */
    .mobile-menu--contacts {
        padding-top: 30px;
        border-top: 1px solid #D9DADA;
    }

    .menu-contact-list {
        gap: 15px;
    }

    .menu-contact-item {
    }

    .menu-contact-item:has(.item-phone) {
        font-size: 18px;
        line-height: 18px;
    }

    .menu-contact-item:has(.item-mail) {
        font-size: 18px;
        line-height: 18px;
    }

    .menu-contact-item:has(.item-phone) {
        font-size: 14px;
        line-height: 14px;
    }

    .menu-contact-item:has(.item-mail) {
        font-size: 14px;
        line-height: 14px;
    }

    /* Социальные сети */
    .menu-social {
        margin-top: 40px;
        grid-template-columns: repeat(4, var(--social-items-size));
        gap: 15px 25px;
        margin-bottom: 20px;
    }

    .menu-social--item {
        display: flex;
    }

    .menu-social--item_link {
        display: inline-flex;
        width: var(--social-items-size);
        height: var(--social-items-size);
        align-items: center;
        justify-content: center;
    }

    .menu-social--item_link img {
        width: auto;
    }

    /* END Мобильный хедер */
    /* video */
    .video-container {
        height: 400px;
    }

    .text-overlay {
        font-size: 18px;
    }

    .text-overlay span {
        font-size: 36px;
        margin-bottom: 20px;
        line-height: 1;
    }

    .overlay {
        height: 40px;
    }
    /* END video */

    #tabs-target .shadow-bot h2,
    #collection-main h2, #articles h2 {
        margin: 30px 0;
        font-size: 30px;
        line-height: 1;
    }

    #tabs-target .shadow-bot a {
        font-size: 18px;
        line-height: 1;
    }

    .nav-pills--scroll {
        overflow-y: hidden;
        overflow-x: scroll;
    }



    /* Скрываем scrollbar для Chrome, Safari и Opera */
    .nav-pills--scroll::-webkit-scrollbar {
        display: none;
    }

    /* Скрываем scrollbar для IE, Edge и Firefox */
    .nav-pills--scroll {
        -ms-overflow-style: none;  /* IE и Edge */
        scrollbar-width: none;  /* Firefox */
    }

    .nav-pills--scroll .nav {
        flex-wrap: nowrap;
    }

    .nav-pills--scroll .nav-link {
        white-space: nowrap;
    }

    #home-collections .nav-item button {
        padding: 4px 32px;
    }

    .new-product-slider {
        padding: 0;
    }

    .product-slide {
        margin: 0;
        flex-basis: 100%;
    }

    p.desc-text {
        max-width: unset;
    }

    section#newproducts::after {
        content: unset;
    }

    section#newproducts h2,
    section#complete h2,
    section#aboutus h2,
    section#podarok h2 {
        font-size: 26px;
    }

    .slide-text span.head-slide-text {
        font-size: 28px;
    }

    #complete .brand-row {
        padding-left: 0.75rem;
        padding-right: 0.75rem;

    }

    .brand-switch {
        height: 70px;
    }

    .brand-switch img {
        width: auto;
        max-height: 57px;
    }

    #foot-menu {
        padding: 0;
    }

    #mailsubscriber form {
        display: flex;
        align-items: center;
        justify-content: center;
    }

    #mailsubscriber form .email-text {
        font-size: 14px;
    }

    #mailsubscriber form label {
        max-width: 35%;
        margin: 0 20px;
    }

    #mailsubscriber form label input.email {
        width: 100%;
        margin: 0;
    }

    #mailsubscriber form .btn {
        font-size: 14px;
    }

    .social-title {
        font-size: 14px;
    }

    .social-icons {
        margin-left: 0;
    }

    .social-icons img {
        width: 28px;
    }

    /* * * debug * * */
    body > *:nth-child(n+21) {
        /*display: none;*/
    }
}


@media screen and (max-width: 767px) {
    #header_mobile {
        min-height: 140px;
    }

    .video-container {
        height: 250px;
    }

    .text-overlay span {
        font-size: 28px;
        margin-bottom: 15px;
        padding-left: 5%;
        padding-right: 5%;
        text-wrap-style: balance;
    }

    .text-overlay p {
        font-size: 16px;
        margin-bottom: 122px;
    }

    section#newproducts {
        background: #FFFFFF;
    }

    #tabs-target h2,
    #collection-main h2,
    #articles h2 {
        font-size: 28px;
    }

    #tabs-target .shadow-bot h2 {
        display: none;
    }

    #tabs-target .shadow-bot {
        height: 80px;
    }

    .slide-text {
        position: relative;
        padding: 30px 0;
    }

    .slide-text span.head-slide-text {
        color: #000000;
        margin: 0;
    }

    .slide-text span.slide-text-link {
        display: none;
    }

    #complete .left-cont .row {
        padding: 10px;
    }

    .foot-menu a {
        font-size: 14px;
        line-height: 26px;
    }

    #mailsubscriber form {
        flex-direction: column;
        align-items: start;
        flex: 1;
        gap: 15px;
        padding-left: 20px;
        padding-right: 20px;
    }

    #mailsubscriber form label {
        max-width: 100%;
        margin: 0;
        width: 100%;
    }

    #mailsubscriber form .email-text {
        font-size: 16px;
    }

    .social-icons {
        padding-top: 15px;
        margin-left: -7px;
    }

    .social-icons img {
        width: 30px;
    }

    footer a[href*="tel:"] {
        font-size: 18px;
    }

    footer a[href*="mailto:"] {
        font-size: 14px;
    }

    a.product-name span,
    .price-box span {
        font-size: 14px;
    }

    .btn-cart {
        font-size: 12px;
    }

    p.desc-text {
        font-size: 14px;
    }

    .copyright {
        font-size: 14px;
    }

    .article-name {
        font-size: 20px;
    }

    .article-desc,
    .article-link {
        font-size: 12px;
    }

    .article-item {
        display: flex;
        flex-direction: column;
    }

    .article-item--inner {
        display: flex;
        flex-direction: column;
        background: #F0F3F7;
        padding: 30px 15px;
        flex: 1;
    }
}