html {
    scroll-behavior: smooth;
}

.main-container {
    background: var(--color-white);
}

.select-error {
    border: 1px solid crimson;
}

.utility-bar .nav-module .il-list {
    display: inline-block;
    line-height: inherit !important;
}

.utility-bar .nav-module .il-list li {
    display: inline-block;
}

.utility-bar .nav-module .il-list li:not(:last-child)::after {
    content: " | ";
}

.menu>li ul a {
    white-space: initial;
}

#top{display: inline;}

.nav-bar{
    height: auto;
    max-height: initial;
    line-height: 1;
}

.nav-bar .nav-module, .menu {height: auto;}

.menu {position: relative;}
.menu > li {position: initial;}
.menu > li > ul{top: 49px;}
.menu > li > a {
    font-size: 0.8rem;
    line-height: 1rem;
}

.menu > li ul {min-width: 100%}

.multi-column li {width: 100%;}
.multi-column > li {width: 33%;}

.nav-module:first-of-type {
    padding-left: 1em;
}

/* APLICAR FILTRO CINZA EM IMGs JPG + FORÇAR IMG QUADRADA RELATIVA AO CONTAINER */
.card .card__image,
.shop-item-detail .slider li {
    position: relative;
    background: var(--color-white);
    width: 100%;
    height: auto;
    z-index: 1;
}

.masonry__item .card > a{display: block;}

.card .card__image::before,
.shop-item-detail .slider li::before {
    content: " ";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    background: rgba(0, 0, 0, 0.065);
}
.card .card__body {margin-bottom: 0;}

.card .card__image img,
.shop-item-detail .slider li img {
    height: 300px;
    width: 100%;
    position: relative;
    left: 0;
    top: 0;
    z-index: -1;
    object-fit: contain;
    display: block;
}
.shop-item-detail .slider li img {
    height: 540px;
}

.card__body .card__title h5 {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}


.shop-item-detail .item__addtocart {
    margin-bottom: 40px;
}

.item__addtocart{gap: 10px}
.shop-item-detail .item__addtocart input[type="number"] {
    text-align: center;
}
.shop-item-detail .item__addtocart {
    max-width: 100%;
}
.shop-item-detail .item__addtocart button {
    min-width: auto;
}

.tabs-container .tabs{margin-bottom: 2.5rem;}

.pointer {
    cursor: pointer;
}

.bg--white p,
.bg--white span,
.bg--white ul,
.bg--white a:not(.btn) {
    color: inherit;
}

.btn:hover,
.btn:focus,
a.btn:active,
.btn:hover span:not(.btn__text),
.btn:active span:not(.btn__text),
.btn:focus span:not(.btn__text),
a.btn:active span:not(.btn__text) {
    color: var(--color-white);
}

.btn:hover span.text-hover-dark {
    color: var(--color-grey) !important;
}

.btn--grey {
    background-color: var(--color-grey);
    color: var(--color-white);
}

.parallax {
    height: 100%;
    padding: 5rem 0rem;
    background-attachment: fixed;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}

@media only screen and (max-device-width: 1366px) {
    .parallax {
        background-attachment: scroll;
    }
}

.pagination li a {
    display: flex;
    justify-content: center;
    align-items: center;
}

.cart-overview .cart-overview__items {
    max-height: 65vh;
    overflow-y: auto;
}

.cart-overview .cart-overview__items li .item__remove {
    margin-right: 0.5rem;
}

.notification .notification-close-cross {
    display: flex;
    justify-content: center;
}

.notification .notification-close-cross::before {
    display: flex;
    justify-content: center;
    align-items: center;
    line-height: 0;
}

.cart-details {
    height: auto;
}

.cart-details li {
    height: 100%;
}

.card-encomenda {
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    align-items: center;
    min-height: 5rem;
}

.card-encomenda .card__body {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    height: 100%;
    margin-left: 2rem;
}
.card-encomenda .card__body p {
    margin-bottom: 0;
}

.card-encomenda .card__image img {
    width: 7rem;
}

.position-center-center {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100%;
}

.pt-0 {
    padding-top: 0;
}

.search-modal .modal-close.modal-close-cross {
    top: 50%;
    transform: translateY(-50%);
}

.nav-function.modal-trigger:focus {
    color: var(--color-primary);
}

.bg--white p,
.bg--white span,
.bg--white ul,
.bg--white a:not(.btn) {
    color: var(--color-grey);
}

.bg--white .btn.btn--primary span{color: var(--color-white);}

.btn--primary-no-hover:hover,
.btn--primary-no-hover:focus {
    background-color: var(--color-primary);
    border-color: var(--color-primary) !important;
}

.cart-overview {
    overflow-y: auto;
}

.w-100 {
    width: 100%;
}

a.btn-checkout {
    display: flex;
    justify-content: center;
    align-items: center;
}

.shop-item__price.hover--reveal {
    margin-bottom: 1rem;
}

.shop-item__price.btn.btn--sm {
    padding: 0.3rem 2.5rem 0.4rem;
    line-height: 1rem;
    display: inline-block;
}
.shop-item__price.btn.btn--sm, .shop-item__price.btn.btn--sm span{
    border-color: var(--color-grey);
    color: var(--color-grey);
}
.shop-item__price.btn.btn--sm:hover span{
    color: var(--color-grey-light);
}
.masonry__item .card:hover .shop-item__price.btn.btn--sm, .shop-item__price.btn.btn--sm:hover {
    background: var(--color-secondary);
    border-color: transparent;
}

