.header-nav #_desktop_logo,
#search_widget {
    margin-top: 10px;
}

#_desktop_user_info .dsi-user-menu a {
    display: flex;
    justify-content: space-around;
}

#_desktop_user_info .dsi-user-menu a i.fa {
    margin-top: 4px;
}

#_desktop_user_info .dsi-user-menu .dsi-logout-action:hover {
    background: #e23333;
    color: #FFF;
}

#header {
    margin-top: 20px;
    box-shadow: none;
}

.container {
    width: 100%;
    padding-left: 15px;
    padding-right: 15px;
}


/* Tablets */

@media (min-width: 768px) {
    .container {
        max-width: 720px;
    }
}


/* Small desktops */

@media (min-width: 992px) {
    .container {
        max-width: 960px;
    }
}


/* Large desktops*/

@media (min-width: 1200px) {
    .container {
        max-width: 100%;
    }

    #carousel,
    .dsi-home-categories,
    .ets_baw_display_banner.displayhome,
    #footer .container #blockEmailSubscription_displayFooterBefore,
    #category .block-category {
        margin-inline: 200px;
    }

    #footer .footer-container .col-md-3.links.wrapper.dsi-block {
        margin-left: 150px;
    }

    #footer .footer-container.block-contact.col-md-3.links.wrapper {
        margin-left: 200px;
    }

    .block.ets_block_latest.ets_blog_ltr_mode.page_home.ets_block_slider {
        padding-inline: 200px;
    }
}

.carousel .carousel-inner {
    height: 350px;
}

#index #carousel .icon-next,
#index #carousel .icon-prev {
    display: none;
}

#header .header-nav .right-nav {
    justify-content: start;
}

@media only screen and (min-width: 992px) {
    #search_widget {
        min-width: 80%;
        margin-right: 20px;
    }
}


/* Fix search icon position inside input */

#search_widget form {
    position: relative;
}

#search_widget input[type="text"] {
    width: 100%;
    padding-right: 42px;
    /* space for the icon */
}

#search_widget .material-icons.search {
    position: absolute;
    right: 40px;
    top: 35%;
    transform: translateY(-50%);
    font-size: 25px;
    color: #777;
    pointer-events: none;
}

#search_widget form input {
    background-color: #e5e5e5;
    padding: 5px 5px 5px 20px;
}

#header .header-top .position-static {
    position: static;
    width: 100%;
    background-color: #12a8be;
}

#header .header-top a[data-depth="0"] {
    color: #FFF;
}

#header .top-menu a[data-depth="0"]:hover,
a:hover {
    color: #192b4d;
}

#_desktop_top_menu ul#top-menu {
    display: flex;
    justify-content: space-around;
}

#header .header-nav .blockcart {
    background: none;
}

.header,
#header .header-nav .cart-preview.active,
#wrapper {
    background: transparent !important;
    background-color: transparent !important;
}

.cart-products-count {
    color: #12a8be;
}

#header .header-nav .user-info {
    margin-top: 0.738rem;
    margin-left: 1rem;
}

.dsi-user-dropdown {
    position: relative;
}

.dsi-user-toggle {
    display: inline-flex;
    align-items: center;
    cursor: pointer;
}

.dsi-user-menu {
    position: absolute;
    top: 100%;
    right: 0;
    min-width: 160px;
    background: #fff;
    border: 1px solid #eee;
    box-shadow: 0 6px 20px rgba(0, 0, 0, .08);
    display: none;
    z-index: 1000;
}

.dsi-user-menu a {
    display: block;
    padding: 10px 14px;
    color: #333;
    text-decoration: none;
    font-size: 14px;
}

.dsi-user-menu a:hover {
    background: #f5f5f5;
}


/* Show dropdown on hover (desktop safe) */

.dsi-user-dropdown:hover .dsi-user-menu {
    display: block;
}

.dsi-nav2-icons {
    display: flex;
}

.dsi-nav2-icons .dsi-nav2-icon-wrapper {
    height: 3rem;
    padding: .75rem;
    margin-left: .9375rem;
    text-align: center;
    white-space: nowrap;
}

.dsi-nav2-icons .dsi-nav2-icon img {
    vertical-align: middle;
    margin-top: 0.8rem;
    margin-inline: 15px;
}

#mobile_top_menu_wrapper {
    background-color: rgb(19, 168, 189);
}

#header .header-nav {
    border: none;
}

.ui-autocomplete.ui-front.ui-menu.ui-widget.ui-widget-content {
    border-color: currentcolor rgb(18, 168, 190) rgb(18, 168, 190);
    border-image: none;
    border-radius: 0px;
}


