/*
 * Custom code goes here.
 * A template should always ship with an empty custom.css
 */

/*VARIABLES*/
:root {
    --color-corp: #000000;
    --color-alt: #1c3155;
    --color-sales: #e74c40;
    --color-text: #191919;
    --color-lightgrey: rgba(160, 160, 160, .25);
    --color-grey: #d1d1d1;
    --border-radius: 8px;
    --success: #dffcf0;
    --info: #e9f2ff;
    --warning: #fff7d6;
    --danger: #ffedeb;
    --spacing-sm-fixed: calc(0.60* 1rem);
    --spacing-xs-fixed: calc(0.30* 1rem);
}

body,
strong,
.fw-normal,
.fw-medium,
.fw-semibold,
.fw-bold {
  font-variation-settings: "wght" var(--fw, 400);
}

*::before, *::after {
  font-variation-settings: inherit; 
}

.fw-normal { --fw: 400; }
.fw-medium, strong { --fw: 500; }
.fw-semibold { --fw: 600; }
.fw-bold   { --fw: 700; }

a:focus, a:hover {
    text-decoration: none !important;
}

.text-balance {text-wrap-style: balance;}

/*FONT SIZE*/
.fs-7{font-size: 0.7rem !important;}
.fs-8{font-size: 0.8rem !important;}
.fs-9{font-size: 0.9rem !important;}
.fs-10{font-size: 1rem !important;}
.fs-11{font-size: 1.1rem !important;}
.fs-12{font-size: 1.2rem !important;}
.fs-13{font-size: 1.3rem !important;}
.fs-14{font-size: 1.4rem !important;}
.fs-15{font-size: 1.5rem !important;}
.fs-16{font-size: 1.6rem !important;}
.fs-18{font-size: 1.8rem !important;}
.fs-20{font-size: 2rem !important;}
.fs-25{font-size: 2.5rem !important;}
.fs-30{font-size: 3rem !important;}
.fs-40{font-size: 4rem !important;}
.fs-50{font-size: 5rem !important;}
.fs-70{font-size: 7rem !important;}
.fs-100{font-size: 10rem !important;}

/*ICONS REPLACE*/
.fa, .fas, .far, .fa-solid {font-family: 'Font Awesome 5 Free'; font-size: 1.2rem; vertical-align: middle; font-style: normal; font-weight: 900;}
.fab {font-family: 'Font Awesome 5 Brands'; font-size: 1.2rem; vertical-align: middle;}
.fa-envelope-o:before {content: "\f0e0" !important;}
.fa-calendar:before {font-family: 'meitt'; content: "\e912" !important;}
.fa-arrow-right-long:before {font-family: 'meitt'; content: "\e91a" !important; }
.fa-shield:before {font-family: 'meitt'; content: "\e916" !important; }
.fa-infinity:before {font-family: 'meitt'; content: "\e917" !important; }
.block-links ul > li a:before {font-family: 'Font Awesome 5 Free'; content: '\f105'; font-weight: 600;}


.swiper-pagination-bullets {
    background: rgba(0, 0, 0, 0.3);
    width: fit-content !important;
    padding: 0 0.75rem;
    border-radius: 15px;
    margin: 2rem auto 1rem;
    line-height: 1.6;
    position: absolute;
}

.swiper-button-next:after, 
.swiper-button-prev:after {font-family: 'meitt'; content: "\e91c" !important;background: #fff;border-radius: 50%;font-size: 3.125rem;font-weight: 600;}
.swiper-button-prev:after {transform: rotate(180deg);}

.swiper-section-button {
    border-radius: 50%;
    padding: 0;
    &.swiper-button-next {
        right: 1.5rem;
    }
    &.swiper-button-prev {
        left: 1.5rem;
    }
    &:not(.swiper-button-disabled) {
        opacity: 1;
    }
}


/*BACKGROUND PRODUCT IMAGE*/
.cart-items .cart-item .product-image img,
#blockcart-content .cart-products > li .product-image img {
    background-color: #fff;
}

/*HEADER*/
#desktop_logo .logo {
    max-height: 35px;
    width: auto;
    margin-top: -5px;
}

@media (max-width: 1100.98px) {

    #header .cbp-hrmenu .pull-right {
        display: none;
    }

}

#mobile-header .m-nav-btn > i, 
.contact-rich .part .icon i {
    font-size: 2.1rem;
}
#mobile-header .col-mobile-logo .logo {
    max-height: 23px;
    width: auto;
}


/*MENU*/
#iqitmegamenu-horizontal {
    .nav-link {
        &:focus, &:hover {
            opacity: 0.7;
        }
    }
}
.cbp-hrmenu-tab.cbp-pulled-right .nav-link {
    -webkit-border-radius: var(--border-radius) !important;
    -moz-border-radius: var(--border-radius) !important;
    border-radius: var(--border-radius) !important;
    padding-left: 1.5rem;
    padding-right: 1.5rem;
}


