.mobile-cat-root *,.nav-desktop * {
    padding: 0;
    margin: 0;
    text-decoration: none
}

.header-right.d-flex.align-items-center {
    padding-right: 20px;
    max-height: 3rem;
    width: 15vw;
    justify-content: flex-end;
}

.header-search {
    flex: 0 1 100%;
    width: 100%!important
}

.header-search .input-text {
    display: block;
    width: 100%;
    background: #fdfdfd1c;
    border: 1px solid #ffffff1c;
    border-radius: .5rem!important;
    height: 2.5rem;
    padding: .95rem 3rem .95rem 2.1rem;
    outline: 0!important;
    box-shadow: none!important
}

.navbar {
    padding: 0!important
}

.container.container-header {
    flex-grow: 1;
    display: flex;
    flex-direction: row;
    min-width: 0;
    z-index: 999999;
    background: #503778
}

.header-main .header-main {
    padding: 1rem 1rem .5rem;
    display: flex!important;
    flex-wrap: nowrap!important;
    align-items: flex-start!important;
    gap: 30px!important;
    height: 100%
}

.container-header,.header-main {
    max-width: none!important;
    margin: 0!important;
    box-sizing: border-box!important
}

.header-main .header-columns {
    width: 62.5vw;
}
.navbar-brand {
    width: 15vw;
}
.navbar-brand img {
    width: 10rem;
}
.header-columns .header-middle-col {
    flex-grow: 0!important;
    flex-shrink: 1!important;
    margin: 0 auto!important;
    max-width: 100%!important
}

.cat-mega,.header-middle-col {
    width: 100%
}

.placeholder-content,.vmagicmenu .placeholder-content {
    border-radius: 1rem!important;
    background-size: cover;
    background-position: center
}

.menu-hover-image-placeholder,.vmagicmenu .menu-hover-image-placeholder {
    aspect-ratio: 4/3;
    background: 0 0;
    min-height: auto
}

.placeholder-name.visible,.vmagicmenu .placeholder-name.visible {
    opacity: 1
}

.menu-hover-image-placeholder .placeholder-name {
    font-weight: 700!important;
    color: #3e3169!important;
    height: 0
}

.vmagicmenu .nav-desktop .level0 .level-top-mega::before {
    content: "";
    position: absolute;
    left: 0;
    top: 5px;
    bottom: 5px;
    width: 1px;
    background: linear-gradient(to bottom,transparent,#ededed 10%,#ededed 90%,transparent)
}

.magicmenu .nav-desktop .level0:not(:hover):not(.over)>.level-top-mega,.vmagicmenu .level0:not(:hover):not(.over)>.level-top-mega {
    display: none!important
}

.vmagicmenu .nav-desktop .level0 .level-top-mega {
    background-color: #fff
}

.vmagicmenu .cat:hover .level-top-mega {
    opacity: 1;
    visibility: visible
}

@media screen and (min-width:992px) {
    .vmagicmenu .nav-desktop .level0 .level-top-mega {
        width: 48.5vw;
        border-radius: 0 0 1rem 0;
        overflow-y: auto;
        -ms-overflow-style: none;
        margin-top: 1rem;
        scrollbar-gutter: stable
    }
}

.vmagicmenu .level0 .level-top-mega {
    border-width: 0;
    border-style: solid;
    position: absolute;
    left: 100%;
    z-index: 999;
    opacity: 0;
    visibility: hidden;
    top: 0!important;
    height: calc(100% - 1rem);
    padding: 0 0 0 15px
}

.level-top-mega::-webkit-scrollbar,.vmagicmenu-narrow::-webkit-scrollbar, .minicart-items-wrapper::-webkit-scrollbar  {
    width: 26px
}

.level-top-mega::-webkit-scrollbar-track,.vmagicmenu-narrow::-webkit-scrollbar-track, .minicart-items-wrapper::-webkit-scrollbar-track {
    background: #c3c3c387;
    border-radius: 13px;
    border: 10px solid transparent;
    background-clip: padding-box;
    margin: 10px 10px 10px 0
}

.level-top-mega::-webkit-scrollbar-thumb,.vmagicmenu-narrow::-webkit-scrollbar-thumb, .minicart-items-wrapper::-webkit-scrollbar-thumb {
    background: #3e3169;
    border-radius: 10rem;
    border: 10px solid transparent;
    background-clip: padding-box
}

.level0 .level1>div a,.level2 a {
    max-width: 100%
}

.level0 .level1>div a span,.level2>a span {
    display: block;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    min-width: 0
}

.header-sub,.header-sub--hidden {
    transition: max-height .3s ease-in-out,opacity .3s ease-in-out,transform .3s ease-in-out
}

.header-sub {
    z-index: 1029;
    opacity: 1;
    margin-top: 6.3rem;
    background: #503877e3;
    -webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px);
    transform: translateY(0);
    left: 0
}

