/*** header ***/
#pathline{
    background: var(--color-pathline-background); 
    color: var(--color-pathline-color);
}
#pathline a{
    color: var(--color-pathline-color);
}
#logo{
    flex: 0 0 auto;
    max-width: 220px;
    margin-right: 24px;
    padding: 0;
}
#logo img{
    max-height: 64px;
    width: auto;
    max-width: 100%;
}
#top-menu{
    background: transparent;
    padding-top: 14px;
    padding-bottom: 14px;
}
#top-menu .container{
    flex-wrap: nowrap;
}
#top-menu .navbar-nav{
    align-items: center;
    gap: 4px;
}
@media screen and (min-width: 1400px){
    #top-menu .container{
        display: grid;
        grid-template-columns: auto minmax(0, 1fr) auto;
        align-items: center;
        column-gap: 24px;
    }
    #top-menu .navbar-collapse{
        display: contents !important;
    }
    #top-menu .navbar-nav{
        position: static;
        transform: none;
        justify-content: center;
    }
    .header-tools{
        margin-left: 0;
    }
}
#top-menu .nav-link{
    color: var(--color-header-link);
    font-size: 15px;
    font-weight: 500;
    padding: 8px 12px;
    position: relative;
    cursor: pointer;
}
#top-menu .nav-item.active .nav-link::after,
#top-menu .nav-item:hover .nav-link::after{
    content: "";
    position: absolute;
    left: 12px;
    right: 12px;
    bottom: 2px;
    height: 2px;
    background: var(--color-brand);
}
#top-menu .navbar-toggler{
    border: 1px solid var(--color-line-on-dark);
    border-radius: 4px;
    padding: 8px 10px;
    margin-left: auto;
}
#top-menu .navbar-toggler-bar{
    display: block;
    width: 22px;
    height: 2px;
    margin: 4px 0;
    background: var(--color-on-dark);
}
.header-tools{
    display: flex;
    align-items: center;
    gap: 16px;
    margin-left: 12px;
}
.header-phones{
    display: flex;
    align-items: center;
    gap: 12px;
    max-width: 460px;
    opacity: 1;
    overflow: hidden;
    transition: max-width .35s ease, opacity .3s ease, margin .35s ease, gap .35s ease;
}
.header-tools:has(.header-search.is-open) .header-phones{
    max-width: 0;
    opacity: 0;
    margin: 0;
    gap: 0;
    pointer-events: none;
}
.header-phone{
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: var(--color-on-dark);
    font-size: 14px;
    font-weight: 600;
    white-space: nowrap;
}
.header-phone i{
    color: var(--color-brand);
}
.header-search{
    position: relative;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    width: 36px;
    height: 36px;
    overflow: hidden;
    border-bottom: 1px solid transparent;
    transition: width .35s ease, border-color .35s ease;
}
.header-search.is-open{
    width: 280px;
    overflow: visible;
    border-bottom-color: var(--color-brand);
}
.header-search-toggle{
    order: 2;
    flex: 0 0 36px;
    border: 0;
    background: transparent;
    color: var(--color-on-dark);
    width: 36px;
    height: 36px;
    padding: 0;
    cursor: pointer;
}
.header-search-toggle:hover,
.header-phone:hover{
    color: var(--color-brand);
}
.header-search input,
.header-search input:focus{
    order: 1;
    flex: 1 1 auto;
    width: 0;
    min-width: 0;
    max-width: none;
    opacity: 0;
    border: 0;
    background: transparent;
    color: var(--color-on-dark);
    text-align: center;
    padding: 6px 0;
    outline: none;
    position: static !important;
    z-index: auto !important;
    border-radius: 0;
    transition: opacity .25s ease;
}
.header-search.is-open input,
.header-search.is-open input:focus{
    width: auto;
    opacity: 1;
    padding: 6px 8px;
}
.header-search input::placeholder{
    color: var(--color-on-dark-soft);
    opacity: 1;
}
#search_container{
    display: none;
    position: absolute;
    top: calc(100% + 10px);
    right: 0;
    width: 320px;
    max-height: 320px;
    overflow: auto;
    background: var(--color-surface);
    border: 1px solid var(--color-line);
    box-shadow: 0 16px 40px var(--color-shadow);
    padding: 8px 12px;
    z-index: 40;
    text-align: left;
}
#search_container .item{
    display: flex;
    gap: 10px;
    padding: 8px 0;
    border-bottom: 1px solid var(--color-line);
}
#search_container .item img{
    width: 54px;
    height: 54px;
    object-fit: cover;
}
#search_container .item h3{
    font-size: 14px;
    margin: 0 0 4px;
}
#search_container .item h3 a{
    color: var(--color-ink);
}
.language-bar{
    display: flex;
    align-items: center;
    gap: 8px;
    text-transform: uppercase;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.04em;
}
.language-bar .lang-link{
    color: var(--color-on-dark-soft);
    position: relative;
    padding-bottom: 2px;
}
.language-bar .lang-link.active{
    color: var(--color-on-dark);
}
.language-bar .lang-link.active::after{
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -4px;
    height: 2px;
    background: var(--color-brand);
}
.language-bar .lang-sep{
    color: var(--color-muted);
}
.favorites-section sub, .cart-section sub{
    color: var(--color-black);
    font-size: 15px;
    top: 6px;
}
#top-menu .nav-item{
    position: relative;
}
header{
    background: var(--color-header-solid);
    color: var(--color-header-text);
    position: relative;
    z-index: 100;
    border-bottom: 1px solid var(--color-line-on-dark);
}
body:has(#banners) header{
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    background: var(--color-header-overlay);
    border-bottom-color: transparent;
    backdrop-filter: blur(8px);
}
header a, header a:link, header a:visited{
    color: var(--color-header-link);
}
#pathline .auth{
    position: relative;
    padding-bottom: 15px;
}
header .auth a.carret{
    padding-right: 22px;
    position: relative;
}
header .auth a.carret::after{
    content: "";
    position: absolute;
    top: 50%; right: 0;
    background: url(/images/assets/caret-down.png) no-repeat center center;
    width: 10px; height: 9px;
    transform: translateY(-50%);
}
header .auth:hover a.carret::after{
    background-image: url(/images/assets/caret-up.png)
}
#pathline .auth ul{
    position: absolute;
    top: 100%; left 0;
    background: var(--color-text);
    width: 210px;
    padding: 30px 18px 18px;
    z-index: 999;
    display: none;
}
#pathline .auth:hover ul{
    display: block;
}
#pathline .auth ul::before{
    content: "";
    border: 0; 
    border-bottom: 15px solid var(--color-text);
    border-left: 12px solid transparent; 
    border-right: 12px solid transparent; 
    position: absolute;
    top: -14px; left: 15px;
    width: 0; height: 0;
}
#pathline .auth ul li a{
    color: var(--color-background);
    text-transform: uppercase;
    margin-bottom: 5px;
    display: block;
}
#pathline .auth ul li:last-child a{
    margin-bottom: 0;
}
#pathline .auth ul .logout{
    margin-top: 19px;
    border: 1px solid var(--color-white);
    background: var(--color-dark-black);
    color: var(--color-white);
    text-align: center;
    padding: 15px;
}
#pathline .auth ul .logout a{
    color: var(--color-white);
}
.search-container{
    position: relative;
    margin-top: 60px;
}
input.search-input{
    border: none;
    background: transparent;
    border-bottom: 1px solid var(--color-gold);
    padding: 10px 50px 10px 20px;
    max-width: 100% !important;
}
input.search-input:hover{
    border: none;
    background: transparent;
    border-bottom: 1px solid var(--color-gold);
    padding: 10px 50px 10px 20px;
    max-width: 100% !important;
}
input.search-input:focus{
    border: none;
    background: transparent;
    border-bottom: 1px solid var(--color-gold);
    padding: 10px 50px 10px 20px;
    max-width: 100% !important;
}
button.search-submit{
    border: none;
    background: transparent;
    position: absolute;
    top: 0; right: 0;
}
#pathline-left .call-to{
    padding: 15px 0;
    display: inline-block;
}
#pathline-left .call-to img{
    max-height: 20px;
}
.auth-column{
   padding: 15px 0 0; 
}
.auth-column img{
    max-height: 20px;
}
#mini-cart-module{
    padding: 15px 0; 
    margin-left: 15px;
}
#mini-cart-module img{
    max-height: 80px;
}


/*** footer ***/
#copyright{
    background: var(--color-copyright-background);
    color: var(--color-copyright-text);
    font-size: 14px;
    padding-top: 16px;
    padding-bottom: 16px;
}
#copyright a{
    color: var(--color-copyright-link);
}
#copyright img{
    max-height: 25px;
}
#copyright strong{
    color: var(--color-on-dark);
}
#copyright .devider{
    padding: 0 0.5rem;
    color: var(--color-muted);
}
#footer-top{
    background: var(--color-footer-background);
    color: var(--color-footer-text);
    padding-top: 56px;
    padding-bottom: 48px;
}
.footer-logo{
    display: inline-block;
    margin-bottom: 16px;
}
.footer-logo img{
    max-height: 58px;
    width: auto;
    max-width: 180px;
}
#footer-top h3{
    font-size: 16px;
    font-weight: 600;
    letter-spacing: 0.02em;
    padding-bottom: 14px;
    margin-bottom: 16px;
    position: relative;
    color: var(--color-footer-heading);
}
#footer-top h3::after{
    content: "";
    width: 36px; height: 2px;
    background: var(--color-brand);
    position: absolute;
    left: 0; bottom: 0;
}
#footer-top .info,
#footer-top .info p{
    color: var(--color-footer-text);
    font-size: 14px;
    line-height: 1.7;
}
#footer-top .info p{
    padding-bottom: 12px;
}
#footer-top .info p:last-child{
    padding-bottom: 0;
}
#footer-top .menu li{
    margin-top: 0;
}
#footer-top .menu-cols{
    columns: 2;
    column-gap: 28px;
}
#footer-top .menu-cols li{
    break-inside: avoid;
}
#footer-top .menu a{
    display: inline-block;
    padding: 4px 0;
    color: var(--color-footer-link);
    font-size: 14px;
}
#footer-top .menu a:hover,
#footer-top .footer-contacts a:hover{
    color: var(--color-brand);
}
#footer-top .footer-contacts{
    list-style: none;
    margin: 0;
    padding: 0;
}
#footer-top .footer-contacts li{
    display: flex;
    gap: 10px;
    align-items: flex-start;
    margin-top: 0;
    margin-bottom: 12px;
    font-size: 14px;
    line-height: 1.5;
}
#footer-top .footer-contacts i{
    color: var(--color-brand);
    width: 16px;
    margin-top: 3px;
    flex: 0 0 16px;
}
#footer-top .footer-contacts strong{
    display: block;
    color: var(--color-on-dark);
    font-weight: 600;
    margin-bottom: 2px;
}
#footer-top .footer-brand{
    display: flex;
    flex-direction: column;
}
#footer-top .footer-brand #social-section{
    margin-top: auto;
    padding-top: 18px;
}
#footer-top .footer-hours{
    margin-top: 22px;
    padding-top: 0;
    color: var(--color-footer-text);
    font-size: 14px;
    line-height: 1.5;
}
#footer-top .footer-hours strong{
    display: flex;
    align-items: center;
    gap: 8px;
    color: var(--color-on-dark);
    font-weight: 600;
    margin-bottom: 6px;
}
#footer-top .footer-hours strong i{
    color: var(--color-brand);
    width: auto;
    margin: 0;
    flex: none;
}
#footer-top .footer-hours p{
    color: var(--color-footer-text);
    font-size: 14px;
    margin: 0;
    padding: 0 0 4px;
}
#footer-top a{
    color: var(--color-footer-text);
}
#social-section{
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 8px;
}
#footer-top a.social-link{
    color: var(--color-brand);
    width: 36px;
    height: 36px;
    border: 1px solid var(--color-line-on-dark);
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
#footer-top a.social-link:hover{
    background: var(--color-brand);
    color: var(--color-brand-ink);
    border-color: var(--color-brand);
}
picture{
    display: contents;
}