/*MENU MOBILE*/
.col-mobile-menu-push #_mobile_iqitmegamenu-mobile {
    width: 100%;
    max-width: 420px;
}
.mobile-menu__close .fa-times {
    font-size: 1.8rem !important;
    line-height: 1;
}
.mobile-menu__back-btn {
    font-size: 1.3rem;
}
.mobile-menu__header-wrapper--border:has(.mobile-menu__header--active) {
    border-bottom: 1px solid #2d2d2d;
}
.mobile-menu__column:has(a.mobile-menu__column-title) {
    margin-bottom: 2.5rem;
}

@media screen and (max-width: 767px) {

    #iqitmegamenu-mobile a.mobile-menu__column-title,
    #iqitmegamenu-mobile li.mobile-menu__links-list-li > a {
        display: block;
    }
    #iqitmegamenu-mobile  a.mobile-menu__link:active, /*apple mobile device*/
    #iqitmegamenu-mobile li.js-mobile-menu__tab a:active, /*apple mobile device*/
    #iqitmegamenu-mobile li.mobile-menu__links-list-li > a:active, /*apple mobile device*/
    #iqitmegamenu-mobile  a.mobile-menu__link:focus-visible, /*apple mobile device*/
    #iqitmegamenu-mobile li.js-mobile-menu__tab a:focus-visible, /*apple mobile device*/
    #iqitmegamenu-mobile li.mobile-menu__links-list-li > a:focus-visible, /*apple mobile device*/
    #iqitmegamenu-mobile  a.mobile-menu__link:focus,
    #iqitmegamenu-mobile li.js-mobile-menu__tab a:focus,
    #iqitmegamenu-mobile li.mobile-menu__links-list-li > a:focus {
        background-color: lightgray;
    }
    
}


/*SHOPPING CART*/
#mobile_menu_click_overlay:has(~ #_mobile_iqitmegamenu-mobile.show),
#products.showFi .mobile_menu_click_overlay,
.cart-toogle.show + .mobile_menu_click_overlay,
#mobile-cart-toogle.show + .mobile_menu_click_overlay,
#mobile-cart-wrapper.show .mobile_menu_click_overlay {
    background: rgba(0,0,0,0.35);
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 99;
}
.blockcart-content .modal-title {
        line-height: 1;
}
.modal-title {
    margin-bottom: 0;
    line-height: 1.5;
    text-transform: uppercase;
    font-size: 1.2rem;
    font-weight: bold;
}
#_desktop_blockcart-content {
    position: relative;
}
.ps-shoppingcart.side-cart .show #blockcart-content {
    transform: translateZ(0);
}
.ps-shoppingcart ul.cart-products {
    height: calc(100% - 290px);
    max-height: calc(100% - 285px);
    padding-right: 15px;
}
#blockcart-content .cart-products>li {
    border-bottom: none;
    margin-bottom: 0.3rem;
}
#blockcart-content {
    padding: 1rem 1.5rem;
    text-align: left;
    min-width: 414px;
    max-width: 530px;
    width: 100%;
}
#blockcart-content .product-attributes .product-line-info {
    line-height: 1.1rem;
}
#blockcart-content .cart-subtotals {
    border: none;
}
.list-bullet {
    list-style: disc;
    padding-left: 1rem;
    margin-left: 0.5rem;
}
.list-bullet li{
    margin-bottom: 0.2rem;
}


@media screen and (max-width: 767px) {

    .col-mobile-menu-push #_mobile_iqitmegamenu-mobile,
    .ps-shoppingcart.side-cart #blockcart-content {
		max-width: 100vw;
        min-width: 100%;
        max-height: 100vh;
        min-height: 100%;
    }
    .ps-shoppingcart.side-cart #blockcart-content {
        margin: auto;
        position: fixed;
        left: auto;
        top: 0;
        border: 0;
        right: 0;
    }
    #blockcart-content {
        min-width: 100%;
        padding: 1rem 2rem;
    }
}


/*LOGIN & REGISTER*/
.page-customer-account #content {
    border: 0
}
#registration .register-form {
    margin-top: 15px;
    p {
        text-wrap: balance;
    }
}
.ps-alert-error,
#password .password-info,
#password .form-fields, 
#authentication .login-form, 
#registration .register-form,
#guest-tracking .guest-tracking-form {
    max-width: 600px;
    margin-left: auto;
    margin-right: auto;
}
#password #main{
    padding-bottom: 50px;
}
#password #main .page-title,
#registration #main .page-title,
#authentication #main .page-title,
#password #main .page-title,
#authentication #main .page-title {
    margin-bottom: 0;
    padding: 0.5rem 1rem;
    font-weight: 500;
}
#authentication .content-newsletter {
    margin-top: 20px;
}
/* .btn.form-control-submit.disabled, 
.btn.form-control-submit.disabled:hover, 
.btn.form-control-submit:disabled {
    opacity: 1;
}
 */
