.woocommerce-notices-wrapper,
.woocommerce-NoticeGroup,
.jet-woo-builder-woocommerce-checkout .woocommerce-message {
    position: fixed;
    bottom: 30px;
    right: 60px;
    z-index: 999999;
    border-radius: 0px;
    background: white;
}

.woocommerce-notices-wrapper .woocommerce-message,
.woocommerce-NoticeGroup .woocommerce-message,
.jet-woo-builder-woocommerce-checkout .woocommerce-message,
.woocommerce-notices-wrapper .woocommerce-error,
.woocommerce-NoticeGroup .woocommerce-error,
.jet-woo-builder-woocommerce-checkout .woocommerce-error {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    margin: 0;
    gap: 15px;
    background: white;
    box-shadow: 0px 0px 12px -4px rgba(0, 0, 0, 0.15);
    padding: 20px;
    border-radius: 0px;
}

.woocommerce-notices-wrapper .woocommerce-message,
.woocommerce-NoticeGroup .woocommerce-message,
.jet-woo-builder-woocommerce-checkout .woocommerce-message {
    border-top: 4px solid var(--e-global-color-secondary);
}

.woocommerce-notices-wrapper .woocommerce-error,
.woocommerce-NoticeGroup .woocommerce-error,
.jet-woo-builder-woocommerce-checkout .woocommerce-error {
    border-top: 4px solid red;
}

.woocommerce-notices-wrapper .woocommerce-message:before,
.woocommerce-NoticeGroup .woocommerce-message:before,
.jet-woo-builder-woocommerce-checkout .woocommerce-message:before,
.woocommerce-notices-wrapper .woocommerce-error:before,
.woocommerce-NoticeGroup .woocommerce-error:before,
.jet-woo-builder-woocommerce-checkout .woocommerce-error:before {
    display: none;
}

.woocommerce-error {
    max-width: 420px;
    text-align: center;
}

.woocommerce-error li {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    margin: 0;
    gap: 15px;
}

.woocommerce-message:before,
.woocommerce-error:before {
    display: none;
}

.oyopi-add-to-cart-message-buttons {
    display: flex;
    gap: 10px;
}

#billing_country_field  .woocommerce-input-wrapper {
    min-height: 37px;
}

.woocommerce-checkout .woocommerce-billing-fields .woocommerce-input-wrapper {
    display: block;
    position: relative;
}

.woocommerce-checkout .woocommerce-billing-fields .woocommerce-input-wrapper:before {
    content: '';
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    height: 100%;
    background-color: rgba(114, 114, 114, 0.08);
    z-index: 1;
    cursor: not-allowed;
    animation: widthOpen 0.3s ease-in-out;
    margin: auto;
}

.woocommerce-checkout .woocommerce-billing-fields .woocommerce-input-wrapper[data-disabled="false"]:before {
    animation: InputEnabled 0.3s ease-in-out;
    width: 0;
}

.woocommerce-checkout .woocommerce-billing-fields .woocommerce-input-wrapper[data-disabled="true"]:before {
    animation: InputDisabled 0.3s ease-in-out;
    width: 100%;
    height: 100%;
}

@keyframes InputDisabled{
    0% {
        width: 0;
    }
    100% {
        width: 100%;
    }
}

@keyframes InputEnabled {
    0% {
        width: 100%;
    }
    100% {
        width: 0;
    }
}

.woocommerce-checkout .woocommerce-billing-fields .woocommerce-input-wrapper[data-disabled="true"] input {
    pointer-events: none;
    color: rgba(114, 114, 114, 1);
}

.woocommerce-checkout .woocommerce-billing-fields .woocommerce-input-wrapper:after {
    content: '';
    display: none;
    width: 100%;
    height: 1px;
    background-color: var(--e-global-color-cfa1f76);
}

.woocommerce-checkout .woocommerce-billing-fields input:disabled {
    background-color: var(--e-global-color-cfa1f76) !important;
    cursor: not-allowed;
}

.woocommerce-notices-wrapper .woocommerce-message .button.wc-forward,
.woocommerce-notices-wrapper .woocommerce-error .button.wc-forward,
.woocommerce-NoticeGroup .woocommerce-message .button.wc-forward,
.woocommerce-NoticeGroup .woocommerce-error .button.wc-forward,
.jet-woo-builder-woocommerce-checkout .woocommerce-message .button.wc-forward,
.jet-woo-builder-woocommerce-checkout .woocommerce-error .button.wc-forward {
    color: white;
    background-color: var(--e-global-color-primary);
    font-family: var(--e-global-typography-text-font-family);
    font-weight: 400;
    font-size: 14px;
}