.page-hero{
    position: relative;
    min-height: 230px;
    display: flex;
    align-items: stretch;
    overflow: hidden;
    background: var(--color-ink);
}
.page-hero-img{
    position: absolute;
    inset: 0;
    z-index: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.page-hero::after{
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    background: var(--color-hero-scrim);
}
.page-hero-inner{
    position: relative;
    z-index: 2;
    display: flex;
    align-items: center;
    width: 100%;
    min-height: 230px;
    padding-top: 0;
    padding-bottom: 0;
}
.page-hero #breadcrumps{
    position: absolute;
    top: 14px;
    left: 16px;
    right: 0;
}
.page-hero #breadcrumps .container{
    max-width: none;
    width: 100%;
    padding-left: 0;
    padding-right: 0;
}
.page-hero #breadcrumps .module-content{
    margin-bottom: 0;
    text-align: left;
}
.page-hero #breadcrumps .item,
.page-hero #breadcrumps .item a,
.page-hero #breadcrumps .item::after{
    color: var(--color-on-dark-soft);
    font-size: 14px;
}
.page-hero-title{
    margin: 0;
    padding: 0;
    color: var(--color-on-dark);
    font-size: 40px;
    font-weight: 500;
    line-height: 1.2;
}
.page-hero-title::after{
    content: "";
    display: block;
    width: 64px;
    height: 3px;
    margin-top: 14px;
    background: var(--color-brand);
}
.page-hero-intro,
.page-hero-intro p,
.page-hero-intro *{
    color: var(--color-on-dark-soft);
    font-size: 16px;
    font-weight: 400;
    line-height: 1.5;
}
.page-hero-intro{
    margin-top: 12px;
}
.page-hero-intro p{
    margin: 0;
}
.gallery-browse{
    background: var(--color-dark-white);
}
.gallery-filters{
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 22px;
}
.gallery-filters a{
    display: inline-flex;
    align-items: center;
    padding: 8px 14px;
    border: 1px solid var(--color-line);
    border-radius: 999px;
    background: var(--color-surface);
    color: var(--color-ink);
    font-size: 14px;
}
.gallery-filters a.is-active,
.gallery-filters a:hover{
    border-color: var(--color-brand);
    color: var(--color-brand-ink, var(--color-ink));
}
.gallery-card{
    display: flex;
    flex-direction: column;
    height: 100%;
    padding: 10px 10px 16px;
    border-radius: 16px;
    background: var(--color-surface);
    box-shadow: 0 8px 24px rgba(12, 14, 16, .06);
}
.gallery-card-media{
    position: relative;
    display: block;
    height: 210px;
    overflow: hidden;
    border-radius: 12px;
}
.gallery-card-media img{
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.gallery-card-count{
    position: absolute;
    right: 10px;
    bottom: 10px;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 5px 10px;
    border-radius: 8px;
    background: rgba(12, 14, 16, .72);
    color: var(--color-on-dark);
    font-size: 13px;
    line-height: 1;
}
.gallery-card h3{
    margin: 14px 8px 0;
    font-size: 16px;
    font-weight: 600;
    line-height: 1.4;
}
.gallery-card h3 a{
    color: var(--color-ink);
}
.gallery-card-foot{
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-top: auto;
    padding: 16px 8px 4px;
}
.gallery-card-more{
    color: var(--color-ink-soft);
    font-size: 14px;
}
.gallery-card-go,
.gallery-card-go:link,
.gallery-card-go:visited,
.gallery-card-go i{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: var(--color-brand);
    color: var(--color-on-dark);
    flex: none;
}
.gallery-card-go i{
    width: auto;
    height: auto;
    background: none;
    color: var(--color-on-dark);
    font-size: 14px;
}
.gallery-card-go:hover,
.gallery-card-go:hover i{
    background: var(--color-brand-hover);
    color: var(--color-on-dark);
}
.gallery-card-go:hover i{
    background: none;
}
.gallery-about,
.gallery-shots{
    padding: 55px 0;
    background: var(--color-surface);
}
.gallery-about .section-title,
.gallery-products .section-title,
.gallery-shots .section-title{
    margin-bottom: 22px;
}
.gallery-about-text,
.gallery-about-text p{
    color: var(--color-ink-soft);
    font-size: 16px;
    line-height: 1.6;
}
.gallery-products{
    padding: 55px 0;
    background: var(--color-brand-soft);
}
.gallery-product{
    display: flex;
    flex-direction: column;
    height: 100%;
    padding: 18px;
    border-radius: 16px;
    background: var(--color-surface);
}
.gallery-product-head{
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 14px;
}
.gallery-product-name,
.gallery-product-name:link,
.gallery-product-name:visited{
    color: var(--color-ink);
    font-size: 18px;
    font-weight: 600;
    line-height: 1.35;
}
.gallery-product-code{
    flex: none;
    color: var(--color-muted);
    font-size: 14px;
}
.gallery-product-body{
    display: flex;
    gap: 16px;
    margin-bottom: 16px;
}
.gallery-product-photo{
    flex: none;
    width: 148px;
    height: 148px;
    overflow: hidden;
    border-radius: 10px;
}
.gallery-product-photo img{
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.gallery-product-specs{
    flex: 1;
    min-width: 0;
}
.gallery-product-price{
    margin-bottom: 10px;
    color: var(--color-brand-hover);
    font-size: 18px;
    font-weight: 700;
}
.gallery-product .subitem{
    position: relative;
    margin-top: 6px;
    padding-left: 16px;
    color: var(--color-ink-soft);
    font-size: 14px;
    line-height: 1.45;
}
.gallery-product .subitem::before{
    content: "";
    position: absolute;
    left: 0;
    top: 7px;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--color-brand);
}
.gallery-product-btn,
.gallery-product-btn:link,
.gallery-product-btn:visited{
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 100%;
    margin-top: auto;
    padding: 12px 16px;
    border-radius: 8px;
    background: var(--color-brand);
    color: var(--color-brand-ink);
    font-weight: 600;
}
.gallery-product-btn i,
.gallery-product-btn:hover,
.gallery-product-btn:hover i{
    color: var(--color-brand-ink);
}
.gallery-product-btn:hover{
    background: var(--color-brand-hover);
}
.gallery-shots-grid{
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
}
.gallery-shots-grid a{
    display: block;
    aspect-ratio: 4 / 3;
    overflow: hidden;
    border-radius: 12px;
}
.gallery-shots-grid img{
    width: 100%;
    height: 100%;
    object-fit: cover;
}
@media screen and (max-width: 1199.98px){
    .gallery-shots-grid{
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}
@media screen and (max-width: 767.98px){
    .gallery-about,
    .gallery-products,
    .gallery-shots{
        padding: 36px 0;
    }
    .gallery-product-body{
        flex-direction: column;
    }
    .gallery-product-photo{
        width: 100%;
        height: 200px;
    }
    .gallery-shots-grid{
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
.page-static{
    background: var(--color-dark-white);
    padding: 0;
}
.page-static-card{
    background: var(--color-surface);
    border-radius: 16px;
    padding: 32px 28px;
}
.page-side{
    padding: 8px 8px 8px 0;
}
.page-side h2{
    margin: 0 0 14px;
    font-size: 22px;
    font-weight: 600;
    color: var(--color-ink);
}
.page-side ul{
    margin: 0;
    padding: 0;
    list-style: none;
    border: 1px solid var(--color-line);
    border-radius: 12px;
    overflow: hidden;
}
.page-side li{
    margin: 0;
    border-top: 1px solid var(--color-line);
}
.page-side li:first-child{
    border-top: none;
}
.page-side a{
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 14px 16px;
    color: var(--color-ink);
}
.page-side a i{
    color: var(--color-muted);
    font-size: 12px;
}
.page-side a.is-active{
    background: var(--color-line);
    font-weight: 600;
}
.page-side a:hover{
    color: var(--color-brand-hover);
}
.page-copy p,
.page-static-card .page-copy{
    color: var(--color-ink-soft);
}
.page-static-card .page-copy h2,
.page-static-card .page-copy h3,
.page-static-card .page-copy-title{
    display: inline-flex;
    align-items: center;
    gap: 14px;
    margin: 22px 0 12px;
    color: var(--color-ink);
    font-size: 26px;
    font-weight: 600;
    line-height: 1.3;
}
.page-static-card .page-copy h2::after,
.page-static-card .page-copy h3::after,
.page-static-card .page-copy-title::after{
    content: "";
    flex: none;
    width: 48px;
    height: 3px;
    background: var(--color-brand);
}
@media screen and (max-width: 767.98px){
    .page-hero,
    .page-hero-inner{
        min-height: 190px;
    }
    .page-hero-title{
        font-size: 30px;
    }
    .page-static-card{
        padding: 22px 16px;
        border-radius: 12px;
    }
}
#footer-top .work-time{
    color: var(--color-footer-text);
}
#footer-top .work-time p{
    color: var(--color-footer-text);
}

/*** categories menu ***/
#products-most-section h2.title a.button{
    margin-top: 8px;
}


#categories-menu{
    
}
#categories-menu .categories-title{
    background: var(--color-blue);
    color: var(--color-white);
    padding: 14px 20px;
    text-transform: uppercase;
    margin-right: 15px;
    position: relative;
    cursor: pointer;
}
#categories-menu .categories-title::after{
    content: "";
    position: relative;
    display: inline-block;
    right: 0;
    background: url(/images/assets/caret-down-white.png) no-repeat center center;
    width: 10px; height: 9px;
    margin-left: 12px;
}
#categories-menu .categories-link{
    color: var(--color-black);
    padding: 14px 20px;
    text-transform: uppercase;
}
#categories-menu .categories-container{
    background: var(--color-blue);
    border: 1px solid var(--color-blue);
    padding: 15px 20px;
    box-shadow: 8px 8px 10px var(--color-dark-gray);
    position: absolute;
    width: 100%;
    display: none;
    z-index: 2;
}
#categories-menu .categories-container.active{
    display: block;
}
#categories-menu .categories-container .item{
    position: relative;
    margin-bottom: 6px;
}
#categories-menu .categories-container .item.item-toggle{
    display: none;
}
#categories-menu .categories-container .item .icon{
    display: inline-block;
    vertical-align: middle;
    width: 19px; height: 15px;
    margin-right: 12px;
    position: relative;
}
#categories-menu .categories-container .item .icon img{
    max-width: 19px; max-height: 15px;
    position: absolute;
    top: 50%; left: 0;
    transform: translateY(-50%);
}
#categories-menu .categories-container .item a{
    display: block;
    color: var(--color-black);
    margin-right: 20px; 
}
#categories-menu .categories-container .item .arrow{
    top: 4px;
}
#categories-menu .categories-container .sub-categories-container{
    margin-top: 6px;
    display: none;
}
#categories-menu .categories-container .item.active > .sub-categories-container{
    display: block;
}
#categories-menu .categories-container .sub-categories-container .sub-item{
    position: relative;
    margin-bottom: 6px;
}
#categories-menu .categories-container .sub-categories-container .left-arrow{
    display: inline-block;
    vertical-align: middle;
    width: 19px; height: 15px;
    margin-right: 12px;
    position: relative;
}
#categories-menu .categories-container .sub-categories-container .left-arrow::after{
    content: "";
    position: absolute;
    left: 0; top: 0;
    width: 0; height: 0;
    border: none;
    border-left: 9px solid var(--color-light-black);
    border-top: 5px solid transparent;
    border-bottom: 5px solid transparent;
}
#categories-menu .toggle-class-more{
    margin-top: 35px;
}
#categories-menu .toggle-class-more span{
    cursor: pointer;
    position: relative;
    display: inline-block;
    margin-right: 25px;
    display: none;
}
#categories-menu .toggle-class-more span.open{
    display: inline-block;
}
#categories-menu .toggle-class-more span::before{
    content: "";
    position: absolute;
    bottom: 0; left: 0;
    width: 100%; height: 2px;
    background: var(--color-blue);
    position: absolute;
    left: 0; bottom: 0;
    margin-right: 25px;
}
#categories-menu .toggle-class-more span.show-more::after{
    content: "";
    position: absolute;
    right: -22px; top: 8px;
    width: 0; height: 0;
    border: none;
    border-top: 9px solid var(--color-blue);
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
}
#categories-menu .toggle-class-more span.show-less::after{
    content: "";
    position: absolute;
    right: -22px; top: 8px;
    width: 0; height: 0;
    border: none;
    border-bottom: 9px solid var(--color-blue);
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
}
#categories-menu .categories-container-data{
    min-height: 395px;
}

