/* Polices d'écriture */
@font-face { font-family: "PoppinsR"; src: url("../fonts/Poppins-Regular.woff2") format("woff2"); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: "PoppinsI"; src: url("../fonts/Poppins-Italic.woff2") format("woff2"); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: "PoppinsSB"; src: url("../fonts/Poppins-SemiBold.woff2") format("woff2"); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: "PoppinsB"; src: url("../fonts/Poppins-Bold.woff2") format("woff2"); font-weight: 400; font-style: normal; font-display: swap; }

:root {
    --bs-body-color:#1E2B50;
    --bs-primary:#1E2B50;
    --bs-link-color:#1E2B50;
    --bs-link-hover-color:#1E2B50;
    --bs-primary-rgb:30, 43, 80;
    --bs-secondary:#E84B12;
    --bs-secondary-rgb:232, 75, 18;
    --rouchy-blue: #1E2B50;
    --rouchy-blue-light: #293967;
    --rouchy-red: #e6231d;
    --rouchy-info: #00bcd4;
    --light-grey: #F1F1F1;
    --bs-danger:#E10713;
    --bs-danger-rgb:225, 7, 19;
    --bs-success:#00CE52;
    --bs-success-rgb:0, 206, 82;
    --bg-dispo: #EFF6FB;
    --blue-fav: #0085DB;
    --rouchy-pdt-compl: #FFEFEB;
}