/*Blog*/

.block.ets_block_latest.ets_blog_ltr_mode.page_home.ets_block_slider {
    background: transparent;
}

.block.ets_block_latest .title_blog {
    margin-bottom: 30px;
    border-bottom: 2px solid #1aa6b7;
    display: inline-block;
    width: 100%;
    color: #1aa6b7;
    padding-bottom: 5px;
    font-size: larger;
}

.block.ets_block_latest .ets_item_img img {
    border-top-left-radius: 15px;
    border-top-right-radius: 15px;
}

.ets-blog-sidear-post-meta {
    display: block;
}

.block.ets_block_latest .ets_title_block {
    display: none;
}

.block.ets_block_latest .blog_description {
    padding-top: 20px;
}

.ets_item_img {
    background-color: transparent !important;
}

.block.ets_block_latest .ets-blog-latest-post-content {
    background-color: #FFF;
    border: 2px solid #12a8be;
    border-radius: 15px;
    padding: 10px;
}

.block.ets_block_latest a.read_more {
    font-style: normal;
    color: #FFF;
    border-bottom: none;
    background: #0faaba;
    padding: 10px;
    border-radius: 12px;
    box-shadow: rgba(0, 0, 0, 0.19) 0px 10px 20px, rgba(0, 0, 0, 0.23) 0px 6px 6px;
}

.block.ets_block_latest a.read_more:hover {
    background: #0c8f9c;
    /* darker teal */
    box-shadow: rgba(0, 0, 0, 0.25) 0px 14px 28px, rgba(0, 0, 0, 0.22) 0px 10px 10px;
    transform: translateY(-3px);
    color: #fff;
}


/** Banners **/


/* Banner wrapper */

.ets-baw-banner-wrapper {
    position: relative;
    width: 100%;
}


/* Image container */

.ets-baw-banner-image {
    position: relative;
    width: 100%;
    min-height: 320px;
    background-size: cover;
    background-position: center;
    border-radius: 12px;
    overflow: hidden;
}


/* For <img> mode */

.ets-baw-banner-image img {
    width: 100%;
    height: auto;
    display: block;
}


/* Overlay text container */

.ets-baw-content-overlay {
    position: absolute;
    top: 50%;
    right: 0;
    width: 50%;
    transform: translateY(-50%);
    padding: 40px;
    color: #fff;
    z-index: 2;
}


/* Typography inside overlay */

.ets-baw-content-overlay h1,
.ets-baw-content-overlay h2,
.ets-baw-content-overlay h3 {
    color: #fff;
    font-weight: 700;
    margin-bottom: 15px;
}

.ets-baw-content-overlay p {
    font-size: 16px;
    line-height: 1.6;
}


/* Mobile responsiveness */

@media (max-width: 768px) {
    .ets-baw-content-overlay {
        width: 100%;
        left: 40%;
        top: 20%;
        padding: 25px;
        text-align: center;
    }

    .ets-baw-content-overlay::before {
        background: rgba(0, 0, 0, 0.5);
    }
}


/*Footer */

#blockEmailSubscription_displayFooterBefore {
    float: inline-start;
}

.block_newsletter {
    margin-bottom: 50px;
}

.block_newsletter form input[type="email"] {
    background: #f0f0f0;
    border: none;
    border-top-left-radius: 10px;
    border-bottom-left-radius: 10px;
}

.block_newsletter form input[type="submit"] {
    margin: 0 !important;
    border-top-right-radius: 10px;
    border-bottom-right-radius: 10px;
    font-size: small;
    text-transform: capitalize;
    background-color: #11a9be;
}

.block_newsletter form input[type="email"]:focus {
    border-color: #11a9be;
}

#footer .block_newsletter {
    margin-bottom: 40px !important;
    padding-bottom: 20px !important;
}

#footer .footer-container {
    margin-top: 30px !important;
    padding-top: 30px !important;
}

.owl-prev,
.owl-next {
    position: relative !important;
    background: white !important;
    border: 2px solid #1aa0af !important;
    border-radius: 50% !important;
    width: 50px !important;
    height: 50px !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
}


/* Flèche gauche */

.owl-prev::before {
    content: "" !important;
    position: absolute !important;
    width: 12px !important;
    height: 12px !important;
    border-left: 3px solid #1aa0af !important;
    border-bottom: 3px solid #1aa0af !important;
    transform: rotate(45deg) !important;
    left: 18px !important;
    top: 16px !important;
}


/* Flèche droite */