.header-sub--hidden {
    transform: translateY(-10px);
    opacity: 0;
    pointer-events: none;
    max-height: 0;
    margin: 0;
    padding-top: 0;
    padding-bottom: 0
}

.magicmenu .nav-desktop>li.level0:hover>a.level-top {
    background: #fff;
    border-radius: .5rem .5rem 0 0;
    color: #3e3169
}

.magicmenu .nav-desktop>li.level0.hasChild:not(:first-child):hover>a.level-top::before {
    content: "";
    position: absolute;
    left: -.5rem;
    bottom: 0;
    width: .5rem;
    height: .5rem;
    background: 0 0;
    z-index: -1;
    border-bottom-right-radius: .5rem;
    box-shadow: .5rem .5rem 0 .5rem #fff
}

.magicmenu .nav-desktop>li.level0.hasChild:hover>a.level-top::after {
    content: "";
    position: absolute;
    left: 100%;
    bottom: 0;
    width: .5rem;
    height: .5rem;
    background: 0 0;
    z-index: -1;
    border-bottom-left-radius: .5rem;
    box-shadow: -.5rem .5rem 0 .5rem #fff
}

.nav-desktop>li.level0.ext:hover>a.level-top {
    background-color: #fff!important;
    padding-top: .25rem!important;
    padding-bottom: .25rem!important;
    border-radius: 10rem;
    color: #3e3169!important;
    transition: ease-in-out .3s
}

.magicmenu .nav-desktop .level0 .level-top-mega {
    border-style: solid;
    border-width: 0;
    z-index: 99999;
    opacity: 0;
    top: 50px;
    position: fixed;
    visibility: hidden;
    background-color: #fff;
    border-radius: 0 0 1rem 1rem;
    padding: 0 0 30px 15px;
    scrollbar-gutter: stable;
    max-height: 75vh;
    overflow-y: auto;
    -ms-overflow-style: none
}

.magicmenu .level-top-mega {
    left: 50%;
    transform: translateX(-50%)
}

.menu-column:not(.menu-column-image) {
    padding: 0 .625rem;
    flex: 0 0 25%;
    max-width: 25%
}

.magicmenu .nav-desktop .level0.over .level-top-mega,.magicmenu .nav-desktop .level0:hover .level-top-mega,.magicmenu .nav-desktop.click .level0.over .level-top-mega,.magicmenu .nav-desktop.click .level0:hover .level-top-mega {
    opacity: 1!important;
    visibility: visible!important;
    top: 3rem!important;
    transition: all .3s ease
}

.magicmenu .level0 .level-top img {
    display: none
}

.magicmenu.clearfix {
    width: 62.5vw;
    margin: auto;
    bottom: 0;
    height: 3rem;
}

.magicmenu .nav-desktop {
    margin: 0;
    padding: 0;
    bottom: 0;
    position: absolute;
    height: 2rem;
    margin-left: -0.3rem!important;
}

.magicmenu .nav-desktop .level0 {
    padding: 0;
    margin: 0;
    display: inline-block
}
.level0.ext .level-top { font-weight: bold; }
.magicmenu .nav-desktop .level0 .level-top {
    padding: .5rem .8rem!important;
    font-size: 1rem;
    line-height: 1rem;
    color: #f3f3f3
}