/*** Banners ***/
#banners{
    position: relative;
    background: var(--color-ink);
    overflow: hidden;
    max-width: 100%;
}
#banner-slider{
    background: var(--color-ink);
}
#banners .owl-item,
#banners .hero-slide{
    position: relative;
    min-height: 640px;
}
#banners .hero-slide{
    height: 72vh;
    max-height: 820px;
    overflow: hidden;
}
#banners .hero-media{
    position: absolute;
    inset: 0;
}
#banners .hero-media img{
    width: 100%;
    height: 100%;
    position: absolute;
    inset: 0;
    object-fit: cover;
    transform: none;
}
#banners .hero-slide::after{
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, var(--color-hero-scrim) 0%, var(--color-hero-scrim) 34%, transparent 72%);
    z-index: 1;
    pointer-events: none;
}
#banners .hero-copy{
    position: relative;
    z-index: 2;
    min-height: inherit;
    height: 100%;
    display: flex;
    align-items: center;
    padding-top: 108px;
    padding-bottom: 36px;
}
#banners .hero-panel{
    max-width: 680px;
    margin-left: 2%;
    padding: 28px 32px 26px;
    background: var(--color-hero-panel);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
}
#banners .hero-kicker{
    margin: 0 0 16px;
    color: var(--color-brand);
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}
#banners .owl-carousel .owl-nav .owl-next,
#banners .owl-carousel .owl-nav .owl-prev{
    display: none;
}
#banners h1{
    font-size: 48px;
    font-weight: 500;
    line-height: 1.15;
    color: var(--color-on-dark);
    max-width: 14em;
}
#banners h1 .hero-title-sub{
    display: block;
    color: var(--color-on-dark);
}
#banners .hero-rule{
    display: block;
    width: 72px;
    height: 2px;
    margin: 22px 0;
    background: var(--color-brand);
}
#banners .hero-intro,
#banners .hero-intro p{
    color: var(--color-on-dark-soft);
    font-size: 16px;
    line-height: 1.7;
    max-width: 46em;
}
#banners .hero-intro p:last-child{
    padding-bottom: 0;
}
#banners .hero-cta{
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-top: 26px;
    padding: 12px 22px;
    background: var(--color-brand);
    color: var(--color-brand-ink);
    font-weight: 600;
    border-radius: 4px;
}
#banners .hero-cta:hover{
    background: var(--color-brand-hover);
    color: var(--color-brand-ink);
}
#banners .owl-dots{
    position: absolute;
    left: 0;
    right: 0;
    bottom: 22px;
    width: auto;
    height: auto;
    display: flex;
    justify-content: center;
    gap: 8px;
    z-index: 3;
}
#banners .owl-dots .owl-dot{
    width: 8px;
    height: 8px;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 8px;
    background: var(--color-white-40);
}
#banners .owl-dots .owl-dot span{
    display: none;
}
#banners .owl-dots .owl-dot:hover,
#banners .owl-dots .owl-dot.active{
    background: var(--color-brand);
    width: 22px;
}
/*** Adverts ***/
.adverts.adverts-1{
    position: relative;
    border: 1px solid var(--color-gold);
}
.adverts.adverts-1 .img{
    height: 280px;
    position: relative;
    
}
.adverts.adverts-2{
    position: relative;
    border: 1px solid var(--color-gold);
}
.adverts.adverts-2 .img{
    height: 280px;
    position: relative;
    
}
.adverts img {
    width: 100%; height: 100%;
    position: absolute;
    top: 50%; left: 50%;
    transform: translate(-50%,-50%);
    object-fit: cover;
}
.adverts.adverts-1 .description{
    position: relative;
    background: var(--color-blue);
    
}
.adverts.adverts-2 .description{
    position: absolute;
    left: 25px; bottom: 15px;
    width: calc( 100% - 25px - 25px );
}
.adverts .read-more{
    display: inline-block;
    border: 2px solid var(--color-white);
    color: var(--color-white);
    text-transform: uppercase;
    padding: 15px 18px;
    margin-top: 30px;
}
.adverts .read-more{
    position: absolute;
    bottom: 0; right: 0;
}
.adverts h2{
    font-size: 28px;
    font-weight: normal;
    line-height: 1.4em;
    color: var(--color-white);
    padding: 8px 15px;
    text-align: center;
}
.adverts h2 a{
    color: var(--color-white);
}
.adverts h2 .highlight{
    color: var(--color-blue);
}
.adverts h2 a .highlight{
    color: var(--color-blue);
}

/*** Product Slider ***/
#productsSliderTab.nav-pills{
    margin-bottom: 25px;
}
#productsSliderTab.nav-pills .nav-link {
    border-radius: 0;
    border: 1px solid var(--color-gold);
    color: var(--color-white);
    text-transform: uppercase;
    padding: 10px 15px;
    margin-right: 25px;
    margin-bottom: 15px;
}
#productsSliderTab.nav-pills .nav-link.active,
#productsSliderTab.nav-pills .nav-link:hover, 
#productsSliderTab.nav-pills .show > .nav-link {
    background-color: var(--color-gold);
    border-color: var(--color-gold);
    color: var(--color-white);
    
}

.browse_products:not(.owl-carousel):not(.row){
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(230px, 1fr));
    gap: 20px;
    width: 100%;
    margin-left: 0;
    margin-right: 0;
    text-align: left;
    position: relative;
}
.browse_products.row > *{
    display: flex;
}
.browse_products:not(.owl-carousel) .product_item{
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    width: 100%;
    height: 100%;
    margin: 0;
}
.browse_products:not(.owl-carousel) .table-end-block{
    display: none;
}
#category-content{
    position: initial !important;
}
.filter-right{
    position: absolute; 
    top: 0; right: 15px;
}
#price-slider-tooltip{
    margin-bottom: 12px;
}
h4.props_title{
    font-size: 16px;
    font-weight: normal;
    position: relative;
    cursor: pointer;
}
h4.props_title .icon{
    color: var(--color-blue);
    position: absolute;
    top: 50%; right: 0;
    transform: translateY(-50%);
}
.hide .props_vals{
    display: none;
}
.props_vals .checkbox{
    padding-bottom: 0;
}
.props_vals .show-more-link, .props_vals .show-less-link{
    cursor: pointer;
    margin-left: 28px;
    margin-top: 10px;
}
.props_vals .show-more-link span, .props_vals .show-less-link span{
    position: relative;
}
.props_vals .show-more-link span::after, .props_vals .show-less-link span::after{
    content: "";
    display: block;
    width: 100%; height: 2px;
    display: block;
    background: var(--color-blue);
    position: absolute;
    bottom: 3px; left: 0;
}
.props_vals .show-less-link, .props_vals .show-more{
    display: none;
}
.props_vals.show .show-more-link{
    display: none;
}
.props_vals.show .show-less-link, .props_vals.show .show-more{
    display: block;
}
.props_vals .color{
    display: inline-block;
    vertical-align: top;
    width: 15px; height: 15px;
    border: 1px solid var(--color-dark-gray);
    cursor: pointer;
    margin-right: 14px; margin-bottom: 14px;
}
.props_vals .color.active{
    border: 2px solid var(--color-blue);
}
.props_vals .color input{
    display: none;
}