.owl-next::before {
    content: "" !important;
    position: absolute !important;
    width: 12px !important;
    height: 12px !important;
    border-right: 3px solid #1aa0af !important;
    border-bottom: 3px solid #1aa0af !important;
    transform: rotate(-45deg) !important;
    right: 18px !important;
    top: 16px !important;
}


/* Hover */

.owl-prev:hover,
.owl-next:hover {
    background: #1aa0af !important;
}

.owl-prev:hover::before {
    border-left-color: white !important;
    border-bottom-color: white !important;
}

.owl-next:hover::before {
    border-right-color: white !important;
    border-bottom-color: white !important;
}


/* Footer container */

.footer-container {
    background: #f5f5f5;
    padding: 50px 0 30px 0;
}

.footer-container>.container>.row:first-child {
    display: flex;
    justify-content: space-around;
    align-items: flex-start;
}


/* Footer colonnes */


/*.footer-container .col-md-3 {
    padding: 0 25px;
}*/

.dsi-footer-logo img {
    max-width: 200px;
}

.dsi-footer-block {
    padding: 10px;
    color: #7a7a7a;
    font-size: 14px;
    line-height: 1.6;
    text-align: justify;
}

.dsi-footer-block a {
    color: #1aa0af;
    text-decoration: none;
}

.dsi-footer-block a:hover {
    text-decoration: underline;
}

#footer #contact-infos {
    text-align: left;
    color: #666;
    font-size: 14px;
    line-height: 1.8;
}

.block-contact-title,
.footer-container .h3 {
    color: #333;
    font-size: 16px;
    font-weight: 700;
    text-transform: uppercase;
    margin-bottom: 20px;
}

.footer-container ul {
    padding: 0;
    list-style: none;
}

.footer-container ul li {
    margin-bottom: 10px;
}

.footer-container ul li a {
    color: #666;
    text-decoration: none;
}

.footer-container ul li a:hover {
    color: #1aa0af;
}


/* Copyright */

#footer .dsi-copyright-block {
    background-color: #13a8be;
    padding: 5px 0;
}

#footer .dsi-copyright-block p {
    color: #fff;
    margin-block: 10px;
    text-align: center;
}

#footer .dsi-copyright-block p a {
    color: #FFF;
    font-weight: bold;
    font-size: large;
}


/* Masquer éléments vides */

.block-social,
.wishlist-add-to,
.wishlist-delete,
.wishlist-create,
.wishlist-login {
    display: none;
}


/* Category Page */

#category .subcategories-grid {
    display: flex;
    gap: 20px;
    flex-wrap: wrap;
}

#category .subcategories-grid li {
    position: relative;
    padding: 20px 25px;
    background: linear-gradient(135deg, #f5f7fa, #eceff3);
    border-radius: 18px;
    min-width: 320px;
    max-height: 150px;

    display: flex;
    align-items: center;
    gap: 15px;

    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.06);
    transition: all 0.3s ease;
    cursor: pointer;
    overflow: hidden;
}


#category .subcategories-grid li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 6px;
    height: 100%;
    background: linear-gradient(180deg, #1aa3b5, #21cae0);
    border-radius: 18px 0 0 18px;
}


#category .subcategories-grid li:hover {
    transform: translateY(-5px);
    box-shadow: 0 14px 30px rgba(0, 0, 0, 0.12);
    background: linear-gradient(135deg, #ffffff, #f1f5f9);
}

/* Texte catégorie */
#category .subcategories-grid li a {
    font-weight: 600;
    font-size: 1.05rem;
    color: #1f2937;
    text-decoration: none;
}

/* Optionnel : description */
#category .subcategories-grid li p {
    font-size: 0.9rem;
    color: #6b7280;
    margin: 0;
}

/* Responsive */
@media (max-width: 768px) {
    #category .subcategories-grid li {
        min-width: 100%;
    }
}

#category .breadcrumb {
    display: none !important;
}

#category .block-category h1 {
    color: #12a8be;
    border-bottom: 2px solid #12a8be;
    padding-bottom: 5px;
}

#category #carousel {
    margin-bottom: 0;
}

#category .block-category {
    padding-left: 0 !important;
    background: transparent !important;
}

#category .subcategories-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
    list-style: none;
    padding: 0;
}

#category .subcategories-grid li {
    padding: 15px;
    background: #ebebed;
    border-radius: 20px;
    min-width: 350px;
    max-height: 150px;
    display: flex;
    align-items: center;
}

#category .dsi-sub-cat-card {
    width: 100%;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
}