@media screen and (min-width:992px) {
    .magicmenu .nav-desktop .level0 .level-top-mega {
        width: 62.5vw;
        padding-right: 0;
        margin-top: 0;
        margin-left: -0.3rem;
    }
}

.vmagicmenu .cat .level-top::before {
    background: #ededed;
    border-radius: .3rem;
    z-index: 1
}

.vmagicmenu .cat .level-top {
    position: relative;
    padding: .8rem .5rem;
    font-size: 100%;
    display: block;
    outline: medium;
    font-weight: 500!important
}

.vmagicmenu.vertical-menu {
    z-index: 90;
    flex: 0 1 28.5%;
    max-width: 28.5%
}

.vmagicmenu .block-title {
    line-height: 2.5rem;
    z-index: 90;
    border-radius: .5rem
}

.block-title-vmagicmenu.vmenu-active {
    border-radius: .5rem .5rem 0 0
}

.vmenu-active::after {
    content: "";
    position: absolute;
    left: 100%;
    bottom: -1rem;
    width: 1rem;
    height: 1rem;
    background: 0 0;
    z-index: -1;
    border-bottom-left-radius: 1rem;
    box-shadow: -1rem 1rem 0 1rem #fff
}

.vmagicmenu .vmagicmenu-narrow {
    margin: 0;
    padding: 1.5rem 0;
    width: 100%;
    display: none;
    background-color: #fff;
    height: 85vh;
    border-radius: 0 0 0 1rem;
    overflow: auto
}

.vmagicmenu .cat {
    padding: 0 .5rem;
    margin: -1px 0;
    float: left;
    line-height: 1rem;
    width: 100%;
    position: static
}

.vmagicmenu .nav-desktop .cat.over .level-top {
    background-color: #ededed;
    border-radius: .5rem;
    padding: .8rem .5rem .8rem 2.8rem;
    margin: 0;
    transition: background-color .2s ease-in-out
}

.magicmenu .menu-column-image {
    flex: 0 1 25%;
    overflow: hidden!important;
    max-width: 25%!important;
    order: 999;
    padding: 0 .625rem
}

.vmagicmenu .cat .level-top img,.vmagicmenu .cat .level-top::before {
    content: "";
    position: absolute;
    left: .5rem;
    top: 50%;
    transform: translateY(-50%);
    width: 1.6rem;
    height: 1.6rem;
    transition: ease-in-out .2s
}

.vmagicmenu .cat.over .level-top img,.vmagicmenu .cat.over .level-top::before {
    width: 1.8rem;
    height: 1.8rem;
    margin-left: -.1rem
}

.vmagicmenu .level0 .level-top {
    padding-left: 2.8rem
}

.vmagicmenu-narrow .level0>.level-top :before {
    content: "";
    position: absolute;
    top: 0;
    left: .7rem;
    right: .7rem;
    border-top: 1px solid #ededed
}

.vmagicmenu .cat .level-top img {
    z-index: 2;
    padding: .4rem
}

.vmagicmenu .cat.over .level-top::before {
    background: #3e3169!important
}

.vmagicmenu .level0.over .level-top img {
    filter: brightness(0) invert(1)
}

.nav-desktop a {
    color: #343a40;
    text-align: left
}

.vmagicmenu .cat.over .level-top-mega {
    opacity: 1;
    visibility: visible
}

.vmagicmenu .menu-columns-wrapper .menu-column:not(.menu-column-image) {
    flex: 0 1 33%;
    overflow: hidden!important;
    max-width: 33%!important
}

.vmagicmenu .menu-column-image {
    flex: 0 1 33%
}

.cat-mega .level1>div>a {
    color: #343a40;
    font-weight: 700;
    margin: 1rem 0 0
}

.icon-menu {
    position: relative;
    display: inline-block;
    width: 1rem;
    height: 15px;
    cursor: pointer;
    transition: .5s ease-in-out
}

.icon-menu span {
    position: absolute;
    display: block;
    width: 100%;
    background-color: #717171;
    height: 1.5px;
    left: 0;
    transition: .25s ease-in-out;
    opacity: 1
}