.product_item{
    width: 240px;
    border: 1px solid var(--color-black);
    display: inline-block;
    vertical-align: top;
    font-size: 16px;
    line-height: normal;
    padding: 20px;
    margin-left: 10px; margin-right: 10px;
    margin-bottom: 25px;
    text-align: left;
    border-radius: 6px;
}
.product_item:hover{
    border: 1px solid var(--color-black);
}
.owl-carousel .product_item{
    display: block;
    margin: 0 auto;
    width: 280px;
}
.product_item .img{
    width: 100%; height: 200px;
    overflow: hidden;
    margin-bottom: 20px;
    position: relative;
}
.bview-list .product_item .img{
    width: 200px; margin-right: 20px;
    display: inline-block;
    vertical-align: top;
}
.bview-list .product_item .adata{
    width: calc( 100% - 220px ); 
    display: inline-block;
    vertical-align: top;
}
.product_item .img a{
    width: 100%; height: 200px;
    display: block;
    position: relative;
    transition: transform .5s ease;
}
.product_item .img a img{
    max-width: 100%; max-height: 100%;
    width: auto; height: auto;
    position: absolute;
    top: 50%; left: 50%;
    transform: translate(-50%, -50%);
    /*object-fit: cover;*/
}
.product_item:hover .img a{
    transform: translateY(-100%);
}
.product_item .img-container{
    position: relative;
}
.product_item .img-container .favorites{
    display: none;
    width: 45px; height: 45px;
    position: absolute;
    top: 15px; left: 15px;
    border: 1px solid var(--color-white);
    border-radius: 50%;
    cursor: pointer;
}
.product_item:hover .img-container .favorites{
    display: block;
}
.product_item .img-container .favorites::before{
    content: "\f004";
    font-family: 'FontAwesome';
    color: var(--color-olive);
    position: absolute;
    left: 5px; bottom: 8px;
    font-size: 25px;
}
.product_item .img-container .favorites .notif{
    position: absolute;
    font-size: 18px;
    color: var(--color-brown);
    top: 7px; right: 5px;
}
.product_item .img-container .discount{
    position: absolute;
    top: -20px; right: -20px;
    background: var(--color-gold);
    padding: 14px 10px;
}
.product_item .img-container .discount .discount-inner{
    font-size: 18px;
    color: var(--color-white);
}
.img-avail{
    background: var(--color-white-80);
    color: var(--color-danger-deep);
    padding: 20px;
    font-size: 20px;
    position: absolute;
    width: 100%;
    text-align: center;
    left: 0; top: 50%;
    transform: translateY(-50%);
    box-sizing: border-box;
}
.product_item h3{
    font-size: 18px;
    color: var(--color-black);
    padding-bottom: 0;
    margin-bottom: 10px;
    position: relative;
    height: 45px;
    overflow: hidden;
}
.product_item h3 a{
    color: var(--color-black);
}
.product_item:hover h3 a{
    color: var(--color-black);
}
.product_item .intro{
    font-size: 14px;
    line-height: 1.3em;
    padding-bottom: 15px;
    margin-bottom: 15px;
    position: relative;
}
.product_item .intro::after{
    content: "";
    display: block;
    width: calc( 100% + 10px );
    height: 1px;
    position: absolute;
    left: -5px; bottom: 0;
    background: var(--color-gold);
}
.product_item .intro p{
    font-size: 14px;
    line-height: 1.3em;
    color: var(--color-white);
}
.product_item .rating-bar{
    margin: 10px 0;
    text-align: left;
}
.w-px-35{
    -ms-flex: 0 0 65px;
    flex: 0 0 65px;
    max-width: 65px;
}
.product_item .add-to-cart{
    display: inline-block;
    width: 28px; height: 25px;
    position: relative;
    font-size: 16px;
    background: url(/images/assets/cart.png) no-repeat right center;
    background-size: contain;
    cursor: pointer;
}
.product_item .favorites{
    display: inline-block;
    width: 28px; height: 25px;
    position: relative;
    font-size: 16px;
    background: url(/images/assets/heart.png) no-repeat right center;
    background-size: contain;
    cursor: pointer;
}
.product_item .price{
    font-size: 18px;
}
.product_item .price-pair{
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px 14px;
    margin-top: 4px;
    padding-top: 12px;
    border-top: 1px solid var(--color-line);
    text-align: center;
}
.product_item .price-gross,
.product_item .price-net,
.product_item .price-ask{
    text-align: center;
}
.product_item .price-amount{
    display: block;
    line-height: 1.2;
}
.product_item .price-gross .price-amount{
    font-size: 18px;
    font-weight: 600;
    color: var(--color-ink);
}
.product_item .price-net .price-amount{
    font-size: 15px;
    font-weight: 500;
    color: var(--color-ink-soft);
}
.product_item .price-alt{
    display: block;
    margin-top: 2px;
    font-size: 12px;
    color: var(--color-muted);
}
.product_item .price-tag{
    display: block;
    margin-top: 4px;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--color-muted);
}
.product_item .price-gross .price-tag{
    color: var(--color-brand-hover);
}
.product_item .price-ask{
    font-size: 15px;
    color: var(--color-ink-soft);
    text-align: center;
}
.product_item .read-more{
    display: flex;
    justify-content: center;
    width: 100%;
    padding: 12px 16px;
    background: var(--color-brand-hover);
    color: var(--color-on-dark);
    border: 1px solid var(--color-brand-hover);
    border-radius: 2px;
    text-align: center;
    text-transform: none;
    font-size: 14px;
    font-weight: 600;
}
.product_item .read-more:hover{
    background: var(--color-brand);
    border-color: var(--color-brand);
    color: var(--color-on-dark);
}

/*** Contacts Page ***/
.contacts-board,
.contacts-map{
    background: var(--color-dark-white);
}
.contacts-board{
    padding: 40px 0 24px;
}
.contacts-map{
    padding: 8px 0 55px;
}
.contacts-card{
    height: 100%;
    padding: 28px 26px;
    border-radius: 16px;
    background: var(--color-surface);
}
.contacts-card-title{
    margin: 0 0 14px;
    color: var(--color-ink);
    font-size: 26px;
    font-weight: 600;
    line-height: 1.2;
}
.contacts-card-title::after{
    content: "";
    display: block;
    width: 64px;
    height: 3px;
    margin-top: 12px;
    background: var(--color-brand);
}
.contacts-lead{
    margin: 0 0 8px;
    color: var(--color-ink-soft);
    font-size: 15px;
    line-height: 1.6;
}
.contacts-list{
    margin: 0;
    padding: 0;
    list-style: none;
}
.contacts-list li{
    display: flex;
    align-items: flex-start;
    gap: 22px;
    margin: 0;
    padding: 16px 0;
    border-bottom: 1px solid var(--color-line);
}
.contacts-list li:last-child{
    border-bottom: none;
    padding-bottom: 0;
}
.contacts-list i{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: none;
    width: 46px;
    height: 46px;
    margin-top: 0;
    border-radius: 50%;
    background: var(--color-brand-soft);
    color: var(--color-brand);
    font-size: 18px;
    text-align: center;
}
.contacts-list strong{
    display: block;
    margin-bottom: 4px;
    color: var(--color-ink);
    font-size: 16px;
    font-weight: 700;
}
.contacts-list span,
.contacts-list span p{
    color: var(--color-ink-soft);
    font-size: 15px;
    line-height: 1.5;
}
.contacts-list span a,
.contacts-list span a:link,
.contacts-list span a:visited{
    display: block;
    color: var(--color-ink-soft);
}
#contact-form .checkbox a,
#contact-form .checkbox a:link,
#contact-form .checkbox a:visited{
    color: var(--color-brand-hover);
}
.contacts-map .section-title-down{
    margin-bottom: 18px;
}
.contacts-map-frame{
    overflow: hidden;
    border-radius: 16px;
}
.contacts-map-frame iframe{
    display: block;
    width: 100%;
    height: 420px;
    border: 0;
}
#contact-form{
    max-width: none;
    display: block;
    text-align: left;
}
#contact-form .section-title-down{
    margin-bottom: 18px;
}
#contact-form .contacts-fields{
    margin-bottom: 14px;
}
#contact-form .sub-item{
    margin-bottom: 14px;
}
#contact-form .contacts-fields .sub-item{
    margin-bottom: 0;
}
#contact-form .field-float{
    position: relative;
}
#contact-form .field-float label{
    position: absolute;
    top: 8px;
    left: 14px;
    z-index: 2;
    margin: 0;
    color: var(--color-ink);
    font-size: 12px;
    font-weight: 600;
    line-height: 1;
    pointer-events: none;
}
#contact-form input[type="text"]:focus,
#contact-form textarea:focus,
#contact-form select:focus{
    position: relative !important;
    z-index: 0 !important;
    border-radius: 8px !important;
}
#contact-form label span{
    color: var(--color-brand);
}
#contact-form input[type="text"],
#contact-form select,
#contact-form textarea{
    width: 100%;
    max-width: none;
    padding: 26px 14px 8px;
    border: 1px solid var(--color-line);
    border-radius: 8px;
    background: var(--color-surface);
    color: var(--color-ink);
    font-size: 15px;
}
#contact-form select{
    height: 58px;
}
#contact-form textarea{
    min-height: 110px;
    resize: vertical;
}
#contact-form .sub-item.error input,
#contact-form .sub-item.error select,
#contact-form .sub-item.error textarea,
#contact-form .checkbox.error{
    border-color: var(--color-danger);
}
#contact-form .checkbox{
    display: flex;
    align-items: flex-start;
    gap: 8px;
}
#contact-form .checkbox label{
    margin: 0;
    font-weight: 400;
}
.contacts-form-actions{
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
}
#contact-form button.submit{
    display: inline-flex;
    align-items: center;
    gap: 8px;
    width: auto;
    max-width: none;
    margin-left: auto;
    padding: 12px 22px;
    border: 0;
    border-radius: 8px;
    background: var(--color-brand);
    color: var(--color-brand-ink);
    font-weight: 700;
    letter-spacing: 0.04em;
}
#contact-form button.submit i{
    color: var(--color-brand-ink);
}
#contact-form button.submit:hover,
#contact-form button.submit:hover i{
    background: var(--color-brand-hover);
    color: var(--color-brand-ink);
}
#contact-form button.submit:hover i{
    background: none;
}
a.social-link{
    display: inline-block;
    width: 30px; height: 30px;
    margin-right: 15px;
    margin-top: 18px;
    margin-bottom: 18px;
    background: var(--color-white);
    color: var(--color-black);
    border-radius: 50%;
    text-align: center;
    font-size: 22px;
    line-height: 1.5em;
}
.mini-cart-section .mini-cart{
    position: absolute;
    top: 100%; right: 15px;
    z-index: 999;
}
.mini-cart-section .mini-cart-data{
    background: var(--color-text);
    width: 530px;
    padding: 25px 18px 18px;    
}
.mini-cart-section .mini-cart-data::before {
    content: "";
    border: 0;
    border-bottom: 15px solid var(--color-text);
    border-left: 12px solid transparent;
    border-right: 12px solid transparent;
    position: absolute;
    top: -14px; right: 15px;
    width: 0; height: 0;
}
.mini-cart-section .mini-cart-data .mini-cart-data-container .item{
    margin-bottom: 13px;
    padding-bottom: 13px;
    border-bottom: 1px solid var(--color-text-link);
    text-align: left;
    font-size: 18px;
}
.mini-cart-section .mini-cart-data .mini-cart-data-container .item:last-child{
    padding-bottom: 0;
    border-bottom: none;
}

.mini-cart-section .mini-cart-data .item .props{
    font-style: italic;
    color: var(--color-background);
}
.mini-cart-section .mini-cart-data .item .props p{
    color: var(--color-background);
}
.mini-cart-section .mini-cart-data .item > div{
    display: inline-block;
    vertical-align: top;
}
.mini-cart-section .mini-cart-data .item .img{
    width: 83px;
}
.mini-cart-section .mini-cart-data .item .img img{
    max-width: 100%;
}
.mini-cart-section .mini-cart-data .item .remove{
    cursor: pointer;
    width: 18px; height: 18px;
    background: var(--color-white) url(/images/assets/remove.png) no-repeat center center;
}
.mini-cart-section .mini-cart-data .item .content{
    width: calc( 100% - 83px - 18px );
    padding-left: 10px;
    padding-right: 15px;
}
.mini-cart-section .mini-cart-data .item .content h3{
    font-size: 18px;
}
.mini-cart-section .mini-cart-data .item .content a{
    color: var(--color-background) !important;
}
.mini-cart-section .mini-cart-data .item .content .prices{
    color: var(--color-background);
}
.mini-cart-section .mini-cart-data .minicart-footer{
    margin-top: 25px;
    border-top: 1px solid var(--color-background);
    padding-top: 30px;
}
.mini-cart-section .mini-cart-data .minicart-footer .total{
    text-align: right;
    font-size: 24px;
    color: var(--color-background);
    margin-bottom: 30px;
    margin-top: 15px;
    float: left;
    
}
.mini-cart-section .mini-cart-data .minicart-footer .order{
    text-align: right;
}
.mini-cart-section .mini-cart-data .minicart-footer .order .button.order-it{
    border: 1px solid var(--color-white);
    background: var(--color-black);
    color: var(--color-white);
    display: inline-block;
    width: 166px;
    text-align: center;
    text-transform: uppercase;
    padding: 15px;
    cursor: pointer;
}
.mini-cart-section .mini-cart-data .minicart-footer .order .button.share-it{
    border: 1px solid var(--color-white);
    background: var(--color-white);
    color: var(--color-blue);
    display: inline-block;
    width: 166px;
    text-align: center;
    text-transform: uppercase;
    padding: 15px;
    float: left;
    cursor: pointer;
}