/* Global ----------- */
html {scroll-behavior: smooth;scroll-padding-top: 160px;}
body{ font-family: "PoppinsR", sans-serif; background-color: #fff; padding-bottom: 70px; }
.fw-b, strong, b{font-weight: normal;font-family: "PoppinsB", sans-serif; }
.fw-sb{font-weight: normal;font-family: "PoppinsSB", sans-serif; }
.fw-r{font-weight: normal;font-family: "PoppinsR", sans-serif; }
.fw-i, i{font-weight: normal;font-family: "PoppinsI", sans-serif; }
.xx-small { font-size: 0.6rem !important;}
.x-small { font-size: 0.75rem !important;}
.fs-4-mobile{font-size:1rem !important;}
.letter-spacing-2{letter-spacing: 0.1rem;}
.letter-spacing-3{letter-spacing: 0.2rem;}
.text-truncate-4{display:-webkit-box;-webkit-line-clamp: 4;-webkit-box-orient: vertical;overflow: hidden;}
.rotate180{transform: rotate(180deg);}
.text-favoris{color:var(--blue-fav);}
.text-atouprix{color:var(--rouchy-blue);}
.bg-favoris{background-color: var(--blue-fav) !important;}
.bg-light-grey{background-color: var(--light-grey) !important;}
.bg-light-button{background-color: #EEF2FE !important;}
.bg-pdt-compl{background-color: var(--rouchy-pdt-compl) !important;}
.bg-rouchy-danger{background: linear-gradient(to right, #E10213, #E84912);}
.bg-rouchy-info{background: linear-gradient(to right, #0084DC, #53C2B7);}
.ratio11{aspect-ratio: 1/1;}
.opacity-10{opacity: 0.1;}
.container, .container-fluid, .container-lg, .container-md, .container-sm, .container-xl, .container-xxl{--bs-gutter-x: 3rem;}
.content-wrapper{overflow: hidden;}

/* Couleurs ----------*/
.border-light-blue{border-color:var(--rouchy-blue-light) !important;}
.border-light{border-color: #F8F8F8 !important;}

/* Return to top -----*/
#btnReturnToTop { position: fixed; bottom: 5rem; right: 1rem; width: 45px; height: 45px; border-radius: 50%; background: linear-gradient(to right, #E10213, #E84912); border: none; box-shadow: 0 4px 15px rgba(225, 2, 19, 0.3); z-index: 1000; transition: all 0.3s ease; cursor: pointer; opacity: 0; visibility: hidden; }
#btnReturnToTop.show { opacity: 1; visibility: visible; }
#btnReturnToTop:hover { transform: translateY(-5px); box-shadow: 0 6px 20px rgba(225, 2, 19, 0.4); }
#btnReturnToTop svg { transition: transform 0.3s ease; }
#btnReturnToTop:hover svg { transform: translateY(-2px); }

/* Boutons ----------- */
.mh-42{min-height: 42px;}
.mh-56{min-height: 56px;}
.btn{border-radius:2rem;padding:0.4rem 1rem;display: flex;align-items:center;--bs-btn-disabled-opacity:0.25;}
.btn-caps-b{font-weight: normal;font-family: "PoppinsB", sans-serif;letter-spacing: 0.1rem;font-size: 0.8rem;padding:1rem 1.25rem;text-transform: uppercase;}
.btn-caps-b.btn-sm{font-weight: normal;font-family: "PoppinsB", sans-serif;letter-spacing: 0.1rem;font-size: 0.8rem;padding:0.25rem 1rem;text-transform: uppercase;}
.btn-primary { --bs-btn-color: #fff; --bs-btn-bg: #1E2B50; --bs-btn-border-color: #1E2B50; --bs-btn-hover-color: #fff; --bs-btn-hover-bg: #16203c; --bs-btn-hover-border-color: #141d36; --bs-btn-focus-shadow-rgb: 66, 77, 108; --bs-btn-active-color: #fff; --bs-btn-active-bg: #141d36; --bs-btn-active-border-color: #121a31; transition: all 0.2s ease-in-out; }
.btn-primary:hover { filter: brightness(1.1); box-shadow: 0 4px 8px rgba(30, 43, 80, 0.2); }
.btn-secondary { --bs-btn-color: #fff; --bs-btn-bg: #E84B12; --bs-btn-border-color: #E84B12; --bs-btn-hover-color: #fff; --bs-btn-hover-bg: #d14310; --bs-btn-hover-border-color: #c53f0f; --bs-btn-focus-shadow-rgb: 232, 75, 18; --bs-btn-active-color: #fff; --bs-btn-active-bg: #b93b0e; --bs-btn-active-border-color: #ae380d; transition: all 0.2s ease-in-out; }
.btn-secondary:hover { filter: brightness(1.1); box-shadow: 0 4px 8px rgba(232, 75, 18, 0.2); }
.btn-light-bis { --bs-btn-color: #1E2B50; --bs-btn-bg: #F8F8F8; --bs-btn-border-color: #F8F8F8; --bs-btn-hover-color: #1E2B50; --bs-btn-hover-bg: #f0f0f0; --bs-btn-hover-border-color: #e8e8e8; --bs-btn-focus-shadow-rgb: 248, 248, 248; --bs-btn-active-color: #1E2B50; --bs-btn-active-bg: #e8e8e8; --bs-btn-active-border-color: #dfdfdf; transition: all 0.2s ease-in-out; }
.btn-light-bis:hover { filter: contrast(1.02); box-shadow: 0 4px 6px rgba(0, 0, 0, 0.04); }
.btn-success { background-color: #00CE52 !important; border-color: #00CE52 !important; color: #fff !important; }
.btn-success:hover, .btn-success:focus { background-color: #00b548 !important; border-color: #00b548 !important; }
.btn-success:active { background-color: #009c3e !important; border-color: #009c3e !important; }
.btn-danger { --bs-btn-color: #fff; --bs-btn-bg: #E10213; --bs-btn-border-color: #E10213; --bs-btn-hover-color: #fff; --bs-btn-hover-bg: #c10210; --bs-btn-hover-border-color: #b1020f; --bs-btn-focus-shadow-rgb: 225, 2, 19; --bs-btn-active-color: #fff; --bs-btn-active-bg: #b1020f; --bs-btn-active-border-color: #a1020e; transition: all 0.2s ease-in-out; }
.btn-danger:hover { filter: brightness(1.1); box-shadow: 0 4px 12px rgba(225, 2, 19, 0.3); }
.btn-outline-light-blue { --bs-btn-color: #fff; --bs-btn-border-color: #293967; --bs-btn-hover-color: #fff; --bs-btn-hover-bg: #293967; --bs-btn-hover-border-color: #293967; --bs-btn-focus-shadow-rgb: 41, 57, 103; --bs-btn-active-color: #fff; --bs-btn-active-bg: #293967; --bs-btn-active-border-color: #293967; --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); --bs-btn-disabled-color: #293967; --bs-btn-disabled-bg: transparent; --bs-btn-disabled-border-color: #293967; --bs-gradient: none; border-width: 2px; transition: all 0.3s ease; }
.btn-outline-light-blue:hover { box-shadow: 0 4px 12px rgba(41, 57, 103, 0.3); }
.btn-rouchy-danger { --bs-btn-color: #fff; --bs-btn-bg: transparent; --bs-btn-border-color: transparent; --bs-btn-hover-color: #fff; --bs-btn-focus-shadow-rgb: 225, 83, 97; background: linear-gradient(to right, #E10213, #E84912); border: none; transition: all 0.3s ease; }
.btn-rouchy-danger:hover { filter: brightness(1.2); color: #fff; box-shadow: 0 4px 15px rgba(225, 30, 19, 0.4);}
.btn-rouchy-danger:active { filter: brightness(0.8); }
.btn-rouchy-info { --bs-btn-color: #fff; --bs-btn-bg: transparent; --bs-btn-border-color: transparent; --bs-btn-hover-color: #fff; --bs-btn-focus-shadow-rgb: 0, 132, 220; background: linear-gradient(to right, #0084DC, #53C2B7); border: none; transition: all 0.3s ease; }
.btn-rouchy-info:hover { filter: brightness(1.15); color: #fff; box-shadow: 0 4px 15px rgba(0, 132, 220, 0.4); }
.btn-rouchy-info:active { filter: brightness(0.9);}
.link-menu { position: relative; padding-bottom: 4px;padding-top:4px; transition: color 0.3s ease; }
.link-menu::after { content: ""; position: absolute; left: 0; bottom: 0; width: 0; height: 2px; background-color: var(--rouchy-info); transition: width 0.3s ease; }
.link-menu:hover { color: var(--rouchy-info) !important; }
.link-menu:hover::after { width: 100%; }
.btn-picto img{max-height: 100%;}
.btn-light { background-color: #D4D4D4; border-color: #D4D4D4; color: #1E2B50; border-radius: 50px; transition: all 0.2s ease-in-out; }
.btn-light:hover { filter: brightness(1.05); box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); color: #1E2B50; border-color: #D4D4D4; }
.btn-light:active { filter: brightness(0.95); }
.btn-compte-requis{background:#D4D4D4 !important;color:var(--bs-primary) !important;}
.btn-compte-requis:hover{filter: contrast(1.5);box-shadow: none;}
.nav-pills{--bs-nav-pills-link-active-bg: #1E2B50;}
.btn-login-mobile{width:54px;height:54px;padding:2px;justify-content: center;align-items: center;}

/* Navigation ------------------------------------------------------------------------------ */
header{padding-right:0 !important;}
header.fixed-top{z-index: 1050;}
.nav-link-mobile { display: flex; flex-direction: column; align-items: center; text-decoration: none; color: #1E2B50; opacity: 0.25; transition: opacity 0.2s ease; }
.nav-link-mobile img { height: 22px; width: auto; margin-bottom: 4px; object-fit: contain; }
.nav-link-mobile span { font-size: 10px; font-weight: 500; display: block; }
.nav-link-mobile.active { opacity: 1 !important; color: var(--bs-primary); }
.nav-link-mobile .badge { font-size: 9px; padding: 3px 5px; margin-left: 10px; }#search-bar .form-control{background-color:var(--light-grey);border-radius: 2rem;border:0;padding:1rem 2rem;z-index: 0;}
#search-bar .form-control:focus{box-shadow: 0 0 0 .25rem rgba(1,158,191,.25);}
#search-bar img{position: absolute;right:1.5rem;top:50%;height:1.25rem;width: auto;z-index: 1;}
#search-bar .form-control::placeholder{color:#7E7E7E;}
.menu-burger { width:16px; height: 12px; display: flex; flex-direction: column; justify-content: space-between; cursor: pointer; }
.menu-burger span { display: block; height: 2px; background-color: #fff; border-radius: 10px; transition: width 0.3s ease; }
.menu-burger span:nth-child(1) { width: 100%; }
.menu-burger span:nth-child(2) { width: 100%; }
.menu-burger span:nth-child(3) { width: 60%; }
#btn-main-menu:hover .menu-burger span:nth-child(3) { width: 100%; }
#btn-main-menu:hover .menu-burger span{background-color:var(--rouchy-info);}
/* Menu principal */
.mega-menu-container { position: fixed; top: 176px; left: 0; width: 100%; height: 500px; background: white; z-index: 1050; display: none; }
.mega-menu-container.open { display: block; }
.menu-univers { width: 280px; background: #FFF; }
.menu-sub-univers { width: 250px; }
.univers-item.active, .sub-item.active, .product-item-link:hover{font-weight: normal;font-family: "PoppinsB", sans-serif; }
.univers-item, .sub-item { position: relative; transition: all 0.2s; }
.univers-item:hover, .univers-item.active, .sub-item:hover, .sub-item.active, .product-item-link:hover { background-color: #F8F8F8;border-top-left-radius: 0.5rem;border-bottom-left-radius: 0.5rem;}
.univers-item.active::after, .sub-item.active::after, .sub-item:hover::after { content: ''; position: absolute; right: 0; top: 0; height: 100%; width: 4px; background-color: var(--univers-color, #008FD6); }
.univers-item a, .sub-item a { color: #1E2B50; font-size: 14px; }
.grayscale-logo { filter: grayscale(100%); opacity: 0.6; }
.menu-sub-univers::-webkit-scrollbar,
.menu-products::-webkit-scrollbar,
.menu-brands::-webkit-scrollbar,
.menu-univers::-webkit-scrollbar,
.menu-products-search::-webkit-scrollbar {
    width: 6px;
}

.menu-sub-univers::-webkit-scrollbar-track,
.menu-products::-webkit-scrollbar-track,
.menu-brands::-webkit-scrollbar-track,
.menu-univers::-webkit-scrollbar-track,
.menu-products-search::-webkit-scrollbar-track{
    background: #f1f1f1;
}

.menu-sub-univers::-webkit-scrollbar-thumb,
.menu-products::-webkit-scrollbar-thumb,
.menu-brands::-webkit-scrollbar-thumb,
.menu-univers::-webkit-scrollbar-thumb,
.menu-products-search::-webkit-scrollbar-thumb{
    background: #ccc;
    border-radius: 0px;
    transition: background 0.3s ease;
}
.menu-sub-univers::-webkit-scrollbar-thumb:hover,
.menu-products::-webkit-scrollbar-thumb:hover,
.menu-brands::-webkit-scrollbar-thumb:hover,
.menu-univers::-webkit-scrollbar-thumb:hover,
.menu-products-search::-webkit-scrollbar-thumb:hover{
    background: #1E2B50;
}
.mega-menu-overlay { position: fixed; top: 176px; left: 0; width: 100%; height: calc(100vh - 176px); background-color: #1E2B50; opacity: 0; visibility: hidden; transition: all 0.4s ease-in-out; z-index: 1040; }
.mega-menu-overlay.open { opacity: 0.9; visibility: visible; }
/* Menu principal mobile (catalogue) */
#menuCatalogueMobile, #searchMobile { z-index: 2000; border: none;padding-bottom: 70px;}
#menuCatalogueMobile .offcanvas-header {height:70px !important;flex-shrink: 0;background-color: var(--light-grey) !important;}
#menuCatalogueMobile  .btn-back-menu { padding: 0; border: none; color: var(--univ-color, #1e2b50); cursor: pointer; }
#menuCatalogueMobile .offcanvas-title { font-weight: 700; color: #1e2b50; margin-bottom: 0; }
#menuCatalogueMobile .menu-level { width: 100%; transition: transform 0.3s ease-in-out;flex-grow:1;display: flex;flex-direction: column;}
#search-bar-mobile .form-control { background-color: #f1f3f5; border: none; padding: 0.75rem 1.25rem; font-size: 0.9rem; }
#search-bar-mobile img { width: 18px; opacity: 0.6; }
#menuCatalogueMobile .list-group-item { border: none; padding: 1.25rem 1.5rem; display: flex; align-items: center; transition: background 0.2s; }
#menuCatalogueMobile .list-group-item:last-of-type{border:0 !important;}
#menuCatalogueMobile .list-group-item:active { background-color: #f8f9fa; }
#menuCatalogueMobile .list-group-item span {color:var(--bs-primary);}
#menuCatalogueMobile .list-group-item:hover{background-color: transparent !important;}
#menuCatalogueMobile .chevron-nav { width: 10px; height: auto; }
#menuCatalogueMobile .chevron-custom-color path { stroke: var(--univ-color); }
#menuCatalogueMobile .promo-card{min-height: unset;}
#menuCatalogueMobile .offcanvas-body { overflow-x: hidden; position: relative; }
#menuCatalogueMobile .menu-level { width: 100%; transition: transform 0.3s ease-out, opacity 0.3s ease-out; }
#menuCatalogueMobile .slide-out-left { transform: translateX(-100%); opacity: 0; position: absolute; top: 0; left: 0; }
#menuCatalogueMobile .slide-in-right { transform: translateX(100%); opacity: 0; }
#menuCatalogueMobile .slide-active { transform: translateX(0); opacity: 1; position: relative; }
#menuCatalogueMobile .slide-out-right { transform: translateX(100%); opacity: 0; position: absolute; top: 0; left: 0; }
#menuCatalogueMobile .slide-in-left { transform: translateX(-100%); opacity: 0; }
/* Recherche mobile */
#searchMobile .nav-pills .nav-link {color: #CECECE;background: transparent;border-radius: 0;}
#searchMobile .nav-pills .nav-link.active {color: var(--bs-primary);/*border-bottom: 3px solid var(--bs-primary);*/}
#searchMobile .fs-xxs { font-size: 0.65rem; }
#searchMobile .fs-xs { font-size: 0.75rem; }
#searchMobile .letter-spacing-1 { letter-spacing: 1px; }

/* Style des cards swiper */
#searchMobile .swiper-slide { height: auto; }
#searchMobile .card { border-color: #eee !important; }
/* Recherche */
.search-mega-menu { position: fixed; top: 104px; left: 0; width: 100%; height: 550px; background: white; z-index: 1100; opacity: 0; visibility: hidden; transform: translateY(-10px); transition: all 0.3s ease; }
.search-mega-menu.open { opacity: 1; visibility: visible; transform: translateY(0); }
.btn-clear-search{cursor: pointer;}
#search-bar .search-icon { position: absolute; right: 15px; top: 50%; transform: translateY(-50%); cursor: pointer; z-index: 5; transition: all 0.2s; }
.btn-close-search { position: absolute; right: 0px; top: 0px; border: none; z-index: 20; padding: 0.5rem 0.75rem; transition: 0.2s;border-bottom-left-radius: 0.5rem;border-bottom-right-radius: 0.5rem;}
.btn-close-search:hover { background: #e9ecef !important;}
.suggestion-pill { transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); border: 1px solid transparent; }
.suggestion-pill:hover { background: #fff !important; border-color: #008FD6; transform: translateX(5px); box-shadow: 0 4px 12px rgba(0,143,214,0.1); }
.suggestion-pill:hover span { color: #008FD6 !important; }
.link-hover-blue { transition: color 0.2s; }
.link-hover-blue:hover { color: #008FD6 !important; }
.product-card-search {height:100%;background: #FFF; transition: all 0.3s ease; display: flex; flex-direction: column; justify-content: space-between; }
.product-card-search:hover{box-shadow: 0 15px 35px rgba(30, 43, 80, 0.1) !important;border-color: #fff !important;}
.product-brand-logo img { object-fit: contain; }
.product-card-search img{transition: all 0.2s;}
.product-card-search:hover .visuel-pdt-search{transform: scale(1.05);}
.visuel-pdt-search { max-height: 90px; width: auto; display: block; margin: 0 auto; object-fit: contain; }
#resultats-recherche-4>ul{margin-bottom:3rem;}
.product-brand-logo{z-index: 1;}
/* Accès compte */
.user-account-header { cursor: pointer; padding: 5px 10px; transition: opacity 0.3s ease; }
.user-account-header:hover { opacity: 0.8; }
.account-name { font-family: "PoppinsB", sans-serif; color: var(--rouchy-blue); font-size: 14px; line-height: 1.2; }
.account-sub { font-family: "PoppinsR", sans-serif; color: var(--rouchy-blue-light); font-size: 12px; line-height: 1.2; }
/* Agence */
.account-chevron { display: flex; align-items: center; }
.agency-header {padding: 5px 10px; }
.info-badge { position: absolute; top: -5px; right: -5px; width: 14px; height: 14px; background-color: var(--rouchy-red); color: #fff; font-size: 10px; font-weight: bold; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-family: "PoppinsI", sans-serif; }
.agency-name { font-family: "PoppinsB", sans-serif; color: var(--rouchy-blue); font-size: 14px; line-height: 1.2; }
.agency-label { font-family: "PoppinsR", sans-serif; color: var(--rouchy-blue-light); font-size: 12px; line-height: 1.2; }
/* Achat rapide et panier */
.action-item { transition: opacity 0.3s ease; }
.action-item:hover { opacity: 0.7; }
.action-label { font-family: "PoppinsB", sans-serif; color: var(--rouchy-blue); font-size: 13px; white-space: nowrap; }
.cart-badge { position: absolute; top: -8px; right: -10px; min-width: 18px; height: 18px; background-color: var(--rouchy-red); color: #fff; font-size: 11px; font-weight: bold; border-radius: 50%; display: flex; align-items: center; justify-content: center; border: 2px solid #fff; padding: 0 4px; }
.header-cart-wrapper { z-index: 1050; }
#total_panier_mini{text-wrap:nowrap;}
.cart-dropdown-header{position: absolute;top:-66px;right:-11px;padding-top:9px;}
.cart-dropdown { position: absolute; right: -15px; top: -20px; width: 320px; background: white; border-radius: 1rem;border: 2px solid #f5f5f5; margin-top: 75px;border-top-right-radius: 0;}
.cart-dropdown::before { content: ""; position: absolute; bottom:100%; right: -2px; width: 74px; height: 80px; background: white; border-radius: 1rem 1rem 0 0;border:2px solid #f8f8f8;border-bottom: 0;}
.cart-items-list { max-height: 225px; overflow-y: auto; overflow-x: hidden;}
.cart-items-list > *:last-child { margin-bottom: 0; }
/* On utilise une bordure transparente sur la scrollbar pour créer l'écart visuel */
.cart-items-list::-webkit-scrollbar { width: 12px; }
.cart-items-list::-webkit-scrollbar-track { background: transparent; }
.cart-items-list::-webkit-scrollbar-thumb { background: #ccc; border-left: 6px solid white; background-clip: padding-box; }
.cart-items-list::-webkit-scrollbar-thumb:hover { background-color: #1E2B50; }

/* Accueil (invité) -------------------- */
.bloc-compte-requis .hover-compte-requis {opacity: 0;visibility: hidden;transition: opacity 0.3s ease, visibility 0.3s ease;}
.bloc-compte-requis:hover .hover-compte-requis {opacity: 1;visibility: visible;}
.acces-invite .universe-link .fs-6 { font-size: 0.75rem !important; }

/* Accueil (connecté) -------------------- */
/* Dashboard mobile */
/*.search-bar-mobile .input-group, #searchMobile .input-group{ height: 60px; }*/
.search-bar-mobile-dashboard .input-group{ height: 60px; }
.search-bar-mobile input::placeholder, #searchMobile input::placeholder { color: #999; font-size: 15px; }
.services-mobiles-dashboard .mobile-service-block { display: flex; flex-direction: column; justify-content: space-between; height: 110px; padding: 15px; background-color: #F2F4F5; border-radius: 12px; text-decoration: none; transition: all 0.2s ease; }
.services-mobiles-dashboard .mobile-service-block img { width: 28px; height: 28px; object-fit: contain; }
.services-mobiles-dashboard .mobile-service-block span { color: var(--bs-primary); font-size: 0.65rem; line-height: 1.2; margin-top: auto; }
.services-mobiles-dashboard .mobile-service-block:active { background-color: #E5E8EA; transform: scale(0.96); }
/* Swiper diaporama promotions */
.swiper-home { height: 400px; }
.swiper-home .swiper-slide { display: flex; align-items: center; justify-content: center; background-color: #fff;height:100% !important; }
.swiper-home .swiper-slide  a{height:100%;}
.bg-blur-effect { position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; filter: blur(15px) brightness(0.7); transform: scale(1.1); z-index: 1;opacity: 0.75;}
.img-main-contain { position: relative; max-width: 100%; max-height: 100%; width: 100%; height: 100%; object-fit: contain; z-index: 2; }
.swiper-pagination { z-index: 10; }
.swiper-global-mobile{height:160px;}
.swiper-global-mobile .swiper-slide { height: auto; display: flex; align-items: stretch; }
.swiper-global-mobile .promo-card, .swiper-global-mobile .destockage-banner { width: 100%;}
.bg-blur-effect { position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; filter: blur(15px); z-index: 1; }
/* Accès rapides */
.avatar-circle-red { width: 3rem; height: 3rem; background: linear-gradient(135deg, #E10213, #E84912); border-radius: 50%; display: flex; align-items: center; justify-content: center; box-shadow: 0 4px 10px rgba(225, 2, 19, 0.3); }
.services-dark-block { background-color: #1b2a4e; border-radius: 20px; color: #fff; position: relative; }
.floating-logo { position: absolute; top: -3.5rem; right: 1rem; z-index: 5; pointer-events: none; }
.border-start-custom-desktop{border-width: 0 !important;}
.service-item-link { display: flex; align-items: center; gap: 10px; color: #fff; text-decoration: none; transition: all 0.3s ease; }
.service-item-link span { position: relative; padding-bottom: 2px; }
.service-item-link span::after { content: ""; position: absolute; left: 0; bottom: 0; width: 0; height: 2px; background-color: #53C2B7; transition: width 0.3s ease; }
.service-item-link:hover { color: #53C2B7; }
.service-item-link:hover span::after { width: 100%; }
.service-item-link img { height: 1.5rem; width: 1.5rem; object-fit: contain; object-position: center; }.btn-dark-blue { background-color: #1b2a4e; color: white; border-radius: 20px; font-size: 11px; border: none; padding: 4px 12px; font-weight: bold; }
.btn-dark-blue:hover { background-color: #000; color: #fff; }
.carousel-placeholder { height: 200px; background: linear-gradient(135deg, #e6231d 0%, #001e3d 50%, #00bcd4 100%); border-radius: 1rem; position: relative; }
.promo-card, .destockage-banner { min-height: 185px; }
.swiper-global-mobile .promo-card, .swiper-global-mobile .destockage-banner { min-height: 100%; }
.mobile-nav-bottom { height: 70px; z-index: 3050; box-shadow: 0 -2px 10px rgba(0,0,0,0.05); }
/* Card Atouprix et promotions */
.promo-card.atouprix {background-image: url('../images/rouchy-forme-orange.svg'); background-repeat: no-repeat; background-position: right -150% center; background-size: 80% auto; overflow: hidden; border: none;}
.promo-card.promotions {background-image: url('../images/rouchy-forme-bleue.svg'); background-repeat: no-repeat; background-position: right -150% center; background-size: 80% auto; overflow: hidden; border: none;}
/* Catalogues */
.catalogue-promo-block { border-radius: 20px; }
.catalogue-visual img { max-width: 180px; filter: drop-shadow(0 10px 20px rgba(0,0,0,0.15)); }
.catalogue-content h3 { color: #1E2B50; font-size: 24px; letter-spacing: 1px; }
.catalogue-content p { font-size: 16px; line-height: 1.4; color: #4A4A4A; }
/* Card accès univers */
.universe-link { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 1rem; text-decoration: none; padding: 1.5rem 1rem; border-radius: 20px; transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); border: 1px solid transparent; height: 100%; }
.universe-link img { transition: transform 0.3s ease; }
.universe-link span { color: #1E2B50; transition: color 0.3s ease; text-align: center; }
.universe-link:hover { background-color: #ffffff;  box-shadow: 0 10px 25px rgba(30, 43, 80, 0.1); transform: translateY(-5px); }
.universe-link:hover img {  }
.universe-link:hover span { color: #53C2B7 !important; }
/* Produits sélectionnés */
.swiper-products { padding-bottom: 5rem !important; }
.swiper-pagination-bullet { width: 14px; height: 14px; background-color: #1E2B50 !important; opacity: 0.5; transition: all 0.3s ease; border-radius: 50%; margin: 0 10px !important; }
.swiper-pagination-bullet-active { opacity: 1 !important; transform: scale(2.5); }
.swiper-pagination { bottom: 15px !important; }.product-card {transition: all 0.3s ease; }
.product-card-link:hover .product-card { border-color: #eee; box-shadow: 0 15px 35px rgba(30, 43, 80, 0.1) !important; }
.product-card-link:hover { transform: translateY(-5px); }
.brand-logo { max-height: 30px; object-fit: contain;max-width: 50%;object-position: top left;}
.product-image-wrapper { height: 180px; display: flex; align-items: center; justify-content: center; }
.product-image-wrapper img { max-height: 100%; transition: transform 0.3s ease; }
.product-card-link:hover .product-image-wrapper img { transform: scale(1.05); }
.status-dot { width: 12px; height: 12px; border-radius: 50%; display: inline-block;flex-shrink: 0;}
.status-dot.available { background-color: #00CE52;}
.status-text.available { color: #00CE52; }
.status-dot.pdetachee { background-color: #1E2B50;}
.status-text.pdetachee { color: #1E2B50; }
.status-dot.warning { background-color: #FFCC23; }
.status-text.warning { color: #FFCC23; }
.status-dot.danger { background-color: #E10213; }
.status-text.danger { color: #E10213; }
.badge-destock { background: linear-gradient(to right, #E10213, #E84912); color: white; padding: 0.1rem 0.35rem; font-size: 0.8rem; border-radius: 6px; z-index: 3; text-transform: uppercase; }
.badge-atouprix { background: linear-gradient(to right, #0084DC, #53C2B7); color: white; padding: 0.1rem 0.35rem; font-size: 0.8rem; border-radius: 6px; z-index: 3; text-transform: uppercase; }
.badge-success {color: white; padding: 0.1rem 0.35rem; font-size: 0.8rem; border-radius: 6px; z-index: 3; text-transform: uppercase; }
.badge-compl { background: #FFEFEB; color: #1E2B50; font-size: 0.8rem; padding: 0.1rem 0.35rem; border-radius: 6px; display: inline-block; margin-top: 4px; }
.badge-small{font-size: 0.6rem}
/* Marques tri */
.alphabet-link { font-size: 1.1rem; transition: color 0.2s ease; padding: 0 5px;cursor: pointer; }
.alphabet-link:hover { color: #E10213 !important; }
.brand-name-link { transition: all 0.2s ease; border-right: 1px solid transparent; padding-right: 10px; }
.brand-name-link:hover { opacity: 0.7; transform: translateX(3px); }
.brand-name-link span { }
.brand-logo-card { display: flex; align-items: center; justify-content: center; height: 100px; width: 100%; transition: all 0.3s ease; }
.brand-logo-large { max-height: 60px; max-width:150px; width: auto; object-fit: contain; transition: transform 0.3s ease; }
.brand-logo-card:hover { background-color: #fff; border-radius: 12px; box-shadow: 0 10px 20px rgba(0,0,0,0.05); }
.brand-logo-card:hover .brand-logo-large { transform: scale(1.1); }

/* Breadcrumb */
.breadcrumb { display: flex; flex-wrap: wrap; list-style: none; }
.breadcrumb-item{display: flex;align-items: center;}
.breadcrumb-item + .breadcrumb-item::before { content: ">"; padding: 0 8px; color: #1E2B50; opacity: 0.5; font-style: italic; font-size: 0.75rem;display: inline-block;}
.breadcrumb-item a:hover { opacity: 1 !important; text-decoration: underline !important; }
.breadcrumb-item+.breadcrumb-item{padding-left:0;}

/* Liste de résultats -----------*/
.view-trigger{cursor: pointer;}
.filter-badges{/*max-width: 80%;*/flex-wrap: wrap;}
.product-card {overflow: hidden; border: 2px solid #F8F8F8; transition: all 0.3s ease; }
.product-card:hover { border-color: var(--bg-dispo); box-shadow: 0 10px 30px rgba(0,0,0,0.08); }
.product-card-inner { transition: transform 0.4s cubic-bezier(0.25, 1, 0.5, 1); }
.product-header{position: absolute;z-index: 2;width:50%;}
.product-image-container a { display: block; transition: transform 0.4s ease; }
.product-title { display: flex; flex-direction: column; justify-content: flex-end;}
.product-info { display: flex; flex-direction: column; transition: transform 0.4s cubic-bezier(0.25, 1, 0.5, 1);background:#fff;}
.price-area { margin-top: auto; }
.product-info>a:hover { opacity: 1 !important; text-decoration: underline !important; }
.product-card .main-img { transition: opacity 0.3s ease;object-position: left;height:150px !important;object-position: center;}
.product-image-container{min-height:150px;}
.product-image-container.product-image-container-famille{min-height: 150px;height:150px;}
.product-image-container a:hover .main-img { opacity: 0.9; }
.product-card .btn-panier{height: 42px;}
.qty-selector {height:42px;border: 2px solid #1e2b50; border-radius: 2rem; display: flex; align-items: center; overflow: hidden; }
/*.qty-btn { border: none; background: none; padding: 0.5rem 1rem;color:var(--bs-primary);font-size: 1.5rem;}*/
.qty-btn { border: none; background: none;color:var(--bs-primary);font-size: 1.5rem;width:34px;}
.qty-selector .qty-btn:first-of-type{padding:0.5rem 0.25rem 0.5rem 0.85rem;}
.qty-selector .qty-btn:last-of-type{padding:0.5rem 0.85rem 0.5rem 0.25rem;}
.qty-btn:hover{color:var(--blue-fav)}
.qty-selector input { border: none !important; outline: none !important; box-shadow: none !important; background: transparent !important; text-align: center; width: 30px; padding: 0; pointer-events: none;font-size: 1.25rem;flex-grow: 1;}
.btn-cart { background-color: #1e2b50; border: none; font-size: 13px; }
.btn-fav { border: none; font-size: 13px; }
.product-card-wrapper .product-card:hover{box-shadow: none;}
.border-dispo-sep { border-color: #D4DBEF !important; }
.filter-badge { background-color: #FFEFEB; border-radius: 8px; transition: all 0.2s ease; width: fit-content; }
.filter-badge:hover { transform: translateY(-1px); box-shadow: 0 2px 5px rgba(255, 207, 196, 0.4); opacity: 0.9; }
.filter-text { color: #1e2b50; white-space: nowrap; }
.filter-close { background-color: #FFCFC4; padding: 0 10px; transition: background 0.2s; }
.filter-badge:hover .filter-close { background-color: #ffb8aa; }
.product-visual{width:80px;max-height: 80px;object-fit: contain;}
.product-visual img{object-fit: contain;height:100%;width:100%;}
.js-product-table .prix-public{text-decoration: line-through;}

/* Pagination */
.pagination .page-link { border: 1px solid #eee; color: var(--bs-primary); border-radius: 12px !important; min-width: 42px; height: 42px; display: flex; align-items: center; justify-content: center; font-weight: 500; transition: all 0.2s ease; margin: 0; }
.pagination .page-item.active .page-link { background-color: var(--bs-primary); border-color: var(--bs-primary); color: #fff; box-shadow: 0 4px 10px rgba(30, 43, 80, 0.2); }
.pagination .page-link:hover:not(.active) { background-color: #f8f9fa; border-color: var(--bs-primary); color: var(--bs-primary); }
.pagination-arrow { background-color: #fff; }
.pagination .page-item.disabled .pagination-arrow { opacity: 0.3; cursor: not-allowed; }
/* Filtres */
.offcanvas{padding-bottom: 70px;}
.offcanvas-backdrop{background-color: var(--bs-primary);}
.offcanvas-backdrop.show{opacity: 0.9;}
.filter-sidebar .accordion-body{border-top:2px solid #DBE0F1;}
.filter-sidebar .accordion-button { background-color: var(--bg-dispo) !important; color: #1e2b50 !important; border: none !important; box-shadow: none !important; }
.filter-sidebar .accordion-button::after { background-image: url('../images/chevron-droit-leger-bleu.svg') !important; background-size: 10px; transition: transform 0.3s ease; transform: rotate(0deg);background-position: right;}
.filter-sidebar .accordion-button:not(.collapsed)::after { transform: rotate(-90deg);background-position: center;}
.filter-sidebar .accordion-item { background: transparent; }
.filter-sidebar .accordion-collapse { background-color: var(--bg-dispo); border-bottom-left-radius: 12px; border-bottom-right-radius: 12px; }
.filter-sidebar .accordion-header .accordion-button:not(.collapsed) { border-bottom-left-radius: 0 !important; border-bottom-right-radius: 0 !important; }
#prixrange { border: none !important; background: transparent !important; color: #1E2B50 !important; text-align: right; width: 140px; font-size: 0.95rem; outline: none;font-family: "PoppinsB", sans-serif; }
#prix-range.ui-slider-horizontal { height: 6px; border: none !important; background-color: #e9ecef !important; border-radius: 10px !important; margin: 0 8px 10px 8px; }
#prix-range .ui-slider-range { background-color: #1E2B50 !important; border-radius: 10px !important; }
#prix-range .ui-slider-handle { width: 18px !important; height: 18px !important; top: -6px !important; background: #ffffff !important; border: 2px solid #1E2B50 !important; border-radius: 50% !important; cursor: pointer !important; outline: none !important; transition: transform 0.15s ease, box-shadow 0.15s ease; }
#prix-range .ui-slider-handle:hover, #prix-range .ui-slider-handle.ui-state-focus { transform: scale(1.15); box-shadow: 0 0 0 4px rgba(30, 43, 80, 0.15); }
#prix-range .ui-slider-handle.ui-state-active { background-color: #1E2B50 !important; transform: scale(1.15); }
.custom-check .form-check-input { width: 1.2em; height: 1.2em; border: 2px solid #1E2B50; border-radius: 4px; cursor: pointer;}
.custom-check .form-check-input:checked { background-color: #1E2B50; border-color: #1E2B50; }
.custom-check .form-check-label { cursor: pointer;font-size: 0.85rem;padding-left:0.25rem;}
.details-filtres .checkbox{display:flex;align-items:center;flex-wrap:wrap;margin-bottom:0.65rem;font-size:0.85rem;}
.details-filtres input[type="checkbox"].checkcategorie,.details-filtres input[type="checkbox"].checkscategorie{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:1.2rem;height:1.2rem;border:2px solid #1E2B50;border-radius:4px;cursor:pointer;outline:none;box-shadow:none;margin:0;flex-shrink:0;background-color:#fff;background-repeat:no-repeat;background-position:center;background-size:contain;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;}
.details-filtres input[type="checkbox"].checkcategorie:checked,.details-filtres input[type="checkbox"].checkscategorie:checked{background-color:#1E2B50;border-color:#1E2B50;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e");}
.details-filtres label{cursor:pointer;font-size:0.85rem;padding-left:0.25rem;color:var(--bs-primary, #0d6efd);margin-bottom:0;}
.details-filtres .enfant-categ{width:100%;padding-left:1.25rem;margin-top:0.25rem;}
.details-filtres .fleche-categ{margin-left:0.5rem;color:#1E2B50;text-decoration:none;}
.fa-caret-down:before{content:"\f078";}
.filter-footer { position: sticky; bottom: 0; background: white; z-index: 5; }
.btn-orange { background-color: #E30613; transition: opacity 0.2s; }
.btn-orange:hover { opacity: 0.9; color: white; }
.offcanvas-body::-webkit-scrollbar { width: 6px; }
.offcanvas-body::-webkit-scrollbar-thumb { background: #D4DBEF; border-radius: 10px; }
/* Header des pages (mobile web app) */
.mobile-webapp-header { z-index: 1030;height: 70px;background-color: var(--light-grey);flex-shrink: 0;}
.btn-filter-floating { width: 42px; height: 42px; border-radius: 50%; border: none;cursor: pointer;}
.btn-filter-floating:active { transform: scale(0.9); }
.btn-filter-floating img { filter: brightness(0) invert(1); }
.mobile-webapp-header h1 { white-space: nowrap; }

/* Webapp pwa installation */
#pwaInstallComponent{position:relative;z-index: 1500;}
.pwa-rouchy-banner { position: fixed; bottom: 70px; left: 0; right: 0; z-index: 1040; background-color: #ffffff; border-top: 1px solid #e5e5e5; border-bottom: 1px solid #e5e5e5; padding: 12px 1.5rem; display: none; flex-direction: column; gap: 12px; box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.05); }
.pwa-rouchy-top { display: flex; align-items: center; gap: 12px; }
.pwa-rouchy-logo-wrap { width: 55px; height: 55px; border-radius: 8px; overflow:hidden; display: flex; align-items: center; justify-content: center; flex-shrink: 0; background-color: #ffffff; }
.pwa-rouchy-logo { max-width: 100%; max-height: 100%; object-fit: contain; }
.pwa-rouchy-text { display: flex; flex-direction: column; min-width: 0; }
.pwa-rouchy-text strong { font-size: 0.9rem; line-height: 1.25;font-family: "PoppinsB", sans-serif; }
.pwa-rouchy-text span { font-size: 0.8rem; color: #666666; margin-top: 2px; }
.pwa-rouchy-actions { display: flex; align-items: center; justify-content: space-between; gap: 16px; }

/* Demande devis public */
.demandedevispublic { display: flex; flex-direction: column; gap: 1.5rem; }
.demandedevispublic u { display: block;; font-size: 1.1rem; margin-bottom: 0.5rem; text-decoration: none;font-family: "PoppinsSB", sans-serif; }
.demandedevispublic label { display: block; margin-bottom: 0.25rem; font-weight: 500; font-size: 0.9rem; }
.demandedevispublic input[type="text"], .demandedevispublic input[type="email"], .demandedevispublic select, .demandedevispublic textarea { display: block; width: 100%; padding: 0.75rem 1.25rem; background-color: #fff; border: 2px solid #dee2e6; border-radius: 50rem; font-size: 1rem; line-height: 1.5; transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; margin-bottom: 1rem; }
.demandedevispublic textarea { border-radius: 1rem; min-height: 120px; resize: vertical; }
.demandedevispublic input[type="text"]:focus, .demandedevispublic input[type="email"]:focus, .demandedevispublic select:focus, .demandedevispublic textarea:focus { border-color: #0d6efd; outline: 0; box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25); }
.demandedevispublic select { appearance: none; background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e"); background-repeat: no-repeat; background-position: right 1.25rem center; background-size: 16px 12px; }
.demandedevispublic .ligne-checkbox { display: flex; align-items: flex-start; gap: 0.75rem; margin-top: 0.5rem; margin-bottom: 0.5rem; }
.demandedevispublic .ligne-checkbox input[type="checkbox"] { width: 1.2em; height: 1.2em; margin-top: 0.15em; flex-shrink: 0; cursor: pointer; }
.demandedevispublic .ligne-checkbox label { margin-bottom: 0; cursor: pointer; }
.demandedevispublic .champs-obli { display: block; font-size: 0.85rem; color: #6c757d; margin-top: 0.5rem; }
.demandedevispublic .ligne-politique { display: block; font-size: 0.8rem; color: #6c757d; margin-top: 0.5rem; margin-bottom: 1rem; line-height: 1.4; }
.demandedevispublic .ligne-politique a { color: #141d36; text-decoration: underline; }
.demandedevispublic input[type="submit"] { display: inline-flex; justify-content: center; align-items: center; width: 100%; border-radius: 50rem; cursor: pointer; border: 1px solid #1E2B50; background-color: #1E2B50; color: #fff; font-weight: normal; font-family: "PoppinsB", sans-serif; letter-spacing: 0.1rem; font-size: 0.8rem; padding: 1rem 1.25rem; text-transform: uppercase; transition: all 0.2s ease-in-out; }
.demandedevispublic input[type="submit"]:hover { background-color: #16203c; border-color: #141d36; color: #fff; filter: brightness(1.1); box-shadow: 0 4px 8px rgba(30, 43, 80, 0.2); }
.demandedevispublic input[type="submit"]:active { background-color: #141d36; border-color: #121a31; color: #fff; }
.demandedevispublic input[type="submit"]:focus { box-shadow: 0 0 0 0.25rem rgba(66, 77, 108, 0.5); outline: 0; }

/* Fiche produit -----------*/
.link-anchor-product a:hover{color:var(--rouchy-red) !important;}
.product-gallery-container { background-color: #ffffff; }
.swiper-product-main { width: 100%; overflow: hidden; position: relative; }
.swiper-product-main .swiper-slide { background-color: #ffffff; display: flex; align-items: center; justify-content: center; height: 320px; }
.swiper-product-main .swiper-slide img { max-height: 100%; object-fit: contain; }
.custom-nav:active { transform: translateY(-50%) scale(0.8); }
.thumb-wrapper { cursor: pointer; background-color: #ffffff; height: 100%; display: flex; align-items: center; justify-content: center; transition: all 0.2s ease; border: 2px solid #F8F8F8 !important; }
.thumb-wrapper.active { border: 2px solid #0056b3 !important; opacity: 1 !important;border-color: var(--rouchy-blue) !important; }
.thumb-wrapper img {width:100%;max-height: 100%; width: auto; object-fit: contain;}
.glightbox-product{height:100%;}
.goverlay { background: rgba(30, 43, 80, 0.9) !important; }
.gslide-media { border-top-left-radius: 1rem !important; border-top-right-radius: 1rem !important; overflow: hidden !important; }
.gdesc-inner { border-bottom-left-radius: 1rem !important; border-bottom-right-radius: 1rem !important; overflow: hidden !important; background-color: #1E2B50 !important; }
.gclose, .gnext, .gprev { background-color: #E30613 !important; border-radius: 50% !important; width: 45px !important; height: 45px !important; display: flex !important; align-items: center !important; justify-content: center !important; transition: background-color .2s ease, transform .2s ease !important; }
.gclose svg path, .gnext svg path, .gprev svg path { fill: #fff !important; }
.gclose:hover, .gnext:hover, .gprev:hover { background-color: #c40410 !important; transform: scale(1.08) !important; }
.gslide-title { color: #fff !important; font-weight: 700 !important; }
.glightbox-clean .gslide-description{background:transparent !important;}
a.glightbox-product { display: inline-block; overflow: hidden; }
a.glightbox-product img { transition: transform 0.3s ease, filter 0.3s ease; }
a.glightbox-product:hover img { transform: scale(1.04); filter: brightness(1.08); }
.variants-container { border: 2px solid #F8F8F8; }
.custom-variants-table thead th { padding: 0.75rem 1rem; border: none; }
.custom-variants-table tbody tr td { padding: 0.75rem 1rem; border: none;}
.custom-variants-table tbody tr{border-bottom-width: 2px !important;}
.custom-variants-table tbody tr:last-of-type{border:0 !important;}
.custom-variants-table .border-bottom { border-color: #f8f9fa !important; }
.product-row-card .img-product-compl{max-height: 80px;object-position: center;}
.custom-main-table thead th { border: none; padding: 0.25rem 1rem; }
.custom-main-table tbody tr td {white-space: nowrap;font-size:0.8rem;background: white; border-top: 2px solid #F8F8F8; border-bottom: 0;padding: 1rem;vertical-align: top;}
.custom-main-table tbody tr td.td-design{white-space: normal;}
@media (max-width: 767px) {
    .custom-main-table tbody tr td {font-size: 0.6rem !important;padding:0.5rem;}
    .custom-main-table tbody tr td:first-of-type{padding-left: 0 !important;}
    .custom-main-table tbody tr td:last-of-type{display: none;}
    .custom-main-table tbody tr .td-dispo{padding-right: 0 !important;}
    .custom-main-table tbody tr .td-dispo .x-small.fw-b{display: none !important;}
}
.custom-main-table .vertical-align-middle{vertical-align: middle !important;padding-right: 0;}
.custom-main-table tr.active td { border-top: 2px solid #F8F8F8;}
.custom-main-table tr.active td:first-child { border-left: 8px solid #e23d1d;border-left-color: var(--rouchy-red);}
.table-articles .custom-main-table .text-danger{color:var(--bs-primary) !important;}
.table-articles .custom-main-table .active .text-danger, .table-articles .custom-main-table .active .text-body{color:var(--bs-danger) !important;}
.OneproductAccordion.active {border:2px solid #1E2B50 !important;border-radius: 0.5rem;padding:0 0.5rem;}
.custom-main-table .td-designation{white-space: normal;}
.small-qty { transform: scale(0.9); }
.dispo-block small{display: inline-block; max-width: 100%; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; vertical-align: bottom;}
.dispo-block-mobile .x-small{font-size: 0.6rem !important;}
.dispo-block-mobile img{width:10px !important;}
th{font-weight: normal;}
.table-articles-title>strong{color:var(--bs-danger) !important;}
.tab-pane.show {display: block !important;}
.row.tab-pane{display: none !important;}
.row.tab-pane.show, .row.tab-pane.tab-pane-app{display: flex !important;}
.row.tab-pane.tab-pane-app{opacity: 1 !important;}
.cursor-pointer{cursor: pointer;}
.custom-product-tabs.nav-tabs .nav-link{color:#818181;}
.custom-product-tabs.nav-tabs .nav-link:hover{color:#3b3b3b;}
.custom-product-tabs.nav-tabs .nav-link.active{font-weight: normal;font-family: "PoppinsB", sans-serif;color:var(--bs-primary);position: relative;}
.custom-product-tabs.nav-tabs .nav-link.active:after{content:'';display: block;position: absolute;bottom:-0.5rem;left:0;background: linear-gradient(to right, #E10213, #E84912);width:100%;height:8px;}
.custom-product-tabs.nav-tabs #favoris-tab.nav-link.active:after{background: linear-gradient(to right, #0085DB, #1da5ff);}
.fiche-mobile .accordion-flush .accordion-button { padding: 0.5rem 0;  background-color: transparent !important; box-shadow: none !important; display: flex; justify-content: space-between; align-items: center; width: 100%; }
.fiche-mobile .accordion-flush .accordion-button::after { content: '+'; background-image: none !important; font-size: 2.5rem; width: auto; height: auto; display: flex; transition: transform 0.2s ease;font-family:"PoppinsR", sans-serif;;}
.fiche-mobile .accordion-flush .accordion-button:not(.collapsed)::after { content: '−'; transform: none; }*/
#modelesContent .OneproductAccordion:last-of-type{border:0 !important;}
.download-card { transition: all 0.3s ease; }
.download-card { background-color: transparent; }
.download-card { display: flex; }
.download-card { align-items: center; }
.download-card:hover { background-color: #f8f9fa; }
.download-card:hover { border-color: var(--bs-primary) !important; }
.download-card:hover { transform: translateY(-2px); }
.download-card:hover { box-shadow: 0 4px 12px rgba(0,0,0,0.05); }
.download-card:hover .download-arrow { opacity: 1 !important; }
.download-card:hover .download-arrow { transform: translateX(3px); }
.download-card:hover .icon-circle { transform: scale(1.1); }
.icon-circle { transition: transform 0.2s ease; }
.download-arrow { transition: all 0.3s ease; }
.fs-7 { font-size: 0.9rem; }
.x-small { font-size: 0.75rem; }
.fw-i { font-style: italic; }
.transition-all { transition: all 0.3s ease; }
#modalAjoutPanier .d-block.d-flex{display:block !important;}

/* Familles et catégories -----------*/
.acces-cat .product-image-container{height:100px;}
.acces-cat:hover img{transform: scale(1.05);}
.list-items-famille a:hover{color:var(--rouchy-red) !important;}
.list-items-famille a:hover svg path{stroke:var(--rouchy-red);}

/* Pièces détachées -----------*/
.pd-banner:hover{transform: scale(1.02);}
.vaillant-banner { background: linear-gradient(45deg, #008E7E 0%, #38CA9B 100%); }
.saunier-duval-banner { background: linear-gradient(45deg, #CC0033 0%, #FB4A76 100%); }.pd-brands-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 1rem; }
.brand-item { background: white;padding: 1rem; border-radius: 0.75rem; display: flex; align-items: center; gap: 1rem; transition: 0.2s; }
.brand-item:hover { border-color: #1E2B50; background: #F8F8F8; }
.brand-item img {height: 30px; object-fit: contain;}
.brand-item:hover img { filter: grayscale(0); opacity: 1; }
/* Desktop : On simule la grille Bootstrap habituelle */
@media (min-width: 992px) {
    .mySwiperPD .swiper-wrapper { display: flex !important; gap: 2rem; transform: none !important; }
    .mySwiperPD .swiper-slide { width: calc(50% - 1rem) !important; }
}

/* Mobile : Espacement entre les slides */
@media (max-width: 991px) {
    .mySwiperPD { padding: 0 15px 20px 15px; overflow: visible; }
}

#html-popup-widget-panier .ligne-panier-added{width:100% !important;}
#html-popup-widget-panier #titre-pdt-widget-panier{font-family: "PoppinsSB", sans-serif;font-size: 1rem !important;padding-bottom: 0 !important;}
#ref-prix-pdt-widget-panier{background-color: transparent !important;padding:0 !important;border-radius:0 !important;font-weight: normal !important;font-family: "PoppinsI", sans-serif !important;}
#stock-prix-widget{padding-left:1rem !important;}
#prix-pdt-widget-panier{padding-left:0 !important;}

/* Panier -----------*/
#panierTab .nav-link{font-size: 1rem !important;}
.checkout-stepper { background-color: #F8F8F8; height: 60px; padding: 0; }
.step { position: relative; display: flex; align-items: center; justify-content: flex-start; color: #1E2B50;}
.step.active {clip-path: polygon(0% 0%, calc(100% - 30px) 0%, 100% 50%, calc(100% - 30px) 100%, 0% 100%);}
.step:first-child {margin-left: 0; }
.step.active { background-color: #1E2B50; color: #fff; z-index: 2; }
.step-content { display: flex; align-items: center;padding: 0 2rem; }
.step-num {white-space: nowrap;position: relative;}
.step-num::after { content: ""; display: inline-block; width: 2px; height: 16px; background-color: #E84B12; vertical-align: middle;transform: translateY(-2px);margin:0 0.5rem;}

.basket-container-th{border-radius: 1rem;}
.basket-table td { padding: 1rem 1.5rem; border-color: #f1f1f1;white-space: nowrap !important;}
.basket-table td.td-desc, .basket-table td.td-desc *{text-wrap:wrap;}
.basket-table tr:last-child td { border-bottom: 0;border-bottom-left-radius: 1rem; border-bottom-right-radius: 1rem;}

.image-autre-paniers{display:none !important;}

/* Optimisation responsive mobile */
@media (max-width: 991px) {
    .basket-table td { display: block; width: 100% !important; padding: 0.5rem 0; border: 0; }
    .basket-table .td-visuel {width:20% !important; }
    .basket-table .td-visuel img {height:50px; }
    .basket-table .td-desc {width:80% !important; }
    .basket-table .td-qte {width:auto !important;display: flex !important;border-top:2px solid rgba(var(--bs-light-rgb));padding-top:1.5rem;}
    .basket-table .td-total {width:30% !important;order:10;text-align: end !important;flex-grow: 1;border-top:2px solid rgba(var(--bs-light-rgb));padding-top:1.5rem;}
    .basket-table .td-action {width:25% !important;text-align: center !important;display: flex !important;justify-content: center;border-top:2px solid rgba(var(--bs-light-rgb));padding-top:1.5rem;}
    .basket-table .td-prix {margin-left:auto;width:80% !important; }
    .basket-table tr { display: flex;flex-wrap:wrap;padding: 1.5rem 0; border: 2px solid #f8f8f8;border-radius: 1rem;padding:1rem;margin:1rem 0;}
    .table_panier-favoris.basket-table .td-ajout-panier{border-top: 2px solid rgba(var(--bs-light-rgb));width:50% !important;display:flex !important;justify-content:flex-end !important;align-items:center !important;padding-top:1.5rem !important;}
    .table_panier-favoris.basket-table .td-qte{width:50% !important;}
    .table_panier-favoris.basket-table .td-action{width:100% !important;border-top: 2px solid rgba(var(--bs-light-rgb));}
}

/* Favoris et listes */
.table_panier-favoris.basket-table .td-qte small{display:block !important;}

/* Livraison ------*/
.custom-radio { position: relative; width: 20px; height: 20px; flex-shrink: 0; cursor: pointer; }
.custom-radio input { position: absolute; opacity: 0; cursor: pointer; width: 100%; height: 100%; z-index: 2; margin: 0; }
.custom-radio .radio-dot { position: absolute; top: 0; left: 0; height: 20px; width: 20px; border: 2px solid #e84d12; border-radius: 50%; background-color: transparent; transition: all 0.2s ease; }
.custom-radio input:checked ~ .radio-dot { background-color: var(--bs-secondary); }
.custom-radio .radio-dot::after { content: ""; position: absolute; display: none; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 10px; height: 10px; border-radius: 50%; background: #1e2b50; }
.custom-radio input:checked ~ .radio-dot::after { display: block; }
.label-radio-dot:has(input:checked) span.small {font-weight: normal;font-family: "PoppinsB", sans-serif;}
.label-radio-dot{position:relative;}
.label-radio-dot .text-danger{top:0;left:0;right:0;bottom:0;width:100%;transform:none!important;background:rgba(255,255,255,0.7);display:flex;align-items:center;justify-content:flex-start;font-size:0.75rem;white-space:nowrap;border-radius:6px;z-index:2;padding-left:2.25rem;padding-top: 3.25rem;font-weight: normal;font-family: "PoppinsB", sans-serif;}
.address-card { border-color: #f8f9fa !important; background-color: #f8f9fa; transition: all 0.2s ease-in-out; cursor: pointer; }
.btn-check:checked + .address-card { border-color: #1e2b50 !important; background-color: #ffffff; box-shadow: 0 4px 12px rgba(30, 43, 80, 0.08); }
.radio-indicator { width: 16px; height: 16px; border: 2px solid #dee2e6; border-radius: 50%; display: inline-block; position: relative; }
.btn-check:checked + .address-card .radio-indicator { border-color: #1e2b50; }
.btn-check:checked + .address-card .radio-indicator::after { content: ""; width: 8px; height: 8px; background: #1e2b50; border-radius: 50%; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); }
.transition-opacity { transition: opacity 0.3s ease-in-out; }
.btn-opacity-0 { opacity: 0; pointer-events: none; }
.accordion-button::after { background-image: url("../images/chevron-bas-plus-bis.svg") !important; background-size: 1rem; background-repeat: no-repeat; background-position: center; }
.accordion-button:not(.collapsed) { color: #1e2b50; background-color: #fff; border-bottom-left-radius: 0 !important; border-bottom-right-radius: 0 !important; border-bottom-color: transparent !important; }
.accordion-button:not(.collapsed)::after { transform: rotate(-180deg); }
.accordion-item:last-of-type .accordion-collapse { border-bottom-left-radius: 1rem; border-bottom-right-radius: 1rem; }
#modal-confirm-link .fas{padding-left:0.75rem;}

/* Récap */
.custom-main-table.custom-main-table-recap thead th{padding:0.25rem 0.5rem;}
.custom-main-table.custom-main-table-recap tbody tr td {white-space: nowrap;font-size:0.8rem;background: transparent !important; border-top: 2px solid #F8F8F8; border-bottom: 0;padding: 0.5rem;vertical-align: middle;}
.custom-main-table.custom-main-table-recap td:nth-of-type(1){width: 50%;white-space: normal;}
.custom-main-table.custom-main-table-recap td:nth-of-type(2){width: 10%;white-space: normal;}
.custom-main-table.custom-main-table-recap td:nth-of-type(3){width: 10%;white-space: normal;}
.custom-main-table.custom-main-table-recap td:nth-of-type(4){width: 20%;white-space: normal;}
.custom-main-table.custom-main-table-recap td:nth-of-type(5){width: 10%;white-space: normal;}
.custom-main-table.custom-main-table-recap .td-qte{white-space: normal;}
/*.custom-main-table tbody tr td:last-of-type{display:table-cell;}*/
@media (max-width: 991px) {
    .custom-main-table.custom-main-table-recap thead { display: none; }
    .custom-main-table.custom-main-table-recap tbody tr{display: block !important; width: 100% !important;}
    .custom-main-table.custom-main-table-recap tbody td { display: flex; width: 100% !important; }
    .recap-row { border-bottom: 2px solid #EEE; margin-bottom: 1rem; padding-bottom: 1rem; background: transparent !important; }
    .row-produit { padding: 0.5rem 0 !important; display: flex; align-items: center; justify-content: flex-start; margin-bottom: 0.5rem; border: none !important; }
    .row-prix-public { padding: 0.25rem 0 !important; display: flex; justify-content: space-between; font-size: 0.75rem; color: #6c757d; border: none !important; }
    .row-prix-net { padding: 0.25rem 0 !important; display: flex; justify-content: space-between;border: none !important; }
    .row-qte { padding: 0.25rem 0 !important; display: flex; justify-content: space-between; flex-wrap: wrap; border: none !important; }
    .row-total { padding: 0.25rem 0 !important; display: flex; justify-content: space-between; color: #1e2b50; border: none !important;}
    .row-infos-mobile { padding: 0.25rem 0 !important;color: #1e2b50; border: none !important;white-space: normal !important;}
    .custom-main-table.custom-main-table-recap tbody tr td:last-of-type{display: flex;}
    .recap-row td[class^="row-"]:not(.row-produit)::before { content: attr(data-label);font-size: 0.7rem; color: #6c757d;font-family: "PoppinsR", sans-serif !important;}
}

/* Menu connecté sidebar */
.nav-item-dashboard { display: flex; align-items: center; padding: 1.25rem 0; border-bottom: 2px solid #f8f8f8; text-decoration: none; color: var(--bs-primary); transition: opacity 0.2s; }
.nav-item-dashboard { transition: all 0.1s cubic-bezier(0.25, 0.8, 0.25, 1); border-left: 4px solid #fff; }
.nav-item-dashboard .nav-chevron { transition: transform 0.3s ease; }
.nav-item-dashboard > img:first-child { width: 22px; height: auto; margin-right: 1rem; object-fit: contain; }
.nav-item-dashboard .nav-text { flex-grow: 1; font-family: "PoppinsB", sans-serif !important; color: var(--bs-primary); }
.nav-item-dashboard.inactif { pointer-events: none; cursor: not-allowed; position: relative; }
.nav-item-dashboard.inactif img{opacity: 0.5;}
.nav-item-dashboard.inactif .nav-text{opacity: 0.5;}
.nav-item-dashboard.inactif::after { content: "Bientôt"; position: absolute; right: 45px; top: 50%; transform: translateY(-50%); background-color: var(--bs-danger); color: #ffffff; font-size: 11px; padding: 3px 10px; border-radius: 50px;text-transform: uppercase;font-family: "PoppinsSB", sans-serif; }

/* Espace perso */
/* Custom pour afficher plus d'informations sur écran moyen */
.custom-product-tabs.nav-tabs .nav-link.fs-4, 
.fs-4.fw-b.text-primary.border-bottom.border-2.pb-3 {
    font-size: 1.25rem !important;
}

/* DESKTOP UNIQUEMENT : Appliqué seulement à partir de 992px et jusqu'à 2000px (ou écran court <= 900px) */
@media (min-width: 992px) and (max-width: 2000px), (min-width: 992px) and (max-height: 900px) {
    .content-wrapper-compte .container-fluid.px-lg-5 { padding-left: 2rem !important; padding-right: 2rem !important; }
    .content-wrapper-compte > .container-fluid > .container-fluid .card-body.p-xl-5 { padding: 1rem 1.5rem !important; }
    .content-wrapper-compte .row.d-none.d-lg-flex.flex-shrink-0.pb-4 { padding-bottom: 1rem !important; }
    .content-wrapper-compte .filter-footer { position: relative; }
    .content-wrapper-compte > .container-fluid > .container-fluid .card-body.p-xl-5 .fs-5 { font-size: 1rem !important; }
    
    .custom-product-tabs.nav-tabs .nav-link.fs-4, 
    .fs-4.fw-b.text-primary.border-bottom.border-2.pb-3 { font-size: 1rem !important; }

    .content-wrapper-compte .leftmenu-compte { min-height: calc(100dvh - 176.78px); }
    .div-table-max-height-compte .p-xl-5 { padding: 1.5rem !important; }
    .div-table-max-height-compte .small { font-size: 0.65rem !important; }
    .div-table-max-height-compte .mh-42 { min-height: unset !important; }
    .div-table-max-height-compte thead th { background-color: #F1F1F1 !important; }
    .div-table-max-height-compte thead th:first-child { border-top-left-radius: 0.5rem !important; }
    .div-table-max-height-compte thead th:last-child { border-top-right-radius: 0.5rem !important; }
    .div-table-max-height-compte th { font-size: 0.65rem !important; line-height: 1.1 !important; padding-top: 0.25rem !important; padding-bottom: 0.25rem !important; vertical-align: middle !important; }
    .div-table-max-height-compte div[class^="etat-commande-"] { display: inline-flex; flex-shrink: 0; font-size: 0.55rem !important; }
    .div-table-max-height-compte .btn-link.bg-transparent { flex-wrap: wrap; }
    .div-table-max-height-compte button.small { font-size: 0.65rem !important; }
    
    #recherchecompte { padding-top: 0.5rem !important; padding-bottom: 0.5rem !important; font-size: 0.75rem !important; }
    .div-demande-livraison { width: 190px !important; padding-top: 0.25rem !important; padding-bottom: 0.25rem !important; }
}

/* ÉCRANS COURTS (HAUTEUR <= 900px) */
@media (max-height: 900px) {
    .content-wrapper-compte .offcanvas-header.border-bottom, 
    .offcanva-mobile-full.menu-sidebar .offcanvas-header.border-bottom { display: none !important; }
    .content-wrapper-compte .container-fluid.px-lg-5 nav{display:none !important;}
    .content-wrapper-compte .menu-nav-list .nav-item-dashboard, 
    .offcanva-mobile-full.menu-sidebar .nav-item-dashboard { padding: 1rem 0 !important; }
    .content-wrapper-compte #smenuMobileGestion .menu-nav-list .nav-item-dashboard { padding: 1.5rem 0 !important; }
}

/* MOBILE UNIQEMENT (< 576px) */
@media (max-width: 575px) {
    .offcanva-mobile-full.menu-sidebar .nav-item-dashboard { padding: 1.5rem 0 !important; }
    .offcanvas { width: 100% !important; }
    .content-wrapper-compte > .container-fluid > .container-fluid .card-body.p-xl-5 { padding: 0rem !important; }
}
/* -- fin --*/
.content-compte-mobile{height: calc(100svh - 70px);display: flex;width:100%;align-items: stretch;}
.content-compte-mobile .filter-footer{margin-top: auto;}
.row-tabs-compte{position: sticky;top:70px;z-index: 10;background-color: #fff;padding-bottom:0 !important;}
.content-wrapper.content-wrapper-compte{overflow: visible;}
.content-wrapper-compte{background-color: #fff;}
.content-wrapper-compte .leftmenu-compte{top:178px;}
@media (min-height: 900px) {
    .content-wrapper-compte{height:calc(100svh - 110px);}
}
#accordionAdressesPro .accordion-item:first-child .accordion-button::after {
    display: none !important;
}
.custom-table { border-collapse: collapse; }
.custom-table tbody tr td { border-top: 2px solid #F8F8F8; border-bottom: 0;vertical-align: top;}
.leftmenu-compte .btn-dissmiss-offcanva {display: none;}
.leftmenu-compte .filter-footer .div-help, .offcanvas.menu-sidebar .div-help{ display: none !important; }
.leftmenu-compte .filter-footer .btn-deco, .offcanvas.menu-sidebar .btn-deco{width:100%;}
.table-max-height-compte{flex-grow: 1;overflow-y: auto;scrollbar-width: thin;}
.form-switch label{margin-top:0.5rem;}
.switch-custom{font-size: 1.25rem; cursor: pointer;}
.switch-custom:checked {background-color: var(--bs-primary) !important;border-color: var(--bs-primary) !important;}
.div-demande-livraison{width:265px;}
.div-demande-livraison button{width:100%;justify-content: space-between;}
#cmdencours-pane .custom-table tbody tr td{vertical-align: middle;}
/* Popup detail commande */
#contenu-popup-detail-commande table { width: 100%; border-collapse: separate; border-spacing: 0; font-size: 0.75rem; color: #334155; }
#contenu-popup-detail-commande th { background-color: var(--bs-primary); color: #fff; padding: 0.5rem 0.75rem; border-bottom: 2px solid #e2e8f0; font-size: 0.75rem; font-family: "PoppinsSB", sans-serif; }
#contenu-popup-detail-commande td { padding: 0.55rem 0.75rem; vertical-align: middle; border-bottom: 1px solid #f1f5f9; }
#contenu-popup-detail-commande td:nth-child(4), #contenu-popup-detail-commande td:last-child, #contenu-popup-detail-commande th:nth-child(4), #contenu-popup-detail-commande th:last-child { white-space: nowrap; }
#contenu-popup-detail-commande tbody tr:nth-of-type(even) { background-color: #f8fafc; }
/*#contenu-popup-detail-commande tbody tr:not(:last-child):hover { background-color: #e2e8f0; }*/
#contenu-popup-detail-commande tbody tr:last-child { background: transparent; }
#contenu-popup-detail-commande tbody tr:last-child td { border-top: 2px solid #1E2B50; border-bottom: none; font-size: 0.8rem; font-weight: 700; color: #1E2B50; padding: 0.75rem; }
#contenu-popup-detail-commande tbody tr:last-child td:last-child { color: #e6231d; font-size: 0.85rem; }
.modal-table-commande td:nth-child(1), .modal-table-commande td:nth-child(2), .modal-table-commande td:nth-child(4) { text-wrap:wrap !important; }
.modal-table-commande td:nth-child(5), .modal-table-commande td:nth-child(6), .modal-table-commande td:nth-child(7) { text-wrap: nowrap !important; }
@media (max-width: 576px) {
    #contenu-popup-detail-commande table { font-size: 0.65rem; }
    #contenu-popup-detail-commande th { font-size: 0.65rem; padding: 0.4rem 0.3rem; }
    #contenu-popup-detail-commande td { padding: 0.4rem 0.3rem; }
    #contenu-popup-detail-commande tbody tr:last-child td { font-size: 0.7rem; padding: 0.5rem 0.3rem; }
    #contenu-popup-detail-commande tbody tr:last-child td:last-child { font-size: 0.75rem; }
}
.modal-table-commande-web td.modal-td-multiligne{ padding: 2rem 0.75rem !important; background-color: #F1F1F1; border-radius:1rem; font-size: 0.75rem; color: #475569; line-height: 1.6; text-align: center;border:0 !important;font-weight: unset !important;font-family: "PoppinsSB", sans-serif !important; color:var(--bs-primary) !important;}
.modal-table-commande-web td.modal-td-multiligne a.bt-cmd-nouveau-web { min-height: 42px; border-radius: 2rem; padding: 0.4rem 1rem; display: inline-flex; align-items: center; justify-content: center; gap: 0.5rem; margin: 0.75rem auto 0 auto; background-color: #1E2B50; color: #fff !important; text-decoration: none !important; border: 1px solid #1E2B50; transition: all 0.2s ease-in-out; font-family: "PoppinsB", sans-serif; }
.modal-table-commande-web td.modal-td-multiligne a.bt-cmd-nouveau-web:hover { background-color: #16203c; border-color: #141d36; color: #fff !important; filter: brightness(1.1); box-shadow: 0 4px 8px rgba(30, 43, 80, 0.2); }
.modal-table-commande-web td.modal-td-multiligne a.bt-cmd-nouveau-web img { width: 16px; height: 16px; filter: brightness(0) invert(1); }
.modal-table-commande-web .auteur_panier{padding:2rem 1rem !important;text-align:center;font-family: "PoppinsI", sans-serif !important;}
.modal-table-commande-web .auteur_panier:hover{background-color:inherit !important;box-shadow:none !important;}
.modal-table-commande-web .auteur_panier strong{font-family: "PoppinsI", sans-serif !important;}

#modal-demande-livraison .modal-content { box-shadow: 0 10px 30px rgba(0,0,0,0.06) !important; background-color: #ffffff; }
#modal-demande-livraison .fs-7 { font-size: 0.75rem; letter-spacing: 0.03em; }
#modal-demande-livraison .form-control, #dl-datesouhait{ border: 1px solid #e2e8f0; border-radius: 0.375rem; padding: 0.45rem 0.65rem; font-size: 0.85rem; background-color: #ffffff; }
#modal-demande-livraison .form-select { border: 1px solid #e2e8f0; border-radius: 0.375rem; padding: 0.45rem 0.65rem; font-size: 0.85rem; background-color: #ffffff; }
#modal-demande-livraison .form-control:focus { border-color: #0f172a; box-shadow: none; }
#modal-demande-livraison .form-select:focus { border-color: #0f172a; box-shadow: none; }
#modal-demande-livraison .btn-check + .btn-outline-light { background-color: #ffffff; border-color: #e2e8f0 !important; color: #334155; }
#modal-demande-livraison .btn-check:checked + .btn-outline-light { border-color: #1E2B50 !important; background-color: #f8fafc; font-family: "PoppinsB", sans-serif;}
/*#modal-demande-livraison #bt_livrer_adresse_dl { background-color: #0f172a; border-color: #0f172a; }*/
/*#modal-demande-livraison #bt_livrer_autre_adresse_dl { border-color: #e2e8f0; color: #475569; }*/
#adresse-facturation-dl { line-height: 1.45; }
#nouvelle-adresse-dl { animation: dlFadeIn 0.15s ease-out; }
.btn-choix-desti.active{border-color: #1E2B50 !important;background-color: #f8fafc;font-family: "PoppinsB", sans-serif;}

@keyframes dlFadeIn { from { opacity: 0; transform: translateY(-3px); } to { opacity: 1; transform: translateY(0); } }


/* Login et modals */
.modal{background-color: rgba(30, 43, 80, 0.5);}
.hover-opacity-100:hover {opacity: 1 !important;}
#loginEspaceProMobileModal, #modalAjoutPanier, .modal-type{padding-bottom:70px;border-radius: 0 !important;}
#modalAjoutPanier .modal-content, .modal-type .modal-content{border-radius: 0 !important;}
.btn-close-primary{--bs-btn-close-color:var(--bs-primary) !important;opacity: 1 !important;}


/* Création compte */
.card-selection:hover {
    transform: translateY(-4px);
    box-shadow: 0 10px 20px rgba(0,0,0,0.1) !important;
}

.card-selection.active {
    outline: 3px solid #1E2B50;
    outline-offset: 2px;
}

/* Form SOEMAN */
.mauticform_wrapper{margin-top:0 !important;margin-bottom:0 !important;}
#mauticform_input_contactprofessionnel_submit, #mauticform_input_contactparticulier_submit{border-radius:2rem;padding:0.4rem 1rem;display: flex;align-items:center;font-weight: normal;font-family: "PoppinsB", sans-serif;letter-spacing: 0.1rem;font-size: 0.8rem;padding:1rem 1.25rem;text-transform: uppercase;width:100% !important;text-align: center !important;justify-content: center !important;}
#mauticform_input_contactprofessionnel_submit, #mauticform_input_contactparticulier_submit{background: #1E2B50;color:#fff;border-color:#1E2B50;transition: all 0.2s ease-in-out; }
#mauticform_input_contactprofessionnel_submit:hover, #mauticform_input_contactparticulier_submit:hover { filter: brightness(1.1); box-shadow: 0 4px 8px rgba(30, 43, 80, 0.2); }
.mauticform-label{font-weight: normal;font-family: "PoppinsSB", sans-serif;font-size: 1rem;}
.mauticform-selectbox, .mauticform-input, .mauticform-textarea{border-radius:2rem !important;border:2px solid #dfdfdf !important;padding:1rem 2rem !important;background-color: #f1f1f1 !important;}
.mauticform-radiogrp-row{display: flex;align-items: center;gap: 1rem;}
.mauticform-radiogrp-radio { appearance: none; -webkit-appearance: none; width: 20px; height: 20px; border: 2px solid #172c4b; border-radius: 50%; background: #fff; position: relative; cursor: pointer; vertical-align: middle; margin-right: 8px;flex-shrink: 0; }
.mauticform-radiogrp-radio:checked::before { content: ""; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 10px; height: 10px; border-radius: 50%; background: #172c4b; }
.mauticform-radiogrp-radio:focus { outline: none; box-shadow: 0 0 0 3px rgba(23, 44, 75, 0.25); }

/* Commande rapide */
.recherche-rapide a:last-of-type{border:0 !important;}
.recherche-rapide a:hover{background-color: #F8F8F8 ;}
.recherche-rapide a:last-of-type:hover{border-bottom-left-radius: 1rem !important; border-bottom-right-radius: 1rem !important;}
.qty-selector.qty-selector-achat-rapide{max-width: 150px;}
.libelle-achat-rapide{width:30%;}
.td-gras-prix-final{background-color: var(--bs-light) !important;border-radius: 1rem !important;}

/* Promotions */
#div_total_promo { display: none; position: fixed; bottom: 82px; left: 12px; right: 12px; z-index: 1040; width: auto; max-width: 100%; background: #ffffff; border-radius: 12px; box-shadow: 0 4px 20px rgba(31, 44, 79, 0.18); transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.3s ease; opacity: 0; transform: translateY(16px); }
#div_total_promo.on { display: flex; flex-direction: column; gap: 8px; padding: 12px; opacity: 1; transform: translateY(0); }
#div_total_promo a { margin-left: 0; width: 100%; }
#div_total_promo .somme-panier { display: flex; align-items: center; padding: 6px 10px; background-color: #f8f9fa; border-radius: 8px; font-size: 0.75rem; color: var(--rouchy-blue); text-align: left; font-family: "PoppinsSB", sans-serif; }
#div_total_promo .info-tranche { display: flex; flex-direction: column; gap: 6px; text-align: left; }
#div_total_promo #cadeau-titre { display: block; font-size: 0.75rem; line-height: 1.2; color: var(--bs-secondary) !important; font-family: "PoppinsSB", sans-serif; }
#div_total_promo .info-tranche > div { display: flex; align-items: center; gap: 8px; padding: 6px 8px; background: var(--bg-dispo); border: 1px dashed #0085DB; border-radius: 6px; }
#div_total_promo .info-tranche > div > div:first-child { font-size: 0.75rem; font-family: "PoppinsB", sans-serif; color: var(--rouchy-blue); white-space: nowrap; }
#div_total_promo .info-tranche img { max-height: 28px; width: auto; object-fit: contain; }
#div_total_promo .info-tranche span { font-size: 0.75rem; font-weight: 600; color: #1f2c4f; }
#div_total_promo button .d-lg-inline-block { width: 100% !important; margin-top: 2px;display:inline-block !important;}
.cadeaux-pdt-promotion { display: flex; flex-direction: column; gap: 8px; margin-top: 20px; padding: 16px; background: #ffffff; border: 1px solid rgba(31, 44, 79, 0.08); border-radius: 12px; text-align: left; }
.cadeaux-pdt-promotion .titre-tranche-pdt-promotion { font-family: "PoppinsB", sans-serif; font-size: 0.875rem; color: var(--rouchy-blue, #1f2c4f); text-transform: uppercase; letter-spacing: 0.5px; }
.cadeaux-pdt-promotion .titre-tranche { font-family: "PoppinsSB", sans-serif; font-size: 0.8125rem; color: var(--bs-secondary, #6c757d); }
.cadeaux-pdt-promotion .liste-pdt-tranche { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 4px; }
.cadeaux-pdt-promotion .liste-pdt-tranche > div { display: inline-flex; align-items: center; gap: 10px; padding: 8px 12px; background: var(--bg-dispo, #fff5f5); border: 1px dashed #0085DB; border-radius: 8px; }
.cadeaux-pdt-promotion .liste-pdt-tranche > div > div:first-child { font-family: "PoppinsB", sans-serif; font-size: 0.8125rem; color: var(--rouchy-blue, #1f2c4f); white-space: nowrap; }
.cadeaux-pdt-promotion .liste-pdt-tranche img { max-height: 36px; width: auto; object-fit: contain; }
.cadeaux-pdt-promotion .liste-pdt-tranche span { font-family: "PoppinsSB", sans-serif; font-size: 0.8125rem; color: var(--rouchy-blue, #1f2c4f); }
#cadeaux { display: flex; flex-direction: column; gap: 10px; margin-bottom: 1rem; padding: 16px; background: #ffffff; border: 2px solid #F8F8F8 ; border-radius: 12px; text-align: left; }
#cadeaux .titre-cadeaux-offerts { display: block; font-family: "PoppinsSB", sans-serif; font-size: 0.8125rem; line-height: 1.4; color: var(--bs-secondary, #6c757d);background:transparent !important; }
#cadeaux .titre-cadeaux-offerts strong { font-family: "PoppinsB", sans-serif; color: var(--rouchy-blue, #1f2c4f); }
#cadeaux > div:not(.titre-cadeaux-offerts) { display: inline-flex; align-items: center; gap: 10px; padding: 8px 12px; background: var(--bg-dispo, #fff5f5); border: 1px dashed #0085DB; border-radius: 8px; width: fit-content; }
#cadeaux > div:not(.titre-cadeaux-offerts) > div:first-child { font-family: "PoppinsB", sans-serif; font-size: 0.8125rem; color: var(--rouchy-blue, #1f2c4f); white-space: nowrap; }
#cadeaux > div:not(.titre-cadeaux-offerts) img { max-height: 32px; width: auto; object-fit: contain; }
#cadeaux > div:not(.titre-cadeaux-offerts) span { font-family: "PoppinsSB", sans-serif; font-size: 0.8125rem; color: var(--rouchy-blue, #1f2c4f); }
#cadeaux .titre-cadeaux-offerts a{text-decoration: underline;color:var(--bs-primary) !important;font-family: "PoppinsB", sans-serif;}
#cadeaux div[style*="background-color: #D99F01"]{color:var(--bs-primary) !important;background:transparent !important;opacity:0.25 !important;}
#souhaite-cadeau{display: flex;align-items: center;gap: 0.5rem;}
#input-souhaite-cadeau { width: 1.2em; height: 1.2em; border: 2px solid #1E2B50; border-radius: 4px; cursor: pointer;flex-shrink: 0; }
#input-souhaite-cadeau:checked { background-color: #1E2B50; border-color: #1E2B50; }
label[for="input-souhaite-cadeau"] { cursor: pointer; font-size: 0.85rem; padding-left: 0.25rem; }

/* Légal */

.content-article section {margin-bottom: 2rem;}
.content-article h2 {font-size: 1.25rem;color: var(--bs-primary);margin-bottom: 0.75rem;font-weight: normal;font-family: "PoppinsSB", sans-serif;}
.content-article p {font-size: 0.935rem;color: #6c757d;line-height: 1.6;margin-bottom: 0.5rem;}
.content-article a {color: #172c4b;text-decoration: underline;}

/* Footer ----------------- */
footer { background-color: #1E2B50 !important;position: relative;}
footer:before{content:"";display: block;position: absolute;top:0;left:0;width:100%;height:2rem;background-color:#fff;z-index:2;}
.footer-losange { position: absolute; left:0; bottom: 0; width: auto;height:110%; pointer-events: none; z-index: 1;max-width: 100%;}
.smartphone-wrapper { width: 75px; margin-top: -40px; }
.border-start-custom { border-left: 2px solid rgba(255,255,255,0.1); padding-left: 2rem; }
.social-icon-footer { width: 40px; height: 40px; background: linear-gradient(to right, #E10213, #E84912); color: white; display: flex; align-items: center; justify-content: center; border-radius: 8px; text-decoration: none; transition: 0.3s; }
.social-icon-footer:hover { transform: translateY(-3px); color: white; box-shadow: 0 5px 15px rgba(225, 2, 19, 0.4); }
.footer-links a { color: rgba(255,255,255,0.7); text-decoration: none; font-size: 14px; transition: 0.3s; display: inline-block; margin-bottom: 8px; }
.footer-links a:hover { color: #fff; transform: translateX(5px); }
.emqu-link { position: relative; display: inline-flex; align-items: center; transition: all 0.3s ease; }
.emqu-link:hover { opacity: 1 !important; color: #0093D1 !important; }
.emqu-link::after { content: ""; position: absolute; width: 0; height: 1px; bottom: -2px; left: 50%; background-color: #00C2B1; transition: all 0.3s ease; }
.emqu-link:hover::after { width: 100%; left: 0; }
.emqu-picto { height: 14px; margin: 0 4px; transition: transform 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275); }
.emqu-link:hover .emqu-picto { transform: rotate(360deg) scale(1.2); }
.footer-col { border-bottom: 1px solid rgba(255, 255, 255, 0.1); }
.footer-header { display: flex; justify-content: space-between; align-items: center; padding: 15px 0; }
.footer-title { color: #FFF; font-size: 14px; font-weight: 700; text-uppercase: uppercase; letter-spacing: 2px; }
.chevron-icon { width: 12px; transition: transform 0.3s ease; }
.footer-header[aria-expanded="true"] .chevron-icon { transform: rotate(180deg); }
.footer-links { padding: 10px 0 20px 0; }
.footer-links li { margin-bottom: 12px; }
.footer-links a { color: rgba(255, 255, 255, 0.7); text-decoration: none; font-size: 14px; }
@media (max-width: 767px) {
    :is(.categorie, .recherche, .marques, .famille, .atouprix, .destockage, .commanderapide, .promotions, .inscription, .pieces-detachees, .widget-vaillant, .widget-saunier-duval, .compte, .livraison, .recapitulatif, .panier, .panierpublic, .paniervalid, .paniertype, #page.panier) footer #footer-details * { display: none !important; }
    :is(.categorie, .recherche, .marques, .famille, .atouprix, .destockage, .commanderapide, .promotions, .inscription, .pieces-detachees, .widget-vaillant, .widget-saunier-duval, .compte, .livraison, .recapitulatif, .panier, .panierpublic, .paniervalid, .paniertype, #page.panier) footer #footer-details .col-lg-8 { display: block !important; }
    :is(.categorie, .recherche, .marques, .famille, .atouprix, .destockage, .commanderapide, .promotions, .inscription, .pieces-detachees, .widget-vaillant, .widget-saunier-duval, .compte, .livraison, .recapitulatif, .panier, .panierpublic, .paniervalid, .paniertype, #page.panier) footer #footer-details .row.d-md-none.pb-5 { display: flex !important; padding-bottom: 0 !important; padding-top: 2rem; }
    :is(.categorie, .recherche, .marques, .famille, .atouprix, .destockage, .commanderapide, .promotions, .inscription, .pieces-detachees, .widget-vaillant, .widget-saunier-duval, .compte, .livraison, .recapitulatif, .panier, .panierpublic, .paniervalid, .paniertype, #page.panier) footer #footer-details .row.d-md-none.pb-5 > div { display: block !important; }
    :is(.categorie, .recherche, .marques, .famille, .atouprix, .destockage, .commanderapide, .promotions, .inscription, .pieces-detachees, .widget-vaillant, .widget-saunier-duval, .compte, .livraison, .recapitulatif, .panier, .panierpublic, .paniervalid, .paniertype, #page.panier) footer #footer-details .row.d-md-none.pb-5 > div * { display: block !important; }
    :is(.categorie, .recherche, .marques, .famille, .atouprix, .destockage, .commanderapide, .promotions, .inscription, .pieces-detachees, .widget-vaillant, .widget-saunier-duval, .compte, .livraison, .recapitulatif, .panier, .panierpublic, .paniervalid, .paniertype, #page.panier) footer #footer-details .row.d-md-none.pb-5 > div img {max-width:30%;}
}

/* --- DESKTOP (MIN-WIDTH: 768px) --- */
@media (min-width: 768px) {
    .footer-col { border-top: none; }
    .footer-header { pointer-events: none; cursor: default; padding: 0 0 25px 0; }
    .chevron-icon { display: none; }
    .footer-collapse { display: block !important; height: auto !important; visibility: visible !important; }
    .footer-links { padding: 0; }
    .product-card { height: 520px !important;}
    /*.product-card:hover .product-card-inner { transform: translateY(-130px); }*/
    .product-card:hover .product-card-inner .product-info{ transform: translateY(-40%);padding-top:0.5rem;/*border-top:2px solid #F8F8F8;*/}
    /*.product-card:hover .product-card-inner .product-info .product-title{height: auto;}*/
    .product-info{transform: translateY(-10px);position: relative;}
    .product-card:hover .product-card-inner .product-info:before { content: ""; position: absolute; top: 1px; left: 0; width: 100%; height: 5rem; background: linear-gradient(to bottom, rgba(255,255,255,0), #fff); transform: translateY(-100%); pointer-events: none; }
    .swiper-compl-product-mobile .product-card { height: auto !important;}
    .swiper-compl-product-mobile .hover-content{opacity: 1;}
    .swiper-compl-product-mobile .product-card:hover .product-card-inner{transform: none;}
    .hover-content { opacity: 0; transition: opacity 0.3s ease; }
    .product-card:hover .hover-content { opacity: 1; }
    .product-header{position: relative;z-index: 2;width:100%;}
    .product-image-container, .product-image-container.product-image-container-famille{height: 200px;}
    .product-image-container .col-md-auto{width: 100%;}
    .product-card:hover .product-image-container{opacity: 0.5;}
    .product-image-container a:hover { transform: scale(1.05); }
    .product-card .main-img {object-position: center;max-width: 70%;max-height: 200px;padding:1rem;height:100% !important;}
    .product-title {height: 4rem;overflow:hidden; }
    .product-title span { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical;}
    .brand-logo {max-width: 30%; }
    .product-card .dispo-block{min-height: 82px;}
    .basket-table td {min-width: 60px;}
    .product-visual{width:100px;max-height: 100px;object-fit: contain;}
    .acces-cat .product-image-container{height:200px;}
    #modalAjoutPanier .modal-content, .modal-type .modal-content{border-radius: 1rem !important;}
    .acces-invite .universe-link .fs-6 { font-size: 1rem !important; }
    .img-main-contain {object-fit: contain;}
}

/* --- ÉCRANS LARGES (TABLETTES / DESKTOP) --- */
@media (min-width: 992px) {
    body { padding-top: 110px; padding-bottom: 0; }
    .carousel-placeholder { height: 400px; }
    .bg-dark-blue { background-color: var(--rouchy-blue); }
    .bg-light-lg{background-color: var(--bs-light) !important;}
    .btn-caps-b{padding:0.5rem 1.25rem;}
    #btnReturnToTop {bottom: 30px; right: 30px;}
    .container, .container-fluid, .container-lg, .container-md, .container-sm, .container-xl, .container-xxl{--bs-gutter-x: 1.5rem;}
    .content-wrapper{overflow: unset;}
    .sticky-product{position: sticky;top:200px;}
    .basket-container{border: 2px solid rgba(var(--bs-light-rgb));}
    .basket-container-th{border-bottom-left-radius: 0rem; border-bottom-right-radius: 0rem;}
    .basket-table .td-desc>div{border-right:2px solid rgba(var(--bs-light-rgb));}
    .basket-table .td-visuel img {height:80px;width:80px !important;object-fit: contain;}
    .d-lg-table-header-group{display: table-header-group !important;}
    .row-infos-mobile{display: none !important;}
    .offcanvas{padding-bottom: 0px;}
    .offcanvas.filter-sidebar{ width: 550px !important;padding-top:180px;}
    .offcanvas.menu-sidebar{ width: 350px !important;padding-top:180px;}
    .leftmenu-compte{ width: 350px !important;}
    .content-compte-mobile{height: auto;display: flex;width:100%;align-items: stretch;}
    .content-compte-mobile .filter-footer{margin-top: unset;}
    .nav-item-dashboard:hover { background-color: #F8F8F8; padding-left: 1rem;padding-right:1rem; border-left: 4px solid #1e2b50; ; opacity: 1; }
    .content-wrapper.content-wrapper-compte{/*overflow: hidden;*/}
    .content-wrapper-compte{padding-top:67px;background-color:#F1F1F1;}
    .overflow-hidden-lg{overflow: hidden;}
    .row-tabs-compte{position: relative;top:0px;z-index: 10;background-color: transparent;}
    .td-gras-prix-final{background-color: transparent !important;border-radius: 0rem !important;}
    .position-lg-relative{position: relative !important;}
    .custom-main-table tbody tr td.td-design{white-space: nowrap;}
     .basket-table td{min-width: 30px;}
    .basket-table .td-visuel img{width:20px !important;height:20px !important;}
    .compte footer:before{content:"";display: block;position: absolute;top:0;left:0;width:100%;height:2rem;background-color:#f1f1f1;z-index:2;}
    /* Promotions */
    #div_total_promo { position: fixed; bottom: 24px; right: 24px; left: auto; z-index: 1050; width: 420px; max-width: calc(100vw - 32px); border-radius: 1rem;border:2px solid #F8F8F8;}
    #div_total_promo.on { gap: 16px; padding: 20px; }
    #div_total_promo .somme-panier { padding: 12px 14px; border-radius: 1rem; font-size: 0.875rem; }
    #div_total_promo .info-tranche { gap: 10px; }
    #div_total_promo #cadeau-titre { font-size: 0.8125rem; line-height: 1.35; }
    #div_total_promo .info-tranche > div { gap: 12px; padding: 10px 12px; border-radius: 8px; }
    #div_total_promo .info-tranche > div > div:first-child { font-size: 0.8125rem; }
    #div_total_promo .info-tranche img { max-height: 40px; }
    #div_total_promo .info-tranche span { font-size: 0.8125rem; }
    #div_total_promo button { margin-top: 4px; }
    .cadeaux-pdt-promotion { padding: 20px; gap: 10px; }
    .cadeaux-pdt-promotion .titre-tranche-pdt-promotion { font-size: 0.9375rem; }
    .cadeaux-pdt-promotion .titre-tranche { font-size: 0.875rem; }
    .cadeaux-pdt-promotion .liste-pdt-tranche > div { padding: 10px 14px; gap: 12px; }
    .cadeaux-pdt-promotion .liste-pdt-tranche img { max-height: 44px; }
    #cadeaux { gap: 12px; margin-top: 24px; padding: 20px; border-radius: 1rem; }
    #cadeaux .titre-cadeaux-offerts { font-size: 0.875rem; }
    #cadeaux > div:not(.titre-cadeaux-offerts) { gap: 12px; padding: 10px 14px; }
    #cadeaux > div:not(.titre-cadeaux-offerts) img { max-height: 40px; }
    #pwaInstallComponent{display: none;}
}

@media (min-width: 1200px) {
    .avatar-circle-red { width: 5rem; height: 5rem;}
    .destockage-banner { min-height: unset; }
    .fs-4-mobile{font-size:1.5rem !important;}
    .libelle-achat-rapide{width:40%;}
    #panier-en-cours .dispo-block .x-small{display: none !important;}
    #panier-en-cours .dispo-block .status-dot{margin-right:0 !important;}
   
}



/* --- AJUSTEMENTS LARGEUR CONTAINER --- */
@media (min-width: 1400px) {
    .container { max-width: 1600px; }
    .border-start-custom-desktop{border-width: 2px !important;}
    #panierTab .nav-link{font-size: 1.5rem !important;}
    .step {font-size: 1rem;}
    .offcanvas.menu-sidebar{ width: 550px !important;padding-top:180px;}
    .leftmenu-compte{ width: 550px !important;}
    .leftmenu-compte .filter-footer .div-help, .offcanvas.menu-sidebar .div-help { display: flex !important; }
    .leftmenu-compte .filter-footer .btn-deco, .offcanvas.menu-sidebar .btn-deco{width:auto;}
    #panier-en-cours .dispo-block .x-small{display: block !important;}
    #panier-en-cours .dispo-block .status-dot{margin-right:0.5rem !important;}
    .basket-table td{min-width: 60px;}
    .basket-table .td-visuel img{width:80px !important;height:80px !important;}
}

@media (min-width: 1800px) {
    .container { max-width: 1750px; }
    .d-xxxl-inline-block{display: inline-block !important;}
}