.icon-menu span:nth-child(1) {
    top: 0
}

.icon-menu span:nth-child(2) {
    top: 6px
}

.icon-menu span:nth-child(3) {
    top: 12px
}

@media (min-width:992px) {
    .vmagicmenu.is-vmenu-open .icon-menu span:nth-child(1) {
        transform: translateY(6px);
        width: 100%!important
    }

    .vmagicmenu.is-vmenu-open .icon-menu span:nth-child(2) {
        opacity: 0
    }

    .vmagicmenu.is-vmenu-open .icon-menu span:nth-child(3) {
        transform: translateY(-6px);
        width: 100%!important
    }

    .icon-menu span {
        height: 2px
    }
}

.header-mobile.is-open .header-search input {
    border: 1px solid #4535725e;
    background: #fefefe
}

.header-mobile.is-open #mobile-menu-toggle {
    color: #453572;
    background: 0 0
}

.header-mobile .hamburger-icon span,.header-mobile.is-open .hamburger-icon span {
    background: #453572
}

@media (max-width:991px) {
    .header-mobile.is-open .icon-menu span:nth-child(1) {
        top: 6px;
        width: 0;
        left: 50%
    }

    .header-mobile.is-open .icon-menu span:nth-child(2) {
        top: 6px;
        transform: rotate(45deg)
    }

    .header-mobile.is-open .icon-menu span:nth-child(3) {
        top: 6px;
        transform: rotate(-45deg)
    }

    .icon-menu span:nth-child(1) {
        top: 2px
    }

    .icon-menu span:nth-child(2) {
        top: 6px
    }

    .icon-menu span:nth-child(3) {
        top: 10px
    }
}

.magicmenu .nav-item,.magicmenu .nav-item:hover,.vmagicmenu .nav-item,.vmagicmenu .nav-item:hover {
    border: 0!important
}

.nav-desktop .level1>div .cat_label {
    margin-top: 1rem
}

.cat_label {
    font-size: .7rem!important;
    padding: .15rem .5rem!important;
    background-color: #096;
    color: #fff;
    line-height: .8rem;
    font-weight: 700;
    border-radius: 10rem;
    margin-left: .3rem!important;
    white-space: nowrap
}

.d-flex.align-items-center:has(.cat_label) a,.level2:has(.cat_label) a {
    max-width: 70%!important
}

.level-top-mega [class*=submenu] li a:has(.cat_label),.level-top-mega [class*=submenu] li.level2.nav-item a {
    display: inline-flex!important;
    align-items: center!important;
    flex-wrap: nowrap!important
}

.nav-desktop .level0 .level-top-mega .content-mega-horizontal ul li a:hover,.nav-desktop .level0 .level-top-mega .force-products-only .products-submenu li.product-item a:hover,.nav-desktop .level0 .level-top-mega [class*=submenu] li a:hover,.vmagicmenu .level0 .level-top-mega [class*=submenu] li a:hover,.vmagicmenu .vmagicmenu-narrow .level0.dropdown ul li a:hover {
    color: #3e3169!important
}

.level-top-mega [class*=submenu] li a span.cat-name,.level-top-mega [class*=submenu] li.level2.nav-item a .cat-name {
    display: inline-block!important;
    width: auto!important;
    max-width: none!important;
    min-width: unset!important;
    box-sizing: border-box!important
}

.level-top-mega [class*=submenu] li a:hover span,.level-top-mega [class*=submenu] li a:hover span.cat-name {
    background-size: 100% 1px
}