.woocommerce-notices-wrapper .woocommerce-message .button.wc-forward:hover,
.woocommerce-notices-wrapper .woocommerce-error .button.wc-forward:hover,
.woocommerce-NoticeGroup .woocommerce-message .button.wc-forward:hover,
.woocommerce-NoticeGroup .woocommerce-error .button.wc-forward:hover,
.jet-woo-builder-woocommerce-checkout .woocommerce-message .button.wc-forward:hover,
.jet-woo-builder-woocommerce-checkout .woocommerce-error .button.wc-forward:hover {
    color: white;
    background-color: var(--e-global-color-secondary);
}

.woocommerce div.product .single_variation_wrap .woocommerce-variation-availability .stock,
.woocommerce div.product .jet-woo-builder-single-ajax-add-to-cart .stock,
.woocommerce div.product .single_variation .woocommerce-variation-availability .stock,
.elementor-widget-woocommerce-product-stock .stock {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    font-size: 16px;
    color: var(--e-global-color-secondary);
    padding: 10px 0px 15px 0px;
    gap: 10px;
}

.stock:after {
    content: '';
    display: block;
    width: 16px;
    height: 16px;
    border-radius: 50%;
}

.stock.in-stock:after {
    background-color: green;
}

.stock.out-of-stock:after {
    background-color: red;
}

.stock.available-on-backorder:after {
    background-color: orange;
}


.flex-direction-nav {
    position: absolute;
    left: 0;
    list-style: none;
    padding: 0;
    display: block;
    width: 100%;
    bottom: 90px;
    z-index: 9;
}

.flex-direction-nav .flex-nav-prev {
    position: absolute;
    left: -15px;
}

.flex-direction-nav .flex-nav-next {
    position: absolute;
    right: -15px;
}

.flex-direction-nav .flex-nav-prev a svg,
.flex-direction-nav .flex-nav-next a svg {
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
    color: var(--e-global-color-primary);
    width: 36px;
    height: 36px;

    &:hover {
        color: var(--e-global-color-secondary);
    }
}

.flex-direction-nav .flex-nav-prev a,
.flex-direction-nav .flex-nav-next a {
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, 1);
    border-radius: 50%;
    width: 42px;
    height: 42px;
}

.flex-direction-nav .flex-nav-prev a {
    box-shadow: 6px 0 10px -4px rgba(0, 0, 0, 0.2);
}

.flex-direction-nav .flex-nav-next a {
    box-shadow: -6px 0 10px -4px rgba(0, 0, 0, 0.2);
}

.woocommerce div.product .woocommerce-product-gallery ol.flex-control-nav.flex-control-thumbs {
    display: flex;
    justify-content: flex-start;
    flex-wrap: nowrap;
    overflow: hidden;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    scroll-snap-align: start;
    -ms-overflow-style: -ms-autohiding-scrollbar;
    padding: 0px 5px;
}

.woocommerce div.product div.images .flex-control-thumbs li img {
    opacity: 0.3;
}

.woocommerce div.product .woocommerce-product-gallery .flex-control-thumbs li img {
    outline: 5px solid transparent;
}

.woocommerce div.product .woocommerce-product-gallery .flex-control-thumbs li img.flex-active {
    outline-color: var(--e-global-color-670fda6);
}

@media screen and (max-width: 47.999em) {
    .woocommerce div.product .woocommerce-product-gallery .flex-control-thumbs li img.flex-active {
        border: 2px solid var(--e-global-color-primary);
    }
}

.woocommerce div.product ul[data-attribute_name="attribute_pa_couleurs"] .variable-item-span.variable-item-span-button {
    display: flex;
    align-items: center;
    gap: 5px;
}

.woocommerce div.product ul[data-attribute_name="attribute_pa_couleurs"] .variable-item-span.variable-item-span-button::after {
    content: "";
    height: 24px;
    width: 24px;
    border: 2px solid var(--border-color-attribute);
    display: block;
    border-radius: 50%;
    background: var(--bg-color-attribute);
}

.woocommerce div.product ul[data-attribute_name="attribute_pa_couleurs"] .variable-item.button-variable-item.selected .variable-item-span.variable-item-span-button::after {
    border-color: white;
}

.points-conversion-form {
    padding: 30px 30px;
    background-color: white;
    border-radius: 8px;
    max-width: 1280px;
    margin: 30px auto 30px auto;
    box-shadow: 0 0 18px -4px rgba(0, 0, 0, 0.1);
}

.points-conversion-form-header {
    font-size: 1.2rem;
    font-weight: 600;
    margin-bottom: 20px;
    text-align: center;
    color: #000;
    width: 100%;
}