.accordion li:not(.active):hover .accordion__title, .accordion li:not(.active):hover .accordion__title * {
    background: transparent;
    color: var(--color-dark)
}

.link-list {width: 100%;}
.link-list li a {
    cursor: pointer;
    opacity: 1;
}

.vue-range-container {
    padding: 30px 0px;
}

.vue-range-slider.slider-component.slider-horizontal {
    width: 100% !important;
    padding: 0px !important;
}

.slider {
    overflow: initial !important;
}

.slider-tooltip {
    color: var(--color-grey) !important;
    background-color: transparent !important;
    border: none !important;
}

.vue-range-slider.slider-component .slider-tooltip-wrap.slider-tooltip-top .slider-tooltip:before {
    border: none !important;
}

.slider-dot.slider-always {
    border-radius: 27px !important;
    background-color: var(--color-primary) !important;
}

.vue-range-slider.slider-component .slider .slider-dot {
    width: 20px !important;
    height: 20px !important;
    box-shadow: none;
    -webkit-box-shadow: none;
}

.slider-process {
    background-color: var(--color-primary) !important;
}

.vue-range-slider.slider-component .slider {
    background-color: var(--color-grey) !important;
}

.background-image-holder {background-size: cover ;top: 0 !important;}

.owl-carousel .owl-item img.image{
    height: 100%;
    width: 100%;
    object-fit: cover;
}

.pb-0 {
    padding-bottom: 0;
}

.mb-0 {
    margin-bottom: 0 !important;
}

.overflow-hidden {
    overflow: hidden;
}

.pagination a {
    cursor: pointer;
}

.notification--toast {
    z-index: 1000 !important;
}

.notification.notification--reveal{z-index: 999;}

.dropdown-toggle,
.dropdown-menu li a {
    font-size: 12px;
    font-weight: normal;
    letter-spacing: 0px;
    text-transform: uppercase;
}

.dropdown-menu {
    visibility: hidden;
    opacity: 0;
    transition: all 0.2s linear;
    background-color: var(--color-white);
}

.dropdown-menu li {
    padding: 0.2rem 0.7rem;
}

.dropdown-menu li:hover {
    background-color: var(--color-primary);
}

.dropdown-toggle:hover~.dropdown-menu,
.dropdown-toggle:focus~.dropdown-menu,
.dropdown-menu:hover,
.dropdown-menu:focus {
    visibility: visible;
    opacity: 1;
}

.pb-1 {
    padding-bottom: 1rem;
}

.modal-bg {
    background-color: var(--color-grey-light);
}

.breadcrumb.breadcrumb--less {
    opacity: 0.7;
}

.input-btn-group {
    position: relative;
}

.input-btn-group input,
.input-btn-group button {
    position: absolute;
    content: '';
}

.input-btn-group input {
    width: 70%;
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
}

.input-btn-group .btn {
    right: 0;
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
    display: flex;
    justify-content: center;
    align-items: center;
}

.input-with-icon label + i {
    top: 37px;
    margin-left: 7px;
    font-size: 1.2rem;
}

.input-with-icon label{margin-left: 0;}
.input-with-icon input[type]{
    margin-top: 0;
    padding-left: 35px;
    line-height: 40px;
}

input[type], textarea, select {
    border-radius: 0;
    height: 44px;
}

.login-form .col-sm-12 {
    padding-left: 0px;
}

.login-form label {
    margin-left: 0px;
}

.validation-input {
    border: 1px solid var(--color-black) !important;
}

.validation-input.has-error {
    border-color: crimson !important;
}

.modal-container.modal-active {
    z-index: 9999;
    background: rgba(0, 0, 0, 0.4);
}

.encMetodo {
    display: flex;
}

.nav-module.menu-module .menu>li>a.with-child:after {
    content: "\F282";
    font-family: bootstrap-icons;
    font-size: 0.7rem;
    margin-left: 2.5px;
}


@media only screen and (max-width: 40em) {
    .encMetodo {
        flex-wrap: wrap;
    }
}

@media only screen and (max-width: 40em) {
    .nav-module.menu-module .menu>li>a.with-child {
        pointer-events: none;
    }
}

@media (max-width: 990px) {
    .nav-module.menu-module.right.nav-module-shopping {
        margin-left: 15px;
    }

    nav#app-header .nav-bar {
        overflow: initial;
    }

    nav#app-header .menu-module {
        display: none;
    }

    nav#app-header.nav-open .menu-module {
        display: block;
    }
}

@media (max-width: 767px) {
    .search-modal .modal-close.modal-close-cross {
        top: 40%;
    }

    .modal-container .modal-content {
        top: 50% !important;
    }

    .modal-popup .modal-content {
        height: 50% !important;
    }

    .masonry__container .masonry__item {
        width: 100%;
    }
}

.familia-destaque {
    background: #999 !important;
    color: #fff !important;
    padding: 10px !important;
    margin-bottom: 15px !important;
}

.familia-destaque i {
    font-size: 14px;
    margin-left: 10px;
}