/*** Product Page ***/
.images-slider-links{
    display: none;
}
.images .image{
    /* background: var(--color-white); */
    padding: 15px;
}
.images .image .img{
    position: relative;
    height: 437px;
}
.images .image .img img{
    width: 100%; height: 100%;
    position: absolute;
    top: 50%; left: 50%;
    transform: translate(-50%,-50%);
    object-fit: contain;
}
.images .images-slider .item{
    position: relative;
    width: 80px; height: 80px;
    background: var(--color-white);
    cursor: pointer;
}
.images .images-slider .item img{
    width: 100%; height: 100%;
    position: absolute;
    top: 50%; left: 50%;
    transform: translate(-50%,-50%);
    object-fit: contain;
}
#product-page h3{
    font-size: 35px;
}
#product-page h3.highlight{
    color: var(--color-blue);
}
#product-page h4{
    text-transform: uppercase;
    font-size: 16px;
    color: var(--color-text);
}
#product-page .description-item{
    padding-left: 20px;
    position: relative;
    color: var(--color-text);
}
#product-page .description-item::before{
    content: "";
    position: absolute;
    left: 0; top: 7px;
    width: 0; height: 0;
    border: none;
    border-left: 9px solid var(--color-text);
    border-top: 5px solid transparent;
    border-bottom: 5px solid transparent;
}
#product-page .description-text{
    color: var(--color-light-black);
}
#product-page .description-text ul li{
    padding-left: 20px;
    position: relative;
    color: var(--color-light-black);
}
#product-page .description-text ul li::before{
    content: "";
    position: absolute;
    left: 0; top: 7px;
    width: 0; height: 0;
    border: none;
    border-left: 9px solid var(--color-light-black);
    border-top: 5px solid transparent;
    border-bottom: 5px solid transparent;
}
#product-page .full-description-link{
    display: inline-block;
    margin-left: 20px;
    margin-right: 25px;
    position: relative;
    color: var(--color-text-link);
}
#product-page .full-description-link::before{
    content: "";
    display: block;
    width: 100%; height: 2px;
    background: var(--color-text-link);
    position: absolute;
    left: 0; bottom: -2px;
}
#product-page .full-description-link::after{
    content: "";
    position: absolute;
    right: -22px; top: 7px;
    width: 0; height: 0;
    border: none;
    border-left: 9px solid var(--color-text-link);
    border-top: 5px solid transparent;
    border-bottom: 5px solid transparent;
}
#product-page .product-meta .product-sku{
    font-size: 12px;
}
#product-page .product-price{
    font-size: 22px;
}
#product-page .product-price .price-with-vat .label{
    font-size: 16px;
}
#product-page .product-price .price-without-vat .label{
    font-size: 16px;
}
#product-page .product-price .price-without-vat .value{
    font-size: 16px;
}
.col-checkout-fast{
    -ms-flex: 0 0 270px;
    flex: 0 0 270px;
    max-width: 270px;
}
#product-page .product-checkout-fast{}
#product-page .checkbox{
    padding-bottom: 0;
}
#product-page .checkbox label{
    font-size: 16px;
    padding-left: 30px;
    margin-bottom: 0;
}
#product-page .checkbox label::before{
    width: 20px; height: 20px;
    border: 1px solid var(--color-dark-black);
}
#product-page .checkbox input:checked ~ label::before{
    background: var(--color-white);
    border: 1px solid var(--color-blue);
}
#product-page .checkbox input:checked ~ label::after {
    border-color: var(--color-dark-black);
    width: 6px; height: 10px;
}
#product-page button.submit{
    background: var(--color-dark-black);
    color: var(--color-white);
    border: 1px solid var(--color-gold);
    border-radius: 8px;
    padding: 14px 20px;
    min-width: 150px;
}
#product-page .product-actions .prices-section{
    border: 1px solid var(--color-text);
}
#product-page .product-actions .prices-section .prices-header{
    background: var(--color-blue);
    padding: 15px;
    color: var(--color-white);
    position: relative;
    text-align: center;
    text-transform: uppercase;
    font-size: 18px;
}
#product-page .product-actions .prices-section .prices-header .discount{
    background: var(--color-gold);
    position: absolute;
    top: 0; left: 0;
    height: 100%;
    padding: 15px;
}
#product-page .product-actions .prices-section .prices-content{
    padding: 25px 32px;
    text-align: center;
}
#product-page .product-actions .prices-section .prices-content .old-price{
    color: var(--color-text);
}
#product-page .product-actions .prices-section .prices-content .old-price .value{
    font-size: 25px;
    position: relative;
    margin-left: 10px;
    display: inline-block;
    vertical-align: middle;
}
#product-page .product-actions .prices-section .prices-content .old-price .value::after{
    content: "";
    display: block;
    position: absolute;
    top: 50%; left: 0;
    width: 100%; height: 1px;
    background: var(--color-red);
}
#product-page .product-actions .prices-section .prices-content .price{
    color: var(--color-text-link);
    font-size: 35px;
}
#product-page .product-actions .prices-section .prices-content .discount{
    color: var(--color-text);
}
#product-page .product-actions .prices-section .prices-content .warranty-text{
    color: var(--color-blue);
    font-size: 18px;
    text-transform: uppercase;
}
#product-page .product-actions .prices-section .prices-content .product-checkout .quantities{
    text-align: left;
}
#product-page .product-actions .prices-section .prices-content .product-checkout .quantities .label{
    color: var(--color-text);
    margin-right: 20px;
}
#product-page .product-actions .prices-section .prices-content .product-checkout .quantities .minus,
#product-page .product-actions .prices-section .prices-content .product-checkout .quantities .plus{
    display: inline-block;
    vertical-align: middle;
    width: 20px; height: 20px;
    text-align: center;
    cursor: pointer;
    font-size: 25px;
    line-height: 16px;
    color: var(--color-text-link);
    border: 1px solid var(--color-text);
    background: var(--color-text);
}
#product-page .product-actions .prices-section .prices-content .product-checkout .quantities .value{
    display: inline-block;
    vertical-align: middle;
    width: 35px;
    font-size: 18px;
    text-align: center;
}
.col-product-favorites{
    -ms-flex: 0 0 65px;
    flex: 0 0 65px;
    max-width: 65px;
}
#product-page .product-actions .prices-section .prices-content .product-checkout .favorites{
    display: inline-block;
    width: 28px; height: 25px;
    position: relative;
    font-size: 16px;
    background: url(/images/assets/heart.png) no-repeat right center;
    background-size: contain;
    cursor: pointer;
}
#product-page .product-actions .prices-section .prices-content .product-checkout .add-to-cart{
    border: 1px solid var(--color-blue);
    background: var(--color-white);
    color: var(--color-blue);
    text-align: center;
    text-transform: uppercase;
    font-size: 18px;
    padding: 15px 7px;
    padding-left: 58px;
    width: 100%;
    cursor: pointer;
    position: relative;
}
#product-page .product-actions .prices-section .prices-content .product-checkout .add-to-cart .icon{
    width: 50px; height: 100%;
    background: var(--color-blue) url(/images/assets/cart.png) no-repeat center center;
    position: absolute;
    top: 0; left: 0;
}
#product-page .product-actions .prices-section .prices-content .product-checkout .properties .item{
    margin-bottom: 16px;
}
#product-page .leasing-link{
    display: inline-block;
    margin-right: 25px;
    position: relative;
    color: var(--color-black);
}
#product-page .leasing-link::before{
    content: "";
    display: block;
    width: 100%; height: 2px;
    background: var(--color-blue);
    position: absolute;
    left: 0; bottom: -2px;
}
#product-page .leasing-link::after{
    content: "";
    position: absolute;
    right: -22px; top: 7px;
    width: 0; height: 0;
    border: none;
    border-left: 9px solid var(--color-blue);
    border-top: 5px solid transparent;
    border-bottom: 5px solid transparent;
}
.leading-symbol{
    font-size: 1.3em;
    padding-right: 13px;
    position: relative;
    top: 7px;
}
#product-page .accessoaries .section-data-row{
    border: 1px solid var(--color-blue);
    cursor: pointer;
}
#product-page .accessoaries .section-data-row a{
    color: var(--color-dark-black);
}
#product-page .accessoaries .section-data-row .checkbox{
    display: none;
}
#product-page .accessoaries .section-data-row.active{
    background: var(--color-blue);
    color: var(--color-white);
}
#product-page .accessoaries .section-data-row.active .checkbox{
    display: inline-block;
}
#product-page #product-props .subitem{
    padding-left: 20px;
    position: relative;
    color: var(--color-text);
    font-size: 18px;
}
#product-page #product-props .subitem::before{
    content: "";
    position: absolute;
    left: 0; top: 6px;
    width: 0; height: 0;
    border: none;
    border-left: 9px solid var(--color-text);
    border-top: 5px solid transparent;
    border-bottom: 5px solid transparent;
}
#product-category-section{
    height: 750px;
    padding-top: 100px;
    padding-bottom: 100px;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
}
#product-category-section h2.title{
    color: var(--color-white);
}
#product-category-section .text{
    color: var(--color-white);
}
#product-category-section .text p{
    color: var(--color-white);
}
#product-category-section .container{
    height: 100%;
}
#product-category-section .product-category-container{
    display: flex;
    height: 100%;
}
#product-category-section .product-category-container .text{
    display: inline-block;
    align-self: flex-end;
}
/*** Cart ***/
#cart-browse .cart-row-header{
    background: var(--color-blue);
    color: var(--color-white);
    text-transform: uppercase;
    padding-top: 15px;
    padding-bottom: 15px;
}
#cart-browse .cart-row{
    padding-top: 15px;
    padding-bottom: 15px;
    border-bottom: 1px solid var(--color-blue);
}
#cart-browse .col.actions{
    -ms-flex: 0 0 150px;
    flex: 0 0 150px;
    max-width: 150px;
}
#cart-browse .col.qty{
    -ms-flex: 0 0 150px;
    flex: 0 0 150px;
    max-width: 150px;
}
#cart-browse .col.total-price{
    -ms-flex: 0 0 140px;
    flex: 0 0 140px;
    max-width: 140px;
}
#cart-browse .col.price{
    -ms-flex: 0 0 170px;
    flex: 0 0 170px;
    max-width: 170px;
}
#cart-browse .col.img{
    -ms-flex: 0 0 100px;
    flex: 0 0 100px;
    max-width: 100px;
}
#cart-browse .col.img img{
    max-width: 100%;
}
#cart-browse h3{
    font-size: 18px;
}
#cart-browse h3 a{
    color: var(--color-text-link);
}
#cart-browse .props{
    font-style: italic;
    color: var(--color-text);
}
#cart-browse .props p{
    color: var(--color-text);
}
#cart-browse .cart-row .col.price, 
#cart-browse .cart-row .col.total-price{
    color: var(--color-text);
    font-size: 18px;
}
#cart-browse .cart-row .remove{
    display: inline-block;
    cursor: pointer;
    width: 18px; height: 18px;
    background: var(--color-white) url(/images/assets/remove.png) no-repeat center center;
    background-size: 10px 8px;
    border: 1px solid var(--color-blue);
}
#cart-browse .cart-row .quantities .minus,
#cart-browse .cart-row .quantities .plus{
    display: inline-block;
    vertical-align: middle;
    width: 20px; height: 20px;
    text-align: center;
    cursor: pointer;
    font-size: 25px;
    line-height: 16px;
    color: var(--color-text-link);
    border: 1px solid var(--color-text);
    background: var(--color-text);
}
#cart-browse .cart-row .quantities .value{
    display: inline-block;
    vertical-align: middle;
    width: 35px;
    font-size: 18px;
    text-align: center;
}
#cart-browse .order-totals,
.checkout-browse-footer .order-totals{
    font-size: 25px;
}
#cart-browse .order-totals .total,
.checkout-browse-footer .order-totals .total{
    color: var(--color-text);
}
.col.col-checkout{
    -ms-flex: 0 0 190px;
    flex: 0 0 190px;
    max-width: 190px;
}