.points-conversion-form-header span {
    color: var(--e-global-color-d49ac81);
}

.points-conversion-form form {
    display: flex;
    flex-direction: column;
    gap: 10px;
    justify-content: flex-start;
    align-items: flex-start;
    padding: 30px;
    background-color: #fff;
    border-radius: 5px;
}

.code-coupon-content {
    padding: 30px 60px;
    background-color: white;
    border-radius: 8px;
    max-width: 1280px;
    margin: 30px auto;
    box-shadow: 0 0 18px -4px rgba(0, 0, 0, 0.1);
}

.coupon-list {
    list-style: none;
    padding: 0;
}

.coupon-item {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 15px;
    padding: 15px 0;
    font-size: 1rem;
}

.coupon-item:not(:last-child) {
    border-bottom: 1px solid var(--e-global-color-4d462f5);
}


.copy-coupon {
    width: 24px;
    height: 24px;
    cursor: pointer;
    color: var(--e-global-color-primary);
    fill: var(--e-global-color-primary);
}

.coupon-code {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0;
    font-weight: 600;
    color: var(--e-global-color-d49ac81);
    text-transform: uppercase;
    font-size: 1.1rem;
    width: 205px;
}

.coupon-amount span,
.coupon-expiry span,
.coupon-used span {
    color: var(--e-global-color-d49ac81);
    font-weight: 600;
}

.woocommerce-page .woocommerce .blockUI.blockOverlay::before {
    background: none;
    border-radius: 50%;
    border: 3px solid var(--e-global-color-7609c99);
    border-top-color: transparent;
}

.coupon-code-container {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

#shipping_address_1_field .woocommerce-input-wrapper.osmloading:before {
    content: '';
    display: block;
    position: absolute;
    width: 20px;
    height: 20px;
    top: calc(50% - 10px);
    right: 5px;
    border-radius: 50%;
    border: 3px solid var(--e-global-color-7609c99);
    border-top-color: transparent;
    animation: spin 1s linear infinite;
    z-index: 1;
}

@keyframes spin {
    0% {
        transform: rotate(0deg);
    }
    100% {
        transform: rotate(360deg);
    }
}

#autoCompleteResultContainer {
    display: none;
    position: absolute;
    top: calc(100% + 2px);
    left: 0;
    width: 100%;
    background-color: #fff;
    z-index: 1000;
    padding: 10px;
    border-radius: 5px;
    box-shadow: 0 12px 18px -4px rgba(0, 0, 0, 0.1);
}

#autoCompleteResultContainer ul#autoCompleteResultList {
    display: flex;
    flex-direction: column;
    z-index: 999;
    position: relative;
    list-style: none;
    padding: 0;
    margin: 0;
    max-height: 300px;
    overflow-y: auto;
    color: var(--e-global-color-secondary);
}

#autoCompleteResultContainer ul#autoCompleteResultList li {
    padding: 10px;
    cursor: pointer;
    border-radius: 3px;
}

#autoCompleteResultContainer ul#autoCompleteResultList li:hover {
    background-color: #f0f0f0;
}

#autoCompleteResultContainer ul#autoCompleteResultList li:not(:last-child) {
    border-bottom: 1px solid #e0e0e0;
}

.close-overlay {
    display: block;
    position: fixed;
    inset: 0;
    z-index: 99;
}

.woocommerce .elementor-widget-wc-add-to-cart form.cart button.single_add_to_cart_button {
    display: flex;
    gap: 10px;
    justify-content: center;
}

#custom-save-cart.disabled a,
#custom-save-cart.disabled a:hover,
#custom-save-cart.disabled a:focus{
    cursor: not-allowed;
    background-color: var( --e-global-color-primary );
}

#custom-save-cart.disabled a .elementor-button-text {
    display: flex;
    align-items: center;
    gap:10px;
}

.woocommerce .informations-complementaires #documents .jet-listing-dynamic-field .jet-listing-dynamic-field__inline-wrap,
.woocommerce .informations-complementaires #documents .jet-listing-dynamic-field .jet-listing-dynamic-field__content,
.single-sav #documents .jet-listing-dynamic-field .jet-listing-dynamic-field__content,
.single-sav #documents .jet-listing-dynamic-field .jet-listing-dynamic-field__inline-wrap
{
    width: 100%;
}

.woocommerce #documents .documents-container,
.single-sav #documents .documents-container{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
    width:100%;
}

.woocommerce #documents .documents-container .document-item,
.single-sav #documents .documents-container .document-item {
    display:flex;
    justify-content:center;
    align-items:center;
    width:33.33%;
    background-color: rgba(0, 67, 110, 0.03);
    padding:5px 10px;
    border-radius:8px;
    gap:5px;
}