#footer .block_newsletter {
    margin-bottom: 40px !important;
    padding-bottom: 20px !important;
}

.block_newsletter {
    margin-bottom: 50px;
}

#footer .footer-container {
    margin-top: 30px !important;
    padding-top: 30px !important;
    padding-bottom: 0;
}

#category .dsi-sub-cat-card .col-md-6 {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    height: 100%;
}

#category .dsi-sub-cat-card h3 {
    text-align: start;
    white-space: nowrap;
    margin: 0 0 70px 0;
}

#category .dsi-sub-cat-card a {
    align-self: flex-start;
    margin-top: auto;
    display: block;
    text-decoration: none;
    color: #000;
    font-weight: 600;
}

#subcategories {
    border: none;
}

#category .dsi-sub-cat-card a:hover {
    color: #192c50;
    font-size: larger;
}

@media (max-width: 991px) {
    .carousel .carousel-inner {
        height: auto;
    }

    #category .subcategories-grid {
        grid-template-columns: 1fr;
        gap: 15px;
    }

    #category .subcategories-grid li {
        min-width: auto;
        max-height: none;
        padding: 30px;
        width: 100%;
    }

    #category .dsi-sub-cat-card {
        flex-direction: column;
        align-items: flex-start;
    }

    #category .dsi-sub-cat-card .col-md-6 {
        width: 100%;
        padding: 0;
    }

    #category .dsi-sub-cat-card h3 {
        margin: 0 0 10px 0;
        white-space: normal;
    }

    #category .dsi-sub-cat-card a {
        margin-bottom: 15px;
        font-size: 14px;
    }

    #category .dsi-sub-cat-card picture,
    #category .dsi-sub-cat-card img {
        display: block;
        margin: 0 auto;
        max-width: 120px;
        height: auto;
    }
}

@media (max-width: 575px) {
    #category .dsi-sub-cat-card h3 {
        font-size: 18px;
    }

    #category .dsi-sub-cat-card a {
        font-size: 13px;
    }
}

.ets_block_slider .owl-nav>div:hover {
    background-color: #1aa0af !important;
}


/* ==============================
   Footer Blocks – Titles with Line
   ============================== */

.dsi-block,
.block-contact,
.col-md-3.links {
    position: relative;
}


/* ===== Generic footer title ===== */

.footer-block-title,
.block-contact-title,
.col-md-3.links .h3.hidden-sm-down {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 15px;
    /*margin-bottom: 20px;*/
    color: #9a9a9a !important;
    background: transparent;
    padding-right: 10px;
    min-height: 37px;
}


/* Line AFTER the title only */

.footer-block-title::after,
.block-contact-title::after,
.col-md-3.links .h3.hidden-sm-down::after {
    content: "";
    flex: 1;
    height: 1px;
    background: #d0d0d0;
}


/* Title content (text or logo) */

.footer-block-title>*,
.block-contact-title>*,
.col-md-3.links .h3.hidden-sm-down>* {
    position: relative;
    z-index: 1;
    color: #9a9a9a;
}


/* ===== Logo as title ===== */

.dsi-footer-logo {
    display: flex;
    align-items: center;
}

.dsi-footer-logo img {
    max-height: 45px;
    width: auto;
}


/* ===== Mobile behavior ===== */

@media (max-width: 768px) {

    .footer-block-title::after,
    .block-contact-title::after,
    .col-md-3.links .h3.hidden-sm-down::after {
        display: none;
    }
}

.footer-container .h3,
.footer-container .h4,
.col-md-3.links .h3.hidden-sm-down {
    margin-bottom: 10px !important;
}

.page-content.page-not-found {
    display: none;
}

#top-menu .sub-menu.js-sub-menu {
    border-bottom: 5px solid #12a8be;
}

#registration .register-form {
    background: whitesmoke;
    padding: 20px;
    border-radius: 20px;
    text-align: center;
}


/** Customer order details **/

#dsi-customer-order-return-section {
    /*border-top: 1px solid #80808096;*/
    margin-top: 30px;
}

.dsi-customer-section-title,
.dsi-main-product-title {
    margin-bottom: 30px;
    border-bottom: 2px solid #1aa6b7;
    display: inline-block;
    width: 100%;
    color: #1aa6b7;
    padding-bottom: 5px;
    font-size: larger;
}

.dsi-customer-invoice-action {
    margin: 20px !important;
}

.dsi-form-return-images {
    padding: 20px;
    border: 1px solid #bababa;
    background: #f6f6f6;
}


/** PRODUCT PAGE **/