.cart-section{
    padding-bottom: 40px;
    margin-bottom: 40px;
    border-bottom: 1px solid var(--color-text-link);
    
}
.cart-section:last-child{
    border-bottom: none;
}

.cart-section h3{
    text-transform: uppercase;
    font-size: 18px;
    padding-left: 70px;
    padding-top: 16px;
    padding-bottom: 16px;
    margin-bottom: 35px;
    color: var(--color-text);
    position: relative;
}
.cart-section h3.pdd{
    padding-left: 0
}
.cart-section h3 .mark{
    width: 50px; height: 50px;
    background: var(--color-black);
    color: var(--color-white);
    display: block;
    position: absolute;
    top: 0; left: 0;
    text-align: center;
    line-height: 2.2em;
}
.cart-section .form-item{
    margin-bottom: 10px;
}

.cart-section .checkbox{
    padding-bottom: 0;
}
.cart-section .checkbox label{
    font-size: 16px;
    padding-left: 30px;
    margin-bottom: 0;
}
.cart-section .checkbox.error label{
    color: var(--color-red);
}
.cart-section .checkbox label::before{
    width: 20px; height: 20px;
    border: 1px solid var(--color-dark-black);
}
.cart-section .checkbox.error label::before{
    border-color: var(--color-red)
}
.cart-section .checkbox input:checked ~ label::before{
    background: var(--color-white);
    border: 1px solid var(--color-blue);
}
.cart-section .checkbox input:checked ~ label::after {
    border-color: var(--color-dark-black);
    width: 6px; height: 10px;
}
.cart-section .form-container{
    text-align: left;
    display: inline-block;
    width: 100%;
    max-width: 382px;
}

.cart-section .radio{
    padding-bottom: 0;
}
.cart-section .radio label{
    font-size: 16px;
    padding-left: 30px;
    margin-bottom: 0;
}
.cart-section .radio label::before{
    width: 20px; height: 20px;
    border: 1px solid var(--color-dark-black);
}
.cart-section .radio input:checked ~ label::before{
    background: var(--color-white);
    border: 1px solid var(--color-blue);
}
.cart-section .radio input:checked ~ label::after {
    background: var(--color-blue);
    width: 10px; height: 10px;
    left: 5px;
}
#delivery_content input[type="text"]{
    max-width: 100%;
}
#delivery_content textarea{
    max-width: 100%;
    height: 110px;
}

#profile-menu .nav-link{
    background: var(--color-black);
    color: var(--color-white);
    padding: 15px;
    margin-right: 25px;
    min-width: 160px;
    text-align: center;
}
#profile-menu .nav-link:hover, 
#profile-menu .nav-item.active .nav-link{
    background: var(--color-blue);
}

#auth-section .form-item{
    margin-bottom: 10px;
}
#auth-section input[type="text"],
#auth-section input[type="email"],
#auth-section input[type="password"]{
    max-width: 100%;
}
#auth-section textarea{
    max-width: 100%;
    height: 110px;
}
#auth-section h3{
    text-transform: uppercase;
    font-size: 18px;
    padding-left: 70px;
    padding-top: 16px;
    padding-bottom: 16px;
    margin-bottom: 35px;
    color: var(--color-text);
    position: relative;
}
#auth-section h3 .mark{
    width: 50px; height: 50px;
    background: var(--color-black);
    color: var(--color-white);
    display: block;
    position: absolute;
    top: 0; left: 0;
    text-align: center;
    line-height: 2.2em;
}
.order-item .toggle-order{
    position: relative;
    padding-right: 30px;
    cursor: pointer
}
.order-item .toggle-order::after{
    content: "";
    position: absolute;
    top: 50%; right: 0;
    background: url(/images/assets/caret-down.png) no-repeat center center;
    width: 10px; height: 9px;
    transform: translateY(-50%);
}
.order-item.show .toggle-order::after{
    background-image: url(/images/assets/caret-up.png)
}
.order-item .toggle-hide{
    display: none;
}
.order-item.show .toggle-hide{
    display: block;
}

.category-tree .category_name{
    background: var(--color-blue);
    color: var(--color-white);
    padding: 14px 20px;
    text-transform: uppercase;
    position: relative;
    cursor: pointer;
    font-size: 16px;
}
.category-tree .category_name a{
    color: var(--color-white);
    padding-left: 20px;
    position: relative;
}
.category-tree .category_name a::after{
    content: "";
    position: absolute;
    left: 0; top: 4px;
    width: 0; height: 0;
    border: none;
    border-right: 9px solid var(--color-white);
    border-top: 5px solid transparent;
    border-bottom: 5px solid transparent;
}
.category-tree .category_sub_name{
    font-size: 16px;
    color: var(--color-text-link);
    margin-bottom: 15px;
}
.category-tree .category_sub_name a{
    color: var(--color-text-link);
}
#product-form-properties-old-price,
#product-form-properties-price{
    font-size: 20px;
    position: relative;
    color: var(--color-black);
}
#product-form-properties-old-price::after{
    content: "";
    display: block;
    position: absolute;
    top: 50%; left: 0;
    width: 100%; height: 1px;
    background: var(--danger);
}
#product-form-properties-form .dropdown select{
    background: var(--color-background);
}
#product-form-properties .prices.row{
    margin-bottom: 16px;
    font-size: 22px;
}
#product-form-properties .sub-item{
    margin-bottom: 16px;
}
#product-form-properties .sub-item:last-child{
    margin-bottom: 0;
}
#product-form-properties .sub-item label{
    font-size: 18px;
}
.compare-module{
    background: var(--color-white);
    border: 2px solid var(--color-blue);
    border-radius: 10px;
    width: 120px;
    padding: 15px;
    position: fixed;
    top: 50%; right: 15px;
    transform: translateY(-50%);
    z-index: 100;
}
.compare-module .compare-item{
    padding: 0;
    height: 90px;
    margin-bottom: 15px;
    position: relative;
}
.compare-module .compare-item .img{
    width: 100%; height: 100%;
    position: relative;
    border: 1px solid var(--color-light-black);
}
.compare-module .compare-item .img img{
    width: 100%; height: 100%;
    position: absolute;
    top: 50%; left: 50%;
    transform: translate(-50%,-50%);
    object-fit: contain;
}
.compare-module .compare-item .remove{
    cursor: pointer;
    width: 18px; height: 18px;
    background: var(--color-white) url(/images/assets/remove.png) no-repeat center center;
    position: absolute;
    top: 1px; right: 1px;
}
.compare-module .submit{
    padding: 8px 15px;
    width: 100%;
}
.compare-section-data .col{
    border: 1px solid var(--color-light-black);
    padding-top: 15px;
    padding-bottom: 15px;
}
.compare-section-data .add-to-cart{
    display: inline-block;
    width: 28px; height: 25px;
    position: relative;
    font-size: 16px;
    background: url(/images/assets/cart.png) no-repeat right center;
    background-size: contain;
    cursor: pointer;
}
.filter_title_name{
    text-align: center;
    position: relative;
    border-bottom: 2px solid var(--color-black);
    padding-bottom: 15px;
    margin-bottom: 25px;
    cursor: pointer;
    display: none;
}
.filter_title_name .icon {
    color: var(--color-blue);
    position: absolute;
    top: 2px;
    right: 0;
}
.show .filter_title_name .icon .fa-caret-down::before{
    content: "\f0d8";
}
#auth-section .form-group{
    max-width: 430px;
}
.section-border-left{
    padding-left: 55px;
}
.img-section{
    margin-top: 95px;
}
#product-props{
    position: relative;
    padding-left: 25px;
}
#profile-menu .bg-light{
    background: transparent !important;
}
#service-section .service-container{
    color: var(--color-white);
    background: var(--color-black);
    border-radius: 27px;
    padding: 20px 25px 30px;
}
#service-section h2{
    padding: 0 15px 20px;
}
#service-section h3{
    font-size: 25px;
    margin-bottom: 20px;
}
#service-section p{
    color: var(--color-white);
    font-size: 18px;
}
#gallery-section{
    overflow: visible;
    max-width: 100%;
}
#gallery-section .gallery-container{
    position: relative;
}
#gallery-section .img{
    max-width: 460px;
    width: 100%; height: 250px;
    position: relative;
}
#gallery-section .img img{
    width: 100%; height: 100%;
    position: absolute;
    top: 50%; left: 50%;
    transform: translate(-50%,-50%);
    object-fit: cover;
}
#gallery-section h3{
    font-size: 18px;
    padding-bottom: 30px;
    padding-top: 25px;
}
#gallery-page-section h2{
    margin-bottom: 20px;
}
#gallery-page-section .product-tab-description .subitem{
    padding-left: 20px;
    position: relative;
    color: var(--color-text);
    font-size: 18px;
}
#gallery-page-section .product-tab-description .subitem::before{
    content: "";
    position: absolute;
    left: 0; top: 6px;
    width: 0; height: 0;
    border: none;
    border-left: 9px solid var(--color-text);
    border-top: 5px solid transparent;
    border-bottom: 5px solid transparent;
}
#gallery-page-section .description-products-item{
    margin-bottom: 50px;
}
#gallery-page-section .description-products-item .ename-price{
    padding-bottom: 8px;
    margin-bottom: 20px;
    border-bottom: 1px solid var(--color-black);
    font-size: 22px;
}
#gallery-page-section .description-products-item .ename-price .product-name{
    font-style: italic;
}
#gallery-page-section .product-tab-description{
    padding-left: 25px;
}
#gallery-page-section .description{
    padding-left: 65px;
    position: relative;
}
#gallery-page-section .description::before{
    content: "";
    position: absolute;
    top: 0; left: 15px;
    background: var(--color-black);
    width: 1px; height: 100%;
}
#gallery-page-section .col-image{
    -ms-flex: 0 0 150px;
    flex: 0 0 150px;
    max-width: 150px;
}
#gallery-page-section .col-image img{
    max-width: 100%;
}

#gallery-page-section .col-properties{
    -ms-flex: 0 0 calc( 100% - 150px );
    flex: 0 0 calc( 100% - 150px );
    max-width: calc( 100% - 150px );
}

.browse_products:not(.owl-carousel){
    text-align: left;
}
.table-end-block{
    display: inline-block; 
    width: 100%;
}
#gallery-images .img{
    position: relative;
    width: 100%; height: 350px;
}
#gallery-images .img img{
    width: 100%; height: 100%;
    position: absolute;
    top: 50%; left: 50%;
    transform: translate(-50%,-50%);
    object-fit: cover;
}
#gallery-page-section .main-image img{
    max-width: 100%;
}
#inquire-checkout-form textarea{
    max-width: 100%;
    width: 100%;
    max-height: 100px;
}
.product-checkout-inquire{
    border: 1px solid var(--color-black);
    padding-top: 20px;
    padding-bottom: 20px;
    border-radius: 8px;
}
#gallery-section .gallery-content{
    padding-right: 65px;
    position: relative;
}
#gallery-section .gallery-content::after{
    content: "";
    position: absolute;
    top: 0; right: 15px;
    background: var(--color-black);
    width: 1px; height: 100%;
}