.woocommerce #documents .documents-container .document-item img,
.single-sav #documents .documents-container .document-item img {
    display:block;
    width:42px;
    height:42px;
    border-radius:6px;
}

.woocommerce #documents .documents-container .document-item span,
.single-sav #documents .documents-container .document-item span {
    flex:1;
    text-align:center;
    font-size:14px;
    text-transform:uppercase;
    color:var( --e-global-color-primary );
}

.single-sav #documents .documents-container .document-item:hover,
.woocommerce #documents .documents-container .document-item:hover{
    background-color: var(--e-global-color-primary);
}

.single-sav #documents .documents-container .document-item:hover span,
.woocommerce #documents .documents-container .document-item:hover span{
    color: white;
}

.woocommerce .my-coupon-container {
    display: flex;
    flex-direction: column;
    gap: 5px;
    margin-bottom: 10px;
}

.my-coupon-select-container {
    display: flex;
    gap: 5px;
}

.my-coupon-select {
    width: 100%;
    border-style: solid;
    border-width: 1px 1px 1px 1px;
    border-color: var(--e-global-color-4d462f5);
    border-radius: 5px 5px 5px 5px;
    font-size: 16px;
    font-weight: 500;
    text-transform: none;
    font-style: normal;
    line-height: 1.4em;
    color: var( --e-global-color-primary );
    background-color: var( --e-global-color-5fffa01 );
}

.my-coupon-label {
    font-weight: 600;
    color: var(--e-global-color-d49ac81);
    font-size: 1rem;
}

.woocommerce-input-wrapper.woocommerce-input-wrapper-coupon {
    display: flex;
    align-items: stretch;
    gap: 5px;
    justify-content: center;
}

.dot-flashing {
    position: relative;
    width: 10px;
    height: 10px;
    border-radius: 5px;
    background-color: white;
    color: white;
    animation: dot-flashing 1s infinite linear alternate;
    animation-delay: 0.5s;
    margin-left: 15px;
}

.dot-flashing::before,
.dot-flashing::after {
    content: "";
    display: inline-block;
    position: absolute;
    top: 0;
}

.dot-flashing::before {
    left: -15px;
    width: 10px;
    height: 10px;
    border-radius: 5px;
    background-color: white;
    color: white;
    animation: dot-flashing 1s infinite alternate;
    animation-delay: 0s;
}

.dot-flashing::after {
    left: 15px;
    width: 10px;
    height: 10px;
    border-radius: 5px;
    background-color: white;
    color: white;
    animation: dot-flashing 1s infinite alternate;
    animation-delay: 1s;
}

@keyframes dot-flashing {
    0% {
        background-color: white;
    }

    50%,
    100% {
        background-color: rgba(152, 128, 255, 0.2);
    }
}

body:not(.elementor-editor-active) .save-cart-message {
    display: none;
}

.alert {
    display: flex;
    padding: 10px;
    align-items: center;
    gap: 10px;
    margin-bottom: 10px;
}

.alert.alert-danger {
    background: #fff5f5;
    color: #c92a2a;
}

.alert.alert-success {
    background: #ebfbee;
    color: #2b8a3e;
}

.connect_account_dialog_buttons {
    display:flex;
    gap:10px;
    justify-content:space-between;
    margin-top: 10px;
}

.login_modal_button {
    display:flex;
    align-items:center;
    gap:10px;
    margin-top: 10px;
}

.login_modal_button p {
    margin:0;
}

#checkout-jet-tabs #show_modal_connect_account{
    background-color: #F5F5F700;
    font-family: var(--e-global-typography-text-font-family);
    font-size: 14px;
    font-weight: 500;
    color: var( --e-global-color-d49ac81 );
    border-style: solid;
    border-width: 1px 1px 1px 1px;
    border-color: var( --e-global-color-d49ac81 );
    border-radius: 5px 5px 5px 5px;
    padding: 6px 12px;
}


#connect_account_dialog {
    background:transparent;
    border:none;
    padding:0;
    width:100%;
    max-width:420px;
}

#connect_account_dialog .connect_account_dialog_content {
    display:flex;
    flex-direction:column;
    gap:10px;
    padding:20px;
    border-radius:8px;
    box-shadow:0 0 18px -4px rgba(0,0,0,0.1);
    background-color:white;
    width:100%;
}

#connect_account_dialog .connect_account_dialog_content h2 {
    margin:0;
}

#connect_account_dialog .nsl-container-buttons {
    width:100%;
    padding:0;
}

.order-addresses {
    display: flex;
    gap: 30px;
}

.order-addresses section {
    display: flex;
    flex-direction: column;
    gap: 10px;
}