.dsi-main-product-title {
    margin-top: 30px;
    font-size: 30px;
}

#product .product-information {
    background: transparent;
    padding: 20px;
    border-radius: 10px;
    border-bottom-right-radius: 0;
    border-bottom-left-radius: 0;
}

#product .product-information .product-description p {
    color: #000 !important;
    line-height: initial;
    font-weight: 600;
}


/* Guest user styling */

.product-info-guest {
    background: #80808026;
    padding: 30px;
    border-radius: 8px;
    text-align: center;
    margin: 20px 0;
}

.login-prompt {
    display: flex;
    align-items: center;
    gap: 20px;
    margin-bottom: 30px;
    padding: 25px;
    background: white;
    border-radius: 8px;
    box-shadow: rgba(0, 0, 0, 0.07) 0px 1px 1px, rgba(0, 0, 0, 0.07) 0px 2px 2px, rgba(0, 0, 0, 0.07) 0px 4px 4px, rgba(0, 0, 0, 0.07) 0px 8px 8px, rgba(0, 0, 0, 0.07) 0px 16px 16px;
}

.prompt-content {
    border-right: 1px solid #8080802b;
}

.prompt-content h3 {
    color: #333;
    margin-bottom: 10px;
}

.prompt-content p {
    color: #666;
    margin-bottom: 20px;
}

.prompt-actions {
    display: flex;
    gap: 15px;
    justify-content: center;
}

.guest-info {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 20px;
}

.info-card {
    background: white;
    padding: 20px;
    border-radius: 8px;
    text-align: left;
}

.info-card h4 {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 15px;
    color: #333;
}

.info-card ul {
    list-style: none;
    padding: 0;
}

.info-card li {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 0;
    color: #666;
}

.info-card li i {
    color: #1aa6b7;
    font-size: large;
}

#product .product-info-guest .dsi-login-product-action {
    margin-top: 20px;
    width: 60%;
    border-radius: 10px;
}

#product .product-info-guest small {
    color: gray;
    font-size: smaller;
}


/* Product References Container */

.product-description-container p {
    margin: 10px;
}

.product-references-container,
.product-description-container,
.product-brand-container {
    padding: 0;
    margin: 0 0 10px;
    overflow: hidden;
    transition: box-shadow 0.3s ease;
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
}


/*.product-references-container:hover,
.product-description-container:hover,
.product-brand-container:hover {
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.12);
}*/

#product .product-brand-container .product-manufacturer {
    margin: 15px;
}

#product .product-brand-container .product-reference {
    display: none;
}


/* Header */

.references-title,
.product-description-title,
.product-brand-title {
    background: linear-gradient(135deg, #1aa6b7 0%, #cdebef 100%);
    color: white;
    margin: 0;
    padding: 18px 24px;
    font-size: 18px;
    font-weight: 600;
    display: flex;
    align-items: center;
    gap: 12px;
    border-bottom: none;
}

.references-title i {
    font-size: 20px;
    opacity: 0.9;
}


/* Content wrapper */

.references-content {
    padding: 0;
}


/* References list */

.product-references-list {
    list-style: none;
    margin: 0;
    padding: 0;
}


/* Individual reference items */

.reference-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 5px 24px;
    border-bottom: 1px solid #f0f2f4;
    transition: all 0.2s ease;
    position: relative;
}

.reference-item:last-child {
    border-bottom: none;
}

.reference-item:hover::before {
    opacity: 1;
}


/* Labels */

.reference-label {
    font-weight: 500;
    color: #2c3e50;
    font-size: 14px;
    line-height: 1.4;
}


/* Values */

.reference-value {
    font-family: 'SF Mono', 'Monaco', 'Inconsolata', 'Roboto Mono', 'Courier New', monospace;
    font-size: 14px;
    font-weight: 600;
    color: #2c3e50;
    background: #f8f9fa;
    padding: 8px 12px;
    border-radius: 6px;
    border: 1px solid #e9ecef;
    min-width: 120px;
    text-align: right;
}


/* Special styling for manufacturer */