header .col-menu{
    padding-left: 0;
    padding-right: 0;
}

/*** Homepage sections ***/
.home-section{
    padding: 0 0 55px;
}
.home-head{
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 28px;
}
.home-section h2.title,
#service-section h2.title,
#products-most-section h2.title,
#home-intro h2.title,
#gallery-section h2.title,
#home-categories h2.title{
    padding: 0;
    margin-bottom: 0;
    font-size: 36px;
    font-weight: 500;
    line-height: 1.2;
    color: var(--color-ink);
    text-align: left;
}
.home-section h2.title .highlight{
    display: block;
    color: var(--color-ink-soft);
    font-size: 0.72em;
}
.home-section h2.title{
    display: inline-flex;
    align-items: center;
    gap: 16px;
    width: auto;
    max-width: 100%;
}
.home-section h2.title::after,
.home-section .section-title::after{
    content: "";
    display: block;
    flex: 0 0 64px;
    width: 64px;
    max-width: 64px;
    height: 3px;
    margin: 0;
    background: var(--color-brand);
}
#home-intro .section-title::after{
    content: none;
    display: none;
}
.home-more{
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--color-ink);
    font-weight: 600;
    white-space: nowrap;
}
.btn-all-categories{
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 12px 22px;
    background: transparent;
    color: var(--color-ink);
    border: 1px solid var(--color-brand);
    font-weight: 600;
    white-space: nowrap;
    text-decoration: none;
}
.btn-all-categories i{
    color: var(--color-ink);
}
.btn-all-categories:hover{
    background: var(--color-brand);
    color: var(--color-brand-ink);
}
.btn-all-categories:hover i{
    color: var(--color-brand-ink);
}
.home-more i{
    color: var(--color-brand);
}
.home-more:hover{
    color: var(--color-brand-hover);
}

.advantage-grid{
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 28px 32px;
}
.advantage-card{
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    column-gap: 16px;
    row-gap: 8px;
    align-items: start;
    padding: 0;
    background: transparent;
    border: none;
}
.advantage-icon{
    display: inline-flex;
    align-items: flex-start;
    justify-content: center;
    grid-column: 1;
    grid-row: 1 / span 2;
    width: auto;
    height: auto;
    margin: 2px 0 0;
    border: none;
    border-radius: 0;
    color: var(--color-brand);
    font-size: 34px;
    line-height: 1;
}
.advantage-copy{
    display: flex;
    flex-direction: column;
    align-items: stretch;
    grid-column: 2;
    grid-row: 1 / span 2;
    min-width: 0;
}
.advantage-card > h3{
    grid-column: 2;
    grid-row: 1;
}
.advantage-card > .advantage-text{
    grid-column: 2;
    grid-row: 2;
}
#service-section .advantage-card h3{
    display: block;
    width: 100%;
    margin: 0 0 8px;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.3;
    color: var(--color-ink);
}
#service-section .advantage-text,
#service-section .advantage-text p{
    display: block;
    width: 100%;
    color: var(--color-ink-soft);
    font-size: 15px;
    line-height: 1.65;
}
#service-section .advantage-text p:last-child{
    padding-bottom: 0;
    margin-bottom: 0;
}

.category-grid{
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}
.category-card{
    position: relative;
    display: block;
    height: 280px;
    overflow: hidden;
    background: var(--color-ink);
    color: var(--color-on-dark);
    text-decoration: none;
}
.category-card::before{
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 68%;
    background: linear-gradient(to top, var(--color-ink), transparent);
    z-index: 1;
}
.category-card img{
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .45s ease;
}
.category-card:hover img{
    transform: scale(1.06);
}
.category-card-copy{
    position: absolute;
    left: 18px;
    right: 72px;
    bottom: 18px;
    z-index: 2;
}
.category-card-name{
    display: block;
    color: var(--color-on-dark);
    font-size: 20px;
    font-weight: 600;
    line-height: 1.3;
}
.category-card-sub{
    display: block;
    margin-top: 4px;
    color: var(--color-on-dark-soft);
    font-size: 14px;
    font-weight: 400;
    line-height: 1.35;
}
.category-card-arrow{
    position: absolute;
    right: 16px;
    bottom: 16px;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    border: 1px solid var(--color-on-dark);
    border-radius: 50%;
    color: var(--color-on-dark);
    background: transparent;
}
.category-card:hover .category-card-arrow{
    background: var(--color-on-dark);
    color: var(--color-ink);
}

.browse_products .product_item{
    padding: 16px;
    border: 1px solid var(--color-line);
    border-radius: 2px;
    background: var(--color-surface);
}
.browse_products .product_item .adata{
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
}
.browse_products .product_item .buttons{
    margin-top: auto;
}
.browse_products.row .product_item .price{
    display: flex;
    align-items: center;
    min-height: 48px;
    margin-top: auto;
}
.browse_products.row .product_item .price-pair,
.browse_products.row .product_item .price-ask{
    width: 100%;
}
.browse_products.row .product_item .buttons{
    margin-top: 16px;
}
.browse_products .product_item .img,
.browse_products .product_item .img a{
    height: 150px;
}
.browse_products .product_item:hover{
    border-color: var(--color-brand);
}
.browse_products .product_item h3{
    height: auto;
    min-height: 48px;
    max-height: 48px;
    margin-bottom: 12px;
    padding-bottom: 10px;
    border-bottom: 1px solid var(--color-brand);
}
.browse_products .product_item .price-pair{
    margin-top: 0;
    padding-top: 0;
    border-top: 0;
}

#home-intro .img-section{
    margin-top: 0;
    position: relative;
    min-height: 360px;
    overflow: hidden;
    background: var(--color-ink);
}
#home-intro .img-section img{
    width: 100%;
    height: 420px;
    object-fit: cover;
    display: block;
}
#home-intro .section-kicker{
    margin-bottom: 10px;
}
#home-intro .description{
    margin-top: 18px;
    color: var(--color-ink-soft);
    font-size: 16px;
    line-height: 1.7;
}
#home-intro .description p{
    color: var(--color-ink-soft);
}
#home-intro .btn-gold{
    margin-top: 22px;
}
.about-points{
    position: absolute;
    left: 14px;
    right: 14px;
    bottom: 14px;
    z-index: 2;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}
.about-point{
    min-width: 0;
    padding: 18px 14px 16px;
    background: var(--color-white-80);
    border-top: 2px solid var(--color-brand);
    backdrop-filter: blur(8px);
    text-align: center;
}
.about-point h3{
    margin: 0 0 6px;
    padding: 0;
    font-size: 32px;
    font-weight: 600;
    line-height: 1.1;
    color: var(--color-ink);
    text-align: center;
}
.about-point-text{
    max-height: 7.5em;
    overflow: auto;
    color: var(--color-ink-soft);
    font-size: 14px;
    line-height: 1.45;
    text-align: center;
}
.about-point-text p,
.about-point-text li{
    color: var(--color-ink-soft);
    font-size: 13px;
    line-height: 1.45;
}
.about-point-text p{
    margin: 0;
}
.about-point-text p + p{
    margin-top: 6px;
}
.about-point-text ul,
.about-point-text ol{
    margin: 6px 0 0;
    padding-left: 16px;
    list-style: disc;
}
.about-point-text li{
    margin-top: 4px;
}