@media screen and (max-width: 767.98px) {

    .page-customer-account #content,
    #authentication #content {
        padding: 0px;
    }

}

/*ACCOUNT & ORDER & HISTORY*/
.my-account-page-content-wrapper {
    border: none !important;
}
.page-addresses .address .address-body address {
    min-height: auto;
}
#discount,
#order-follow,
#order-detail,
#history {
    .table-responsive {
        display: table;
    }
}
#discount,
#order-follow,
#history {
    .table td, .table th {
        background-color: #ffffff !important;
    }
}
#discount,
#order-follow,
#order-detail,
#history {
    .table .thead-default  th {
        font-size: 0.9rem;
        font-weight: 400;
    }
}
#discount,
#order-follow,
#order-detail,
#history {
    .table-bordered {
        border: 0;
        font-size: 0.9rem;
    }
}
#discount,
#order-follow,
#order-detail,
#history {
    .table-bordered td, .table-bordered th {
        border: 0;
        border-bottom: 1px solid #dee2e6;
    }   
}
#history .table-labeled .label.label-pill {
    max-width: 220px;
    width: 100%;
    overflow: clip;
    text-wrap-mode: nowrap;
    text-overflow: ellipsis;
}
.my-account-page-content-wrapper,
.my-account-page-content-wrapper .my-account-side-links,
.my-account-page-content-wrapper .my-account-side-links > a:not(.btn) {
    border: none !important;
}
.my-account-page-content {
    font-size: 0.9rem;
    .psgdprinfo17 {
        background: #f8f9fa;
    }
}
.my-account-side-links .account-link {
    font-size: 1.1rem;
}
.my-account-side-links .account-link.current {
    background: #646464;
    color: #fff !important;
}
#guest-tracking .my-account-page-content {
    max-width: 990px;
    margin-left: auto;
    margin-right: auto;
}

@media screen and (max-width: 767.98px) {

	#history .my-account-side-links, 
	#identity .my-account-side-links, 
	#address .my-account-side-links, 
	#addresses .my-account-side-links, 
	#order-slip .my-account-side-links, 
	#order-detail .my-account-side-links, 
	#order-follow .my-account-side-links, 
	#discount .my-account-side-links, 
	#module-iqitwishlist-view .my-account-side-links, 
	#module-ps_emailalerts-account .my-account-side-links,
	#module-psgdpr-gdpr .my-account-side-links {
		display: none;
	}

}


/*PRODUCT LIST*/
.product-miniature-default .product-thumbnail img {
    width: 100%;
}
.product-miniature-grid .product-functional-buttons i {
    font-size: 1.1rem;
}
.product-miniature-grid .product-add-cart {
    bottom: 0.7rem;
    top: auto;
    width: 100%;
    visibility: hidden;
    opacity: 0;
}
.product-miniature-grid .input-group-add-cart {
    justify-content: center;
}
.btn-product-list.view-product,
.btn-product-list.add-to-cart {
    width: 95% !important;
}
.product-miniature-grid:hover .product-add-cart {
    visibility: visible;
    opacity: 1;
}
.category-description-bottom {
    position: relative;
    background-color: #f1f1f1;
    padding: 3rem 0.5rem;
}

@media screen and (max-width: 767.98px) { 
    
    .product-miniature-grid .product-title {
        font-size: 0.9rem;
    }
    .product-miniature-grid .product-add-cart {
        display: none;
    }
    
}

/*PRODUCT FLAG*/
.product-miniature-default .product-flags {
    left: 10px;
    top: 10px;
}
.product-flags .product-flag {
    text-transform: uppercase;
}

@media screen and (max-width: 767.98px) { 
    
    .product-flags .product-flag {
        font-size: 0.7rem;
    }

}


/*BUTTONS*/
.btn-nostyle {
	background: none;
    outline: none;
    border: none;
	cursor: pointer;
	padding: 0;
}
.btn[class*="btn-outline"],
.btn.btn-primary:not(.elementor-button),
.btn.btn-secondary:not(.elementor-button,.btn-voucher) {
    -webkit-border-radius: var(--border-radius);
    -moz-border-radius: var(--border-radius);
    border-radius: var(--border-radius);
}
.btn:disabled, 
.btn:disabled:hover {
    opacity: 0.65 !important;
}


@media screen and (max-width: 767.98px) {
    .links {
        overflow-x: scroll;
        overflow-y: hidden;
        padding: 0 0 0.5rem;
        flex-wrap: nowrap !important;
    }
}