.level-top-mega [class*=submenu] li a span,.level-top-mega [class*=submenu] li a span.cat-name {
    background: linear-gradient(to right,#453572 0,#453572 100%) no-repeat left bottom;
    background-size: 0 1px;
    transition: background-size .35s ease;
    padding-bottom: 1px
}
.showquote .minicart-counter-number { background-color:#ac91d6 }

@media screen and (max-width:991px) {
    .miniquote-wrapper .action.showquote { padding: 0 1rem 0 0.3rem}
    .showquote .text { display: none; }
    .header-login .login-link:before { background-size: 1.3rem 1.3rem;}
    .miniquote-wrapper .ico.ico-quote {width: 2.4rem;height: 1.3rem;margin-right: -0.3rem;}
    .ico-cart:before { font-size: 1.6rem; }
    .minicart-counter-number {top: -1rem;margin-left: -2rem}
    .cart-label { display: none; }
    .header-right.d-flex.align-items-center {
    padding-right: 0;
    max-height: auto;
    width: auto;
    justify-content: flex-end;
}
    .navbar-brand { width: 30vw}
    .header-main .header-main { padding: 1rem 0}

    .header-main .header-columns,.header-sub {
        display: none!important
    }

    .header-main {
        background: #503778;
        height: 5rem
    }

    .header-mobile .container {
        height: 4rem!important;
        background: #503877de;
        margin-top: -1px
    }

    .mobile-cat-root .level0 .level-top::before {
        content: "";
        position: absolute;
        left: .5rem;
        top: 50%;
        transform: translateY(-50%);
        width: 2.6rem;
        height: 2.6rem;
        background: #ededed;
        border-radius: .6rem;
        z-index: 1
    }

    .mobile-cat-root .level0 .level-top span {
        margin-left: 3.5rem
    }

    .mobile-cat-root .level0 .level-top img {
        position: absolute;
        left: .7rem;
        top: 50%;
        transform: translateY(-50%);
        z-index: 2;
        width: 2.2rem;
        height: 2.2rem;
        padding: .4rem
    }

    .nav-mobile {
        display: none
    }

    #mobile-accordion-wrapper,.mobile-cat-flow {
        background: #fff;
        -webkit-overflow-scrolling: touch
    }

    #mobile-accordion-wrapper {
        display: none;
        position: fixed;
        top: 8.9rem;
        left: 0;
        right: 0;
        bottom: 0;
        overflow-y: hidden;
        z-index: 79;
        padding-bottom: env(safe-area-inset-bottom,0);
        box-sizing: border-box
    }

    #mobile-accordion-wrapper.is-open {
        display: block;
        background: #fff
    }

    .mobile-cat-root .img-responsive {
        width: 2rem
    }

    .mobile-cat-flow {
        position: relative;
        overflow: hidden;
        height: 100%
    }

    .mobile-cat-header {
        display: flex;
        align-items: center;
        padding: .5rem 1rem;
        background: #f8f8f8;
        border-bottom: 1px solid #eee;
        font-size: 18px;
        height: 4rem;
        justify-content: space-between
    }

    .mobile-cat-back {
        background: 0 0;
        border: 0;
        font-size: 1.2rem;
        line-height: 1;
        color: #717171;
        cursor: pointer;
        font-weight: 600;
        position: absolute
    }

    .mobile-cat-back:active,.mobile-cat-back:hover {
        opacity: 1
    }

    .mobile-cat-title {
        flex: 1;
        margin: 0;
        padding: 0;
        font-size: 1.2rem;
        font-weight: 600;
        text-align: center;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis
    }

    .mobile-cat-slider {
        display: flex;
        width: 200%;
        height: 100%;
        transition: transform .4s cubic-bezier(.25,.1,.25,1);
        transform: translateX(0);
        will-change: transform;
        touch-action: pan-y
    }

    .mobile-cat-detail,.mobile-cat-root {
        width: 50%;
        flex: 0 0 50%;
        max-width: 50%;
        box-sizing: border-box;
        padding: 0 15px;
        margin: 0;
        overflow-y: auto!important;
        -webkit-overflow-scrolling: touch;
        overflow-x: hidden;
        scroll-behavior: smooth
    }

    .mobile-cat-detail {
        height: 100%;
        padding: 1.2rem 1rem 6rem
    }

    .mobile-cat-root .submenu {
        display: none!important
    }

    .mobile-cat-detail li,.mobile-cat-root li {
        list-style: none;
        margin: 0;
        padding: 0
    }

    .mobile-cat-detail a,.mobile-cat-root a {
        display: block;
        padding: .3rem;
        color: #333;
        text-decoration: none;
        font-size: 16px
    }

    .mobile-cat-root a.level-top {
        font-weight: 400!important;
        font-size: 1.2rem;
        padding: .5rem
    }

    .mobile-cat-detail a:active,.mobile-cat-root a:active {
        background: #f0f0f0
    }

    .mobile-cat-detail .submenu {
        padding: 0
    }

    .mobile-cat-detail .submenu .level1>a {
        font-weight: 500;
        font-size: 1.2rem!important
    }

    .mobile-cat-detail .submenu .level2 a {
        font-size: 1rem!important
    }

    .mobile-cat-detail .level1.submenu {
        margin-bottom: 2rem
    }

    .mobile-cat-detail .nav-item {
        border: 0!important
    }

    .mobile-cat-root .level0,.mobile-cat-root .level0:active,.mobile-cat-root .level0:focus,.mobile-cat-root .level0:hover {
        padding: .9rem 0;
        border-bottom: 1px solid #f3f3f3!important
    }

    .mobile-cat-root {
        padding: .3rem 1rem 1rem;
        height: 100%
    }

    .header-mobile .header-search {
        width: 50%!important;
        flex: 0 0 70vw
    }

    .mobile-cat-detail *,.mobile-cat-root * {
        -webkit-tap-highlight-color: transparent!important;
        -webkit-touch-callout: none!important;
        -webkit-user-select: none!important;
        user-select: none!important;
        outline: 0!important
    }

    .mobile-cat-detail a,.mobile-cat-detail li,.mobile-cat-root a,.mobile-cat-root li {
        -webkit-appearance: none!important;
        appearance: none!important;
        background: 0 0!important;
        border: 0!important
    }

    .mobile-cat-detail a:active,.mobile-cat-detail li:active,.mobile-cat-root a:active,.mobile-cat-root li:active {
        background: 0 0!important;
        border: 0!important;
        box-shadow: none!important
    }

    #mobile-menu-toggle:active,#mobile-menu-toggle:focus,.mobile-cat-detail a:focus,.mobile-cat-root a:focus {
        outline: 0!important;
        box-shadow: none!important
    }

    .mobile-cat-detail .cat_label,.mobile-cat-root .cat_label {
        font-size: 1rem!important;
        padding: .3rem .7rem!important
    }

    .mobile-cat-root .level0:last-child {
        border-bottom: none!important
    }

    #mobile-menu-toggle {
        display: flex;
        align-items: center;
        gap: 10px;
        background: #ffffffe8;
        border: 0;
        cursor: pointer;
        font-size: 1rem;
        color: #503877;
        border-radius: 0 5px 5px 0;
        height: 3rem;
        width: auto;
        margin-left: -1.1rem;
        padding-right: 2rem
    }

    .mobile-accordion-wrapper {
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
        background: #fff;
        z-index: 1050;
        padding-bottom: env(safe-area-inset-bottom,0);
        box-sizing: border-box
    }

    .header-mobile {
        transition: background-color .3s ease
    }

    .header-mobile.is-open .container {
        background-color: #f8f8f8
    }

    .header-mobile .header-search .input-text,.header-mobile.is-open .control input::placeholder,.header-mobile.is-open .header-search .action {
        color: #453572!important
    }

    .header-mobile.is-open .header-search input {
        border: 1px solid #4535725e;
        background: #fefefe
    }

    .header-mobile.is-open #mobile-menu-toggle {
        color: #453572;
        background: 0 0
    }

    .header-mobile .hamburger-icon span,.header-mobile.is-open .hamburger-icon span {
        background: #453572
    }

    .navigation.mean-nav.navigation-mobile {
        display: block!important
    }

    .header-mobile .search-products-list {
        overflow-x: auto;
        flex-wrap: nowrap;
        padding-right: 2rem;
        margin-bottom: 1rem
    }
}

.block-title-vmagicmenu {
    cursor: pointer
}

.more-products {
    opacity: .7;
    font-style: italic
}