.manufacturer-ref .reference-value {
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    font-weight: 600;
    background: linear-gradient(135deg, #e3f2fd, #bbdefb);
    border-color: #90caf9;
    color: #1565c0;
}


/* Mobile responsiveness */

@media (max-width: 768px) {
    .product-references-container {
        margin: 20px 0;
        border-radius: 8px;
    }

    .references-title {
        padding: 16px 20px;
        font-size: 16px;
    }

    .reference-item {
        flex-direction: column;
        align-items: flex-start;
        gap: 12px;
        padding: 16px 20px;
    }

    .reference-value {
        width: 100%;
        text-align: left;
        min-width: auto;
    }
}

@media (max-width: 480px) {
    .product-references-container {
        margin: 15px 0;
    }

    .references-title {
        padding: 14px 16px;
        font-size: 15px;
        gap: 8px;
    }

    .reference-item {
        padding: 14px 16px;
    }

    .reference-label {
        font-size: 13px;
    }

    .reference-value {
        font-size: 13px;
        padding: 6px 10px;
    }
}

#product .product-flags {
    position: relative;
    display: flex;
    flex-direction: row;
    gap: 20px;
}

#product .product-flag.dsi-manu-flag {
    background: transparent;
    max-width: 100px;
    border: none !important;
}

#product .product-prices {
    display: flex;
    font-size: larger;
}

.product-flag.stock.available {
    background: #4cbb6c;
}

#product .product-additional-info.js-product-additional-info {
    padding-top: 30px;
}

#product .product-additional-info.js-product-additional-info,
#product .product-additional-top-actions {
    display: flex;
    justify-content: end;
    align-items: center;
}

#product .product-additional-info.js-product-additional-info .dropdown .dropdown-toggle {
    background: transparent;
    border: none;
}

#product .product-additional-info.js-product-additional-info .dropdown .dropdown-toggle::after {
    display: none;
}

#product #dsi-toggel-share-btn .fa {
    font-size: 25px;
    color: #13a8bd;
    cursor: pointer;
}

.product-flags li.product-flag {
    border-radius: 30px;
    padding-inline: 20px;
}

#product .product-flag.condition {
    background: #1aa6b7;
}

#product .current-price .current-price-value {
    color: red;
    font-size: 30px;
}

#product .product-discount,
#product .tax-shipping-delivery-label {
    padding-top: 12px;
    margin-inline: 10px;
}

#product .current-price {
    display: flex;
}

.has-discount .discount,
.product-flag.discount {
    background: #4530b7 !important;
    border-radius: 30px;
    padding-inline: 20px;
    padding-block: 10px;
}

.tab-content .product-manufacturer .manufacturer-logo {
    max-width: 200px;
}

.product-images>li.thumb-container .thumb.selected,
.product-images>li.thumb-container .thumb:hover {
    border-radius: 10px;
}


/** WISHLIST EDIT **/


/* Replace icon with background image */

.wishlist-button-add::before,
.wishlist-button-product::before {
    content: '' !important;
    position: relative !important;
    top: 30% !important;
    left: 45% !important;
    transform: translate(-50%, -50%) !important;
    width: 24px !important;
    height: 24px !important;
    background-image: url('../img/dsi_b2b_star.png') !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    background-size: contain !important;
}


/* Hide the material-icons icon */

.wishlist-button-add i.material-icons,
.wishlist-button-product i.material-icons {
    opacity: 0 !important;
    width: 0 !important;
    height: 0 !important;
}

.tabs .nav-tabs {
    border-bottom: #24b9d783 2px solid;
}

.dsi-form-product-return-images {
    border: 1px solid #b7b7b7;
    padding: 10px;
    background: #f6f6f6;
}


/** products tabs **/


/* === ONGLETS === */

.tabs .nav-tabs {
    border-bottom: 3px solid #4DB8C4 !important;
    background: #FFF;
    padding: 0;
    margin: 0;
}

.tabs .nav-link {
    padding: 18px 30px;
    color: #666666;
    font-weight: 600;
    border: none;
    background: transparent;
    transition: all 0.3s ease;
}

.tabs .nav-link.active,
.tabs .nav-link.js-product-nav-active {
    color: #4DB8C4 !important;
    background: #FFFFFF !important;
    border-bottom: 3px solid #4DB8C4;
    position: relative;
}


/* === CONTENU === */

.tab-content {
    background: #FFFFFF;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
    border-radius: 0 0 12px 12px;
}

.tab-pane {
    padding: 35px 30px;
    line-height: 1.8;
    color: #333333;
}


/* === PARAGRAPHES === */

.product-description p,
.tab-pane p {
    margin-bottom: 20px;
    font-size: 1rem;
    line-height: 1.8;
    color: #333333;
}


/* === TITRES (Points clés, Usage professionnel, Conclusion) === */


/* Version 1 : Si c'est dans des <strong> */