/*FORMS*/
.col-form-label {
    max-height: fit-content;
    padding: 0.4rem;
}
.custom-checkbox label {
    margin-bottom: 0;
}
.custom-checkbox label,
.form-control-select {
    cursor: pointer;
}
.form-group {
    position: relative;
}
.input-group.js-parent-focus {
    flex-direction: column;
}
.custom-select2~label, 
.form-floating .form-select~label {
    opacity: .65;
    transform: scale(.85) translateY(-.5rem) translateX(.15rem);
}
.custom-select2:after {
    font-family: 'Font Awesome 5 Free';
    font-weight: 600;
}
.form-floating>.form-control:focus~label::after,
.form-floating>.form-control:not(:placeholder-shown)~label::after {
    background: none;
}
.form-floating  .form-control::-webkit-input-placeholder {
    color: transparent !important;
}
.form-floating  .form-control::-moz-placeholder {
    color: transparent !important;
}
.form-floating  .form-control::placeholder {
    color: transparent !important;
}
input[name="password"] + .input-group-btn,
input[name="new_password"] + .input-group-btn {
    position: absolute;
    right: 0;
    z-index: 99;
    height: auto;
    top: 0;
}
.custom-checkbox input[type=checkbox] + span:not(.color), 
.custom-radio {
    width: 22px;
    height: 22px;
    min-width: 22px;
}
.custom-checkbox input[type=checkbox] {
    width: 22px;
    height: 22px;
}
.custom-checkbox input[type=checkbox]+span .checkbox-checked {
    top: 4px;
    font-size: 1rem;
    height: 100%;
}
.input-group>.form-control:focus {
    z-index: 0;
}
.form-control.form-search-control:focus {
    box-shadow: none;
}
#blockcart-content .cart-products .bootstrap-touchspin {
    width: 100% !important;
}
.input-group.bootstrap-touchspin {
    max-width: 125px;
    background-color: #fff;
    border: 1px solid #C6C6C6;
}
.js-cart-line-product-quantity,
.product-quantity button.bootstrap-touchspin-up,
.product-quantity button.bootstrap-touchspin-down,
.product-quantity #quantity_wanted {
    color: #000;
    border: none;
    max-width: 55px;
    text-align: center;
}
.js-cart-line-product-quantity,
.product-quantity .qty {
    width: auto;
}
.help-block {
    width: 100%;
}


/*FOOTER*/
#footer-container-main {
    padding-bottom: 7.5rem;
}
#footer-container-main .block-iqithtmlandbanners-html {
    display: flex;
    justify-content: center;
    align-items: end;
}
#footer-container-main .block-iqithtmlandbanners-html .block-content {
    width: 100%;
}
.block-iqithtmlandbanners-html:has(a:hover) a:not(:hover) {
    opacity: .5;
}

@media (max-width: 990.98px) {

    #footer-container-main {
        padding-bottom: 3rem;
    }
    #footer-container-main #iqithtmlandbanners-block-2 {
        order: 2;
        padding-top: 3rem;
    }
    #footer .block-toggle._toggled > .block-content {
        margin-top: 1rem;
    }
    .block-toggle {
        flex: 0 0 100%;
        padding-left: 2rem;
        padding-right: 2rem;
        padding-bottom: 0.3rem !important;
    }

}


/*ELEMENTOR WIDGET*/
.elementor-widget-accordion .elementor-accordion-item:not(:last-child) {
    border-bottom: 1px solid #000 !important;
}
.elementor-widget-accordion .elementor-accordion-item  {
    .elementor-accordion-title, .elementor-accordion-content {
        padding-left: 0;
        padding-right: 0;
    }
}

.column-flex {
    &.gap-1 .elementor-widget-wrap {
        gap: 1rem;
    }
    .elementor-widget-wrap {
        display: flex;
        flex-direction: column;
    }
}

.accordeon-custom-width  .elementor-accordion-item {

    .elementor-accordion-title span:nth-child(2) {
        max-width: 300px;
        display: inline-block;
    }
    .elementor-accordion-content > div {
        max-width: 880px;
    }
    &:has(.elementor-accordion-title.active) {
        .elementor-accordion-icon {
            display: none;
        }
        .elementor-accordion-title span:nth-child(2) {
            display: inline;
            --fw: 500;
            font-variation-settings: "wght" var(--fw, 300);
        }
    }  

}

@media (min-width: 991px) {

    .accordeon-active-row .elementor-accordion-item:has(.elementor-accordion-title.active) {
        display: flex;
        flex-direction: row;
        gap: 2.5rem;

        .elementor-accordion-title {
            text-wrap-mode: nowrap;
        }
        .elementor-accordion-icon {
            display: none;
        }
    }

}