.gallery-stage{
    position: relative;
    padding: 0 26px;
}
.project-slide{
    display: grid;
    grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.08fr);
    flex: 1;
    width: 100%;
    min-height: 340px;
    background: var(--color-surface);
    border: 1px solid var(--color-line);
}
.project-media{
    position: relative;
    min-height: 320px;
    background: var(--color-ink);
}
.project-media a{
    display: block;
    position: absolute;
    inset: 0;
}
.project-media img{
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.project-copy{
    display: flex;
    flex-direction: column;
    gap: 16px;
    min-width: 0;
    padding: 32px 36px 28px;
}
#gallery-section .owl-stage{
    display: flex;
}
#gallery-section .owl-item{
    display: flex;
}
#gallery-section .project-copy h3{
    margin: 0;
    padding: 0;
    font-size: 22px;
    line-height: 1.25;
    text-align: left;
}
#gallery-section .project-copy h3 a{
    color: var(--color-ink);
}
#gallery-section .project-copy h3 a:hover{
    color: var(--color-brand-hover);
}
.project-text{
    max-height: 11em;
    overflow: auto;
    padding-right: 8px;
    color: var(--color-ink-soft);
    font-size: 15px;
    line-height: 1.7;
}
.project-text p{
    color: var(--color-ink-soft);
}
.project-text p:last-child{
    padding-bottom: 0;
    margin-bottom: 0;
}
.project-more{
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-top: auto;
    color: var(--color-ink);
    font-weight: 600;
}
.project-more i{
    color: var(--color-brand);
}
.project-more:hover{
    color: var(--color-brand-hover);
}
#gallery-section .owl-prev,
#gallery-section .owl-next{
    position: absolute;
    top: 50%;
    width: 52px;
    height: 52px;
    margin: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: var(--color-surface);
    border: 1px solid var(--color-line);
    color: var(--color-ink);
    font-size: 14px;
    box-shadow: 0 8px 24px var(--color-shadow);
    z-index: 3;
}
#gallery-section .owl-prev{
    left: 0;
    transform: translate(-50%, -50%);
}
#gallery-section .owl-next{
    right: 0;
    transform: translate(50%, -50%);
}
#gallery-section .owl-prev:hover,
#gallery-section .owl-next:hover{
    background: var(--color-brand);
    border-color: var(--color-brand);
    color: var(--color-brand-ink);
}
.product-stock{
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin-top: 10px;
    color: var(--color-ink-soft);
    font-size: 13px;
}
.product-stock-dot{
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--color-danger);
    flex: none;
}
.product-stock.is-in{
    color: var(--color-ink);
}
.product-stock.is-in .product-stock-dot{
    background: var(--color-green);
}
.shop-listing{
    padding: 36px 0 20px;
    background: var(--color-dark-white);
}
.shop-cats{
    margin-bottom: 18px;
    overflow: hidden;
    border: 1px solid var(--color-line);
    border-radius: 12px;
    background: var(--color-surface);
}
.shop-cats h2{
    margin: 0;
    padding: 14px 16px;
    background: var(--color-ink);
    color: var(--color-on-dark);
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}
.shop-cats a,
.shop-cats a:link,
.shop-cats a:visited{
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 12px 16px;
    border-top: 1px solid var(--color-line);
    color: var(--color-ink);
}
.shop-cats a.is-active{
    background: var(--color-line);
    font-weight: 600;
}
.shop-cats .count{
    color: var(--color-muted);
    font-size: 13px;
}
.shop-toolbar{
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 18px;
    flex-wrap: wrap;
}
.shop-toolbar-left{
    display: flex;
    align-items: center;
    gap: 14px;
}
.view-switch{
    display: inline-flex;
    overflow: hidden;
    border: 1px solid var(--color-line);
    border-radius: 8px;
    background: var(--color-surface);
}
.view-switch button{
    width: 40px;
    height: 40px;
    border: 0;
    background: transparent;
    color: var(--color-ink);
    cursor: pointer;
}
.view-switch button.is-active{
    background: var(--color-ink);
    color: var(--color-on-dark);
}
.shop-range{
    color: var(--color-ink-soft);
    font-size: 14px;
}
.shop-sort{
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin: 0;
    color: var(--color-ink-soft);
    font-size: 14px;
    font-weight: 400;
}
.shop-sort select{
    height: 40px;
    padding: 0 12px;
    border: 1px solid var(--color-line);
    border-radius: 8px;
    background: var(--color-surface);
    color: var(--color-ink);
}
.shop-list-card{
    display: flex;
    gap: 18px;
    margin-bottom: 16px;
    padding: 16px;
    border: 1px solid var(--color-line);
    border-radius: 2px;
    background: var(--color-surface);
}
.shop-list-card:hover{
    border-color: var(--color-brand);
}
.shop-list-photo{
    flex: none;
    width: 180px;
    height: 180px;
    overflow: hidden;
    border-radius: 12px;
}
.shop-list-photo img{
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.shop-list-body{
    flex: 1;
    min-width: 0;
}
.shop-list-head{
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
}
.shop-list-body h3{
    margin: 0;
    font-size: 18px;
    font-weight: 600;
}
.shop-list-body h3 a,
.shop-list-body h3 a:link,
.shop-list-body h3 a:visited{
    color: var(--color-ink);
}
.shop-list-code{
    flex: none;
    margin: 2px 0 0;
    color: var(--color-muted);
    font-size: 13px;
    text-align: right;
}
.shop-list-mid{
    display: flex;
    align-items: flex-end;
    gap: 16px;
    margin-top: 8px;
}
.shop-list-price{
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 16px;
    margin-top: 12px;
}
.shop-list-gross{
    color: var(--color-ink);
    font-size: 18px;
    font-weight: 700;
}
.shop-list-gross .tag,
.shop-list-net .tag{
    margin-left: 6px;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}
.shop-list-gross .tag{
    color: var(--color-brand-hover);
}
.shop-list-gross .dim{
    font-size: 14px;
    font-weight: 500;
}
.shop-list-net{
    margin-left: auto;
    color: var(--color-muted);
    font-size: 15px;
    font-weight: 500;
    text-align: right;
}
.shop-list-ask{
    color: var(--color-ink-soft);
    font-size: 15px;
}
.shop-list-body .product-stock{
    justify-content: flex-start;
}
.shop-list-props{
    flex: 1 1 auto;
    min-width: 0;
    margin-top: 0;
}
.shop-list-props .subitem{
    position: relative;
    margin-top: 4px;
    padding-left: 14px;
    color: var(--color-ink-soft);
    font-size: 14px;
}
.shop-list-props .subitem::before{
    content: "";
    position: absolute;
    left: 0;
    top: 7px;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--color-brand);
}
.shop-list-body .read-more,
.shop-list-body .read-more:link,
.shop-list-body .read-more:visited{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: none;
    margin: 0 0 0 auto;
    padding: 12px 18px;
    background: var(--color-brand-hover);
    border: 1px solid var(--color-brand-hover);
    border-radius: 2px;
    color: var(--color-on-dark);
    font-size: 14px;
    font-weight: 600;
    text-align: center;
}
.shop-list-body .read-more:hover{
    background: var(--color-brand);
    border-color: var(--color-brand);
    color: var(--color-on-dark);
}
@media screen and (max-width: 767.98px){
    .shop-list-card{
        flex-direction: column;
    }
    .shop-list-photo{
        width: 100%;
        height: 200px;
    }
    .shop-list-head,
    .shop-list-mid,
    .shop-list-price{
        flex-direction: column;
        align-items: stretch;
    }
    .shop-list-code,
    .shop-list-net{
        text-align: left;
    }
    .shop-list-body .read-more,
    .shop-list-body .read-more:link,
    .shop-list-body .read-more:visited{
        width: 100%;
        margin-left: 0;
    }
}
.product-board{
    padding: 36px 0 48px;
    background: var(--color-surface);
}
.product-board .images .image{
    margin: 0;
    padding: 0;
    overflow: hidden;
    border-radius: 12px;
}
.product-board .images .image .img{
    height: 460px;
}
.product-board .images .image .img img{
    object-fit: cover;
}
.product-thumbs{
    position: relative;
    margin-top: 14px;
    padding: 0 22px;
}
.product-thumbs .images-slider .item{
    width: 100%;
    height: auto;
    aspect-ratio: 1 / 0.75;
    overflow: hidden;
    border: 1px solid var(--color-line);
    border-radius: 8px;
    background: var(--color-surface);
    cursor: pointer;
}
.product-thumbs .images-slider .item img{
    object-fit: contain;
}
.product-thumbs .images-slider .item.is-active{
    border-color: var(--color-brand);
    box-shadow: 0 0 0 1px var(--color-brand);
}
.product-thumbs .owl-prev,
.product-thumbs .owl-next{
    position: absolute;
    top: 50%;
    width: 36px;
    height: 36px;
    margin: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: var(--color-surface);
    border: 1px solid var(--color-line);
    color: var(--color-ink);
    font-size: 12px;
    box-shadow: 0 8px 24px var(--color-shadow);
    z-index: 3;
}
.product-thumbs .owl-prev{
    left: 0;
    transform: translate(-50%, -50%);
}
.product-thumbs .owl-next{
    right: 0;
    transform: translate(50%, -50%);
}
.product-thumbs .owl-prev:hover,
.product-thumbs .owl-next:hover{
    background: var(--color-brand);
    border-color: var(--color-brand);
    color: var(--color-brand-ink);
}
.product-images-post-section{
    margin-top: 14px;
}
.product-images-post-section a,
.product-images-post-section a:link,
.product-images-post-section a:visited{
    color: var(--color-brand-hover);
    font-weight: 600;
}
.product-meta{
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px 12px;
    flex-wrap: wrap;
    margin-bottom: 12px;
}
.product-cat,
.product-cat:link,
.product-cat:visited{
    display: inline-flex;
    align-items: center;
    padding: 6px 14px;
    border-radius: 999px;
    background: var(--color-brand-soft);
    color: var(--color-brand-hover);
    font-size: 13px;
    font-weight: 600;
}
.product-meta .product-sku{
    margin-left: auto;
    color: var(--color-muted);
    font-size: 12px;
    font-weight: 500;
}
.product-facts{
    margin-bottom: 22px;
}
.images .product-prices{
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px 14px;
    align-items: start;
    margin: 0 0 14px;
    padding: 14px 16px;
    border: 1px solid var(--color-line);
    border-radius: 12px;
    background: var(--color-dark-white);
}
.images .product-price-net{
    text-align: right;
}
.product-price-gross .amount,
.product-price-net .amount{
    font-size: 22px;
    font-weight: 700;
    line-height: 1.2;
}
.product-price-gross{
    color: var(--color-ink);
}
.product-price-net{
    color: var(--color-muted);
    text-align: right;
}
.product-prices .dim{
    margin-left: 4px;
    font-size: 14px;
    font-weight: 500;
}
.product-prices .tag,
.product-prices .alt{
    display: block;
    margin-top: 4px;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}
.product-price-gross .tag{
    color: var(--color-brand-hover);
}
.product-price-ask{
    color: var(--color-ink-soft);
    font-size: 16px;
}
#product-page .product-block-title{
    margin: 0 0 12px;
    color: var(--color-ink);
    font-size: 18px;
    font-weight: 600;
    text-align: left;
}
#product-page #product-props .text{
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px 24px;
}
#product-page #product-props .subitem{
    margin-top: 0;
    padding-left: 22px;
    color: var(--color-ink-soft);
    font-size: 15px;
}
#product-page #product-props .subitem::before{
    top: 7px;
    width: 7px;
    height: 7px;
    border: 0;
    border-radius: 50%;
    background: var(--color-brand);
}
.product-inquire{
    margin-top: 22px;
    padding: 18px;
    border: 1px solid var(--color-line);
    border-radius: 12px;
    background: var(--color-dark-white);
}
#inquire-checkout-form .field-float{
    position: relative;
}
#inquire-checkout-form .field-float label{
    position: absolute;
    top: 8px;
    left: 14px;
    z-index: 2;
    margin: 0;
    color: var(--color-ink);
    font-size: 12px;
    font-weight: 600;
    line-height: 1;
    pointer-events: none;
}
#inquire-checkout-form .field-float label span{
    color: var(--color-brand);
}
#inquire-checkout-form input[type="text"],
#inquire-checkout-form input[type="email"],
#inquire-checkout-form textarea{
    width: 100%;
    max-width: none;
    padding: 26px 14px 8px;
    border: 1px solid var(--color-line);
    border-radius: 8px;
    background: var(--color-surface);
    color: var(--color-ink);
    font-size: 15px;
}
#inquire-checkout-form textarea{
    min-height: 110px;
    resize: vertical;
}
#inquire-checkout-form input[type="text"]:focus,
#inquire-checkout-form input[type="email"]:focus,
#inquire-checkout-form textarea:focus{
    position: relative !important;
    z-index: 0 !important;
    border-radius: 8px !important;
}
#inquire-checkout-form .form-item.error input,
#inquire-checkout-form .form-item.error textarea,
#inquire-checkout-form .checkbox.error{
    border-color: var(--color-danger);
}
.product-inquire-send{
    display: flex;
    align-items: flex-end;
    justify-content: flex-end;
}
#inquire-checkout-form button.submit{
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
    padding: 14px 22px;
    border: 0;
    border-radius: 2px;
    background: var(--color-brand-hover);
    color: var(--color-on-dark);
    font-weight: 600;
}
#inquire-checkout-form button.submit:hover{
    background: var(--color-brand);
    color: var(--color-on-dark);
}
.product-about{
    padding: 48px 16px;
    background: var(--color-brand-soft);
}
.product-about .section-title{
    margin-bottom: 18px;
}
.product-about-text,
.product-about-text p{
    color: var(--color-ink-soft);
    font-size: 16px;
    line-height: 1.7;
}
#similar-section{
    padding: 48px 0 64px;
    background: var(--color-surface);
}
#similar-section .owl-carousel .product_item{
    width: 100%;
    margin: 0;
}
#similar-section .owl-item{
    padding: 0 8px;
}
#similar-section .owl-prev,
#similar-section .owl-next{
    position: absolute;
    top: 50%;
    width: 52px;
    height: 52px;
    margin: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: var(--color-surface);
    border: 1px solid var(--color-line);
    color: var(--color-ink);
    font-size: 14px;
    box-shadow: 0 8px 24px var(--color-shadow);
    z-index: 3;
}
#similar-section .owl-prev{
    left: 0;
    transform: translateY(-50%);
}
#similar-section .owl-next{
    right: 0;
    transform: translateY(-50%);
}
#similar-section .owl-prev:hover,
#similar-section .owl-next:hover{
    background: var(--color-brand);
    border-color: var(--color-brand);
    color: var(--color-brand-ink);
}
#similar-section .btn-gold,
#similar-section .btn-gold:link,
#similar-section .btn-gold:visited{
    color: var(--color-ink);
}
@media screen and (max-width: 767.98px){
    .product-board .images .image .img{
        height: 280px;
    }
    .product-prices{
        grid-template-columns: 1fr;
    }
    .product-price-net{
        text-align: left;
    }
    #product-page #product-props .text{
        grid-template-columns: 1fr;
    }
    .product-inquire-send{
        justify-content: stretch;
    }
    #inquire-checkout-form button.submit{
        width: 100%;
        justify-content: center;
    }
}