.product-references-container .references-title,
#product .product-add-to-cart .stock-title,
.product-description strong,
.tab-pane strong,
.product-description p strong,
.tab-pane p strong {
    display: block !important;
    color: #4DB8C4 !important;
    font-size: 1.2rem !important;
    font-weight: 700 !important;
    margin-top: 0px !important;
    margin-bottom: 15px !important;
    padding-left: 20px !important;
    border-left: 5px solid #4DB8C4 !important;
    background: linear-gradient(to right, #E8F7F9 0%, transparent 100%) !important;
    padding: 12px 20px !important;
    border-radius: 4px !important;
}

.product-description p:has(strong),
.tab-pane p:has(strong) {
    display: block;
}

.product-description ul,
.tab-pane ul {
    list-style: none !important;
    padding-left: 0 !important;
    margin: 25px 0 !important;
}

.product-description ul li,
.tab-pane ul li {
    padding: 12px 0 12px 40px !important;
    position: relative;
    line-height: 1.8;
    color: #333333;
    margin-bottom: 10px;
}


/* Checkmark vert */

.product-description ul li::before,
.tab-pane ul li::before {
    content: '✓' !important;
    position: absolute;
    left: 0;
    top: 10px;
    color: #4DB8C4 !important;
    background: #E8F7F9 !important;
    width: 28px !important;
    height: 28px !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 1rem !important;
    font-weight: bold !important;
    border: 2px solid #4DB8C4 !important;
}

.product-description ul li:hover,
.tab-pane ul li:hover {
    padding-left: 45px;
    color: #3A9BA5;
    transition: all 0.3s ease;
}

.product-description h3,
.product-description h4,
.tab-pane h3,
.tab-pane h4 {
    color: #4DB8C4 !important;
    font-size: 1.2rem !important;
    font-weight: 700 !important;
    margin-top: 30px !important;
    margin-bottom: 15px !important;
    padding-left: 20px !important;
    border-left: 5px solid #4DB8C4 !important;
    background: linear-gradient(to right, #E8F7F9 0%, transparent 100%) !important;
    padding: 12px 20px !important;
    border-radius: 4px !important;
}

@media (max-width: 768px) {
    .tab-pane {
        padding: 25px 20px;
    }

    .product-description strong,
    .tab-pane strong {
        font-size: 1.1rem !important;
        padding: 10px 15px !important;
    }
}

.product-references-container .references-title .fa {
    margin-right: 10px;
}

#product .dsi-product-qte-actions .control-label {
    /* Layout */
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    padding: .5rem .75rem;
    /* Typography */
    font: 500 14px/1.2 system-ui, -apple-system, Segoe UI, Roboto, "Helvetica Neue", Arial, "Noto Sans", "Apple Color Emoji", "Segoe UI Emoji";
    color: #3730a3;
    background: #f8fafc;
    border: 1px solid, #e2e8f0;
    box-shadow: 0 1px 0 rgba(15, 23, 42, .04);
    white-space: nowrap;
    font-weight: 600;
}

#product .product-actions .add-to-cart,
#product .product-actions .add-to-more-info,
#product .product-actions .add-to-quote {
    height: auto !important;
    margin-inline: 10px;
    border-radius: 10px;
    box-shadow: rgba(0, 0, 0, 0.24) 0px 3px 8px;
}


/* Product action buttons wrapper */

.dsi-product-action-list .add {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    /* space between buttons */
}


/* Default: buttons inline, auto width */

.dsi-product-action-list .add .btn {
    white-space: nowrap;
}


/* Small screens: stack buttons full width */

@media (max-width: 768px) {
    .dsi-product-action-list .add {
        flex-direction: column;
    }

    .dsi-product-action-list .add .btn {
        width: 100%;
    }
}

#product .bootstrap-touchspin {
    display: flex !important;
}

#product .qty #quantity_wanted {
    border-top-left-radius: 10px;
    border-bottom-left-radius: 10px;
}

#product .qty .btn.btn-touchspin.bootstrap-touchspin-up {
    border-top-right-radius: 10px;
}

#product .qty .btn.btn-touchspin.bootstrap-touchspin-down {
    border-bottom-right-radius: 10px;
}

#product .qty .btn.btn-touchspin:hover {
    background: #4db8c4;
    color: #FFF;
}


/** Product Images side**/

#product #content {
    max-width: 90%;
}

#product .images-container.js-images-container {
    display: flex;
}

#product .images-container.js-images-container {
    display: flex;
    align-items: center;
    /* This vertically centers all flex items */
}


/* Optional: If you want only the UL centered but keep other elements aligned differently */

#product .images-container.js-images-container>div:last-child {
    align-self: center;
}

.product-images>li.thumb-container .thumb.selected,
.product-images>li.thumb-container .thumb:hover {
    border: 1px solid #dbdada;
}

.product-images>li.thumb-container .thumb.selected,
.product-images>li.thumb-container .thumb:hover {
    border-radius: 0;
}


/* Small screens: stack vertically */

@media (max-width: 768px) {
    #product .images-container.js-images-container {
        flex-direction: column;
    }

    /* Optional: center align thumbnails when stacked */
    #product .images-container.js-images-container .product-images.js-qv-product-images {
        align-self: center;
    }
}


/** products title actions **/

#product .wishlist-button-add {
    background: transparent;
    box-shadow: none;
}

.ets-wishlist-button-add:not(.view_page) {
    border: none;
    box-shadow: none;
}

#my-account #content-wrapper .text-sm-center a {
    background: #f24545;
    color: #FFF;
    padding-inline: 40px;
    padding-block: 15px;
    border-radius: 10px;
}

#product .ets-wishlist-button-add {
    margin-left: 30px;
}


/** identity page **/

.page-my-account #content .links a span.link-item {
    background: #12a8be;
    border-radius: 10px;
}

.page-my-account #content .links a i,
.page-my-account #content .links a span.link-item {
    color: white;
}

.page-my-account #content .links a:hover i {
    color: #e5cee2;
}




/** header **/

/* Comparator Badge Animations */
.dsi-comparator-badge {
    position: absolute;
    top: 2px;
    right: 6px;
    background: #e11c1c;
    color: #FFF;
    border-radius: 50%;
    width: 20px;
    height: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 10px;
    font-weight: bold;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
    transition: all 0.3s ease;
    z-index: 1;
}

/* Pulse Animation for Adding Items */
.dsi-badge-animate-pulse {
    animation: dsiBadgePulse 0.6s ease-in-out;
}

@keyframes dsiBadgePulse {
    0% {
        transform: scale(1);
        box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
    }

    50% {
        transform: scale(1.3);
        box-shadow: 0 0 0 3px rgba(255, 107, 53, 0.3);
    }

    100% {
        transform: scale(1);
        box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
    }
}

/* Bounce Animation for Removing Items */
.dsi-badge-animate-bounce {
    animation: dsiBadgeBounce 0.6s ease-in-out;
}

@keyframes dsiBadgeBounce {

    0%,
    100% {
        transform: translateY(0);
    }

    25% {
        transform: translateY(-5px);
    }

    50% {
        transform: translateY(2px);
    }

    75% {
        transform: translateY(-2px);
    }
}

/* Counter Animation */
@keyframes dsiCounterChange {
    0% {
        opacity: 1;
        transform: scale(1);
    }

    50% {
        opacity: 0.5;
        transform: scale(1.2);
    }

    100% {
        opacity: 1;
        transform: scale(1);
    }
}

.dsi-button-state-change {
    animation: dsiButtonPulse 0.6s ease-in-out;
}

@keyframes dsiButtonPulse {
    0% {
        transform: scale(1);
        filter: brightness(1);
    }

    50% {
        transform: scale(1.1);
        filter: brightness(1.3);
    }

    100% {
        transform: scale(1);
        filter: brightness(1);
    }
}

/* Wrapper Highlight Effect */
.dsi-wrapper-highlight {
    animation: dsiWrapperHighlight 0.3s ease-in-out;
}

@keyframes dsiWrapperHighlight {

    0%,
    100% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-2px);
    }
}

/* Optional: Add a subtle glow effect */
.tvcmsproduct-compare-btn:hover {
    filter: brightness(1.1);
    transition: filter 0.2s ease;
}


/* Wishlist Button State Change Animation */
.dsi-wishlist-button-state-change {
    animation: dsiWishlistButtonPulse 0.6s ease-in-out;
}

.dsi-wishlist-icon-rotate {
    animation: dsiWishlistIconRotate 0.3s ease-in-out;
}

@keyframes dsiWishlistButtonPulse {
    0% {
        transform: scale(1);
        filter: brightness(1);
    }

    50% {
        transform: scale(1.15);
        filter: brightness(1.4);
    }

    100% {
        transform: scale(1);
        filter: brightness(1);
    }
}

@keyframes dsiWishlistIconRotate {
    0% {
        transform: rotate(0deg);
    }

    50% {
        transform: rotate(180deg);
    }

    100% {
        transform: rotate(360deg);
    }
}

/* Optional: Add hover effect */
.ets-wishlist-button-add:hover {
    filter: brightness(1.1);
    transition: filter 0.2s ease;
}