/* Breadcrumb polish aligned with BaleineBleue visual identity */
#wrapper .breadcrumb.bb-breadcrumb {
   margin: 0 0 1.25rem !important;
   padding: 0.72rem 0 !important;
   background: linear-gradient(180deg, #f4f6f9 0%, #eef2f6 100%) !important;
   border-top: 1px solid #e4eaf2 !important;
   border-bottom: 1px solid #e4eaf2 !important;
   box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.55) !important;
}

#wrapper .breadcrumb.bb-breadcrumb ol {
   max-width: 1660px;
   margin: 0 auto;
   padding: 0 24px;
   display: flex;
   flex-wrap: wrap;
   align-items: center;
   gap: 0;
   list-style: none !important;
}

#wrapper .breadcrumb.bb-breadcrumb li {
   display: inline-flex !important;
   align-items: center;
   margin: 0;
   color: #6f7f95;
   font-size: 1rem;
   line-height: 1.35;
   font-weight: 500;
}

#wrapper .breadcrumb.bb-breadcrumb li::after {
   content: none !important;
}

#wrapper .breadcrumb.bb-breadcrumb li+li::before {
   content: none !important;
}

#wrapper .breadcrumb.bb-breadcrumb::after {
   content: none !important;
   display: none !important;
}

#wrapper .breadcrumb.bb-breadcrumb .bb-breadcrumb-sep {
   margin: 0 0.5rem;
   color: #b7c4d7;
   font-weight: 700;
}

#wrapper .breadcrumb.bb-breadcrumb li a {
   color: #2a73da !important;
   font-weight: 600;
   text-decoration: none;
   border-bottom: 1px solid transparent;
   transition: color 0.2s ease, border-color 0.2s ease;
}

#wrapper .breadcrumb.bb-breadcrumb li a:hover,
#wrapper .breadcrumb.bb-breadcrumb li a:focus-visible {
   color: #1c4b68 !important;
   border-bottom-color: #1c4b68 !important;
}

#wrapper .breadcrumb.bb-breadcrumb li:last-child {
   color: #33475f !important;
   font-weight: 700;
}

.breadcrumb-container {
   padding: 20px 48px 0px;
   background: #F4F7FA;
   & .breadcrumb{
      padding: 0px;
      margin: 0px;
      & ol{
         list-style: none;
         display: inline-flex;
         gap: 5px;
         padding: 0px 0px 24px 0px;
         margin: 0px;
         & li{
            font-size: 13px;
            &::after{
               display: inline-block;
               content: '›';
               padding: 0 8px;
            }
            &:last-child::after{
               display: none;
            }
            & > span{
               color: var(--color-2);
               font-weight: 600;
            }
            & a{
               color: rgb(107, 129, 158);
               font-weight: 500;
               &:hover{
                  text-decoration: underline !important;
               }
            }
         }
      }
   }
}
body#product #wrapper{
   background: #F4F7FA;
}
body#product .breadcrumb-container .container,
body#product #wrapper .container{
   max-width: 1280px;
}
.bb-related-products__title,
.product-detail-card .title-card{
   font-weight: 800;
   color: #102d40;
   &::after{
      width: 48px;
      height: 3px;
      background: rgb(203, 170, 77);
      border-radius: 2px;
      margin-bottom: 20px;
      content: '';
      display: block;
      margin-top: 6px;
   }
}
.product-detail-card .title-card{
   font-size: 20px;
}
.product-detail-card{
   background: rgb(255, 255, 255);
   border: 1px solid rgb(225, 233, 242);
   border-radius: 12px;
   padding: 40px;   
   & .product-attachments{
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: 14px;
      margin-bottom: 18px;
   }
   & .product-attachment{
      display: flex;
      align-items: center;
      gap: 14px;
      border: 1px solid rgb(214, 228, 240);
      border-radius: 10px;
      padding: 14px 18px;
      color: #102d40;
      &:hover{
         border-color: rgb(203, 170, 77) !important;
      }
      & > span:first-child{
         width: 40px;
         height: 40px;
         border-radius: 8px;
         background: rgb(244, 248, 252);
         display: flex;
         align-items: center;
         justify-content: center;
         flex-shrink: 0;
      }
      & span.infos{
         flex: 1 1 0%;
         min-width: 0px;
         font-size: 12px;
         color: rgb(138, 155, 181);
         & label{
            display: block;
            font-weight: 700;
            font-size: 14px;
            color: #102d40;
            text-align: left;
            margin: 0px;
            pointer-events: none;
         }
         & span{
            text-transform: uppercase;
         }
      }
   }
   & .product-presentation{
      & .product-right-content{
         margin-left: 48px;
         & .subtitle{
            font-size: 12px;
            font-weight: 700;
            letter-spacing: 0.1em;
            text-transform: uppercase;
            color: #1c4b68;
         }
         & .product-title-large-uppercase {
            font-size: 32px;
            font-weight: 800;
            color: var(--color-2);
            margin: 10px 0px 8px 0px;
            text-transform: none;
         }
         & .product-references{
            display: flex;
            align-items: center;
            gap: 16px;
            & li span{
               font-weight: 600;
            }
            & li a.btn{
               background: rgb(255, 255, 255);
               color: #102d40;
               border: 1.5px solid #1c4b68;
               border-radius: 8px;
               padding: 8px 16px;
               font-weight: 700;
               font-size: 13px;
               height: auto;
               &:hover{
                  background: #102d40;
                  border-color: #102d40;
                  color: #ffffff;
               }
            }
         }
      }
      & .images-container{
         display: flex;
         flex-flow: column;
         gap: 16px;
         & .product-cover{
            border-radius: 10px;
            overflow: hidden;
            border: 1.5px dashed var(--color-2);
            padding: 12px;
            background: rgba(127,127,127,.08);
            & img{
               object-fit: cover;
               width: 100%;
               height: 100%;
               border-radius: 10px;
            }
         }
      }
      & .product-images{
         display: grid;
         grid-template-columns: repeat(5, 1fr);
         gap: 12px;
         & li{
            border: 2px solid rgb(225, 233, 242);
            border-radius: 8px;
            overflow: hidden;
            position: relative;
            &:hover, &.active{
               border-color: var(--color-2);
            }
            & button{
               position: absolute;
               inset: 0px;
               border-radius: 6px;
               background: rgba(16,45,64, 0.72);
               display: flex;
               align-items: center;
               justify-content: center;
               color: rgb(255, 255, 255);
               font-size: 13px;
               font-weight: 700;
            }
            & img{
               object-fit: cover;
               width: 100%;
               height: 100%;
            }
         }
      }
   }
}
.besoin{
   background: #102d40;
   border-radius: 12px;
   padding: 32px 34px;
   display: flex;
   flex-direction: column;
   align-items: flex-start;
   color: #fff;
   & h2{
      font-weight: 800;
      font-size: 20px;
      color: rgb(255, 255, 255);
      margin: 16px 0px 8px;
   }
   & div a{
      display: inline-flex; 
      align-items: center; 
      gap: 10px; 
      color: rgb(255, 255, 255); 
      font-weight: 700; 
   }
   & a.telephone{
      font-size: 18px;
   }
   & a.contact{
      display: inline-flex;
      align-items: center;
      background: rgb(203, 170, 77);
      color: #102d40;
      border-radius: 8px;
      padding: 12px 22px;
      font-family: Archivo, sans-serif;
      font-weight: 800;
      font-size: 13px;
      letter-spacing: 0.04em;
      text-transform: uppercase;
      margin-top: auto;
      &:hover{
         background: rgb(184, 150, 63) !important;
         text-decoration: none !important;
         color: #102d40 !important;
      }
   }
}
.product-footer-icons{
   margin: 40px 0px;
   background: rgb(255, 255, 255);
   border: 1px solid rgb(225, 233, 242);
   border-radius: 12px;
   padding: 24px 32px;
   display: grid;
   grid-template-columns: repeat(5, 1fr);
   gap: 16px;
   & .item{
      display: flex;
      align-items: center;
      gap: 12px;
      justify-content: center;
      border-right: 1px solid rgb(225, 233, 242);
      padding-right: 16px;
      &:last-child{
         border: none;
         padding: 0px;
      }
      & > span:not(.meta){
         width: 40px;
         height: 40px;
         border-radius: 50%;
         background: rgb(203, 170, 77);
         display: flex;
         align-items: center;
         justify-content: center;
         flex-shrink: 0;
      }
      & span span{
         display: block;
      }
   }
}
@media (max-width: 767.98px) {
   #wrapper .breadcrumb.bb-breadcrumb {
      margin-bottom: 0.9rem;
      padding: 0.55rem 0;
   }

   #wrapper .breadcrumb.bb-breadcrumb ol {
      padding: 0 12px;
      flex-wrap: nowrap;
      overflow-x: auto;
      white-space: nowrap;
      -webkit-overflow-scrolling: touch;
      scrollbar-width: thin;
   }

   #wrapper .breadcrumb.bb-breadcrumb li {
      font-size: 0.92rem;
   }
   .product-footer-icons{
      grid-template-columns:  1fr;
      & .item{
         border: none;
         border-bottom: 1px solid rgb(225, 233, 242);
         padding: 0px;
         padding-bottom: 15px;
         justify-content: flex-start;
      }
   }
   .besoin{
      margin-top: 30px;
   }
}

@media (max-width: 991.98px) {
   .menu-mobile-close {
      display: none;
      position: absolute;
      top: 10px;
      right: 10px;
      z-index: 10001;
      background: none;
      border: none;
      font-size: 2.5rem;
      color: #222;
      cursor: pointer;
      line-height: 1;
      padding: 0 10px;
      transition: color 0.2s;
   }

   .menu-mobile-close:active,
   .menu-mobile-close:focus,
   .menu-mobile-close:hover {
      color: #2874e5;
   }
}

@media (max-width: 991.98px) {

   #mainMenu.em2MainMenu.menu-open,
   #mainMenu.show {
      width: 100vw !important;
      max-width: 100vw !important;
      left: 0 !important;
      right: 0 !important;
      margin: 0 !important;
      box-sizing: border-box !important;
      overflow-x: hidden !important;
   }

   #mainMenu *,
   #mainMenu *:before,
   #mainMenu *:after {
      box-sizing: border-box !important;
      max-width: 100vw !important;
   }
}

/* Make top-level menu anchors (Produits / Univers) look like other header category links: blue and uppercase */
.top-menu[data-depth="0"]>li>a.menu-toggle,
.top-menu[data-depth="0"]>li>a.menu-toggle.root-item {
   color: #1c4b68 !important;
   /* theme blue */
   text-transform: uppercase !important;
   font-weight: 600 !important;
}

.top-menu[data-depth="0"]>li>a.menu-toggle:hover,
.top-menu[data-depth="0"]>li>a.menu-toggle.root-item:hover {
   color: #1c4b68 !important;
   text-decoration: none !important;
}

/* Force uniform size, weight and alignment for all top-level menu items (left and center) */
#mainMenu .top-menu[data-depth="0"]>li>a,
#mainMenu .top-menu[data-depth="0"]>li>.menu-toggle {
   font-size: 1.125rem !important;
   /* 18px */
   font-weight: 700 !important;
   letter-spacing: 0.08em !important;
   color: var(--color-2, #1c4b68) !important;
   padding: 1rem 0 !important;
   display: inline-flex !important;
   align-items: center !important;
}

/* Ensure the centered item doesn't get extra margins/padding that misalign it */
#mainMenu .top-menu[data-depth="0"] {
   align-items: center !important;
   justify-content: flex-start !important;
}

@media (min-width: 992px) {
   .header-top {
      padding: 0 !important;
      margin: 0 !important;
   }

   a:hover {
      color: var(--color-2);
   }

   #header .header-nav {
      background: var(--color-1);
   }

   #header .header-nav .container>.row {
      display: flex;
      align-items: center;
   }

   ul.em2IconInfoNav {
      list-style: none;
      display: flex;
      margin: 0px;
      padding: 0px 10px;
      background: var(--color-2);
      width: 100%;
      flex-wrap: wrap;
      justify-content: space-between;
   }

   ul.em2IconInfoNav li {
      display: inline-flex;
      padding: 10px 0px;
      align-items: center;
      color: var(--white);
      font-weight: 700;
      font-size: 14px;
      line-height: 18px;
   }

   ul.em2IconInfoNav li a {
      color: var(--white);
      font-weight: 700;
      font-size: 14px;
      line-height: 18px;
   }

   ul.em2IconInfoNav li img {
      margin-right: 10px;
   }

   ul.em2IconInfoNav li a:hover {
      color: var(--color-1);
   }

   #header .header-top {
      padding: 0px 0px;
      position: relative;
   }

   a.logo {
      display: block;
   }

   #header .header-top.sticky {
      position: fixed;
      width: 100%;
      top: 0px;
      background: var(--white);
      box-shadow: var(--box-shadow);
      animation: menuSticky 0.6s;
   }

   #header .header-top.sticky a.logo {
      max-width: 92px;
   }

   #header .header-top>.container>.row {
      display: flex;
      align-items: flex-end;
   }

   .header-top-right .row {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
   }

   .header-top-right .blockcart a {
      display: inline-block;
      font-size: 20px;
      color: var(--black);
   }

   .header-top-right .blockcart a:hover {
      color: var(--color-2);
   }

   .header-top-right .user-info a span {
      font-size: 14px;
   }

   .header-top-right .blockcart .header {
      position: relative;
   }

   .header-top-right .blockcart .header .cart-products-count {
      position: absolute;
      top: 0px;
      right: -50%;
      background: var(--color-5);
      color: var(--white);
      font-size: 10px;
      border-radius: 50px;
      min-width: 20px;
      padding: 2px 5px;
      text-align: center;
      line-height: 10px;
   }

   #header .header-nav .right-nav {
      display: flex;
      justify-content: space-between;
      align-items: center;
   }

   .em2NavInfo {
      color: var(--white);
      font-weight: 600;
      font-size: 12px;
      line-height: 16px;
      text-align: center;
   }

   .em2NavInfo span {
      display: block;
   }

   .footerBottom ul {
      margin: 0px;
      padding: 0px;
      display: flex;
      flex-wrap: wrap;
      align-items: center;
   }

   .footerBottom ul li {
      display: inline-flex;
      background: none;
      margin-left: 10px;
   }

   .footerBottom ul li::before {
      display: none;
   }

   .footerBottom ul li a {
      display: inline-block;
      background-color: var(--white);
      height: 21px;
   }

   #header .header-nav .right-nav ul li a:hover {
      background-color: var(--color-2);
   }

   .footerBottom ul li.facebook a {
      width: 12px;
      -webkit-mask-image: url(../img/icon-facebook.svg);
      mask-image: url(../img/icon-facebook.svg);
   }

   .footerBottom ul li.twitter a {
      width: 21px;
      -webkit-mask-image: url(../img/icon-twiter.svg);
      mask-image: url(../img/icon-twiter.svg);
   }

   #header .header-top .menu>ul>li>a {
      font-size: 16px;
      color: var(--color-1);
      font-weight: 700;
      padding: 10px;
      text-transform: uppercase;
      /* Ajouté */
   }

   #header .header-top .menu>ul>li:hover>a {
      color: var(--white);
      background: var(--color-1);
   }

   .top-menu .sub-menu ul {
      margin: 0px;
      padding: 0px;
      display: flex;
      flex-wrap: wrap;
      margin: 0 -15px;
   }

   /* Desktop: make first-level submenus overlay (absolute) so they don't push the top-level titles */
   #mainMenu .top-menu[data-depth="0"] {
      display: flex !important;
      align-items: center !important;
      justify-content: space-between !important;
      gap: 2rem;
   }

   #mainMenu .top-menu[data-depth="0"]>li {
      position: relative;
      /* container for absolute submenu */
   }

   /* Ensure the submenu is an overlay and doesn't change layout when opened */
   #mainMenu .top-menu[data-depth="0"]>li>.em3-subcategory-menu {
      position: absolute !important;
      top: calc(100% + 8px) !important;
      left: 0 !important;
      display: none !important;
      /* JS will toggle to block */
      z-index: 1050 !important;
      min-width: 220px !important;
      background: #fff !important;
      box-shadow: 0 12px 30px rgba(16,45,64, 0.08) !important;
      padding: 18px 20px !important;
      border-radius: 6px !important;
   }

   /* If you want the submenu to be wider and align to the left edge of the menu container */
   #mainMenu .top-menu[data-depth="0"]>li.left-submenu>.em3-subcategory-menu {
      left: 0 !important;
   }

   /* If submenu should appear centered under its parent, you can use transform to center it */
   #mainMenu .top-menu[data-depth="0"]>li.center-submenu>.em3-subcategory-menu {
      left: 50% !important;
      transform: translateX(-50%) !important;
   }

   /* Extra safety rules to avoid parent containers limiting overlays */
   nav#mainMenu,
   nav#mainMenu .dropdown-menu-inner,
   nav#mainMenu .menu {
      overflow: visible !important;
      z-index: 1040 !important;
   }

   /* Ensure top-level list is a single horizontal row and items don't stretch */
   nav#mainMenu .top-menu[data-depth="0"] {
      display: flex !important;
      align-items: center !important;
      gap: 3rem !important;
      padding-left: 3% !important;
   }

   nav#mainMenu .top-menu[data-depth="0"]>li {
      flex: 0 0 auto !important;
      margin: 0 !important;
      position: relative !important;
   }

   /* Make sure JS toggled inline display doesn't push layout: rely on .show class */
   #mainMenu .em3-subcategory-menu {
      display: none !important;
   }

   #mainMenu .em3-subcategory-menu.show {
      display: block !important;
      position: absolute !important;
   }

   /* If the submenu becomes very tall, allow it to scroll instead of expanding layout */
   #mainMenu .em3-subcategory-menu {
      max-height: 70vh !important;
      overflow: auto !important;
   }

   /* --- Enhanced styling for root panels (mega-menu look) --- */
   nav#mainMenu .top-menu-panels {
      position: absolute;
      top: 100%;
      left: 0;
      right: 0;
      pointer-events: none;
      /* panels are inactive until shown */
   }

   nav#mainMenu .top-menu-panels .root-panel {
      pointer-events: auto;
      position: absolute !important;
      left: 0;
      right: 0;
      top: 0;
      display: none !important;
      opacity: 0;
      visibility: hidden;
      transition: opacity 0.22s ease, transform 0.18s ease, visibility 0.18s;
      transform: translateY(-6px);
      background: rgba(255, 255, 255, 0.96) !important;
      box-shadow: 0 18px 40px rgba(16,45,64, 0.08) !important;
      border-top: 4px solid rgba(28,75,104, 0.06);
      z-index: 1200 !important;
      padding: 18px 0 !important;
   }

   /* caret pointing up below the menu anchor */
   nav#mainMenu .top-menu-panels .root-panel::before {
      content: "";
      position: absolute;
      top: -8px;
      left: var(--caret-left, 40px);
      transform: translateX(-50%);
      width: 0;
      height: 0;
      border-left: 8px solid transparent;
      border-right: 8px solid transparent;
      border-bottom: 8px solid rgba(255, 255, 255, 0.96);
      filter: drop-shadow(0 2px 6px rgba(16,45,64, 0.04));
   }

   /* make link headings slightly larger and lighter */
   nav#mainMenu .top-menu-panels .root-panel a {
      color: #1c4b68 !important;
      font-size: 0.98rem !important;
      line-height: 1.6 !important;
      transition: all 0.12s ease !important;
   }

   /* emphasize the first item in each column a bit */
   nav#mainMenu .top-menu-panels .root-panel ul li:first-child a {
      font-weight: 600 !important;
      color: #1c4b68 !important;
   }

   nav#mainMenu .top-menu-panels .root-panel.show,
   nav#mainMenu .top-menu-panels .root-panel[style*="display: block"] {
      display: block !important;
      opacity: 1 !important;
      visibility: visible !important;
      transform: translateY(0) !important;
   }

   /* Inner container: show all sub-categories on a single horizontal line (desktop)
   Use a horizontal flex row with no wrap and horizontal scrolling if items overflow.
   Keeps centered container but allows scrolling on small-overflow cases. */
   nav#mainMenu .top-menu-panels .root-panel>ul {
      /* wider container to give items more room on large screens */
      max-width: 1400px !important;
      margin: 0 auto !important;
      display: flex !important;
      flex-direction: row !important;
      /* Keep the first-level subcategory row on a single line (no wrap) */
      flex-wrap: nowrap !important;
      justify-content: space-between !important;
      gap: 22px 48px !important;
      list-style: none !important;
      padding: 10px 28px !important;
      box-sizing: border-box !important;
      overflow-x: visible !important;
      /* align items to top so multi-line titles start at the same vertical position */
      align-items: flex-start !important;
      white-space: normal !important;
   }

   /* Each item stays inline in the single row and doesn't shrink */
   nav#mainMenu .top-menu-panels .root-panel li {
      padding: 10px 0 !important;
      display: inline-block !important;
      /* Six items per row: allow shrink so they fit on one line */
      flex: 0 1 16.6667% !important;
      /* flex-grow:0; flex-shrink:1; flex-basis:16.66% */
      min-width: 0 !important;
      /* allow shrinking below natural content width */
      box-sizing: border-box !important;
      text-align: center !important;
      /* allow items to size vertically according to content and align at top */
      align-self: flex-start !important;
      min-height: 48px !important;
      /* baseline height, will grow if title wraps */
   }

   nav#mainMenu .top-menu-panels .root-panel a {
      color: #1c4b68 !important;
      text-decoration: none !important;
      font-weight: 600 !important;
      display: block !important;
      padding: 10px 12px !important;
      border-radius: 6px !important;
      font-size: 1.05rem !important;
      /* larger text for readability */
      /* allow titles to wrap across multiple lines and show entirely */
      white-space: normal !important;
      word-break: break-word !important;
      overflow-wrap: anywhere !important;
      line-height: 1.35 !important;
      /* remove the -webkit line-clamp to avoid cutting long titles; let items grow vertically */
      overflow: visible !important;
   }

   nav#mainMenu .top-menu-panels .root-panel a:hover {
      background: rgba(28,75,104, 0.06) !important;
      color: #1c4b68 !important;
      transform: translateX(4px) !important;
   }

   /* Make sure very long lists look tidy (wrap into more columns if needed) */
   @media (min-width: 1400px) {

      /* On very wide screens increase spacing between items for breathing room */
      nav#mainMenu .top-menu-panels .root-panel>ul {
         gap: 20px 48px !important;
         max-width: 1400px !important;
      }
   }

   /* Small screens: ensure panels are full-width and stacked */
   @media (max-width: 991.98px) {

      nav#mainMenu .top-menu-panels,
      nav#mainMenu .top-menu-panels .root-panel {
         position: static !important;
         transform: none !important;
         opacity: 1 !important;
         visibility: visible !important;
         display: block !important;
         background: transparent !important;
         box-shadow: none !important;
         padding: 0 !important;
      }

      nav#mainMenu .top-menu-panels .root-panel>ul {
         display: block !important;
         grid-template-columns: none !important;
         padding: 0 0 0 1.25rem !important;
      }

      nav#mainMenu .top-menu-panels .root-panel a {
         padding: 8px 0 !important;
      }
   }

   .top-menu .sub-menu ul li {
      width: 25%;
      padding: 5px 15px;
   }

   .top-menu .sub-menu ul li a {
      color: var(--white);
      text-transform: uppercase;
      font-size: 16px;
      font-weight: 600;
      display: flex;
      align-items: center;
      padding: 0px;
      box-sizing: border-box;
      flex-wrap: wrap;
      line-height: 16px;
      margin-bottom: 5px;
      min-height: 100px;
      padding: 15px;
   }

   .top-menu .sub-menu ul li a:hover {
      color: var(--white);
      transform: scale(1.1);
      background: var(--color-2);
   }

   .top-menu .sub-menu ul li a span:not(.menuThumb) {
      width: calc(100% - 70px);
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: normal;
      align-items: center;
      padding-left: 5px;
   }

   .top-menu .sub-menu ul li a .menuThumb {
      width: 70px;
      min-height: 50px;
      background-repeat: no-repeat;
      background-size: cover;
      box-sizing: border-box;
   }

   #header .header-top .menu ul .sub-menu ul li ul {
      display: none;
      margin: 0px;
   }

   #header .header-top .menu ul #category-37 .sub-menu ul li ul {
      display: flex;
   }

   #header .header-top .menu #category-37 ul {
      display: block;
   }

   .top-menu #category-37 .sub-menu>ul>li a:hover {
      transform: scale(1.02);
   }

   #header .header-top .menu ul .sub-menu ul li ul li a {
      min-height: auto;
      display: inline-block;
      padding-left: 15px;
      margin-bottom: 5px;
   }

   #header .header-top .menu ul .sub-menu ul li ul li a:hover {
      background: none;
      color: var(--color-2);
      transform: none;
   }

   /* Top Bar */
   .em3-social-topbar {
      background: #f8fbfe;
      border-bottom: 1px solid rgb(225, 233, 242);
      font-size: 12.5px;
      color: var(--color-1);
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 24px;
      padding: 8px 32px;

      & .em3-social-contact {
         display: flex;
         align-items: center;
         gap: 28px;

         &>span {
            display: inline-flex;
            align-items: center;
            gap: 7px;
            white-space: nowrap;

            & svg {
               stroke: var(--color-2);
            }
         }
      }

      & .em3-social-links {
         display: flex;
         align-items: center;
         gap: 24px;

         &>a {
            display: inline-flex;
            align-items: center;
            gap: 7px;
            color: var(--color-2);
            font-weight: 700;
            white-space: nowrap;

            & svg {
               stroke: var(--color-2);
            }
         }
      }
   }

   /* MENU icon */
   .mm_menu_content_title .fa-svg {
      width: 20px;
      height: 20px;
      background: var(--color-2);

      &.fa-mobilier-urbain {
         mask: url(../img/icon-mobilier-urbain.svg) center / contain no-repeat;
         -webkit-mask: url(../img/icon-mobilier-urbain.svg) center / contain no-repeat;
      }

      &.fa-amenagement-interieur {
         mask: url(../img/icon-amenagement-interieur.svg) center / contain no-repeat;
         -webkit-mask: url(../img/icon-amenagement-interieur.svg) center / contain no-repeat;
      }

      &.fa-communication-affichage {
         mask: url(../img/icon-communication-affichage.svg) center / contain no-repeat;
         -webkit-mask: url(../img/icon-communication-affichage.svg) center / contain no-repeat;
      }

      &.fa-festivites {
         mask: url(../img/icon-festivites.svg) center / contain no-repeat;
         -webkit-mask: url(../img/icon-festivites.svg) center / contain no-repeat;
      }

      &.fa-jeux-denfants {
         mask: url(../img/icon-jeux-denfants.svg) center / contain no-repeat;
         -webkit-mask: url(../img/icon-jeux-denfants.svg) center / contain no-repeat;
      }

      &.fa-sports-loisirs {
         mask: url(../img/icon-sports-loisirs.svg) center / contain no-repeat;
         -webkit-mask: url(../img/icon-sports-loisirs.svg) center / contain no-repeat;
      }

      &.fa-promotions {
         mask: url(../img/icon-promotions.svg) center / contain no-repeat;
         -webkit-mask: url(../img/icon-promotions.svg) center / contain no-repeat;
      }

      &.fa-univers-canin {
         mask: url(../img/icon-univers-canin.svg) center / contain no-repeat;
         -webkit-mask: url(../img/icon-univers-canin.svg) center / contain no-repeat;
      }
   }

   .footerTop {
      background: var(--color-1);
      padding: 15px 0px;
      color: var(--white);
   }

   .footerTop .container .row {
      display: flex;
      align-items: center;
      flex-wrap: wrap;
   }

   .footerTop .title {
      font-size: 30px;
      font-weight: 700;
      text-transform: uppercase;
      line-height: normal;
      color: var(--white);
   }

   .footerTop form .form-group {
      display: flex;
      align-items: center;
      flex-wrap: wrap;
      justify-content: space-between;
      margin-bottom: 0px;
   }

   .footerTop form .form-group input {
      width: 70%;
   }

   .footerTop form .form-group .btn {
      background: var(--white);
      color: var(--color-1);
   }

   .footerTop form .form-group .btn:hover {
      color: var(--white);
   }

   .footer-container .h4 {
      font-size: 18px;
      font-weight: 700;
      line-height: 22px;
      margin-bottom: 15px;
   }

   .footer-container li {
      overflow: hidden;
   }

   .footer-container li a {
      color: var(--black);
      display: inline-flex;
      align-items: center;
      transform: translateX(-20px);
   }

   .footer-container li a::before {
      font-family: "Font Awesome 5 Light";
      font-weight: 300;
      content: "\f178";
      margin-right: 5px;
      color: var(--color-1);
      width: 15px;
   }

   .footer-container li a:hover {
      transform: translateX(0);
      color: var(--color-1);
   }

   .footerBottom {
      border-top: 1px solid var(--border-colo);
      padding-top: 15px;
      margin-top: 15px;
      padding-bottom: 15px;
   }

   .footerBottom .copyright {
      font-size: 12px;
   }

   .footerBottom .row {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
   }

   .footerBottom ul {
      justify-content: flex-end;
   }

   .footerBottom ul li a::before {
      display: none;
   }

   .footerBottom ul li a {
      background-color: var(--black);
      transform: none;
   }

   .footerBottom ul li a:hover {
      background-color: var(--color-2);
   }

   #contact-infos ul li {
      padding-left: 25px;
      position: relative;
      color: var(--black);
      margin-bottom: 15px;
      font-size: 14px;
   }

   #contact-infos ul li.address {
      text-transform: uppercase;
   }

   #contact-infos ul li a {
      transform: none;
      font-size: 14px;
   }

   #contact-infos ul li a::before {
      display: none;
   }

   #contact-infos ul li::before {
      position: absolute;
      top: 0px;
      left: 0px;
      font-size: 17px;
      font-family: "Font Awesome 5 Regular";
      font-weight: 400;
   }

   #contact-infos ul li.address::before {
      content: "\f015";
   }

   #contact-infos ul li.telephone::before {
      content: "\f879";
      top: calc(50% - 10px);
   }

   #contact-infos ul li.telephone a {
      display: block;
      font-weight: 700;
   }

   #contact-infos ul li.email::before {
      content: "\f0e0";
   }

   #wrapper {
      max-width: 100%;
      overflow: hidden;
      padding-top: 30px;
   }

   body#index #wrapper {
      padding-top: 0px;
   }

   .page-content.page-cms ul {
      font-size: 14px;
      color: var(--color-4);
   }

   .products-sort-order .select-title {
      border-color: var(--border-colo);
      border-radius: 4px;
   }

   .suppliers-sort .dropdown-menu {
      width: calc(100% - 30px);
      padding: 0px;
      overflow: hidden;
      border-radius: 0px;
   }

   .suppliers-sort .select-list {
      padding: 5px 15px;
      font-size: 14px;
      line-height: 18px;
   }

   .suppliers-sort .select-list:hover {
      background: var(--color-1);
   }

   .em2Title {
      font-size: 22px;
      line-height: 26px;
      color: var(--color-1);
      text-transform: uppercase;
      margin-bottom: 15px;
      font-weight: 700;
   }

   .em2Tabs ul.nav-tabs li a {
      text-transform: uppercase;
      color: var(--black);
      font-size: 16px;
      font-weight: 700;
      display: inline-flex;
      min-height: 43px;
      align-items: center;
      line-height: 20px;
      border: none;
      padding: 0 20px;
      border-radius: 10px;
      overflow: hidden;
      position: relative;
   }

   .em2Tabs ul.nav-tabs li a span {
      position: relative;
      z-index: 1;
   }

   .em2Tabs ul.nav-tabs li a::before {
      content: "";
      position: absolute;
      top: 0px;
      width: 0px;
      height: 100%;
      left: 0;
      background: var(--color-2);
      opacity: 0;
   }

   .em2Tabs ul.nav-tabs li a::after {
      left: auto;
      right: 50%;
   }

   .em2Tabs ul.nav-tabs li a.active::before {
      width: 100%;
      opacity: 1;
   }

   .em2Tabs ul.nav-tabs li a.active span {
      color: var(--white);
   }

   .em2Tabs .tab-pane {
      padding: 0px;
   }

   .product-cover {
      border: 1px solid var(--border-colo);
      background: var(--white);
      border-radius: 20px;
      overflow: hidden;
      margin-bottom: 0px;
      height: 580px;
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      justify-content: center;
   }

   #main .images-container .js-qv-mask.scroll {
      width: calc(100% - 160px);
   }

   #main .images-container .js-qv-mask ul {
      margin-bottom: 0px;
   }

   #main .images-container .js-qv-mask ul li {
      margin-right: 10px;
      display: inline-block;
   }

   #main .images-container .js-qv-mask ul li:last-child {
      margin-right: 0px;
   }

   .imageContainerLeft .product-images>li.thumb-container>.thumb {
      margin: 0px;
      padding: 0px;
      width: 86px;
      height: 80px;
      border: 1px solid var(--border-colo);
      display: inline-block;
      border-radius: 4px;
   }

   .imageContainerLeft .product-images>li.thumb-container>.thumb:hover {
      border-color: var(--color-1);
   }

   .em2ProductTitle {
      font-size: 24px;
      font-weight: 700;
      line-height: 28px;
   }

   .product-description p {
      color: var(--black);
   }

   section.productRight .product-prices {
      display: flex;
      align-items: center;
   }

   section.productRight .product-prices.has-discount-block {
      flex-wrap: wrap;
      justify-content: space-between;
   }

   section.productRight .product-prices.has-discount-block .product-discount {
      width: 50%;
      flex: 0 0 auto;
   }

   section.productRight .product-prices .product-discount {
      margin: 0px;
   }

   section.productRight .product-prices .product-price .current-price {
      font-weight: 700;
      color: var(--color-1);
      font-size: 24px;
      margin-right: 20px;
   }

   section.productRight .product-prices .product-discount {
      font-size: 17px;
      color: var(--color-1);
      font-weight: 500;
   }

   section.productRight .product-prices span.discount {
      background: var(--color-1);
      color: var(--white);
      border-radius: 4px;
      display: inline-flex;
      height: 25px;
      align-items: center;
      font-weight: 500;
      padding: 0 10px;
   }

   .product-actions .control-label {
      text-transform: uppercase;
      font-weight: 700;
      color: var(--black);
   }

   section.productRight .product-actions .form-control {
      width: 100%;
      border-radius: 4px;
      font-size: 14px;
   }

   section.productRight .product-add-to-cart {
      display: flex;
      align-items: center;
      gap: 20px;
   }

   section.productRight .product-add-to-cart button.add-to-cart {
      margin: 0;
      height: 60px;
   }

   .product-quantity {
      display: flex;
      align-items: center;
      gap: 16px;
   }

   .product-quantity .control-label {
      margin: 0;
      padding: 0;
      font-weight: 600;
      color: var(--color-2);
      text-transform: uppercase;
      letter-spacing: 0.02em;
   }

   .product-quantity .qty {
      display: flex;
      align-items: center;
   }

   .product-quantity .input-group-addon.bootstrap-touchspin-postfix {
      display: none !important;
   }

   .product-quantity .bootstrap-touchspin {
      display: flex;
      align-items: stretch;
      border: 1px solid rgba(45, 62, 175, 0.18);
      border-radius: 999px;
      overflow: hidden;
      background: #fff;
      box-shadow: 0 8px 18px rgba(16,45,64, 0.12);
   }

   .product-quantity #quantity_wanted {
      width: 72px;
      border: none;
      text-align: center;
      font-weight: 600;
      font-size: 18px;
      color: var(--color-2);
      background: transparent;
      padding: 12px 12px;
   }

   .product-quantity #quantity_wanted:focus {
      outline: none;
      box-shadow: inset 0 0 0 2px rgba(45, 62, 175, 0.25);
   }

   .product-quantity .input-group-btn-vertical {
      display: flex;
      flex-direction: column;
   }

   .product-quantity .btn-touchspin {
      width: 44px;
      height: 100%;
      padding: 0;
      display: flex;
      align-items: center;
      justify-content: center;
      background: var(--color-2);
      border: none;
      transition: background 0.2s ease;
   }

   .product-quantity .btn-touchspin:first-child {
      border-bottom: 1px solid rgba(255, 255, 255, 0.25);
   }

   .product-quantity .btn-touchspin:last-child {
      border-top: 1px solid rgba(255, 255, 255, 0.25);
   }

   .product-quantity .btn-touchspin:hover,
   .product-quantity .btn-touchspin:focus-visible {
      background: #102d40;
   }

   .product-quantity .btn-touchspin i {
      font-size: 14px;
      color: #fff;
   }

   .product-quantity input[type="number"]::-webkit-outer-spin-button,
   .product-quantity input[type="number"]::-webkit-inner-spin-button {
      -webkit-appearance: none;
      margin: 0;
   }

   .product-quantity input[type="number"] {
      -moz-appearance: textfield;
      appearance: textfield;
   }

   .imageContainerLeft {
      position: relative;
   }

   .imageContainerRight>a.btnCustom {
      color: var(--white) !important;
      position: absolute;
      right: 15px;
      top: 15px;
      z-index: 99;
   }

   .top-menu>li>a.root-item:hover,
   .top-menu>li>a.menu-toggle.root-item:hover {
      color: #1c4b68;

      .imageContainerRight>a.btnCustom .fa {
         margin-right: 10px;
      }

      .js-qv-mask-left {
         max-height: 440px;
         overflow: hidden;
         width: 86px;
         margin: 70px auto;
      }

      .js-qv-mask-left .product-images li {
         margin-bottom: 10px;
         display: block;
      }

      .imageContainerLeft .em2Arrow.scroll-box-arrows i {
         left: calc(50% - 20px);
         transform: rotate(90deg);
         width: 40px;
         height: 40px;
         display: flex;
         align-items: center;
         justify-content: center;
      }

      .imageContainerLeft .em2Arrow.scroll-box-arrows .left {
         top: 0px;
         bottom: auto;
      }

      .imageContainerLeft .em2Arrow.scroll-box-arrows .right {
         right: auto;
         bottom: 0px;
         left: calc(50% - 20px);
      }

      .imageContainerRight {
         position: relative;
         overflow: hidden;
      }

      .imageContainerRight .product-cover img {
         object-fit: contain;
      }

      #product-modal-custom .modal-dialog {
         max-width: 800px;
         overflow: hidden;
      }

      #product-modal-custom .modal-dialog .modal-header {
         position: fixed;
         width: 100%;
         z-index: 9;
         background: var(--white);
         top: 0px;
      }

      #product-modal-custom .modal-dialog .modal-body {
         padding-top: 60px;
         overflow: auto;
         max-height: 600px;
      }

      #product-modal-custom .modal-dialog .row {
         display: flex;
         flex-wrap: wrap;
      }

      #product-modal-custom .modal-dialog .row [class*="col-"] {
         padding-top: 15px;
         padding-bottom: 15px;
      }

      #product-modal-custom .modal-dialog .row [class*="col-"] img {
         object-fit: cover;
         width: 100%;
         height: 100%;
         border: 1px solid var(--border-colo);
         border-radius: 20px;
      }

      #product #content {
         max-width: 100%;
         position: sticky;
         top: 0;
      }

      .cart-container .bootstrap-touchspin .js-cart-line-product-quantity {
         height: 60px;
         text-align: center;
         padding: 0px;
         border-color: var(--border-colo);
         font-weight: 500;
         color: var(--black);
         width: 60px;
         border-radius: 0px;
      }

      .cart-container .bootstrap-touchspin {
         position: relative;
         display: flex;
         align-items: center;
         gap: 10px;
      }

      .cart-container .bootstrap-touchspin .input-group-btn-vertical {
         position: static;
         display: flex;
         flex-direction: column;
         gap: 5px;
      }

      .cart-container .bootstrap-touchspin .btn {
         position: absolute;
         top: 0px;
         height: 100%;
         width: 45px;
         padding: 0px;
         display: inline-flex;
         border-color: var(--border-colo);
         left: 0px;
         border-right: 0px;
         box-sizing: border-box;
         justify-content: center;
         align-items: center;
         color: var(--color-3);
         flex-wrap: wrap;
         margin-top: 0px;
      }

      .cart-container .bootstrap-touchspin .btn.bootstrap-touchspin-up {
         left: auto;
         right: 0px;
         border-left: 0px;
         border-right: 1px solid var(--border-colo);
      }

      section.productRight .product-quantity .btn.bootstrap-touchspin-down {
         left: 1px;
      }

      .cart-container .bootstrap-touchspin .input-group-btn-vertical .btn i {
         display: none;
      }

      .cart-container .bootstrap-touchspin .input-group-btn-vertical .btn::before {
         font-family: "Font Awesome 5 Light";
         font-weight: 300;
         font-size: 20px;
         position: static;
         width: 100%;
         background: none;
         height: auto;
      }

      .cart-container .bootstrap-touchspin .input-group-btn-vertical .btn::after {
         display: none;
      }

      .cart-container .bootstrap-touchspin .input-group-btn-vertical .btn.bootstrap-touchspin-up::before {
         content: "\f067";
      }

      .cart-container .bootstrap-touchspin .input-group-btn-vertical .btn.bootstrap-touchspin-down::before {
         content: "\f068";
      }

      .cart-container .bootstrap-touchspin .input-group-btn-vertical .btn:hover {
         background: transparent;
      }

      .cart-container .bootstrap-touchspin .input-group-btn-vertical .btn:hover::before {
         color: var(--color-1);
         background: none;
         width: 100%;
      }

      .em2Arrow.scroll-box-arrows i {
         font-size: 30px;
         bottom: 25px;
         height: auto;
         line-height: normal;
         left: 30px;
         color: var(--color-4);
      }

      .em2Arrow.scroll-box-arrows i.fa-chevron-right {
         left: auto;
         right: 30px;
      }

      .em2Arrow.scroll-box-arrows i:hover {
         color: var(--color-1);
      }

      #product-modal .modal-content .modal-body .product-images img.selected {
         border: 1px solid var(--color-1);
      }

      .page-addresses .address {
         border: 1px solid var(--border-colo);
         border-radius: 10px;
      }

      .page-addresses .address .address-footer {
         border-top: 1px solid var(--border-colo);
         padding: 10px;
         display: flex;
         justify-content: space-between;
      }

      .page-my-account #content .links a>span {
         border: 1px solid var(--border-colo);
         border-radius: 10px;
      }

      .page-my-account #content .links a:hover>span {
         background-color: var(--color-1);
         color: var(--white);
      }

      .page-my-account #content .links a:hover>span i {
         color: var(--white);
      }

      .product-condition .label {
         font-size: 14px;
         color: var(--black);
         font-weight: 500;
      }

      .product-condition .label::after {
         content: ":";
         display: inline-block;
         margin-right: 5px;
      }

      #product-modal .modal-content .modal-body .product-images img {
         border: 1px solid var(--border-colo);
         border-radius: 4px;
      }

      /* Redesigned contact form: scoped to pages using the contact template to avoid global side-effects */
      .page-content .contact-form,
      body.page-contact .contact-form {
         padding: 0px;
      }

      /* Contact page wrapper to scope all styles and make future tweaks easy
   Also include non-scoped selector in case the body doesn't have page-contact */
      .contact-form-wrapper,
      body.page-contact .contact-form-wrapper {
         display: flex;
         gap: 30px;
         align-items: flex-start;
         /* align top of columns */
         margin-top: 6px;
         width: 100%;
         box-sizing: border-box;
      }

      /* Left infos column */
      .contact-infos-col,
      body.page-contact .contact-infos-col {
         flex: 0 0 38%;
         /* ~col-md-5 */
         max-width: 38%;
         box-sizing: border-box;
         padding-right: 15px;
      }

      /* Right form column */
      .contact-form-col,
      body.page-contact .contact-form-col {
         flex: 1 1 62%;
         /* ~col-md-7 */
         max-width: 62%;
         box-sizing: border-box;
         display: flex;
         flex-direction: column;
         gap: 12px;
      }

      /* Card look for the contact form */
      .contact-form-card,
      body.page-contact .contact-form-card {
         background: var(--white);
         border: 1px solid var(--border-colo);
         border-radius: 12px;
         padding: 18px 20px;
         box-shadow: 0 6px 22px rgba(16,45,64, 0.06);
         box-sizing: border-box;
         width: 100%;
      }

      /* Form title — keep it visually consistent with information title */
      .contact-form-card .contact-card-title,
      .block-contact-title,
      body.page-contact .contact-form-card .contact-card-title,
      body.page-contact .block-contact-title {
         font-size: 18px;
         font-weight: 700;
         text-transform: uppercase;
         margin: 0 0 12px 0;
         color: var(--color-1);
         letter-spacing: 0.04em;
      }

      /* Inputs and textarea full width and coherent styling */
      .contact-form-card .form-control,
      .contact-form-card input[type="text"],
      .contact-form-card input[type="email"],
      .contact-form-card textarea,
      .contact-form-card select,
      body.page-contact .contact-form-card .form-control,
      body.page-contact .contact-form-card input[type="text"],
      body.page-contact .contact-form-card input[type="email"],
      body.page-contact .contact-form-card textarea,
      body.page-contact .contact-form-card select {
         width: 100%;
         padding: 12px 14px;
         border: 1px solid var(--border-colo);
         border-radius: 8px;
         font-size: 14px;
         line-height: 1.4;
         color: var(--black);
         box-sizing: border-box;
         background: transparent;
      }

      .contact-form-card textarea,
      body.page-contact .contact-form-card textarea {
         min-height: 140px;
         resize: vertical;
      }

      /* Label and helper text styling */
      .contact-form-card label,
      body.page-contact .contact-form-card label {
         display: block;
         margin-bottom: 6px;
         font-weight: 600;
         font-size: 13px;
         color: var(--color-4);
      }

      /* Submit button style */
      .contact-form-card .btn-contact-submit,
      .contact-form-card button[type="submit"],
      body.page-contact .contact-form-card .btn-contact-submit,
      body.page-contact .contact-form-card button[type="submit"] {
         display: inline-flex;
         align-items: center;
         justify-content: center;
         background: var(--color-1);
         color: var(--white);
         border: none;
         padding: 12px 20px;
         height: 48px;
         border-radius: 10px;
         font-weight: 700;
         font-size: 14px;
         cursor: pointer;
         transition: background 0.16s ease, transform 0.06s ease;
      }

      .contact-form-card .btn-contact-submit:hover,
      body.page-contact .contact-form-card .btn-contact-submit:hover {
         background: color-mix(in srgb, var(--color-1) 85%, black 15%);
         transform: translateY(-1px);
      }

      /* Small note under button */
      body.page-contact .contact-form-card .contact-note {
         color: var(--color-4);
         font-size: 13px;
         margin-top: 8px;
      }

      /* Info items: ensure icons + text flow nicely and take more width */
      #contact-infos,
      body.page-contact #contact-infos {
         margin: 0;
         padding: 0;
         list-style: none;
      }

      #contact-infos li,
      body.page-contact #contact-infos li {
         display: flex;
         gap: 12px;
         padding: 10px 0;
         align-items: flex-start;
         font-size: 15px;
         line-height: 1.5;
         color: var(--black);
      }

      #contact-infos li .info-icon,
      body.page-contact #contact-infos li .info-icon {
         min-width: 32px;
         height: 32px;
         display: inline-flex;
         align-items: center;
         justify-content: center;
         border-radius: 8px;
         background: rgba(28,75,104, 0.08);
         color: var(--color-1);
         font-size: 16px;
      }

      #contact-infos li .info-text,
      body.page-contact #contact-infos li .info-text {
         flex: 1 1 auto;
      }

      /* Tweak alignment: move form card slightly up to match info titles */
      .contact-form-col {
         padding-top: 6px;
      }

      body.page-contact .contact-form-col {
         padding-top: 6px;
      }

      .contact-form-card {
         margin-top: 0;
      }

      body.page-contact .contact-form-card {
         margin-top: 0;
      }

      /* Mobile: stack columns */
      @media (max-width: 991.98px) {
         body.page-contact .contact-form-wrapper {
            flex-direction: column-reverse;
            gap: 18px;
         }

         body.page-contact .contact-infos-col,
         body.page-contact .contact-form-col {
            max-width: 100%;
            flex: 1 1 100%;
            padding: 0;
         }

         body.page-contact .contact-form-card {
            padding: 16px;
         }
      }

      .em2IconInfoHome {
         background: var(--color-2);
         padding: 20px 0px;
      }

      .em2IconInfoHome .row {
         display: flex;
         flex-wrap: wrap;
      }

      .em2IconInfoHomeItem {
         background: var(--white);
         border-radius: 10px;
         -moz-border-radius: 10px;
         -webkit-border-radius: 10px;
         display: flex;
         align-items: center;
         justify-content: center;
         height: 100%;
      }

      .em2IconInfoHomeItem:hover {
         transform: translateY(-10px);
      }

      .em2IconInfoHomeItem p {
         font-size: 13px;
         line-height: 17px;
         color: var(--black);
         font-weight: 500;
         margin: 0px;
      }

      .em2IconInfoHomeItem img {
         margin-right: 10px;
      }

      .em2Banner .em2Banneritem {
         height: 685px;
         display: flex;
         align-items: center;
         justify-content: center;
         position: relative;
         background-repeat: no-repeat;
         background-position: center;
         background-size: cover;
         color: var(--white);
      }

      .em2Banner .em2Banneritem>.container {
         position: relative;
      }

      .em2Banner h1 {
         font-size: 30px;
         font-weight: 700;
         text-shadow: 0px 4px rgba(0, 0, 0, 0.4);
      }

      .em2Banner .description {
         font-size: 24px;
         font-weight: 700;
      }

      .em2Banner .owl-carousel .owl-nav button.owl-prev {
         position: absolute;
         width: 50px;
         height: 50px;
         display: flex;
         align-items: center;
         justify-content: center;
         border: 1px solid var(--white);
         top: calc(50% - 25px);
         left: 15px;
         color: var(--white);
         font-size: 20px;
      }

      .em2Banner .owl-carousel .owl-nav button.owl-next {
         left: auto;
         right: 15px;
      }

      .em2Banner .owl-carousel .owl-nav button:hover {
         color: var(--color-3);
         border-color: var(--color-3);
      }

      .em2Banner .owl-carousel .owl-nav button.disabled {
         visibility: hidden;
      }

      .em2CategoryItem {
         padding-bottom: 30px;
      }

      .em2CategoryItem:hover {
         transform: translateY(-10px);
      }

      .em2CategoryItem {
         padding-bottom: 30px;
      }

      .em2CategoryItem:hover {
         transform: translateY(-10px);
      }

      .em2CategoryItem a.thumb {
         display: block;
         border-radius: 12px;
         overflow: hidden;
         border: 1px solid var(--border-colo);
         position: relative;
      }

      .em2CategoryItem a.thumb::after {
         content: "";
         height: 100%;
         top: 0px;
         background: rgba(0, 0, 0, 0.5);
         width: 0px;
         left: 50%;
         position: absolute;
      }

      .em2CategoryItem a.thumb::after {
         left: auto;
         right: 50%;
      }

      .em2CategoryItem h3 {
         margin-top: 15px;
      }

      .em2CategoryItem h3 a {
         font-size: 18px;
         font-weight: 700;
         text-transform: uppercase;
         color: var(--color-1);
      }

      .em2CategoryItem h3 a:hover {
         color: var(--color-2);
      }

      .em2CategoryItem a.thumb:hover::after {
         width: 50%;
      }

      .em2ProductSpecial {
         background: var(--color-2);
         padding: 30px 0px;
      }

      ul.category-top-menu {
         border: 1px solid var(--border-colo);
         border-radius: 5px;
         padding: 0px;
         margin: 0px;
      }

      ul.category-top-menu ul {
         border: none;
         border-radius: 0;
      }

      ul.category-top-menu li {
         position: relative;
         width: 100%;
      }

      ul.category-top-menu a {
         color: var(--color-1);
         display: block;
         padding: 5px 15px;
      }

      ul.category-top-menu li ul a {
         padding-left: 25px;
      }

      ul.category-top-menu li ul li ul a {
         padding-left: 35px;
      }

      ul.category-top-menu li ul li ul li ul a {
         padding-left: 45px;
      }

      ul.category-top-menu li:hover>a {
         background: var(--color-1);
      }

      ul.category-top-menu li:hover>a+.arrows {
         color: var(--white);
      }

      ul.category-top-menu li .arrows {
         right: 5px;
         display: inline-block;
         width: auto;
         height: auto;
         top: 7px;
         font-size: 14px;
         position: absolute;
      }

      ul.category-top-menu li .arrows {
         top: 5px;
         right: 3px;
      }

      ul.category-top-menu li .arrows .arrow-down {
         font-size: 18px;
      }

      .block-categories .collapse-icons::before {
         font-family: "Font Awesome 5 Regular";
         font-weight: 400;
         content: "\f068";
         color: var(--color-4);
      }

      .block-categories .collapse-icons.collapsed::before {
         content: "\f067";
      }

      #blockcart-wrapper {
         display: inline-block;
      }

      #blockcart-wrapper:hover .body {
         filter: alpha(opacity=100);
         -webkit-transform: rotateX(0deg);
         -ms-transform: rotateX(0deg);
         -o-transform: rotateX(0deg);
         transform: rotateX(0deg);
      }

      #blockcart-wrapper .body {
         position: absolute;
         z-index: 2000;
         border: 1px solid var(--border-colo);
         padding: 10px;
         width: 365px;
         right: 0px;
         border-radius: 2px;
         background: var(--white);
         -webkit-transform-origin: 0 0;
         -moz-transform-origin: 0 0;
         -ms-transform-origin: 0 0;
         transform-origin: 0 0;
         -webkit-transition: all 0.2s ease-in-out 0s;
         -o-transition: all 0.2s ease-in-out 0s;
         transition: all 0.2s ease-in-out 0s;
         -webkit-transform: rotateX(-90deg);
         -ms-transform: rotateX(-90deg);
         -o-transform: rotateX(-90deg);
         transform: rotateX(-90deg);
         top: calc(100% + 10px);
      }

      /*
   #blockcart-wrapper .body::before {
   content: '';
   border-bottom: 12px solid var(--border-colo);
   border-left: 6px solid transparent;
   border-right: 6px solid transparent;
   position: absolute;
   top: -12px;
   right: 16px;
   }

   #blockcart-wrapper .body::after {
   content: '';
   border-bottom: 11px solid var(--white);
   border-left: 5px solid transparent;
   border-right: 5px solid transparent;
   position: absolute;
   top: -11px;
   right: 17px;
   }
*/
      #blockcart-wrapper .body ul {
         max-height: 300px;
         overflow: auto;
      }

      #blockcart-wrapper .body li {
         font-size: 12px;
         color: var(--black);
         font-weight: 500;
         position: relative;
         border-bottom: 1px solid var(--border-colo);
         padding-bottom: 5px;
         margin-bottom: 5px;
         overflow: hidden;
      }

      #blockcart-wrapper .body .cart-total {
         display: flex;
         align-items: center;
         justify-content: space-between;
      }

      #blockcart-wrapper .body .cart-total {
         border-bottom: 1px solid var(--border-colo);
         padding-bottom: 5px;
         margin-bottom: 5px;
      }

      #blockcart-wrapper .body .product-price {
         color: var(--color-1);
         font-weight: 700;
         display: block;
         text-align: left;
      }

      #blockcart-wrapper .body .remove-from-cart {
         position: absolute;
         right: 20px;
         bottom: 0px;
      }

      #blockcart-wrapper .body span.value {
         color: var(--color-1);
         font-size: 14px;
         font-weight: 700;
      }

      #blockcart-wrapper .body a.btn {
         font-size: 16px;
         display: inline-flex;
         color: var(--white);
         font-weight: 500;
         height: 35px;
         border-radius: 8px;
      }

      .cart-container .blockreassurance_product {
         display: flex;
         align-items: center;
         margin: 0px;
         justify-content: flex-end;
         flex-wrap: wrap;
         width: 100%;
      }

      .cart-container .blockreassurance_product>div {
         display: flex;
         align-items: center;
         flex-wrap: wrap;
         margin-left: 15px;
      }

      .blockreassurance_product svg path {
         fill: var(--color-1);
      }

      .cart-container .blockreassurance_product p {
         display: none;
      }

      .cart-container .blockreassurance_product .item-product {
         float: none;
         height: auto;
         width: auto;
         margin: 0px;
         padding: 0px;
      }

      #js-product-list-header .em2Banner {
         height: 485px;
         background-position: center;
      }

      #js-product-list-header .em2Banner h1 {
         font-size: 40px;
         text-transform: uppercase;
      }

      .product-miniature .product-description {
         padding: 15px 15px 18px 15px;
         text-align: center;
         border-top: none;
         margin-top: 0;
      }

      .product-miniature .product-title {
         margin: 0 0 0.3em 0;
         padding: 0;
         font-size: 1.1em;
         font-weight: 600;
         line-height: 1.2;
         color: var(--black);
         height: auto;
         overflow: visible;
      }

      .product-miniature .product-title a {
         color: var(--black);
         text-decoration: none;
         font-weight: 600;
         font-size: 1.1em;
         display: inline;
         white-space: normal;
         text-overflow: unset;
      }

      .product-miniature .product-title a:hover {
         color: var(--color-2);
      }

      .product-miniature .product-price-and-shipping {
         display: flex;
         flex-wrap: wrap;
         font-size: 1.25em;
         color: var(--color-1);
         font-weight: 700;
         align-items: center;
         justify-content: center;
         margin: 0.2em 0 0 0;
         padding: 0;
         min-height: unset;
         border: none;
         background: none;
         box-shadow: none;
      }

      .product-miniature .thumbnail-container .product-thumbnail {
         position: relative;
         border: 1px solid var(--border-colo);
         border-radius: 20px;
         -moz-border-radius: 20px;
         -webkit-border-radius: 20px;
         overflow: hidden;
         background: var(--white);
         transition: all 0.3s ease;
      }
   }

   /* ------------------------------------------------------------------
Sub-subcategory block (second-level) — separate visual block
This creates a distinct panel inside each root-panel to show
second-level categories in the same 'six per row' layout.
It is absolute on desktop and stacks on mobile.
------------------------------------------------------------------ */
   /* Make sub-sub panels visually part of the root-panel (no separate floating white box)
The sub-sub-panel remains hidden until toggled (.show). When shown it will sit
directly below the subcategory list inside the same root-panel container so the
two blocks appear as a single rectangle. */
   nav#mainMenu .top-menu-panels .root-panel .sub-sub-panel {
      position: static !important;
      /* keep hidden until shown */
      display: none !important;
      opacity: 0;
      visibility: hidden;
      z-index: 1250 !important;
      /* inherit the root-panel background so it looks like the same rectangle */
      background: transparent !important;
      box-shadow: none !important;
      border-top: none !important;
      padding: 0 0 12px !important;
      transition: opacity 0.18s ease, transform 0.12s ease, visibility 0.12s;
      transform: none;
   }

   nav#mainMenu .top-menu-panels .root-panel .sub-sub-panel.show {
      display: block !important;
      opacity: 1 !important;
      visibility: visible !important;
      transform: translateY(0) !important;
   }

   /* inner container: six-per-row aligned top, centered max-width */
   nav#mainMenu .top-menu-panels .root-panel .sub-sub-panel>ul {
      max-width: 1200px !important;
      margin: 0 auto !important;
      display: flex !important;
      flex-direction: row !important;
      /* Allow multiple rows so long lists wrap naturally */
      flex-wrap: wrap !important;
      justify-content: space-between !important;
      gap: 18px 36px !important;
      list-style: none !important;
      padding: 6px 24px !important;
      box-sizing: border-box !important;
      align-items: flex-start !important;
      white-space: normal !important;
   }

   nav#mainMenu .top-menu-panels .root-panel .sub-sub-panel li {
      padding: 8px 0 !important;
      display: inline-block !important;
      flex: 0 1 16.6667% !important;
      /* six per row */
      min-width: 0 !important;
      box-sizing: border-box !important;
      text-align: center !important;
      align-self: flex-start !important;
      min-height: 56px !important;
   }

   nav#mainMenu .top-menu-panels .root-panel .sub-sub-panel a {
      color: #1c4b68 !important;
      text-decoration: none !important;
      font-weight: 600 !important;
      display: block !important;
      padding: 8px 10px !important;
      font-size: 1rem !important;
      white-space: normal !important;
      word-break: break-word !important;
      overflow-wrap: anywhere !important;
      line-height: 1.3 !important;
   }

   /* desktop -> always visible on opening; mobile -> static stacked */
   @media (max-width: 991.98px) {
      nav#mainMenu .top-menu-panels .root-panel .sub-sub-panel {
         position: static !important;
         transform: none !important;
         opacity: 1 !important;
         visibility: visible !important;
         display: block !important;
         background: transparent !important;
         box-shadow: none !important;
         padding: 0 !important;
      }

      nav#mainMenu .top-menu-panels .root-panel .sub-sub-panel>ul {
         display: block !important;
         padding: 0 0 0 1.25rem !important;
         gap: 0 !important;
      }

      nav#mainMenu .top-menu-panels .root-panel .sub-sub-panel li {
         display: block !important;
         flex: none !important;
         min-height: auto !important;
         padding: 6px 0 !important;
      }
   }

   /* Ajout d'une transition */

   /* ----- Fix header mobile : on cache l'ancien header sur mobile ----- */
   /* ----- Fix header mobile : on cache l'ancien header sur mobile ----- */
   @media (max-width: 991.98px) {

      /* Ancien topbars / header desktop à masquer sur mobile (divers modules/overrides) */
      ul.em2IconInfoNav,
      .header-top,
      #header .header-top,
      .header-top-right,
      .header-links,
      .em3-header-top-right,
      .em3-social-topbar,
      .topbar-desktop,
      .em2Topbar {
         display: none !important;
         visibility: hidden !important;
         height: 0 !important;
         overflow: hidden !important;
      }

      /* Sécurité : on force l’affichage du nouveau header mobile */
      .em3-mobile-header {
         display: block !important;
         visibility: visible !important;
         height: auto !important;
      }

      /* S'assurer que le burger (navbar-toggler) est visible et en front */
      .em3-mobile-actions .navbar-toggler,
      .em3-mobile-actions .em3-mobile-action,
      .em3-mobile-actions .cart-action,
      .em3-mobile-actions .cart-preview,
      .em3-mobile-actions .blockcart {
         display: inline-flex !important;
         z-index: 20000 !important;
         position: relative !important;
      }
   }

   /* ----- Le nouveau header ne doit PAS apparaître sur desktop ----- */
   @media (min-width: 992px) {

      .em3-mobile-only,
      .em3-mobile-header {
         display: none !important;
      }
   }

   .product-miniature .thumbnail-container:hover .product-thumbnail {
      box-shadow: 0 4px 25px rgba(0, 0, 0, 0.1);
      transform: none;
      /* On supprime l'effet de soulèvement */
   }

   .product-miniature .thumbnail-container .product-thumbnail>img {
      /* opacity: 0; Commenté pour s'assurer que l'image est visible */
      min-height: auto;
      /* On retire la hauteur minimale pour un layout plus flexible */
      aspect-ratio: 1 / 1;
      /* Assure un ratio carré pour toutes les images */
      object-fit: cover;
      /* Assure que l'image couvre bien le conteneur */
      width: 100%;
      height: auto;
      transition: transform 0.4s ease-in-out;
      /* Animation de zoom */
   }

   /* Ensure product image/title links receive taps on iOS (avoid being blocked by overlays) */
   .product-card-image-link,
   .product-card-title-link,
   .product-miniature a.product-card-image-link {
      position: relative;
      z-index: 2;
      pointer-events: auto;
      -webkit-tap-highlight-color: rgba(0, 0, 0, 0.08);
   }

   .product-miniature:hover .thumbnail-container .product-thumbnail>img {
      transform: scale(1.05);
      /* Effet de zoom au survol */
   }

   .product-miniature .thumbnail-container .product-thumbnail span {
      display: none;
      /* On cache complètement les spans pour l'effet de flip */
   }

   .product-miniature .product-price-and-shipping {
      margin-top: 0.5rem;
      margin-bottom: 0.5rem;
      padding: 0;
      min-height: unset;
      display: flex;
      flex-wrap: wrap;
      font-size: 22px;
      /* Price is more prominent */
      color: var(--color-1);
      font-weight: 700;
      align-items: center;
      justify-content: center;
   }

   .product-miniature .regular-price {
      font-size: 16px;
      /* Smaller for comparison */
      font-weight: 400;
      text-decoration: line-through;
      margin-left: 10px;
      color: #999;
   }

   .product-flags {
      position: absolute;
      top: 10px;
      left: 10px;
      z-index: 2;
      pointer-events: none;
      display: flex;
      flex-direction: column;
      gap: 6px;
      align-items: flex-start;
   }

   .product-flag {
      position: static !important;
      margin: 0;
      padding: 4px 10px;
      background: var(--color-1);
      color: white;
      font-size: 12px;
      font-weight: 600;
      border-radius: 4px;
      text-transform: uppercase;
      box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.08);
   }

   .product-flag.discount {
      background: var(--color-5);
   }

   .product-flag.discount {
      background: var(--color-5);
      color: white;
      font-weight: bold;
      border-radius: 4px;
      box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.15);
      position: static !important;
      padding: 4px 10px;
   }

   .product-flag.discount::after {
      display: none;
   }

   .product-miniature .thumbnail-container {
      overflow: hidden;
      margin-bottom: 30px;
      position: relative;
   }

   /* Mobile: add small horizontal gutters to product miniatures so thumbnails don't touch edges */
   @media (max-width: 767.98px) {
      .product-miniature {
         padding-left: 12px;
         padding-right: 12px;
         box-sizing: border-box;
      }

      /* Ensure the thumbnail itself keeps full available width but respects the miniature padding */
      .product-miniature .thumbnail-container,
      .product-miniature .thumbnail-container .product-thumbnail {
         width: 100%;
         margin-left: 0;
         margin-right: 0;
         box-sizing: border-box;
      }
   }

   .product-miniature .thumbnail-container .add-to-cart-btn {
      position: absolute;
      bottom: -50px;
      /* Caché par défaut */
      left: 50%;
      transform: translateX(-50%);
      transition: all 0.3s ease;
      z-index: 5;
      opacity: 0;
      white-space: nowrap;
   }

   .product-miniature .thumbnail-container:hover .add-to-cart-btn {
      bottom: 20px;
      /* Apparaît au survol */
      opacity: 1;
   }

   .em2Clients .section-title {
      font-size: 40px;
      font-weight: 700;
      margin: 0px 0px 30px 0px;
      color: var(--color-1);
   }

   .em2ProductSpecial .featured-products .products-section-title {
      color: var(--white);
   }

   .em2ProductSlider .product-miniature .thumbnail-container {
      margin-bottom: 0px;
   }

   .em2Clients .section-title {
      text-align: center;
      margin-top: 45px;
   }

   .em2Clients p {
      font-size: 15px;
      color: var(--black);
      display: flex;
      align-items: center;
      margin-bottom: 10px;
   }

   .cart-container {
      border: 1px solid var(--border-colo);
      border-radius: 10px;
      padding: 15px 30px;
      font-weight: 500;
   }

   .cart-detailed-actions {
      border-bottom: 1px solid var(--border-colo);
      padding: 10px 0px;
   }

   .cart-container .block-promo a:hover {
      color: var(--color-1);
   }

   .cart-detailed-actions {
      margin-bottom: 10px;
   }

   .cart-container .cart-summary-line {
      font-size: 16px;
      font-weight: 600;
   }

   .cart-container .product-price {
      font-size: 16px;
   }

   .cart-container .cart-summary-line .value {
      color: var(--color-1);
      font-weight: 600;
   }

   .cart-container .product-discount {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      justify-content: space-between;
      margin-bottom: 10px;
      color: var(--color-4);
      font-size: 14px;
      font-weight: 400;
   }

   .cart-container .product-discount .discount {
      color: var(--white);
      background: var(--color-1);
      border-radius: 4px;
      padding: 5px;
   }

   .cart-container .block-promo {
      margin-bottom: 0px;
   }

   .cart-container .block-promo .cart-voucher {
      padding: 10px 0px;
   }

   .cart-container .block-promo .promo-code-button {
      padding: 0px;
   }

   .cart-container .block-promo .promo-code-button.cancel-promo {
      margin: 0px;
      color: var(--color-1);
   }

   .cart-container .block-promo .promo-code .form-control {
      max-width: 300px;
      display: inline-block;
   }

   .cart-container .block-promo .promo-code .promoAction {
      display: flex;
      align-items: center;
      justify-content: space-between;
   }

   section.checkout-step {
      border: 1px solid var(--border-colo);
      border-radius: 10px;
      padding: 15px;
      margin-bottom: 25px;
   }

   section.checkout-step .step-title {
      text-transform: uppercase;
      font-size: 16px;
      font-weight: 700;
      padding: 0px;
      margin: 0px;
      display: inline-flex;
      align-items: center;
      width: 100%;
      position: relative;
   }

   section.checkout-step .step-title .step-number {
      margin-right: 5px;
   }

   section.checkout-step .step-title .step-number::after {
      content: ".";
   }

   section.checkout-step .content ul.my-2 {
      margin: 10px 10px 10px 15px !important;
      padding: 0px;
   }

   section.checkout-step .content a {
      color: var(--black);
   }

   section.checkout-step .content a:hover {
      color: var(--color-1);
   }

   section.checkout-step.-reachable.-complete h1 .step-edit {
      position: absolute;
      right: 0px;
      top: calc(50% - 8px);
      display: block !important;
   }

   section.checkout-step .delivery-options .delivery-option {
      padding: 10px 0px;
      border-bottom: 1px solid var(--border-colo);
      margin-bottom: 10px;
   }

   section.checkout-step .delivery-options {
      padding: 15px;
   }

   section.checkout-step .delivery-options .delivery-option {
      padding: 10px 0px;
      border-bottom: 1px solid var(--border-colo);
      margin-bottom: 10px;
   }

   section.checkout-step .payment-options {
      padding-top: 15px;
   }

   #checkout .js-cart {
      background: var(--background-1);
      border-radius: 10px;
      padding: 15px;
   }

   #checkout .js-cart a:hover {
      color: var(--color-2);
   }

   .js-cart .cart-summary-line .value {
      font-weight: 500;
   }

   .js-cart .cart-summary-line .text-md-right {
      text-align: left !important;
   }

   #checkout .js-cart ul {
      list-style: none;
      margin: 0px;
      padding: 0px;
   }

   #checkout .js-cart ul li {
      border-bottom: 1px solid var(--border-colo);
      padding-bottom: 10px;
      margin-bottom: 10px;
   }

   #checkout .js-cart ul li .media-body {
      font-size: 12px;
   }

   #checkout .js-cart ul li .product-price {
      color: var(--color-1);
   }

   .js-cart .promoAction {
      margin-top: 10px;
      display: flex;
      align-items: center;
      justify-content: space-between;
   }

   .js-cart .promoAction .promo-code-button.cancel-promo {
      margin: 0px;
      color: var(--color-1);
   }

   body#checkout section.checkout-step .address-item {
      background: transparent;
      border-color: var(--border-colo);
   }

   body#checkout section.checkout-step .address-item.selected {
      border-color: var(--color-1);
   }

   #subcategories ul li:hover .subcategory-image a {
      padding: 9px !important;
      border: 1px solid var(--color-1) !important;
   }

   #subcategories ul li .subcategory-image a img {
      object-fit: cover;
      height: 125px;
   }

   #subcategories ul li .subcategory-name {
      font-size: 12px;
   }

   .btn {
      height: 45px;
      border-radius: 10px;
      background: var(--color-2);
      color: var(--white);
      display: inline-flex;
      font-size: 16px;
      align-items: center;
      position: relative;
      overflow: hidden;
      border: none;
      font-weight: 500;
      padding: 0 20px;
      transition: background-color 0.3s ease, color 0.3s ease,
         box-shadow 0.3s ease;
   }

   .btn:active {
      border-color: var(--color-1);
   }

   .btn span {
      position: relative;
      z-index: 2;
      display: inline-flex;
      align-items: center;
      line-height: normal;
   }

   .btn:hover,
   .btn:focus-visible {
      color: var(--white);
      background: var(--color-secondary);
   }

   .em2Block {
      margin-bottom: 30px;
   }

   .em2ProductSlider .owl-nav {
      text-align: center;
      margin-top: 30px;
   }

   .em2ProductSlider .owl-carousel .owl-nav button.owl-prev {
      width: 40px;
      height: 40px;
      background: var(--color-1);
      border-radius: 10px;
      color: var(--white);
      font-size: 20px;
      margin: 0 5px;
   }

   .em2ProductSlider .owl-carousel .owl-nav button.owl-prev:hover {
      background: #96cbff;
   }

   .pagination a {
      border: 1px solid var(--border-colo);
      font-weight: 700;
      display: inline-flex;
      padding: 2px 5px;
      justify-content: center;
      align-items: center;
      font-size: 14px;
      color: var(--color-4);
      min-width: 25px;
   }

   .pagination a:hover {
      font-size: 14px;
      color: var(--color-1);
   }

   /* Newsletter block custom styling (theme em3) */
   .email_subscription {
      background: var(--color-2);
      /* requested blue background */
      padding: 28px 20px;
      border-radius: 8px;
      box-sizing: border-box;
      /* make the block full-bleed across the viewport */
      width: 100vw;
      position: relative;
      left: 50%;
      right: 50%;
      margin-left: -50vw;
      margin-right: -50vw;
   }

   .email_subscription .newslettercontainer {
      width: 100%;
      /* align inner content to the site grid / container */
      max-width: 1000px;
      /* reduced width per request */
      margin: 0 auto;
      padding: 0 20px;
      /* keep internal side padding so content doesn't touch edges */
      box-sizing: border-box;
   }

   .email_subscription .newsletter-row {
      display: flex;
      align-items: center;
      /* vertical centering */
      justify-content: space-between;
      gap: 40px;
      /* larger gap between columns */
      width: 100%;
   }

   .email_subscription .newsletter-left {
      flex: 0 0 35%;
   }

   .email_subscription .newsletter-left h4 {
      font-size: 22px;
      font-weight: 700;
      margin: 0 0 8px 0;
      color: #ffffff;
      /* text white */
   }

   .email_subscription .newsletter-left .newsletter-desc {
      margin: 0;
      font-size: 14px;
      line-height: 1.4;
      color: #ffffff;
      /* text white */
   }

   .email_subscription .newsletter-center {
      flex: 1 1 45%;
      display: flex;
      justify-content: center;
      /* center the input horizontally in the middle column */
      background: transparent;
      gap: 20px;
      align-items: center;
      flex-wrap: wrap;
   }

   /* Ensure styling applies to the GDPR/Checkbox container if it exists */
   .email_subscription .newsletter-center .gdpr_consent,
   .email_subscription .newsletter-center .form-group {
      display: flex;
      align-items: center;
      color: #fff;
      margin: 0;
   }

   /* Ensure label is white */
   .email_subscription .newsletter-center label {
      margin-bottom: 0;
      color: #fff;
      cursor: pointer;
      text-align: left;
      display: flex;
      align-items: center;
   }

   /* Style the CUSTOM checkbox (Prestashop default structure) */
   .email_subscription .custom-checkbox {
      display: inline-flex;
      margin-right: 10px;
   }

   /* Hide native input if needed (usually handled by theme, but being safe) */
   .email_subscription .custom-checkbox input[type="checkbox"] {
      position: absolute;
      opacity: 0;
      cursor: pointer;
      height: 0;
      width: 0;
   }

   /* The actual visible box */
   .email_subscription .custom-checkbox input[type="checkbox"]+span {
      display: inline-block;
      width: 20px;
      height: 20px;
      background-color: #fff !important;
      border: 2px solid #fff !important;
      border-radius: 4px;
      /* Optional rounded corners */
      position: relative;
      cursor: pointer;
      vertical-align: middle;
   }

   /* The checkmark icon */
   .email_subscription .custom-checkbox input[type="checkbox"]+span .checkbox-checked {
      display: none;
      /* Hidden by default */
      color: #1e73d8 !important;
      /* Blue checkmark */
      font-size: 18px;
      line-height: 18px;
      position: absolute;
      top: -1px;
      left: -1px;
   }

   /* Show checkmark when checked */
   .email_subscription .custom-checkbox input[type="checkbox"]:checked+span .checkbox-checked {
      display: block;
   }

   .email_subscription .newsletter-input {
      width: 100%;
      max-width: 360px;
      /* slightly reduced input width */
      padding: 12px 16px;
      border-radius: 10px;
      border: 1px solid rgba(0, 0, 0, 0.08);
      background: #ffffff;
      /* keep input white */
      box-shadow: none;
      font-size: 15px;
      color: var(--black);
   }

   .email_subscription .newsletter-input::placeholder {
      color: #9aa7b8;
   }

   .email_subscription .newsletter-right {
      flex: 0 0 18%;
      display: flex;
      align-items: center;
      justify-content: flex-end;
   }

   .email_subscription .newsletter-btn {
      height: 48px;
      min-width: 120px;
      padding: 0 18px;
      border-radius: 10px;
      background: #ffffff;
      /* white button */
      color: #1e73d8;
      /* blue text */
      border: 1px solid rgba(0, 0, 0, 0.05);
      font-weight: 700;
      cursor: pointer;
   }

   .email_subscription .newsletter-btn:hover,
   .email_subscription .newsletter-btn:focus {
      background: #ffffff;
      color: #1c4b68;
      opacity: 0.95;
   }

   /* Responsive: stack on small screens */
   @media (max-width: 767.98px) {
      .email_subscription .newsletter-row {
         flex-direction: column;
         align-items: stretch;
      }

      .email_subscription .newsletter-left {
         margin-bottom: 12px;
      }

      .email_subscription .newsletter-right {
         justify-content: flex-start;
      }
   }

   /* Footer override: when module newsletter is injected inside a custom newsletter-card */
   .newsletter-card .email_subscription,
   .newsletter-card .email_subscription .newslettercontainer {
      width: auto !important;
      max-width: 100%;
      position: static !important;
      left: auto !important;
      right: auto !important;
      margin: 0 !important;
      background: transparent !important;
      padding: 0 !important;
      box-shadow: none !important;
   }

   .newsletter-card .email_subscription .newsletter-row {
      display: flex;
      align-items: center;
      justify-content: flex-end;
      gap: 12px;
      width: 100%;
      flex-wrap: nowrap;
   }

   /* When placed in the footer card, hide duplicate heading/description coming from the module
   because the theme typically provides its own title/description. */
   .newsletter-card .email_subscription .newsletter-left {
      display: none;
   }

   .newsletter-card .email_subscription .newsletter-center {
      flex: 1 1 auto;
      display: flex;
      justify-content: flex-start;
   }

   .newsletter-card .email_subscription .newsletter-input {
      max-width: 420px;
      width: 100%;
      padding: 12px 16px;
      border-radius: 10px;
      border: 1px solid rgba(0, 0, 0, 0.08);
      background: #fff;
      box-shadow: none;
   }

   /* Make sure all text inside the blue newsletter-card is white */
   .newsletter-card,
   .newsletter-card * {
      color: #ffffff;
   }

   /* But keep inputs readable: white background + dark text for email fields */
   .newsletter-card .newsletter-input,
   .newsletter-card input[type="email"] {
      background: #ffffff;
      color: #222 !important;
   }

   /* Link color in footer newsletter: keep them white or subtle underline to be visible */
   .newsletter-card a {
      color: rgba(255, 255, 255, 0.95);
   }

   .newsletter-card a:focus,
   .newsletter-card a:hover {
      color: #ffffff;
      text-decoration: underline;
   }

   /* Social and button styles: keep the button white with blue text, consistent with the theme */
   .newsletter-card .newsletter-btn {
      background: #ffffff;
      color: #1e73d8;
   }

   .newsletter-card .newsletter-btn:hover,
   .newsletter-card .newsletter-btn:focus {
      color: #1c4b68;
   }

   /* Force background and text color overrides on any block_newsletter injected into footer card */
   .newsletter-card .block_newsletter,
   .newsletter-card .block_newsletter * {
      background: transparent !important;
      box-shadow: none !important;
      border: none !important;
      color: #ffffff !important;
   }

   /* Ensure the module's form doesn't have a white bg or its own padding */
   .newsletter-card .block_newsletter form,
   .newsletter-card .email_subscription form,
   .newsletter-card .block_newsletter .newslettercontainer {
      background: transparent !important;
      padding: 0 !important;
      margin: 0 !important;
   }

   /* Fix module heading and paragraph colors specifically */
   .newsletter-card .block_newsletter h4,
   .newsletter-card .email_subscription h4,
   .newsletter-card .block_newsletter .newsletter-desc,
   .newsletter-card .email_subscription .newsletter-desc,
   .newsletter-card .block_newsletter .notification {
      color: #ffffff !important;
   }

   /* Keep input readable: white background + darker text */
   .newsletter-card .block_newsletter input[type="email"],
   .newsletter-card .newsletter-input {
      background: #ffffff !important;
      color: #111 !important;
      border: 1px solid rgba(0, 0, 0, 0.08) !important;
   }

   /* Hide any duplicate module title if using the column template */
   .newsletter-card .block_newsletter>h4 {
      display: none !important;
   }

   .newsletter-card .email_subscription .newsletter-btn {
      height: 48px;
      min-width: auto;
      padding: 0 16px;
      border-radius: 10px;
      background: #fff;
      color: #1e73d8;
      border: 1px solid rgba(0, 0, 0, 0.05);
      font-weight: 700;
      cursor: pointer;
   }

   /* Medium and smaller screens: stack input and button under the title in the footer card */
   @media (max-width: 991px) {
      .newsletter-card .email_subscription .newsletter-row {
         flex-direction: column;
         align-items: stretch;
         gap: 12px;
      }

      .newsletter-card .email_subscription .newsletter-center {
         order: 2;
         width: 100%;
      }

      .newsletter-card .email_subscription .newsletter-right {
         order: 3;
         justify-content: flex-start;
      }

      .newsletter-card__form {
         justify-content: flex-start;
         width: 100%;
      }
   }

   .pagination a.next {
      border: none;
      padding-left: 0px;
      padding-right: 0px;
   }

   #product-modal .modal-content .modal-body {
      background: var(--white);
   }

   #product-modal .modal-content .modal-body .thumbnails {
      padding: 30px 0px;
   }

   #product-modal .modal-content .modal-body .mask {
      max-height: 530px;
   }

   #product-modal .modal-content .modal-body .arrows i {
      font-size: 30px;
      color: var(--color-1);
      top: 0px;
      left: 35px;
      cursor: pointer;
   }

   #product-modal .modal-content .modal-body .arrows i.arrow-down {
      top: auto;
      bottom: 0px;
   }

   #blockcart-modal .modal-title i.material-icons {
      color: var(--color-1);
   }

   a.label {
      color: var(--color-1);
      font-size: 16px;
      font-weight: 700;
      line-height: normal;
   }

   a.label:hover {
      color: var(--color-2);
   }

   form .form-control-label {
      font-size: 14px;
      font-weight: 500;
      color: var(--color-6);
   }

   .custom-radio {
      border: var(--border-color) 1px solid;
   }

   .custom-radio input[type="radio"]:checked+span {
      background-color: var(--color-1);
   }

   .custom-checkbox input[type="checkbox"]:focus+span {
      border-color: var(--border-colo);
   }

   .custom-checkbox input[type="checkbox"]+span {
      border: 1px var(--border-color) solid;
   }

   .custom-checkbox input[type="checkbox"]+span .checkbox-checked {
      color: var(--color-1);
   }

   .definition-list dl dt {
      background: var(--background-1);
   }

   .d-flex {
      display: flex;
      flex-wrap: wrap;
   }

   .justify-content-center {
      justify-content: center;
   }

   .justify-content-between {
      justify-content: space-between;
   }

   .justify-content-end {
      justify-content: flex-end;
   }

   .align-items-center {
      align-items: center;
   }

   ul.ui-autocomplete.searchbar-autocomplete {
      background: var(--color-1);
      border-radius: 0px;
      box-sizing: border-box;
   }

   #search_widget .ui-autocomplete.searchbar-autocomplete li a:hover {
      background: var(--color-2);
   }

   .ui-autocomplete.searchbar-autocomplete li a {
      display: flex;
      align-items: center;
      font-size: 12px;
      color: var(--white);
   }

   .modal-open .modal.in {
      display: flex !important;
      align-items: center;
      height: 100%;
   }

   @keyframes effectMenu {
      0% {
         display: block;
         visibility: hidden;
         opacity: 0;
         transform: translateY(-50%);
      }

      100% {
         display: block;
         visibility: visible;
         opacity: 1;
         transform: translateY(0px);
         position: static;
      }
   }

   @keyframes menuSticky {
      0% {
         top: -100%;
      }

      100% {
         top: 0px;
      }
   }
}

@media (min-width: 768px) {
   .em2MainMenu.collapse {
      display: block;
   }

   #header .header-top .menu {
      display: flex;
      flex-wrap: wrap;
      justify-content: center;
      margin-top: 20px;
      margin-bottom: -15px;
   }

   #header .header-top .menu ul {
      display: flex;
   }

   .top-menu #category-37 .sub-menu>ul>li {
      width: 50%;
      float: left;
   }

   #header .header-top .menu ul #category-37 .sub-menu ul li ul {
      border-top: 1px solid var(--color-1);
   }

   .top-menu #category-37 .sub-menu ul li li {
      width: 50%;
      padding: 0px;
   }

   #header .header-top .menu ul #category-37 .sub-menu ul li li a {
      padding-left: 0px;
   }

   #header .header-top .menu ul #category-37 .sub-menu ul li li a::before {
      font-family: "Font Awesome 5 Light";
      font-weight: 900;
      content: "\f054";
      font-size: 8px;
      display: inline-block;
      margin-top: -1px;
      line-height: 8px;
   }

   .top-menu .sub-menu {
      z-index: 18;
      width: 100%;
      margin-left: 0;
      visibility: hidden;
      border: none;
      opacity: 0;
      transition: opacity 0.5s ease, visibility 0.5s ease;
      background: var(--white);
      padding: 15px;
      top: 100%;
   }

   .top-menu .sub-menu.collapse {
      -webkit-transform-origin: 0 0;
      -moz-transform-origin: 0 0;
      -ms-transform-origin: 0 0;
      transform-origin: 0 0;
      -webkit-transition: all 0.4s ease-in-out 0s;
      -o-transition: all 0.4s ease-in-out 0s;
      transition: all 0.4s ease-in-out 0s;
      -webkit-transform: rotateX(-90deg);
      -ms-transform: rotateX(-90deg);
      -o-transform: rotateX(-90deg);
      transform: rotateX(-90deg);
   }

   .em2MainMenu .top-menu li:hover .sub-menu {
      filter: alpha(opacity=100);
      -webkit-transform: rotateX(0deg);
      -ms-transform: rotateX(0deg);
      -o-transform: rotateX(0deg);
      transform: rotateX(0deg);
      visibility: visible;
      opacity: 1;
   }

   .top-menu .sub-menu ul li a {
      color: var(--color-1);
   }
}

@media (max-width: 767px) {

   #header .header-nav .container>.row,
   #header .top-logo a,
   .footerTop .container .row,
   .top-menu .sub-menu ul,
   #_mobile_nav2.right-nav ul,
   .product-miniature .thumbnail-container .product-thumbnail span,
   .em2MainMenu.collapsing,
   #header .header-top .em2MainMenu ul,
   #header .top-logo {
      justify-content: center;
      margin-bottom: 15px;
   }

   #header .header-nav {
      padding: 10px 0px 0px 0px;
      position: relative;
   }

   section.productRight .product-add-to-cart {
      display: block;
   }

   #_mobile_nav2 {
      border-bottom: 1px solid var(--white);
      padding-bottom: 10px;
      position: static;
   }

   .top-menu .sub-menu ul li a span.float-xs-right.hidden-md-up {
      display: none !important;
   }

   ul.em2IconInfoNav {
      background: transparent;
      padding: 0;
   }

   ul.em2IconInfoNav li img {
      max-width: 15px;
      margin-right: 5px;
   }

   ul.em2IconInfoNav li a {
      font-size: 12px;
      line-height: normal;
      font-weight: 500;
   }

   /*
.em2MainMenu {
   margin: 0 -15px;
   background: var(--color-1);
   transition: 0.5s ease-out;
   visibility: hidden;
   overflow: auto;
   position: absolute;
   left: 15px;
   width: 100%;
}

.em2MainMenu.in {
   visibility: visible;
}
*/

   #header .header-top .em2MainMenu .menu {
      margin-top: 0px;
      display: block;
      padding: 0px 15px;
   }

   #header .header-top .em2MainMenu ul li {
      display: block;
      position: relative;
      overflow: hidden;
   }

   #header .header-top .em2MainMenu ul li .btnSubMenu {
      position: absolute;
      right: 0px;
      top: 11px;
      color: var(--white);
      z-index: 9;
      display: none;
      -webkit-transition: all 0.4s ease-in-out 0s;
      -o-transition: all 0.4s ease-in-out 0s;
      transition: all 0.4s ease-in-out 0s;
   }

   #header .header-top .em2MainMenu ul[data-depth="0"]>li {
      border-bottom: 1px solid var(--white);
   }

   #header .header-top .em2MainMenu ul[data-depth="0"]>li:last-child {
      border: none;
   }

   #header .header-top .em2MainMenu ul[data-depth="0"]>li>.btnSubMenu {
      display: block;
   }

   #header .header-top .em2MainMenu ul[data-depth="0"]>li>.btnSubMenu::after {
      font-family: "Font Awesome 5 Regular";
      font-weight: 400;
      content: "\f078";
   }

   #header .header-top .em2MainMenu ul[data-depth="0"]>li>.btnSubMenu.active {
      transform: rotate(180deg);
   }

   #header .header-top .em2MainMenu ul li a {
      color: var(--white);
      position: relative;
      z-index: 8;
   }

   #header .header-top .em2MainMenu .top-menu .sub-menu ul {
      margin: 0px;
   }

   .top-menu .sub-menu {
      padding: 0px;
      width: 100%;
      box-shadow: none;
      background: transparent;
      margin: 0px;
      visibility: hidden;
      opacity: 0;
      top: 100%;
      transition: unset;
      display: none;
   }

   .top-menu .sub-menu.collapsing {
      transition-timing-function: unset;
      transition-duration: 0;
   }

   .top-menu .sub-menu.collapse.in {
      display: block;
      visibility: visible;
      opacity: 1;
      animation: effectMenu 0.2s;
      position: static;
      transform: translateY(0);
      -webkit-transition: all 0.2s ease-in-out 0s;
      -o-transition: all 0.2s ease-in-out 0s;
      transition: all 0.2s ease-in-out 0s;
   }

   .top-menu .sub-menu.collapse.show {
      display: block;
      visibility: visible;
      opacity: 1;
      animation: effectMenu 0.2s;
      position: static;
      transform: translateY(0);
      -webkit-transition: all 0.2s ease-in-out 0s;
      -o-transition: all 0.2s ease-in-out 0s;
      transition: all 0.2s ease-in-out 0s;
   }
}

.top-menu .sub-menu ul li {
   width: 100%;
   display: block;
   padding: 0px;
   text-align: left;
}

#header .header-top .em2MainMenu .top-menu .sub-menu li>a {
   padding: 5px 30px;
   border: none;
   margin-bottom: 0px;
}

.blockMobileMenu {
   display: flex;
   align-items: center;
}

.blockMobileMenu button.navbar-toggler {
   color: var(--color-1);
   padding: 0px;
   font-size: 20px;
   width: auto;
   height: auto;
   margin-right: 10px;
}

.em2Banner .em2Banneritem {
   height: auto;
   padding: 20% 0px;
}

.em2Banner h1 {
   font-size: 22px;
   line-height: 26px;
}

#js-product-list-header .em2Banner h1 {
   line-height: normal;
}

.em2Banner .description {
   font-size: 18px;
   line-height: 22px;
}

.em2IconInfoHome {
   padding-bottom: 5px;
}

.em2IconInfoHome .row [class*="col-xs"] {
   margin-bottom: 15px;
}

.em2IconInfoHomeItem {
   padding: 5px 10px;
   flex-flow: column;
}

#header .header-top .menu>ul>li>a {
   font-size: 100%;
   line-height: normal;
}

.em2IconInfoHomeItem p {
   margin-top: 10px;
}

.product-miniature .thumbnail-container .product-thumbnail>img {
   opacity: 1;
   /* Assurer l'affichage de l'image principale */
}

.footerTop .title {
   font-size: 28px;
   line-height: normal;
}

.footerBottom .copyright {
   text-align: center;
}

.footerTop form .form-group {
   margin-top: 15px;
}

.footerTop form .form-group input {
   width: auto;
   border: none;
}

.footerBottom .row {
   flex-flow: column-reverse;
   justify-content: center;
}

.footerBottom ul {
   justify-content: center;
}

.footer-container {
   padding-top: 15px;
}

.footer-container .links .title {
   padding: 5px 0px;
   cursor: pointer;
}

.product-miniature .product-title a {
   text-overflow: inherit;
   white-space: inherit;
}

.product-flags {
   top: 10px;
   left: 10px;
   width: calc(100% - 10px);
}

.block-categories {
   margin-bottom: 30px;
}

.em2Title {
   text-align: center;
}

section.productRight .product-information {
   position: static;
}

.product-quantity {
   margin-bottom: 1rem;
   display: flex;
   align-items: center;
   gap: 16px;
}

.product-quantity .control-label {
   font-weight: 600;
   color: var(--color-2);
   margin: 0;
   font-size: 1rem;
   text-transform: uppercase;
   letter-spacing: 0.5px;
}

.product-quantity .qty {
   display: flex;
   align-items: center;
}

.product-quantity .bootstrap-touchspin {
   display: flex;
   align-items: stretch;
   border: 1px solid rgba(45, 62, 175, 0.18);
   border-radius: 999px;
   overflow: hidden;
   background: #fff;
   box-shadow: 0 6px 16px rgba(16,45,64, 0.12);
}

.product-quantity #quantity_wanted {
   width: 68px;
   padding: 12px 10px;
   border: none;
   background: transparent;
   text-align: center;
   font-size: 17px;
   font-weight: 600;
   color: var(--color-2);
}

.product-quantity #quantity_wanted:focus {
   outline: none;
   box-shadow: inset 0 0 0 2px rgba(45, 62, 175, 0.25);
}

.product-quantity .input-group-btn-vertical {
   display: flex;
   flex-direction: column;
}

.product-quantity .btn-touchspin {
   width: 42px;
   height: 100%;
   padding: 0;
   display: flex;
   align-items: center;
   justify-content: center;
   background: var(--color-2);
   border: none;
   transition: background 0.2s ease;
}

.product-quantity .btn-touchspin:first-child {
   border-bottom: 1px solid rgba(255, 255, 255, 0.25);
}

.product-quantity .btn-touchspin:last-child {
   border-top: 1px solid rgba(255, 255, 255, 0.25);
}

.product-quantity .btn-touchspin:hover,
.product-quantity .btn-touchspin:focus-visible {
   background: #102d40;
}

.product-quantity .btn-touchspin i {
   font-size: 14px;
   color: #fff;
}

.product-quantity input[type="number"]::-webkit-outer-spin-button,
.product-quantity input[type="number"]::-webkit-inner-spin-button {
   -webkit-appearance: none;
   margin: 0;
}

.product-quantity input[type="number"] {
   -moz-appearance: textfield;
   appearance: textfield;
}

#checkout .js-cart ul li .product-quantity {
   margin-bottom: 0px;
}

.em2ProductTitle {
   font-size: 20px;
   line-height: normal;
   margin-top: 30px;
}

#main .images-container .js-qv-mask.scroll {
   width: calc(100% - 60px);
}

.em2Arrow.scroll-box-arrows i {
   left: 0px;
}

.em2Arrow.scroll-box-arrows i.fa-chevron-right {
   right: 0px;
}

.product-cover .layer {
   display: flex !important;
   opacity: 1;
   width: auto;
   height: auto;
   background: transparent;
   right: 0;
   justify-content: flex-end;
}

.product-cover .layer .zoom-in {
   color: var(--color-1);
   font-size: 40px;
}

.cart-container .blockreassurance_product {
   justify-content: center;
}

.cart-container .blockreassurance_product>div {
   margin: 0px;
   width: 33.3333%;
   justify-content: center;
}

.cart-container .blockreassurance_product>div p {
   text-align: center;
}

.ui-menu li.ui-menu-item {
   border-bottom: 1px solid var(--border-color) !important;
}

.ui-menu li.ui-menu-item:last-child {
   border: none;
}

.ui-menu .ui-menu-item a {
   font-size: 12px;
}

.menuOpenMobile footer {
   display: none;
}

.em3-header-top-row {
   display: flex;
   align-items: center;
   justify-content: space-between;
   min-height: 90px;
   color: #0074e5;
   flex-wrap: wrap;
}

.header-links {
   display: flex !important;
   align-items: center;
   flex-direction: row !important;
   color: #0074e5;
   gap: 32px !important;
   justify-content: flex-end;
   width: 100%;
}

.header-links .navbar-toggler {
   display: inline-flex !important;
   align-items: center;
   vertical-align: middle;
   font-weight: bold;
   font-size: 18px;
   text-transform: uppercase;
   padding: 0 0.5em;
   transition: color 0.2s;
}

.header-links .em3-contact-link span {
   font-weight: bold;
   font-size: 18px;
   letter-spacing: 0.01em;
   color: var(--color-secondary) !important;
}

.header-links .header-link:active {
   color: #0074e5;
}

.header-links .em3-contact-link:active {
   color: #f49a21;
}

.header-links .header-link i {
   font-weight: bold;
   font-size: 18px;
   letter-spacing: 0.01em;
   color: var(--color-secondary) !important;
}

.header-links .header-link+.header-link {
   margin-left: 0.5rem;
}

.header-links .navbar-toggler {
   font-size: 1.5em;
   padding: 0 0.5em;
}

@media (max-width: 991.98px) {

   .header-links .header-link,
   .header-links .em3-contact-link,
   .em3-header-top-row {
      flex-direction: column;
      align-items: stretch;
      justify-content: center;
      min-height: unset;
      gap: 0;
   }

   #_desktop_logo {
      justify-content: center !important;
      max-width: 100vw;
      margin-bottom: 10px;
      display: flex !important;
   }

   .header-links {
      justify-content: center !important;
      margin-top: 10px;
      width: 100%;
      gap: 1.5rem !important;
      padding-bottom: 0.5em;
   }

   .header-links .navbar-toggler {
      font-size: 18px !important;
      font-weight: bold !important;
      min-width: 0;
      justify-content: center;
      text-align: center;
      padding: 0 0.5em;
   }

   .em3-header-top-row>div {
      width: 100% !important;
      max-width: 100vw !important;
      flex: 1 1 100%;
      margin: 0 !important;
      padding: 0 8px;
      display: flex !important;
      justify-content: center !important;
      align-items: center !important;
      text-align: center;
   }
}

@media (min-width: 992px) {
   .em3-header-top-row {
      flex-direction: row;
      align-items: center;
      justify-content: space-between;
      min-height: 90px;
      gap: 0;
   }

   .em3-header-top-row>#_desktop_logo {
      max-width: 280px;
      flex: 0 0 280px;
      width: 280px;
      justify-content: flex-start !important;
      margin-bottom: 0 !important;
   }

   .em3-header-top-row>.header-links {
      flex: 0 0 auto;
      width: auto;
      justify-content: flex-end !important;
      padding-bottom: 0;
   }

   .em3-header-top-row>div:not(#_desktop_logo):not(.header-links) {
      flex: 1 1 0%;
      max-width: 100%;
      justify-content: center !important;
      align-items: center !important;
      text-align: center;
      margin: 0 !important;
      padding: 0 8px;
      display: flex !important;
   }
}

.em3-mobile-actions {
   display: inline-flex;
   align-items: center;
   gap: 0.75rem;
}

.em3-mobile-action,
.em3-mobile-actions .navbar-toggler {
   color: var(--color-1);
   font-size: 1.4rem;
   display: inline-flex;
   align-items: center;
   justify-content: center;
   width: 2.6rem;
   height: 2.6rem;
   border-radius: 50%;
   border: none;
   background: rgba(16,45,64, 0.08);
   transition: all 0.2s ease;
}

.em3-mobile-action:hover,
.em3-mobile-actions .navbar-toggler:hover {
   background: var(--color-2);
   color: #fff;
}

.em3-mobile-actions .navbar-toggler {
   padding: 0;
}

@media (max-width: 991.98px) {
   .header-menu-wrapper {
      position: static;
   }

   .em3-desktop-only {
      display: none !important;
   }

   /* When mobile menu is opened, hide header chrome to avoid overlap.
   JS toggles a class on body (menuOpenMobile) when opening the mobile drawer.
   Hide both desktop-only header and the mobile compact header parts while
   keeping the nav overlay (`#mainMenu`) visible. */
   body.menuOpenMobile #header .header-top,
   body.menuOpenMobile #header .header-nav,
   body.menuOpenMobile .em3-desktop-only,
   /* Hide the header blocks inside our header wrapper but keep the nav itself */
   body.menuOpenMobile .header-menu-wrapper>.header-top,
   body.menuOpenMobile .header-menu-wrapper>.em3-mobile-header,
   body.menuOpenMobile .header-menu-wrapper .em3-mobile-main,
   body.menuOpenMobile .header-menu-wrapper .em3-mobile-actions,
   body.menuOpenMobile .header-menu-wrapper .em3-mobile-search {
      display: none !important;
      visibility: hidden !important;
      pointer-events: none !important;
   }

   nav#mainMenu.custom-dropdown-menu {
      position: static;
      top: auto;
      left: auto;
      right: auto;
      bottom: auto;
      width: 100%;
      height: auto;
      margin: 0;
      padding: 0;
      background: transparent;
      box-shadow: none;
      display: block;
      overflow: visible;
      pointer-events: auto;
   }

   #mobile_menu_wrapper {
      position: fixed;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0;
      width: 100%;
      height: 100%;
      margin: 0;
      padding: 3.75rem 1.5rem 2.5rem;
      background: #fff;
      box-shadow: 0 20px 60px rgba(16,45,64, 0.25);
      display: none;
      overflow-y: auto;
      -webkit-overflow-scrolling: touch;
      z-index: 10000;
      pointer-events: none;
      /* ne bloque rien par défaut */
   }

   /* Le wrapper ne dépend QUE de la classe sur le body */
   body.menuOpenMobile #mobile_menu_wrapper {
      display: block;
      pointer-events: auto;
   }

   #mainMenu .menu-mobile-header {
      display: flex !important;
      align-items: center;
      justify-content: flex-start;
      gap: 1rem;
      margin-bottom: 2rem;
   }

   #mainMenu .menu-mobile-logo img {
      max-height: 56px;
      width: auto;
   }

   .em3-mobile-header {
      background: #fff;
      padding: 0.75rem 1.25rem 1.5rem;
      box-shadow: 0 10px 30px rgba(16,45,64, 0.1);
      border-radius: 0 0 18px 18px;
      position: fixed;
      top: 0;
      left: 0;
      width: 100%;
      z-index: 9999;
   }

   .em3-mobile-topbar {
      display: flex;
      align-items: center;
      justify-content: space-between;
      font-size: 0.9rem;
      color: var(--color-2);
      margin-bottom: 0.65rem;
   }

   .em3-mobile-contact,
   .em3-mobile-social {
      display: flex;
      align-items: center;
      gap: 0.75rem;
   }

   .em3-mobile-contact-link,
   .em3-mobile-social-link {
      color: var(--color-2);
      font-size: 1.1rem;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: 2.2rem;
      height: 2.2rem;
      border-radius: 999px;
      border: 1px solid rgba(40, 116, 229, 0.25);
      background: rgba(40, 116, 229, 0.08);
      transition: all 0.2s ease;

      & .em3-cart-text {
         display: none;
      }
   }

   .em3-mobile-contact-link:hover,
   .em3-mobile-social-link:hover {
      background: var(--color-2);
      color: #fff;
      border-color: transparent;
   }

   .em3-mobile-main {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 1.25rem;
   }

   .em3-mobile-main .logo {
      flex: 1 1 auto;
      display: inline-flex;
      align-items: center;
      justify-content: flex-start;
   }

   .em3-mobile-main .logo img {
      max-height: 64px;
      width: auto;
   }

   .em3-mobile-actions .cart-preview,
   .em3-mobile-actions .blockcart {
      display: inline-flex;
      align-items: center;
      justify-content: center;
   }

   .em3-mobile-actions .cart-preview .header,
   .em3-mobile-actions .blockcart .header {
      margin: 0;
   }

   .em3-mobile-actions .cart-products-count {
      position: absolute;
      top: -6px;
      right: -6px;
   }

   .em3-mobile-search {
      margin-top: 1rem;
      border-radius: 12px;
   }

   .em3-mobile-search .oc_autocomplete_search form {
      margin-bottom: 0;
   }

   .em3-mobile-search input[type="search"],
   .em3-mobile-search input[type="text"] {
      border-radius: 999px !important;
      /*border: 1px solid rgba(40, 116, 229, 0.2) !important;*/
      padding: 0.75rem 1rem 0.75em 3em !important;
      font-size: 1rem !important;
   }

   .em3-mobile-search button[type="submit"] {
      background: var(--color-2) !important;
      border-radius: 999px !important;
      color: #fff !important;
   }

   #mainMenu .dropdown-menu-inner {
      margin: 0;
      padding: 0;
      background: transparent;
      box-shadow: none;
   }

   #mainMenu .top-menu[data-depth="0"] {
      flex-direction: column !important;
      align-items: stretch;
      gap: 0;
      width: 100%;
   }

   #mainMenu .top-menu[data-depth="0"]>li {
      width: 100%;
      margin: 0 !important;
      list-style: none;
   }

   #mainMenu .top-menu[data-depth="0"]>li>a,
   #mainMenu .top-menu[data-depth="0"]>li>.menu-toggle {
      display: flex;
      align-items: center;
      justify-content: space-between;
      width: 100%;
      padding: 1rem 0;
      color: var(--color-2);
      font-size: 1rem;
      font-weight: 600;
      text-transform: uppercase;
      letter-spacing: 0.08em;
      border-bottom: 1px solid rgba(0, 0, 0, 0.08);
   }

   #mainMenu .top-menu[data-depth="0"]>li:last-child>a,
   #mainMenu .top-menu[data-depth="0"]>li:last-child>.menu-toggle {
      border-bottom: none;
   }

   #mainMenu .em3-subcategory-menu,
   #mainMenu .em3-subsubcategory-menu {
      position: static !important;
      display: none;
      padding: 0.4rem 0 0.6rem 1.2rem;
      margin: 0;
      box-shadow: none;
      background: transparent;
   }

   #mainMenu .em3-subcategory-menu.show,
   #mainMenu .em3-subcategory-menu[style*="display: block"],
   #mainMenu .em3-subsubcategory-menu.show,
   #mainMenu .em3-subsubcategory-menu[style*="display: block"] {
      display: block !important;
   }

   #mainMenu .em3-subcategory-menu li,
   #mainMenu .em3-subsubcategory-menu li {
      list-style: none;
      padding: 0.35rem 0;
   }

   #mainMenu .em3-subcategory-menu a,
   #mainMenu .em3-subsubcategory-menu a {
      color: var(--black);
      font-size: 0.95rem;
      text-transform: none;
      letter-spacing: normal;
   }

   .menu-mobile-close {
      display: block;
   }

   footer#footer .row>.col-xs-12 {
      margin-bottom: 30px;

      &:last-child {
         margin-bottom: 0px;
      }
   }
}

@media (min-width: 992px) {
   .em3-mobile-only {
      display: none !important;
   }
}

/* Desktop: reduce left margin and gaps between top-menu items */
@media (min-width: 992px) {

   /* Make the top menu horizontal and compact */
   #mainMenu .top-menu[data-depth="0"] {
      display: flex !important;
      flex-direction: row !important;
      align-items: center !important;
      justify-content: flex-start !important;
      gap: 5rem !important;
      /* smaller gap between items */
      padding-left: 3% !important;
      padding-bottom: 1% !important;
   }

   /* Items should be inline and not full-width */
   #mainMenu .top-menu[data-depth="0"]>li {
      width: auto !important;
      margin: 0 !important;
   }

   /* Reduce horizontal padding on anchors to tighten spacing */
   #mainMenu .top-menu[data-depth="0"]>li>a,
   #mainMenu .top-menu[data-depth="0"]>li>.menu-toggle {
      display: inline-flex !important;
      padding: 0.5rem 0.6rem !important;
      border-bottom: none !important;
   }

   /* Ensure dropdown inner wrapper doesn't add left padding */
   #mainMenu .dropdown-menu-inner {
      padding-left: 0 !important;
   }
}

@media (min-width: 992px) {
   .top-menu[data-depth="0"] {
      flex-direction: row !important;
   }
}

#header .header-top.sticky {
   transition: none !important;
}

.top-menu[data-depth="0"] {
   flex-direction: column;
}

.top-menu>li:focus-within>.sub-menu {
   display: block !important;
   visibility: visible !important;
   opacity: 1 !important;
   position: absolute !important;
   left: 0;
   top: 100%;
   z-index: 100;
   background: #fff;
   box-shadow: 0 8px 32px rgba(0, 0, 0, 0.12);
   min-width: 220px;
}

.top-menu>li>.sub-menu {
   display: none;
   visibility: hidden;
   opacity: 0;
   transition: opacity 0.2s;
}

.top-menu>li:focus-within>.sub-menu {
   z-index: 1001 !important;
}

.bb-banner-oc-container {
   z-index: 1;
}

.top-menu>li>.sub-menu {
   display: none;
   position: absolute;
   left: 0;
   top: 100%;
   min-width: 220px;
   max-width: 350px;
   background: #fff;
   box-shadow: 0 8px 32px rgba(0, 0, 0, 0.12);
   z-index: 1001;
   padding: 16px 32px;
   overflow: visible;
   opacity: 0;
   visibility: hidden;
   text-transform: uppercase;
   transition: opacity 0.2s;
}

.top-menu>li:focus-within>.sub-menu {
   display: block !important;
   opacity: 1 !important;
   visibility: visible !important;
}

.top-menu .sub-menu .sub-menu {
   left: 100%;
   top: 0;
   min-width: 200px;
   max-width: 300px;
   border-radius: 0 8px 8px 0;
   box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
   background: #fff;
   position: absolute;
   z-index: 1002;
   padding: 8px 0;
   display: none;
   opacity: 0;
   visibility: hidden;
   transition: opacity 0.2s;
}

.top-menu .sub-menu li:focus-within>.sub-menu {
   display: block !important;
   opacity: 1 !important;
   visibility: visible !important;
}

.top-menu .sub-menu .sub-menu {
   max-height: 70vh;
   overflow-y: auto;
}

.em2MainMenu.menu-open {
   max-height: none !important;
   height: auto !important;
   overflow: visible !important;
}

.top-menu>li>.sub-menu {
   left: 0;
   right: 0;
   width: 100vw;
   overflow-x: hidden;
   min-width: unset;
   max-width: unset;
}

.top-menu .sub-menu .sub-menu {
   display: none !important;
   opacity: 0;
   visibility: hidden;
}

.top-menu .sub-menu li:focus-within>.sub-menu {
   display: block !important;
   opacity: 1 !important;
   visibility: visible !important;
}

.top-menu .collapse {
   display: none;
}

.top-menu .collapse.show {
   display: block;
}

.top-menu .sub-menu.collapse.show {
   display: block;
   visibility: visible;
   opacity: 1;
   position: static;
   transform: translateY(0);
   transition: all 0.2s ease-in-out 0s;
}

@media (max-width: 991.98px) {

   .em2Banner,
   .em2Banner h1,
   .em2Banner .btn,
   #js-product-list_header .em2Banner {
      min-height: 320px;
      padding: 18vw 0 8vw 0;
      display: flex;
      flex-direction: column;
      justify-content: center;
      align-items: center;
   }

   #js-product_list_header .em2Banner h1 {
      font-size: 7vw;
      line-height: 1.15;
      margin-bottom: 2vw;
      text-align: center;
   }

   .em2Banner .description {
      font-size: 4.5vw;
      line-height: 1.3;
      margin-bottom: 4vw;
      text-align: center;
      max-width: 90vw;
   }

   #js-product_list_header .em2Banner .btn {
      font-size: 5vw;
      padding: 2vw 7vw;
      min-width: 0;
      border-radius: 8px;
      margin: 0 2vw;
   }
}

@media (max-width: 575.98px) {

   .em2Banner,
   .em2Banner h1,
   .em2Banner .btn,
   #js_product_list_header .em2Banner {
      min-height: 220px;
      padding: 22vw 0 10vw 0;
   }

   #js_product_list_header .em2Banner h1 {
      font-size: 8vw;
   }

   .em2Banner .description {
      font-size: 5vw;
   }

   #js_product_list_header .em2Banner .btn {
      font-size: 6vw;
      padding: 3vw 10vw;
   }

   .em3-social-topbar span {
      display: none;
   }
}

.product-left-column .product-cover {
   border-radius: 20px;
   width: 100%;
   /* L'image prend toute la largeur disponible */
   height: auto;
   /* Maintient les proportions */
   display: block;
   /* Assure que l'image prend la place */
   margin: 0 auto;
   /* Centre l'image si elle est plus petite */
}

.product-left-column .product-cover img {
   width: 100%;
   height: auto;
   object-fit: cover;
   /* Assure que l'image couvre le conteneur */
   border-radius: 20px;
   /* Applique le border-radius à l'image */
}

.product-title-large-uppercase {
   font-size: 36px;
   font-weight: 800;
   text-transform: uppercase;
   color: var(--color-2);
   /* Utilisation de la couleur principale */
   margin-bottom: 5px;
}

.product-reference-small {
   font-size: 14px;
   font-weight: 400;
   color: var(--color-2);
   margin-left: 10px;
   display: inline-block;
   vertical-align: middle;
}

.product-pricing {
   margin-top: 20px;
   padding: 20px 24px;
   background: rgb(244, 248, 252);
   border-radius: 10px;
   display: flex;
   align-items: flex-end;
   justify-content: space-between;
   gap: 16px;
   flex-wrap: wrap;
}

.product-pricing .price-label {
   font-size: 1.5rem;
   color: var(--color-2);
   margin-top: 0;
   margin-bottom: 0;
   line-height: 1;
}

.product-pricing .current-price {
   display: flex;
   align-items: baseline;
   gap: 12px;
}

.product-pricing .current-price-value {
   font-weight: 800;
   font-size: 34px;
   color: #102d40;
   text-transform: none;
   &.current-price-value-ttc{
       font-size: 13px;
       color: rgb(107, 129, 158);
       margin-top: 4px;
      font-weight: 500;
   }
}

.product-pricing .product-discount{
   font-size: 17px;
   color: rgb(138, 155, 181);
   text-decoration: line-through;
}

.product-pricing .product-economy-block{
   background: rgb(251, 246, 232);
   border: 1.5px solid rgb(203, 170, 77);
   color: #102d40;
   font-weight: 700;
   font-size: 14px;
   padding: 8px 14px;
   border-radius: 6px;
   display: inline-block;
   margin-top: 16px;
}

@media (max-width: 575.98px) {
   .product-pricing .current-price-value {
      font-size: 25px;
   }
}

.product-meta-header {
   display: flex;
   align-items: center;
   justify-content: space-between;
   gap: 18px;
   margin-bottom: 20px;
   position: relative;
   z-index: 2;
}

.product-meta-rating {
   display: flex;
   align-items: center;
   gap: 10px;
   font-size: 18px;
   color: #f6a623;
   font-weight: 600;
}

.product-meta-star {
   color: inherit;
   font-size: 18px;
}

.product-meta-review-count {
   font-size: 14px;
   font-weight: 500;
   color: var(--color-2);
}

.product-meta-actions {
   display: flex;
   align-items: center;
   gap: 12px;
}

.product-meta-actions .wishlist-button,
.product-meta-actions .wishlist,
.product-meta-actions .wishlist_toolbar,
.product-meta-actions button,
.product-meta-actions a {
   display: inline-flex;
   align-items: center;
   justify-content: center;
   min-width: 44px;
   min-height: 44px;
   border-radius: 50%;
   background: #fff;
   color: var(--color-2);
   box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
   border: 1px solid rgba(45, 62, 175, 0.1);
   transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.product-meta-actions .wishlist-button:hover,
.product-meta-actions .wishlist button:hover,
.product-meta-actions .wishlist_toolbar:hover,
.product-meta-actions button:hover,
.product-meta-actions a:hover {
   transform: translateY(-2px);
   box-shadow: 0 18px 30px rgba(0, 0, 0, 0.15);
}

.product-short-description-container {
   display: flex;
   align-items: flex-start;
   gap: 18px;
   padding: 26px 30px;
   border-radius: 28px;
   background: #fff;
   box-shadow: 0 20px 60px rgba(0, 0, 0, 0.08);
   margin: 25px 0 35px 0;
   position: relative;
   z-index: 2;
}

.product-short-description-icon {
   display: flex;
   align-items: center;
   justify-content: center;
   width: 64px;
   height: 64px;
   border-radius: 22px;
   background: rgba(45, 62, 175, 0.12);
   color: var(--color-2);
   font-size: 26px;
   flex-shrink: 0;
}

.product-short-description {
   /*color: var(--color-2);*/
   color: var(--color-1) !important;
   font-size: 16px;
   line-height: 1.65;
}

.product-short-description p {
   margin-bottom: 12px;
}

.product-short-description p:last-child {
   margin-bottom: 0;
}

.product-short-description ul {
   padding-left: 20px;
   margin: 0;
}

.product-engage-buttons {
   display: flex;
   flex-wrap: wrap;
   gap: 12px;
   margin: 12px 0px;
   justify-content: center;
   font-size: 13px;
   color: rgb(107, 129, 158);
   & .btn{
      width: 100%;
      color: #102d40;
      border: 1.5px solid #102d40;
      border-radius: 8px;
      padding: 14px 24px;
      height: auto;
      font-weight: 700;
      font-size: 16px;
      cursor: pointer;
      background: #ffffff;
      &:hover{
         background: rgb(240, 245, 250) !important;
         color: #102d40;
      }
   }
}
.product-egage-contact{
   font-size: 14px;
   font-weight: 600;
   color: rgb(107, 129, 158);
   & span{
      display: inline-flex;
      gap: 8px;
      & a{
         color: #1c4b68;
         &::after{
            display: inline-flex;
            content: '|';
            margin-left: 8px;
         }
         &:last-child::after{
            display: none;
         }
      }
   }
}

.btn-action {
   display: inline-flex;
   align-items: center;
   justify-content: center;
   border-radius: 38px;
   padding: 15px 32px;
   font-size: 15px;
   font-weight: 700;
   letter-spacing: 0.08em;
   text-transform: uppercase;
   border: none;
   transition: transform 0.2s ease, box-shadow 0.2s ease;
   box-shadow: 0 18px 35px rgba(0, 0, 0, 0.12);
}

.btn-call {
   background: linear-gradient(125deg, #ffaf30 0%, #ff7f00 100%);
   color: #fff;
}

.btn-quote {
   background: linear-gradient(125deg, #d8ff27 0%, #79e200 100%);
   color: var(--color-2);
}

.btn-action:hover,
.btn-action:focus-visible {
   transform: translateY(-2px);
   box-shadow: 0 22px 40px rgba(0, 0, 0, 0.18);
   color: inherit;
}

.product-add-to-cart-form {
   
}

.product-add-to-cart-form .bootstrap-touchspin {
   border-radius: 30px;
   overflow: hidden;
   box-shadow: 0 10px 20px rgba(0, 0, 0, 0.08);
}

.product-add-to-cart-form button.add-to-cart {
   flex: 1 1 0%;
   background: rgb(203, 170, 77);
   color: #102d40;
   border-radius: 8px;
   padding: 16px 24px;
   font-weight: 800;
   font-size: 18px;
   letter-spacing: 0.02em;
   transition: background 0.2s ease, transform 0.2s ease;
   height: auto;
   text-align: center;
   justify-content: center;
   &:hover{
      background: rgb(184, 150, 63) !important;
   }
}

.product-add-to-cart-form button.add-to-cart:hover,
.product-add-to-cart-form button.add-to-cart:focus-visible {
   background: var(--color-2);
   transform: translateY(-1px);
}

.product-description-section {
   margin-top: 30px;
   display: flex;
   flex-wrap: wrap;
   align-items: flex-start;
}

.product-description-left {
   flex: 0 0 50%;
   max-width: 50%;
   background-color: var(--color-secondary);
   padding: 3rem;
   border-radius: 25px;
   color: white !important;
   /* Styles pour la colonne gauche de la description longue */
}

.product-long-description h2 {
   font-size: 24px;
   font-weight: 700;
   margin-bottom: 1rem;
}

.product-long-description p {
   font-size: 18px;
}

.product-long-description table {
   font-weight: 600;
   font-size: 14px;
}

.product-long-description table thead {
   background-color: var(--color-secondary) !important;
   color: white !important;
}

.product-long-description table td {
   font-size: 14px;
}

.product-description-right {
   flex: 0 0 50%;
   max-width: 50%;
   /* Styles pour la colonne droite de l'image */
   text-align: center;
}

.product-description-image {
   width: 100%;
   /* L'image prend toute la largeur de sa colonne */
   height: auto;
   /* Maintient les proportions */
   border-radius: 10px;
   /* Ajout d'un border-radius pour l'image */
}

.product-description {
   color: var(--black) !important;
}

#blockcart-wrapper {
   display: flex;
   align-items: center;
   height: 100%;
}

#blockcart-wrapper .blockcart .header {
   display: flex;
   align-items: center;
}

#blockcart-wrapper .blockcart .header a {
   display: flex;
   align-items: center;
   gap: 0.2rem;
   font-size: 18px;
   color: var(--color-2);
}

.product-short-description-container {
   display: flex;
   align-items: flex-start;
   gap: 0.5rem;
}

.product-short-description-container i {
   font-size: 24px;
   font-weight: 600;
   color: var(--color-2);
}

.product-short-description {
   font-size: 18px;
   color: var(--color-2);
}

.product-short-description .service-client__intro span {
   color: var(--color-2) !important;
}

.wishlist-button-add {
   display: flex !important;
   align-items: center !important;
   justify-content: center !important;
   width: 40px !important;
   height: 40px !important;
   border-radius: 50% !important;
   color: white !important;
   box-shadow: none !important;
   font-size: 20px !important;
   cursor: pointer !important;
   transition: background-color 0.3s ease !important;
   margin-left: 0 !important;
}

.wishlist-button-add:hover {
   background-color: var(--color-2) !important;
}

.wishlist-button-add i {
   font-size: 36px !important;
   color: var(--color-secondary) !important;
}

.product-mail-contact-container {
   margin-bottom: 1rem;
}

.product-mail-contact-container .btn-contact-mail {
   background-color: var(--color-tertiary) !important;
   color: var(--color-2) !important;
   text-transform: uppercase !important;
   font-weight: 600 !important;
   padding: 0.5rem 1rem !important;
   font-size: 16px !important;
}

.product-mail-contact-container .btn-contact-mail:hover {
   color: var(--white) !important;
}

.product-phone-contact-container {
   margin-bottom: 1rem;
}

.product-phone-contact-container .btn-contact-phone {
   background-color: var(--color-secondary) !important;
   color: var(--white) !important;
   text-transform: uppercase !important;
   font-weight: 600 !important;
   padding: 0.5rem 1rem !important;
   font-size: 16px !important;
}

.product-phone-contact-container .btn-contact-phone:hover {
   color: var(--white) !important;
   background-color: var(--color-2) !important;
}

.product-phone-contact-container .btn-contact-phone:after {
   background: var(--color-2) !important;
}

.product-quantity {
   display: flex;
   align-items: center;
   gap: 1rem;
}

.product-quantity .control-label {
   font-weight: 800;
   color: var(--color-2);
   /* Utiliser la couleur du thème */
   margin: 0;
   font-size: 1rem;
   text-transform: uppercase;
   letter-spacing: 0.5px;
}

.product-miniature .thumbnail-container .product-thumbnail>img {
   opacity: 1;
   /* Assurer l'affichage de l'image principale */
}

.product-add-to-cart {
   display: flex;
   align-items: center;
}

.product-phone-contact-container .btn-contact-phone:after {
   content: "";
}

.phone-modal {
   display: none;
   position: fixed;
   top: 0;
   left: 0;
   width: 100%;
   height: 100%;
   background-color: rgba(0, 0, 0, 0.5);
   z-index: 9999;
   justify-content: center;
   align-items: center;
}

.phone-modal-content {
   background-color: var(--white);
   border-radius: 8px;
   padding: 20px;
   width: 90%;
   max-width: 500px;
   position: relative;
   box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}

.phone-modal-header {
   display: flex;
   justify-content: space-between;
   align-items: center;
   margin-bottom: 20px;
   padding-bottom: 10px;
   border-bottom: 1px solid var(--color-3);
}

.phone-modal-header h3 {
   margin: 0;
   font-size: 1.5rem;
   color: var(--color-1);
}

.phone-modal-close {
   background: none;
   border: none;
   font-size: 2em;
   position: absolute;
   top: 10px;
   right: 20px;
   color: #333;
   cursor: pointer;
   z-index: 10002;
}

.phone-modal-close:hover {
   color: var(--color-1);
}

.phone-modal-body {
   text-align: center;
}

.phone-modal-body p {
   margin-bottom: 15px;
   color: var(--color-3);
}

.phone-number {
   margin: 20px 0;
}

.phone-link {
   display: inline-flex;
   align-items: center;
   font-size: 1.5rem;
   color: var(--color-1);
   text-decoration: none;
   padding: 10px 20px;
   border: 2px solid var(--color-1);
   border-radius: 4px;
   transition: all 0.3s ease;
}

.phone-link:hover {
   background-color: var(--color-1);
   color: var(--white);
}

.phone-link i {
   margin-right: 10px;
}

.phone-hours {
   font-size: 0.9rem;
   color: var(--color-3);
   font-style: italic;
}

@media (max-width: 575.98px) {
   .phone-modal-content {
      width: 95%;
      padding: 15px;
   }

   .phone-modal-header h3 {
      font-size: 1.2rem;
   }

   .phone-link {
      font-size: 1.2rem;
      padding: 8px 15px;
   }
}

.product-description-title {
   font-size: 48px;
   font-weight: 800;
   color: var(--background-1);
   margin-bottom: 1rem;
}

.points-forts-content {
   color: #fff !important;
   border-radius: 18px !important;
   font-size: 1rem !important;
}

.points-forts-content ul {
   list-style: none !important;
   padding-left: 0 !important;
   margin-top: 0.25rem !important;
   /* Reduced from 0.5rem */
   margin-bottom: 0.25rem !important;
   /* Reduced from 0.5rem */
}

.points-forts-content ul ul {
   padding-left: 1.25rem !important;
   /* Reduced from 1.5rem */
   margin-top: 0.15rem !important;
   /* Reduced from 0.3rem */
   margin-bottom: 0.15rem !important;
   /* Reduced from 0.3rem */
}

.points-forts-content li {
   position: relative !important;
   padding-left: 1.5em !important;
   /* Reduced from 2em */
   line-height: 1.3 !important;
   /* Reduced from 1.4 */
   font-size: 1.05em !important;
   /* Slightly reduced from 1.08em */
   font-family: inherit !important;
   font-weight: 400 !important;
   margin-bottom: 0.2rem !important;
   /* Reduced from 0.4rem */
}

.points-forts-content li:last-child {
   margin-bottom: 0 !important;
}

.points-forts-content li::before {
   content: "\2022" !important;
   color: var(--background-1) !important;
   font-size: 1.8em !important;
   position: absolute !important;
   left: 0 !important;
   top: -0.1em !important;
   line-height: 1 !important;
   font-weight: bold !important;
}

.points-forts-content ul ul li::before {
   content: "\25E6" !important;
   color: var(--background-1) !important;
   font-size: 1.1em !important;
   left: 0.2em !important;
   top: 0 !important;
}

.points-forts-content strong {
   font-weight: 800 !important;
   font-size: 1.05em !important;
   color: #fff !important;
   letter-spacing: 0.01em !important;
}

.product-points-forts {
   line-height: 1 !important;
}

.points-forts-content p {
   margin: 0 0 0.1em 0 !important;
   /* Reduced from 0.2em */
   color: #fff !important;
   font-size: 1.05em !important;
}

.points-forts-content ul ul {
   border-left: 2px solid var(--color-tertiary, #f49a21) !important;
   margin-left: 0.2em !important;
   /* Reduced from 0.3em */
   padding-left: 0.75em !important;
   /* Reduced from 1em */
}

@media (max-width: 767px) {

   .product-add-to-cart,
   .product-add-to-cart button.add-to-cart,
   .product-buy-actions form#add-to-cart-or-refresh {
      width: 100% !important;
      max-width: 100vw !important;
      box-sizing: border-box !important;
      margin: 0 auto !important;
      /*padding-left: 0 !important;
   padding-right: 0 !important;*/
      overflow-x: hidden !important;
      display: block !important;
   }

   .product-add-to-cart button.add-to-cart {
      min-width: 0 !important;
      width: 100% !important;
      max-width: 100vw !important;
      font-size: 1.1em !important;
      padding-left: 0 !important;
      padding-right: 0 !important;
      border-radius: 8px !important;
      white-space: normal !important;
      word-break: break-word !important;
   }

   .product-buy-actions {
      overflow-x: hidden !important;
   }

   .product-meta-header {
      flex-direction: column;
      align-items: flex-start;
      gap: 10px;
   }

   .product-meta-actions {
      width: 100%;
      justify-content: flex-start;
      gap: 10px;
   }

   .product-short-description-container {
      flex-direction: column;
      padding: 20px;
      gap: 14px;
   }

   .product-short-description-icon {
      width: 56px;
      height: 60px;
      font-size: 22px;
   }

   .product-engage-buttons {
      flex-direction: column;
      width: 100%;
   }

   .btn-action {
      width: 100%;
      justify-content: center;
      box-shadow: 0 12px 24px rgba(0, 0, 0, 0.12);
   }
}

@media (max-width: 767.98px) {

   body,
   #main {
      overflow-x: hidden !important;
   }

   /* Force removal of Owl inline margins on small screens for perfect centering */
   @media (max-width: 767.98px) {

      /* Target our specific sliders first to avoid site-wide side-effects */
      .bb-specials-slider .owl-item,
      #bb-specials .owl-item {
         margin-right: 0 !important;
         display: flex !important;
         justify-content: center !important;
      }

      /* Generic fallback for any owl carousel used on mobile pages where inline margin breaks centering */
      .owl-carousel .owl-item {
         margin-right: 0 !important;
         display: flex !important;
         justify-content: center !important;
      }

      /* Remove stage paddings that may push items visually off-center */
      .owl-stage-outer,
      .bb-specials-slider .owl-stage-outer {
         padding-left: 0 !important;
         padding-right: 0 !important;
      }

      /* Keep slides visually centered inside their container */
      .owl-stage {
         display: flex !important;
         align-items: center !important;
      }
   }
}

@media (max-width: 991.98px) {

   .product-description-section.em2Block,
   .product-description-left,
   .product-description-right,
   .product-caracteristiques-image-col,
   .product-description-right,
   .product-description-section img,
   .product-caracteristiques-image,
   .product-description-left h2,
   .caracteristiques-content h2,
   .row.product-caracteristiques.em2Block {
      flex-direction: column !important;
      display: flex !important;
      align-items: stretch !important;
      gap: 0 !important;
      width: 100% !important;
      min-width: 0 !important;
      box-sizing: border-box !important;
      overflow-x: hidden !important;
      margin: 0 !important;
      padding: 0 !important;
   }

   .product-caracteristiques-right-bg {
      width: 100% !important;
      max-width: 100vw !important;
      min-width: 0 !important;
      display: block !important;
      margin: 0 0 12px 0 !important;
      padding: 0 8px !important;
      box-sizing: border-box !important;
      float: none !important;
   }

   .product-caracteristiques-right-bg {
      justify-content: flex-start !important;
      align-items: flex-start !important;
   }

   .product-points-forts-image {
      max-width: 98vw !important;
      height: auto !important;
      margin: 0 auto 10px auto !important;
      display: block !important;
      border-radius: 10px !important;
      box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05) !important;
      float: none !important;
   }

   .product-description-content h2 {
      font-size: 24px !important;
      margin-bottom: 1rem !important;
      text-align: center !important;
   }
}

@media (max-width: 767.98px) {

   .caracteristiques-content.points-forts-content,
   .points-forts-content,
   .product-caracteristiques-right-bg,
   .product-description-left,
   .product-description-right,
   .product-description-content {
      width: 100% !important;
      max-width: 100% !important;
      min-width: 0 !important;
      box-sizing: border-box !important;
      padding: 10px !important;
      overflow-x: visible !important;
      margin-left: 0 !important;
      margin-right: 0 !important;
   }
}

@media (max-width: 767.98px) {
   /* Le bouton de sous-menu doit être visible en mobile */

   /* Fermé par défaut (sans !important pour laisser .show agir) */
   .sub-menu,

   /* Ouvert quand Bootstrap ajoute .show */
   .sub-menu.show,

   /* Les liens principaux restent cliquables */
   .top-menu li a {
      pointer-events: auto;
   }

   .btnSubMenu {
      display: inline-block !important;
   }

   .collapse[id^="top_sub_menu_"] {
      display: none;
      visibility: hidden;
      opacity: 0;
   }

   .collapse[id^="top_sub_menu_"].show {
      display: block;
      visibility: visible;
      opacity: 1;
   }

   .product-detail-card {
       & .product-presentation {
           & .product-right-content {
               margin-left: 0;
               margin-top: 30px;
           }
       }
   }
}

@media (min-width: 768px) {

   .sub-menu,
   .btnSubMenu {
      display: block;
   }

   .collapse[id^="top_sub_menu_"] {
      display: block;
      visibility: visible;
      opacity: 1;
   }
}

.em3-social-links a {
   color: var(--color-secondary);
}

.bb-customer-payment-info {
   margin-top: 30px;
   padding: 20px;
   background: rgba(255, 255, 255, 0.95);
   border-radius: 15px;
   border: 1px solid #e0e0e0;
   box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
}

.bb-customer-row {
   display: flex;
   align-items: center;
   gap: 8px;
   margin-bottom: 20px;
   flex-wrap: wrap;
}

.bb-customer-icon {
   display: inline-flex;
   align-items: center;
   justify-content: center;
   width: 32px;
   height: 32px;
   background: rgba(45, 62, 175, 0.1);
   border-radius: 50%;
   flex-shrink: 0;
}

.bb-customer-label {
   font-weight: 600;
   color: var(--color-2);
   font-size: 14px;
}

.bb-customer-phone {
   font-weight: 500;
   color: var(--black);
   font-size: 14px;
}

.bb-customer-sep {
   color: var(--color-3);
   margin: 0 5px;
}

.bb-customer-mail a {
   color: var(--color-2);
   text-decoration: none;
   font-weight: 500;
   font-size: 14px;
}

.bb-customer-mail a:hover {
   text-decoration: underline;
}

.bb-payment-row {
   display: grid;
   grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
   gap: 15px;
   margin-bottom: 20px;
}

.bb-payment-method {
   display: flex;
   flex-direction: column;
   align-items: center;
   text-align: center;
   padding: 15px 10px;
   background: rgba(248, 249, 250, 0.8);
   border-radius: 10px;
   border: 1px solid #e9ecef;
   transition: all 0.3s ease;
}

.bb-payment-method:hover {
   background: rgba(45, 62, 175, 0.05);
   border-color: var(--color-2);
   transform: translateY(-2px);
}

.bb-payment-icon {
   display: inline-flex;
   align-items: center;
   justify-content: center;
   margin-bottom: 8px;
}

.bb-payment-label {
   font-size: 12px;
   font-weight: 500;
   color: var(--color-6);
   line-height: 1.2;
}

.bb-payment-logos {
   display: flex;
   align-items: center;
   justify-content: center;
   gap: 15px;
   flex-wrap: wrap;
}

.bb-payment-logos .bb-logo {
   height: 30px;
   width: auto;
   object-fit: contain;
   opacity: 0.8;
   transition: opacity 0.3s ease;
}

.bb-payment-logos .bb-logo:hover {
   opacity: 1;
}

@media (max-width: 767px) {
   .bb-customer-payment-info {
      margin-top: 20px;
      padding: 15px;
   }

   .bb-customer-row {
      flex-direction: column;
      align-items: flex-start;
      gap: 10px;
      margin-bottom: 15px;
   }

   .bb-customer-row>span {
      display: flex;
      align-items: center;
      gap: 8px;
   }

   .bb-payment-row {
      grid-template-columns: repeat(2, 1f);
      gap: 10px;
      margin-bottom: 15px;
   }

   .bb-payment-method {
      padding: 12px 8px;
   }

   .bb-payment-label {
      font-size: 11px;
   }

   .bb-payment-logos {
      gap: 10px;
   }

   .bb-payment-logos .bb-logo {
      height: 25px;
   }
}

@media (max-width: 480px) {
   .bb-payment-row {
      grid-template-columns: 1fr;
      gap: 8px;
   }

   .bb-payment-method {
      flex-direction: row;
      justify-content: flex-start;
      text-align: left;
      padding: 10px 15px;
   }

   .bb-payment-icon {
      margin-bottom: 0;
      margin-right: 10px;
   }
   .product-add-to-cart-form .product-add-to-cart .product-purchase-row{
      flex-flow: column;
      & > div{
         width: 100%;
         &  .input-group{
            width: calc(100% - 88px) !important;
         }
      }
   }
   
   .product-detail-card .product-presentation .product-right-content .product-references,
   .product-pricing .current-price{
      flex-flow: column;
   }

   .product-detail-card .product-presentation .product-images {
      grid-template-columns: repeat(3, 1fr);
   }
}

.product-card {
   transition: box-shadow 0.2s, transform 0.2s;
   background-color: #fff;
   position: relative;
   overflow: hidden;
   margin-bottom: 36px;
   padding: 0;
   display: flex;
   flex-direction: column;
}

.product-card:hover {
   box-shadow: 0 6px 20px rgba(0, 0, 0, 0.09);
   transform: translateY(-6px) scale(1.03);
   z-index: 2;
}

.product-card-inner {
   display: flex;
   flex-direction: column;
   height: 100%;
}

.product-card-image-zone {
   position: relative;
   padding: 18px 18px 0 18px;
   display: flex;
   flex-direction: column;
   align-items: center;
   justify-content: flex-start;
}

.product-card-image-link {
   display: block;
   width: 100%;
   max-width: 300px;
   min-height: 200px;
   margin: 0 auto;
   border-radius: 14px;
   overflow: hidden;
   background: #f8f8f8;
}

.product-card-image {
   width: 100%;
   display: block;
   transition: transform 0.2s;
   object-fit: cover;
}

.product-card:hover .product-card-image {
   transform: scale(1.04);
}

.product-card-flags {
   position: absolute;
   top: 18px;
   left: 18px;
   display: flex;
   gap: 7px;
   z-index: 2;
   flex-wrap: wrap;
}

.product-card-flag {
   background: var(--color-2, #2d3eaf);
   color: #fff;
   font-size: 0.9em;
   font-weight: 600;
   border-radius: 8px;
   padding: 3px 12px;
   box-shadow: 0 1px 6px rgba(0, 0, 0, 0.09);
   letter-spacing: 0.5px;
}

.product-card-flag.discount {
   background: var(--color-secondary, #f49a21);
}

.product-card-actions {
   display: none;
}

.product-card:hover .product-card-actions {
   display: none;
}

.product-card-actions .btn-action {
   background: var(--color-1, #2d3eaf);
   color: #fff;
   border-radius: 50%;
   width: 44px;
   height: 44px;
   display: flex;
   align-items: center;
   justify-content: center;
   box-shadow: 0 2px 10px rgba(0, 0, 0, 0.12);
   font-size: 1.4em;
   transition: background 0.2s, transform 0.2s;
   border: none;
   outline: none;
}

.product-card-actions .btn-action:hover {
   background: #222;
   color: #fff;
   transform: scale(1.1);
}

.product-card-content {
   padding: 18px 18px 22px 18px;
   display: flex;
   flex-direction: column;
   align-items: center;
   justify-content: flex-start;
   flex: 1;
}

.product-card-title {
   font-size: 1.15em;
   font-weight: 700;
   color: #222;
   margin: 0 0 8px 0;
   text-align: center;
   line-height: 1.3;
}

.product-card-title-link {
   color: #222;
   text-decoration: none;
   transition: color 0.2s;
}

.product-card-title-link:hover {
   color: var(--color-1, #2d3eaf);
}

.product-card-desc {
   font-size: 0.98em;
   color: #666;
   margin-bottom: 10px;
   text-align: center;
   min-height: 22px;
}

.product-card-price-zone {
   width: 100%;
   display: flex;
   justify-content: center;
   align-items: center;
   margin-top: 8px;
}

.product-card-price {
   font-size: 1.18em;
   font-weight: 700;
   color: var(--color-1, #2d3eaf);
   display: flex;
   align-items: center;
   gap: 8px;
}

.product-card-regular-price {
   color: #888;
   font-size: 0.98em;
   text-decoration: line-through;
   margin-right: 6px;
}

.product-card-current-price {
   color: var(--color-1, #2d3eaf);
   font-weight: 700;
   font-size: 1.18em;
}

.product-card-discount {
   background: var(--color-secondary, #f49a21);
   color: #fff;
   border-radius: 6px;
   padding: 2px 8px;
   font-size: 0.95em;
   margin-left: 6px;
   font-weight: 600;
}

@media (max-width: 767px) {
   .product-card {
      width: 90%;
      border-radius: 12px;
      box-shadow: 0 2px 16px rgba(0, 0, 0, 0.12);
      margin-bottom: 22px;
   }

   .product-card-inner {
      padding: 0;
   }

   .product-card-image-zone {
      padding: 12px 8px 0 8px;
   }

   .product-card-image-link {
      max-width: 100%;
      border-radius: 10px;
   }

   .product-card-image {
      border-radius: 10px;
   }

   .product-card-content {
      padding: 12px 8px 16px 8px;
   }
}

:root {
   --black: #000000;
   --white: #ffffff;
   --color-1: #102d40;
   /*--color-2: #2874E5;*/
   --color-2: #102d40;
   --color-3: #7c7c7c;
   --color-4: #707070;
   --color-5: #ff0000;
   --color-6: #383838;
   --color-secondary: #f49a20;
   --color-tertiary: #d5f515;
   --background-1: #f7f7f7;
   --border-color: #e7e7e7;
   --box-shadow: 0px 3px 6px #00000059;
}

body {
   font-size: 14px;
   line-height: 20px;
   font-family: "Montserrat", sans-serif;
   font-optical-sizing: auto;
   -webkit-text-size-adjust: 100%;
   text-size-adjust: 100%;
   -webkit-font-smoothing: antialiased;
   font-weight: 400;
   color: var(--black);
   background: var(--white);
}

.page-my-account #content .links a>span {
   -webkit-transition: all ease 0.3s;
   -moz-transition: all ease 0.3s;
   -ms-transition: all ease 0.3s;
   -o-transition: all ease 0.3s;
   transition: all ease 0.3s;
}

.btn:active {
   outline: none;
   box-shadow: none;
}

a {
   text-decoration: none !important;
   color: var(--color-2);
}

a:hover {
   color: var(--color-2);
}

.em3-header-link {
   text-decoration: none !important;
   display: flex;
   flex-flow: column;
   justify-content: center;
   align-items: center;
   gap: 4px;
   font-size: 14px;
   font-weight: 500;

   & .icon {
      width: 40px;
      height: 40px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      background: rgb(203, 170, 77);
      border-radius: 50%;
      font-size: 20px;
   }
}

/* Cart icon adjustments: ensure svg inherits theme blue and sizes correctly */
.em3-cart-link {
   & .icon .fa-svg.fa-cart {
      width: 20px;
      height: 20px;
      mask: url(../img/icon-cart.svg) center / contain no-repeat;
      -webkit-mask: url(../img/icon-cart.svg) center / contain no-repeat;
      background: var(--color-2);
   }

   & .em3-cart-text {
      font-size: 14px;
      font-weight: 500;
      color: var(--color-2);
   }
}

.em3-cart-link .em3-cart-img {
   width: 1.25em;
   height: 1.25em;
   display: inline-block;
   vertical-align: middle;
}

#header .header-nav {
   background: var(--color-1);
}

#header .header-nav .container>.row {
   display: flex;
   align-items: center;
}

ul.em2IconInfoNav {
   list-style: none;
   display: flex;
   margin: 0px;
   padding: 0px 10px;
   background: var(--color-2);
   width: 100%;
   flex-wrap: wrap;
   justify-content: space-between;
}

ul.em2IconInfoNav li {
   display: inline-flex;
   padding: 10px 0px;
   align-items: center;
   color: var(--white);
   font-weight: 700;
   font-size: 14px;
   line-height: 18px;
}

ul.em2IconInfoNav li a {
   color: var(--white);
   font-weight: 700;
   font-size: 14px;
   line-height: 18px;
}

ul.em2IconInfoNav li img {
   margin-right: 10px;
}

ul.em2IconInfoNav li a:hover {
   color: var(--color-1);
}

#header .header-top {
   padding: 0px 0px;
   position: relative;
}

a.logo {
   display: block;
}

#header .header-top.sticky {
   position: fixed;
   width: 100%;
   top: 0px;
   background: var(--white);
   box-shadow: var(--box-shadow);
   animation: menuSticky 0.6s;
}

#header .header-top.sticky a.logo {
   max-width: 92px;
}

#header .header-top>.container>.row {
   display: flex;
   align-items: flex-end;
}

.header-top-right .row {
   display: flex;
   flex-wrap: wrap;
   align-items: center;
}

.header-top-right .blockcart a {
   display: inline-block;
   font-size: 20px;
   color: var(--black);
}

.header-top-right .blockcart a:hover {
   color: var(--color-2);
}

.header-top-right .user-info a span {
   font-size: 14px;
}

.header-top-right .blockcart .header {
   position: relative;
}

.header-top-right .blockcart .header .cart-products-count {
   position: absolute;
   top: 0px;
   right: -50%;
   background: var(--color-5);
   color: var(--white);
   font-size: 10px;
   border-radius: 50px;
   min-width: 20px;
   padding: 2px 5px;
   text-align: center;
   line-height: 10px;
}

#header .header-nav .right-nav {
   display: flex;
   justify-content: space-between;
   align-items: center;
}

.em2NavInfo {
   color: var(--white);
   font-weight: 600;
   font-size: 12px;
   line-height: 16px;
   text-align: center;
}

.em2NavInfo span {
   display: block;
}

.footerBottom ul {
   margin: 0px;
   padding: 0px;
   display: flex;
   flex-wrap: wrap;
   align-items: center;
}

.footerBottom ul li {
   display: inline-flex;
   background: none;
   margin-left: 10px;
}

.footerBottom ul li::before {
   display: none;
}

.footerBottom ul li a {
   display: inline-block;
   background-color: var(--white);
   height: 21px;
}

footer#footer {
   background: var(--color-2);
   padding: 44px 0px 0px 0px;
   color: #fff;

   & .logo {
      background: #fff;
      padding: 10px 14px;
      border-radius: 10px;
      max-width: 280px;
      margin-bottom: 15px;
   }

   & .site-footer__title {
      font-weight: 700;
      font-size: 15px;
      color: rgb(255, 255, 255);
      margin-bottom: 14px;
   }

   & .site-footer__list,
   & .site-footer__contact {
      display: flex;
      flex-direction: column;
      gap: 8px;

      & a {
         font-size: 13px;
         color: rgb(198, 216, 238);

         &:hover {
            color: #fff;
         }
      }

      & span {
         display: inline-flex;
         align-items: center;
         gap: 10px;
         font-size: 13px;
      }
   }

   & .site-footer__copyright {
      margin: 32px auto 0px;
      padding: 16px 0px 24px;
      border-top: 1px solid rgba(255, 255, 255, 0.14);
      font-size: 12px;
      color: rgb(143, 167, 200);
   }
}

#header .header-nav .right-nav ul li a:hover {
   background-color: var(--color-2);
}

.footerBottom ul li.facebook a {
   width: 12px;
   -webkit-mask-image: url(../img/icon-facebook.svg);
   mask-image: url(../img/icon-facebook.svg);
}

.footerBottom ul li.twitter a {
   width: 21px;
   -webkit-mask-image: url(../img/icon-twiter.svg);
   mask-image: url(../img/icon-twiter.svg);
}

#header .header-top .menu>ul>li>a {
   font-size: 16px;
   color: var(--color-1);
   font-weight: 700;
   padding: 10px;
   text-transform: uppercase;
   /* Ajouté */
}

#header .header-top .menu>ul>li:hover>a {
   color: var(--white);
   background: var(--color-1);
}

.top-menu .sub-menu ul {
   margin: 0px;
   padding: 0px;
   display: flex;
   flex-wrap: wrap;
   margin: 0 -15px;
}

.top-menu .sub-menu ul li {
   width: 25%;
   padding: 5px 15px;
}

.top-menu .sub-menu ul li a {
   color: var(--white);
   text-transform: uppercase;
   font-size: 16px;
   font-weight: 600;
   display: flex;
   align-items: center;
   padding: 0px;
   box-sizing: border-box;
   flex-wrap: wrap;
   line-height: 16px;
   margin-bottom: 5px;
   min-height: 100px;
   padding: 15px;
}

.top-menu .sub-menu ul li a:hover {
   color: var(--white);
   transform: scale(1.1);
   background: var(--color-2);
}

.top-menu .sub-menu ul li a span:not(.menuThumb) {
   width: calc(100% - 70px);
   overflow: hidden;
   text-overflow: ellipsis;
   white-space: normal;
   align-items: center;
   padding-left: 5px;
}

.top-menu .sub-menu ul li a .menuThumb {
   width: 70px;
   min-height: 50px;
   background-repeat: no-repeat;
   background-size: cover;
   box-sizing: border-box;
}

#header .header-top .menu ul .sub-menu ul li ul {
   display: none;
   margin: 0px;
}

#header .header-top .menu ul #category-37 .sub-menu ul li ul {
   display: flex;
}

#header .header-top .menu #category-37 ul {
   display: block;
}

.top-menu #category-37 .sub-menu>ul>li a:hover {
   transform: scale(1.02);
}

#header .header-top .menu ul .sub-menu ul li ul li a {
   min-height: auto;
   display: inline-block;
   padding-left: 15px;
   margin-bottom: 5px;
}

#header .header-top .menu ul .sub-menu ul li ul li a:hover {
   background: none;
   color: var(--color-2);
   transform: none;
}

.footerTop {
   background: var(--color-2);
   padding: 15px 0px;
   color: var(--white);
}

.footerTop .container .row {
   display: flex;
   align-items: center;
   flex-wrap: wrap;
}

.footerTop .title {
   font-size: 30px;
   font-weight: 700;
   text-transform: uppercase;
   line-height: normal;
   color: var(--white);
}

.footerTop form .form-group {
   display: flex;
   align-items: center;
   flex-wrap: wrap;
   justify-content: space-between;
   margin-bottom: 0px;
}

.footerTop form .form-group input {
   width: 70%;
}

.footerTop form .form-group .btn {
   background: var(--white);
   color: var(--color-1);
}

.footerTop form .form-group .btn:hover {
   color: var(--white);
}

.footer-container .h4 {
   font-size: 18px;
   font-weight: 700;
   line-height: 22px;
   margin-bottom: 15px;
}

.footer-container li {
   overflow: hidden;
}

.footer-container li a {
   color: var(--black);
   display: inline-flex;
   align-items: center;
   transform: translateX(-20px);
}

.footer-container li a::before {
   font-family: "Font Awesome 5 Light";
   font-weight: 300;
   content: "\f178";
   margin-right: 5px;
   color: var(--color-1);
   width: 15px;
}

.footer-container li a:hover {
   transform: translateX(0);
   color: var(--color-1);
}

.footerBottom {
   border-top: 1px solid var(--border-colo);
   padding-top: 15px;
   margin-top: 15px;
   padding-bottom: 15px;
}

.footerBottom .copyright {
   font-size: 12px;
}

.footerBottom .row {
   display: flex;
   flex-wrap: wrap;
   align-items: center;
}

.footerBottom ul {
   justify-content: flex-end;
}

.footerBottom ul li a::before {
   display: none;
}

.footerBottom ul li a {
   background-color: var(--black);
   transform: none;
}

.footerBottom ul li a:hover {
   background-color: var(--color-2);
}

#contact-infos ul li {
   padding-left: 25px;
   position: relative;
   color: var(--black);
   margin-bottom: 15px;
   font-size: 14px;
}

#contact-infos ul li.address {
   text-transform: uppercase;
}

#contact-infos ul li a {
   transform: none;
   font-size: 14px;
}

#contact-infos ul li a::before {
   display: none;
}

#contact-infos ul li::before {
   position: absolute;
   top: 0px;
   left: 0px;
   font-size: 17px;
   font-family: "Font Awesome 5 Regular";
   font-weight: 400;
}

#contact-infos ul li.address::before {
   content: "\f015";
}

#contact-infos ul li.telephone::before {
   content: "\f879";
   top: calc(50% - 10px);
}

#contact-infos ul li.telephone a {
   display: block;
   font-weight: 700;
}

#contact-infos ul li.email::before {
   content: "\f0e0";
}

#wrapper {
   max-width: 100%;
   overflow: hidden;
   margin-top: 30px;
}

body#index #wrapper {
   padding-top: 0px;
}

.page-content.page-cms ul {
   font-size: 14px;
   color: var(--color-4);
}

.products-sort-order .select-title {
   border-color: var(--border-colo);
   border-radius: 4px;
}

.suppliers-sort .dropdown-menu {
   width: calc(100% - 30px);
   padding: 0px;
   overflow: hidden;
   border-radius: 0px;
}

.suppliers-sort .select-list {
   padding: 5px 15px;
   font-size: 14px;
   line-height: 18px;
}

.suppliers-sort .select-list:hover {
   background: var(--color-1);
}

.em2Title {
   font-size: 22px;
   line-height: 26px;
   color: var(--color-1);
   text-transform: uppercase;
   margin-bottom: 15px;
   font-weight: 700;
}

.em2Tabs {
   background: transparent;
   padding: 0px;
}

.em2Tabs ul.nav-tabs {
   margin-top: 32px;
   background: rgb(255, 255, 255);
   border: 1px solid rgb(225, 233, 242);
   border-radius: 10px;
   padding: 6px;
   display: flex;
   gap: 4px;
   margin-bottom: 24px;
}

.em2Tabs ul.nav-tabs li a {
   font-size: 13px;
   font-weight: 700;
   display: inline-flex;
   height: auto;
   align-items: center;
   line-height: 20px;
   border: none;
   padding: 12px 22px;
   border-radius: 7px;
   overflow: hidden;
   position: relative;
}

.em2Tabs ul.nav-tabs li a span {
   position: relative;
   z-index: 1;
}

.em2Tabs ul.nav-tabs li a::before {
   content: "";
   position: absolute;
   top: 0px;
   width: 0px;
   height: 100%;
   left: 0;
   background: var(--color-2);
   opacity: 0;
}

.em2Tabs ul.nav-tabs li a::after {
   left: auto;
   right: 50%;
}

.em2Tabs ul.nav-tabs li a.active::before {
   width: 100%;
   opacity: 1;
}

.em2Tabs ul.nav-tabs li a.active span {
   color: var(--white);
}

.em2Tabs .tab-pane {
   padding: 0px;
   display: block;
   opacity: 1;
   margin-top: 24px;
}

.product-cover {
   border: 1px solid var(--border-colo);
   background: var(--white);
   border-radius: 20px;
   overflow: hidden;
   margin-bottom: 0px;
   height: 580px;
   display: flex;
   flex-wrap: wrap;
   align-items: center;
   justify-content: center;
}

#main .images-container .js-qv-mask.scroll {
   width: calc(100% - 160px);
}

#main .images-container .js-qv-mask ul {
   margin-bottom: 0px;
}

#main .images-container .js-qv-mask ul li {
   margin-right: 10px;
   display: inline-block;
}

#main .images-container .js-qv-mask ul li:last-child {
   margin-right: 0px;
}

.imageContainerLeft .product-images>li.thumb-container>.thumb {
   margin: 0px;
   padding: 0px;
   width: 86px;
   height: 80px;
   border: 1px solid var(--border-colo);
   display: inline-block;
   border-radius: 4px;
}

.imageContainerLeft .product-images>li.thumb-container>.thumb:hover {
   border-color: var(--color-1);
}

.em2ProductTitle {
   font-size: 24px;
   font-weight: 700;
   line-height: 28px;
}

.product-description p {
   color: var(--black);
}

section.productRight .product-prices {
   display: flex;
   align-items: center;
}

section.productRight .product-prices.has-discount-block {
   flex-wrap: wrap;
   justify-content: space-between;
}

section.productRight .product-prices.has-discount-block .product-discount {
   width: 50%;
   flex: 0 0 auto;
}

section.productRight .product-prices .product-discount {
   margin: 0px;
}

section.productRight .product-prices .product-price .current-price {
   font-weight: 700;
   color: var(--color-1);
   font-size: 24px;
   margin-right: 20px;
}

section.productRight .product-prices .product-discount {
   font-size: 17px;
   color: var(--color-1);
   font-weight: 500;
}

section.productRight .product-prices span.discount {
   background: var(--color-1);
   color: var(--white);
   border-radius: 4px;
   display: inline-flex;
   height: 25px;
   align-items: center;
   font-weight: 500;
   padding: 0 10px;
}

.product-actions .control-label {
   text-transform: uppercase;
   font-weight: 700;
   color: var(--black);
}

section.productRight .product-actions .form-control {
   width: 100%;
   border-radius: 4px;
   font-size: 14px;
}

section.productRight .product-add-to-cart {
   display: flex;
   align-items: center;
   gap: 20px;
}

section.productRight .product-add-to-cart button.add-to-cart {
   margin: 0;
   height: 60px;
}

.product-quantity {
   display: flex;
   align-items: center;
   gap: 20px;
}

.product-quantity .control-label {
   margin: 0;
   padding: 0;
   font-weight: 500;
   color: var(--black);
}

.product-quantity .qty {
   display: flex;
   align-items: center;
   gap: 10px;
}

.product-quantity .input-group-addon.bootstrap-touchspin-postfix {
   display: none !important;
   /* Cacher à nouveau les éléments inutiles */
}

.product-quantity .bootstrap-touchspin {
   display: flex;
   align-items: center;
   border: 1px solid var(--border-colo);
   /* Utiliser la variable du thème */
   border-radius: 4px;
   overflow: hidden;
   background: var(--white);
   /* Utiliser la variable du thème */
}

.product-quantity .input-group-btn-vertical {
   height: 100%;
   z-index: 1000;
}

.product-quantity .btn-touchspin {
   width: 40px;
   height: 50%;
   padding: 0;
   display: flex;
   /* Assurer le flex pour centrer */
   align-items: center;
   justify-content: center;
   background: var(--background-1);
   /* Couleur de fond légère du thème */
   border: none;
   border-left: 1px solid var(--border-colo);
   /* Bordure du thème */
   cursor: pointer;
   transition: background-color 0.2s ease;
}

.product-quantity .btn-touchspin:hover {
   background: #e0e0e0;
   /* Nuance de gris au survol */
}

.product-quantity .btn-touchspin i {
   font-size: 18px;
   color: var(--color-3);
   /* Couleur neutre du thème */
   display: block;
   /* Assurer l'affichage de l'icône */
   /* Supprimer les styles de positionnement absolu précédents */
   position: static;
   transform: none;
}

.product-quantity input[type="number"]::-webkit-outer-spin-button {
   -webkit-appearance: none;
   margin: 0;
}

.product-quantity input[type="number"] {
   -moz-appearance: textfield;
   appearance: textfield;
}

.imageContainerLeft {
   position: relative;
}

.imageContainerRight>a.btnCustom {
   color: var(--white) !important;
   position: absolute;
   right: 15px;
   top: 15px;
   z-index: 99;
}

.imageContainerRight>a.btnCustom .fa {
   margin-right: 10px;
}

.js-qv-mask-left {
   max-height: 440px;
   overflow: hidden;
   width: 86px;
   margin: 70px auto;
}

.js-qv-mask-left .product-images li {
   margin-bottom: 10px;
   display: block;
}

.imageContainerLeft .em2Arrow.scroll-box-arrows i {
   left: calc(50% - 20px);
   transform: rotate(90deg);
   width: 40px;
   height: 40px;
   display: flex;
   align-items: center;
   justify-content: center;
}

.imageContainerLeft .em2Arrow.scroll-box-arrows .left {
   top: 0px;
   bottom: auto;
}

.imageContainerLeft .em2Arrow.scroll-box-arrows .right {
   right: auto;
   bottom: 0px;
   left: calc(50% - 20px);
}

.imageContainerRight {
   position: relative;
   overflow: hidden;
}

.imageContainerRight .product-cover img {
   object-fit: contain;
}

#product-modal-custom .modal-dialog {
   max-width: 800px;
   overflow: hidden;
}

#product-modal-custom .modal-dialog .modal-header {
   position: fixed;
   width: 100%;
   z-index: 9;
   background: var(--white);
   top: 0px;
}

#product-modal-custom .modal-dialog .modal-body {
   padding-top: 60px;
   overflow: auto;
   max-height: 600px;
}

#product-modal-custom .modal-dialog .row {
   display: flex;
   flex-wrap: wrap;
}

#product-modal-custom .modal-dialog .row [class*="col-"] {
   padding-top: 15px;
   padding-bottom: 15px;
}

#product-modal-custom .modal-dialog .row [class*="col-"] img {
   object-fit: cover;
   width: 100%;
   height: 100%;
   border: 1px solid var(--border-colo);
   border-radius: 20px;
}

#product #content {
   max-width: 100%;
   position: sticky;
   top: 0;
}

.cart-container .bootstrap-touchspin .js-cart-line-product-quantity {
   height: 60px;
   text-align: center;
   padding: 0px;
   border-color: var(--border-colo);
   font-weight: 500;
   color: var(--black);
   width: 60px;
   border-radius: 0px;
}

.cart-container .bootstrap-touchspin {
   position: relative;
   display: flex;
   align-items: center;
   gap: 10px;
}

.cart-container .bootstrap-touchspin .input-group-btn-vertical {
   position: static;
   display: flex;
   flex-direction: column;
   gap: 5px;
}

.cart-container .bootstrap-touchspin .btn {
   position: absolute;
   top: 0px;
   height: 100%;
   width: 45px;
   padding: 0px;
   display: inline-flex;
   border-color: var(--border-colo);
   left: 0px;
   border-right: 0px;
   box-sizing: border-box;
   justify-content: center;
   align-items: center;
   color: var(--color-3);
   flex-wrap: wrap;
   margin-top: 0px;
}

.cart-container .bootstrap-touchspin .btn.bootstrap-touchspin-up {
   left: auto;
   right: 0px;
   border-left: 0px;
   border-right: 1px solid var(--border-colo);
}

section.productRight .product-quantity .btn.bootstrap-touchspin-down {
   left: 1px;
}

.cart-container .bootstrap-touchspin .input-group-btn-vertical .btn i {
   display: none;
}

.cart-container .bootstrap-touchspin .input-group-btn-vertical .btn::before {
   font-family: "Font Awesome 5 Light";
   font-weight: 300;
   font-size: 20px;
   position: static;
   width: 100%;
   background: none;
   height: auto;
}

.cart-container .bootstrap-touchspin .input-group-btn-vertical .btn::after {
   display: none;
}

.cart-container .bootstrap-touchspin .input-group-btn-vertical .btn.bootstrap-touchspin-up::before {
   content: "\f067";
}

.cart-container .bootstrap-touchspin .input-group-btn-vertical .btn.bootstrap-touchspin-down::before {
   content: "\f068";
}

.cart-container .bootstrap-touchspin .input-group-btn-vertical .btn:hover {
   background: transparent;
}

.cart-container .bootstrap-touchspin .input-group-btn-vertical .btn:hover::before {
   color: var(--color-1);
   background: none;
   width: 100%;
}

.em2Arrow.scroll-box-arrows i {
   font-size: 30px;
   bottom: 25px;
   height: auto;
   line-height: normal;
   left: 30px;
   color: var(--color-4);
}

.em2Arrow.scroll-box-arrows i.fa-chevron-right {
   left: auto;
   right: 30px;
}

.em2Arrow.scroll-box-arrows i:hover {
   color: var(--color-1);
}

#product-modal .modal-content .modal-body .product-images img.selected {
   border: 1px solid var(--color-1);
}

.page-addresses .address {
   border: 1px solid var(--border-colo);
   border-radius: 10px;
}

.page-addresses .address .address-footer {
   border-top: 1px solid var(--border-colo);
   padding: 10px;
   display: flex;
   justify-content: space-between;
}

.page-my-account #content .links a>span {
   border: 1px solid var(--border-colo);
   border-radius: 10px;
}

.page-my-account #content .links a:hover>span {
   background-color: var(--color-1);
   color: var(--white);
}

.page-my-account #content .links a:hover>span i {
   color: var(--white);
}

.product-condition .label {
   font-size: 14px;
   color: var(--black);
   font-weight: 500;
}

.product-condition .label::after {
   content: ":";
   display: inline-block;
   margin-right: 5px;
}

#product-modal .modal-content .modal-body .product-images img {
   border: 1px solid var(--border-colo);
   border-radius: 4px;
}

.page-content .contact-form {
   padding: 0px;
}

.em2IconInfoHome {
   background: var(--color-2);
   padding: 20px 0px;
}

.em2IconInfoHome .row {
   display: flex;
   flex-wrap: wrap;
}

.em2IconInfoHomeItem {
   background: var(--white);
   border-radius: 10px;
   -moz-border-radius: 10px;
   -webkit-border-radius: 10px;
   display: flex;
   align-items: center;
   justify-content: center;
   height: 100%;
}

.em2IconInfoHomeItem:hover {
   transform: translateY(-10px);
}

.em2IconInfoHomeItem p {
   font-size: 13px;
   line-height: 17px;
   color: var(--black);
   font-weight: 500;
   margin: 0px;
}

.em2IconInfoHomeItem img {
   margin-right: 10px;
}

.em2Banner .em2Banneritem {
   height: 685px;
   display: flex;
   align-items: center;
   justify-content: center;
   position: relative;
   background-repeat: no-repeat;
   background-position: center;
   background-size: cover;
   color: var(--white);
}

.em2Banner .em2Banneritem>.container {
   position: relative;
}

.em2Banner h1 {
   font-size: 30px;
   font-weight: 700;
   text-shadow: 0px 4px rgba(0, 0, 0, 0.4);
}

.em2Banner .description {
   font-size: 24px;
   font-weight: 700;
}

.em2Banner .owl-carousel .owl-nav button.owl-prev {
   position: absolute;
   width: 50px;
   height: 50px;
   display: flex;
   align-items: center;
   justify-content: center;
   border: 1px solid var(--white);
   top: calc(50% - 25px);
   left: 15px;
   color: var(--white);
   font-size: 20px;
}

.em2Banner .owl-carousel .owl-nav button.owl-next {
   left: auto;
   right: 15px;
}

.em2Banner .owl-carousel .owl-nav button:hover {
   color: var(--color-3);
   border-color: var(--color-3);
}

.em2Banner .owl-carousel .owl-nav button.disabled {
   visibility: hidden;
}

.em2CategoryItem {
   padding-bottom: 30px;
}

.em2CategoryItem:hover {
   transform: translateY(-10px);
}

.em2CategoryItem {
   padding-bottom: 30px;
}

.em2CategoryItem:hover {
   transform: translateY(-10px);
}

.em2CategoryItem a.thumb {
   display: block;
   border-radius: 12px;
   overflow: hidden;
   border: 1px solid var(--border-colo);
   position: relative;
}

.em2CategoryItem a.thumb::after {
   content: "";
   height: 100%;
   top: 0px;
   background: rgba(0, 0, 0, 0.5);
   width: 0px;
   left: 50%;
   position: absolute;
}

.em2CategoryItem a.thumb::after {
   left: auto;
   right: 50%;
}

.em2CategoryItem h3 {
   margin-top: 15px;
}

.em2CategoryItem h3 a {
   font-size: 18px;
   font-weight: 700;
   text-transform: uppercase;
   color: var(--color-1);
}

.em2CategoryItem h3 a:hover {
   color: var(--color-2);
}

.em2CategoryItem a.thumb:hover::after {
   width: 50%;
}

.em2ProductSpecial {
   margin-top: 40px;
   background: transparent;
}

ul.category-top-menu {
   border: 1px solid var(--border-colo);
   border-radius: 5px;
   padding: 0px;
   margin: 0px;
}

ul.category-top-menu ul {
   border: none;
   border-radius: 0;
}

ul.category-top-menu li {
   position: relative;
   width: 100%;
}

ul.category-top-menu a {
   color: var(--color-1);
   display: block;
   padding: 5px 15px;
}

ul.category-top-menu li ul a {
   padding-left: 25px;
}

ul.category-top-menu li ul li ul a {
   padding-left: 35px;
}

ul.category-top-menu li ul li ul li ul a {
   padding-left: 45px;
}

ul.category-top-menu li:hover>a {
   background: var(--color-1);
}

ul.category-top-menu li:hover>a+.arrows {
   color: var(--white);
}

ul.category-top-menu li .arrows {
   right: 5px;
   display: inline-block;
   width: auto;
   height: auto;
   top: 7px;
   font-size: 14px;
   position: absolute;
}

ul.category-top-menu li .arrows {
   top: 5px;
   right: 3px;
}

ul.category-top-menu li .arrows .arrow-down {
   font-size: 18px;
}

.block-categories .collapse-icons::before {
   font-family: "Font Awesome 5 Regular";
   font-weight: 400;
   content: "\f068";
   color: var(--color-4);
}

.block-categories .collapse-icons.collapsed::before {
   content: "\f067";
}

#blockcart-wrapper {
   display: inline-block;
}

@media (min-width: 992px) {
   #blockcart-wrapper:hover .body {
      filter: alpha(opacity=100);
      -webkit-transform: rotateX(0deg);
      -ms-transform: rotateX(0deg);
      -o-transform: rotateX(0deg);
      transform: rotateX(0deg);
   }
}

#blockcart-wrapper .body {
   position: absolute;
   border: 1px solid var(--border-colo);
   padding: 10px;
   width: 365px;
   right: 0px;
   border-radius: 2px;
   background: var(--white);
   -webkit-transform-origin: 0 0;
   -moz-transform-origin: 0 0;
   -ms-transform-origin: 0 0;
   transform-origin: 0 0;
   -webkit-transition: all 0.2s ease-in-out 0s;
   -o-transition: all 0.2s ease-in-out 0s;
   transition: all 0.2s ease-in-out 0s;
   -webkit-transform: rotateX(-90deg);
   -ms-transform: rotateX(-90deg);
   -o-transform: rotateX(-90deg);
   transform: rotateX(-90deg);
   top: calc(100% + 10px);
   z-index: 500;
}

/*
#blockcart-wrapper .body::before {
content: '';
border-bottom: 12px solid var(--border-colo);
border-left: 6px solid transparent;
border-right: 6px solid transparent;
position: absolute;
top: -12px;
right: 16px;
}

#blockcart-wrapper .body::after {
content: '';
border-bottom: 11px solid var(--white);
border-left: 5px solid transparent;
border-right: 5px solid transparent;
position: absolute;
top: -11px;
right: 17px;
}*/

#blockcart-wrapper .body ul {
   max-height: 300px;
   overflow: auto;
   border-bottom: 1px solid var(--border-color);
}

#blockcart-wrapper .body li {
   font-size: 12px;
   color: var(--black);
   font-weight: 500;
   position: relative;
   border-bottom: 1px solid var(--border-colo);
   padding-bottom: 5px;
   margin-bottom: 5px;
   overflow: hidden;
}

#blockcart-wrapper .body .cart-total {
   display: flex;
   align-items: center;
   justify-content: space-between;
}

#blockcart-wrapper .body .cart-total {
   border-bottom: 1px solid var(--border-colo);
   padding-bottom: 5px;
   margin-bottom: 5px;
}

#blockcart-wrapper .body .product-price {
   color: var(--color-1);
   font-weight: 700;
   display: block;
   text-align: left;
}

#blockcart-wrapper .blockcart-product-line {
   display: flex;
   justify-content: space-between;
   align-items: flex-start;
   gap: 1rem;
}

#blockcart-wrapper .blockcart-actions-btn {
   display: flex;
   gap: 1rem;
   justify-content: space-between;
   align-items: flex-start;
}

#blockcart-wrapper .body a.btn-secondary {
   background: var(--color-secondary);
}

#blockcart-wrapper .body a.btn-secondary:hover {
   background: #c17105;
}

#blockcart-wrapper .body a.btn-primary:hover {
   background: var(--color-1);
}

#blockcart-wrapper .body .cart-subtotals>div {
   display: flex;
   gap: 1rem;
   justify-content: space-between;
}

#blockcart-wrapper .body .product-name {
   flex: 1;
}

#blockcart-wrapper .body .product-quantity {
   gap: 0.5rem;
   font-weight: 800;
   margin: 0;
}

#blockcart-wrapper .body .product-quantity::after {
   content: "x";
}

#blockcart-wrapper .body .remove-from-cart {
   display: block;
   text-align: right;
}

/*
#blockcart-wrapper .body .remove-from-cart {
position: absolute;
right: 20px;
bottom: 0px;
}
*/
#blockcart-wrapper .body span.value {
   color: var(--color-1);
   font-size: 14px;
   font-weight: 700;
}

#blockcart-wrapper .body a.btn {
   font-size: 16px;
   display: inline-flex;
   color: var(--white);
   font-weight: 500;
   height: 35px;
   border-radius: 8px;
}

.cart-container .blockreassurance_product {
   display: flex;
   align-items: center;
   margin: 0px;
   justify-content: flex-end;
   flex-wrap: wrap;
   width: 100%;
}

.cart-container .blockreassurance_product>div {
   display: flex;
   align-items: center;
   flex-wrap: wrap;
   margin-left: 15px;
}

.blockreassurance_product svg path {
   fill: var(--color-1);
}

.cart-container .blockreassurance_product p {
   display: none;
}

.cart-container .blockreassurance_product .item-product {
   float: none;
   height: auto;
   width: auto;
   margin: 0px;
   padding: 0px;
}

#js-product-list-header .em2Banner {
   height: 485px;
   background-position: center;
}

#js-product-list-header .em2Banner h1 {
   font-size: 40px;
   text-transform: uppercase;
}

.product-miniature .product-description {
   padding: 15px 15px 18px 15px;
   text-align: left;
   border-top: none;
   margin-top: 0;
}

.product-miniature .product-title {
   margin: 0 0 0.3em 0;
   padding: 0;
   font-size: 1.1em;
   font-weight: 600;
   line-height: 1.2;
   color: var(--black);
   height: auto;
   overflow: visible;
}

.product-miniature .product-title a {
   color: var(--black);
   text-decoration: none;
   font-weight: 600;
   font-size: 0.9em;
   display: inline;
   white-space: normal;
   text-overflow: unset;
}

.product-miniature .product-title a:hover {
   color: var(--color-2);
}

.product-miniature .product-price-and-shipping {
   display: flex;
   flex-wrap: wrap;
   font-size: 1.25em;
   color: var(--color-1);
   font-weight: 700;
   align-items: center;
   justify-content: center;
   margin: 0.2em 0 0 0;
   padding: 0;
   min-height: unset;
   border: none;
   background: none;
   box-shadow: none;
}

.product-miniature .thumbnail-container .product-thumbnail {
   position: relative;
   border: 1px solid var(--border-colo);
   border-radius: 20px;
   -moz-border-radius: 20px;
   -webkit-border-radius: 20px;
   overflow: hidden;
   background: var(--white);
   transition: all 0.3s ease;
   /* Ajout d'une transition */
}

.product-miniature .thumbnail-container:hover .product-thumbnail {
   box-shadow: 0 4px 25px rgba(0, 0, 0, 0.1);
   transform: none;
   /* On supprime l'effet de soulèvement */
}

.product-miniature .thumbnail-container .product-thumbnail>img {
   /* opacity: 0; Commenté pour s'assurer que l'image est visible */
   min-height: auto;
   /* On retire la hauteur minimale pour un layout plus flexible */
   aspect-ratio: 1 / 1;
   /* Assure un ratio carré pour toutes les images */
   object-fit: cover;
   /* Assure que l'image couvre bien le conteneur */
   width: 100%;
   height: auto;
   transition: transform 0.4s ease-in-out;
   /* Animation de zoom */
}

.product-miniature:hover .thumbnail-container .product-thumbnail>img {
   transform: scale(1.05);
   /* Effet de zoom au survol */
}

.product-miniature .thumbnail-container .product-thumbnail span {
   display: none;
   /* On cache complètement les spans pour l'effet de flip */
}

.product-miniature .product-price-and-shipping {
   margin-top: 0.5rem;
   margin-bottom: 0.5rem;
   padding: 0;
   min-height: unset;
   display: flex;
   flex-wrap: wrap;
   font-size: 22px;
   /* Price is more prominent */
   color: var(--color-1);
   font-weight: 700;
   align-items: center;
   justify-content: center;
}

.product-miniature .regular-price {
   font-size: 16px;
   /* Smaller for comparison */
   font-weight: 400;
   text-decoration: line-through;
   margin-left: 10px;
   color: #999;
}

.product-flags {
   position: absolute;
   top: 10px;
   left: 10px;
   z-index: 2;
   pointer-events: none;
   display: flex;
   flex-direction: column;
   gap: 6px;
   align-items: flex-start;
}

.product-flag {
   position: static !important;
   margin: 0;
   padding: 4px 10px;
   background: var(--color-1);
   color: white;
   font-size: 12px;
   font-weight: 600;
   border-radius: 4px;
   text-transform: uppercase;
   box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.08);
}

.product-flag.discount {
   background: var(--color-5);
}

.product-flag.discount {
   background: var(--color-5);
   color: white;
   font-weight: bold;
   border-radius: 4px;
   box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.15);
   position: static !important;
   padding: 4px 10px;
}

.product-flag.discount::after {
   display: none;
}

.product-miniature .thumbnail-container {
   overflow: hidden;
   margin-bottom: 30px;
   position: relative;
}

.product-miniature .thumbnail-container .add-to-cart-btn {
   position: absolute;
   bottom: -50px;
   /* Caché par défaut */
   left: 50%;
   transform: translateX(-50%);
   transition: all 0.3s ease;
   z-index: 5;
   opacity: 0;
   white-space: nowrap;
}

.product-miniature .thumbnail-container:hover .add-to-cart-btn {
   bottom: 20px;
   /* Apparaît au survol */
   opacity: 1;
}

.em2Clients .section-title {
   font-size: 40px;
   font-weight: 700;
   margin: 0px 0px 30px 0px;
   color: var(--color-1);
}

.em2ProductSpecial .featured-products .products-section-title {
   color: var(--white);
}

.em2ProductSlider .product-miniature .thumbnail-container {
   margin-bottom: 0px;
}

.em2Clients .section-title {
   text-align: center;
   margin-top: 45px;
}

.em2Clients p {
   font-size: 15px;
   color: var(--black);
   display: flex;
   align-items: center;
   margin-bottom: 10px;
}

.cart-container {
   border: 1px solid var(--border-colo);
   border-radius: 10px;
   padding: 15px 30px;
   font-weight: 500;
}

.cart-detailed-actions {
   border-bottom: 1px solid var(--border-colo);
   padding: 10px 0px;
}

.cart-container .block-promo a:hover {
   color: var(--color-1);
}

.cart-detailed-actions {
   margin-bottom: 10px;
}

.cart-container .cart-summary-line {
   font-size: 16px;
   font-weight: 600;
}

.cart-container .product-price {
   font-size: 16px;
}

.cart-container .cart-summary-line .value {
   color: var(--color-1);
   font-weight: 600;
}

.cart-container .product-discount {
   display: flex;
   flex-wrap: wrap;
   align-items: center;
   justify-content: space-between;
   margin-bottom: 10px;
   color: var(--color-4);
   font-size: 14px;
   font-weight: 400;
}

.cart-container .product-discount .discount {
   color: var(--white);
   background: var(--color-1);
   border-radius: 4px;
   padding: 5px;
}

.cart-container .block-promo {
   margin-bottom: 0px;
}

.cart-container .block-promo .cart-voucher {
   padding: 10px 0px;
}

.cart-container .block-promo .promo-code-button {
   padding: 0px;
}

.cart-container .block-promo .promo-code-button.cancel-promo {
   margin: 0px;
   color: var(--color-1);
}

.cart-container .block-promo .promo-code .form-control {
   max-width: 300px;
   display: inline-block;
}

.cart-container .block-promo .promo-code .promoAction {
   display: flex;
   align-items: center;
   justify-content: space-between;
}

section.checkout-step {
   border: 1px solid var(--border-colo);
   border-radius: 10px;
   padding: 15px;
   margin-bottom: 25px;
}

section.checkout-step .step-title {
   text-transform: uppercase;
   font-size: 16px;
   font-weight: 700;
   padding: 0px;
   margin: 0px;
   display: inline-flex;
   align-items: center;
   width: 100%;
   position: relative;
}

section.checkout-step .step-title .step-number {
   margin-right: 5px;
}

section.checkout-step .step-title .step-number::after {
   content: ".";
}

section.checkout-step .content ul.my-2 {
   margin: 10px 10px 10px 15px !important;
   padding: 0px;
}

section.checkout-step .content a {
   color: var(--black);
}

section.checkout-step .content a:hover {
   color: var(--color-1);
}

section.checkout-step.-reachable.-complete h1 .step-edit {
   position: absolute;
   right: 0px;
   top: calc(50% - 8px);
   display: block !important;
}

section.checkout-step .delivery-options .delivery-option {
   padding: 10px 0px;
   border-bottom: 1px solid var(--border-colo);
   margin-bottom: 10px;
}

section.checkout-step .delivery-options {
   padding: 15px;
}

section.checkout-step .delivery-options .delivery-option {
   padding: 10px 0px;
   border-bottom: 1px solid var(--border-colo);
   margin-bottom: 10px;
}

section.checkout-step .payment-options {
   padding-top: 15px;
}

#checkout .js-cart {
   background: var(--background-1);
   border-radius: 10px;
   padding: 15px;
}

#checkout .js-cart a:hover {
   color: var(--color-2);
}

.js-cart .cart-summary-line .value {
   font-weight: 500;
}

.js-cart .cart-summary-line .text-md-right {
   text-align: left !important;
}

#checkout .js-cart ul {
   list-style: none;
   margin: 0px;
   padding: 0px;
}

#checkout .js-cart ul li {
   border-bottom: 1px solid var(--border-colo);
   padding-bottom: 10px;
   margin-bottom: 10px;
}

#checkout .js-cart ul li .media-body {
   font-size: 12px;
}

#checkout .js-cart ul li .product-price {
   color: var(--color-1);
}

.js-cart .promoAction {
   margin-top: 10px;
   display: flex;
   align-items: center;
   justify-content: space-between;
}

.js-cart .promoAction .promo-code-button.cancel-promo {
   margin: 0px;
   color: var(--color-1);
}

body#checkout section.checkout-step .address-item {
   background: transparent;
   border-color: var(--border-colo);
}

body#checkout section.checkout-step .address-item.selected {
   border-color: var(--color-1);
}

#subcategories ul li:hover .subcategory-image a {
   padding: 9px !important;
   border: 1px solid var(--color-1) !important;
}

#subcategories ul li .subcategory-image a img {
   object-fit: cover;
   height: 125px;
}

#subcategories ul li .subcategory-name {
   font-size: 12px;
}

.btn {
   height: 45px;
   border-radius: 10px;
   background: var(--color-2);
   color: var(--white);
   display: inline-flex;
   font-size: 16px;
   align-items: center;
   position: relative;
   overflow: hidden;
   border: none;
   font-weight: 500;
   padding: 0 20px;
   transition: background-color 0.3s ease, color 0.3s ease, box-shadow 0.3s ease;
}

.btn:active {
   border-color: var(--color-1);
}

.btn span {
   position: relative;
   z-index: 2;
   display: inline-flex;
   align-items: center;
   line-height: normal;
}

.btn:hover,
.btn:focus-visible {
   color: var(--white);
   background: var(--color-secondary);
}

.em2Block {
   margin-bottom: 30px;
}

.em2ProductSlider .owl-nav {
   text-align: center;
   margin-top: 30px;
}

.em2ProductSlider .owl-carousel .owl-nav button.owl-prev {
   width: 40px;
   height: 40px;
   background: var(--color-1);
   border-radius: 10px;
   color: var(--white);
   font-size: 20px;
   margin: 0 5px;
}

.em2ProductSlider .owl-carousel .owl-nav button.owl-prev:hover {
   background: #96cbff;
}

.pagination a {
   border: 1px solid var(--border-colo);
   font-weight: 700;
   display: inline-flex;
   padding: 2px 5px;
   justify-content: center;
   align-items: center;
   font-size: 14px;
   color: var(--color-4);
   min-width: 25px;
}

.pagination a:hover {
   font-size: 14px;
   color: var(--color-1);
}

.pagination a.next {
   border: none;
   padding-left: 0px;
   padding-right: 0px;
}

#product-modal .modal-content .modal-body {
   background: var(--white);
}

#product-modal .modal-content .modal-body .thumbnails {
   padding: 30px 0px;
}

#product-modal .modal-content .modal-body .mask {
   max-height: 530px;
}

#product-modal .modal-content .modal-body .arrows i {
   font-size: 30px;
   color: var(--color-1);
   top: 0px;
   left: 35px;
   cursor: pointer;
}

#product-modal .modal-content .modal-body .arrows i.arrow-down {
   top: auto;
   bottom: 0px;
}

#blockcart-modal .modal-title i.material-icons {
   color: var(--color-1);
}

a.label {
   color: var(--color-1);
   font-size: 16px;
   font-weight: 700;
   line-height: normal;
}

a.label:hover {
   color: var(--color-2);
}

form .form-control-label {
   font-size: 14px;
   font-weight: 500;
   color: var(--color-6);
}

.custom-radio {
   border: var(--border-color) 1px solid;
}

.custom-radio input[type="radio"]:checked+span {
   background-color: var(--color-1);
}

.custom-checkbox input[type="checkbox"]:focus+span {
   border-color: var(--border-colo);
}

.custom-checkbox input[type="checkbox"]+span {
   border: 1px var(--border-color) solid;
}

.custom-checkbox input[type="checkbox"]+span .checkbox-checked {
   color: var(--color-1);
}

.definition-list dl dt {
   background: var(--background-1);
}

.d-flex {
   display: flex;
   flex-wrap: wrap;
}

.justify-content-center {
   justify-content: center;
}

.justify-content-between {
   justify-content: space-between;
}

.justify-content-end {
   justify-content: flex-end;
}

.align-items-center {
   align-items: center;
}

ul.ui-autocomplete.searchbar-autocomplete {
   background: var(--color-1);
   border-radius: 0px;
   box-sizing: border-box;
}

#search_widget .ui-autocomplete.searchbar-autocomplete li a:hover {
   background: var(--color-2);
}

.ui-autocomplete.searchbar-autocomplete li a {
   display: flex;
   align-items: center;
   font-size: 12px;
   color: var(--white);
}

.modal-open .modal.in {
   display: flex !important;
   align-items: center;
   height: 100%;
}

@keyframes effectMenu {
   0% {
      display: block;
      visibility: hidden;
      opacity: 0;
      transform: translateY(-50%);
   }

   100% {
      display: block;
      visibility: visible;
      opacity: 1;
      transform: translateY(0px);
      position: static;
   }
}

@keyframes menuSticky {
   0% {
      top: -100%;
   }

   100% {
      top: 0px;
   }
}

@media (min-width: 768px) {
   .em2MainMenu.collapse {
      display: block;
   }

   #header .header-top .menu {
      display: flex;
      flex-wrap: wrap;
      justify-content: center;
      margin-top: 20px;
      margin-bottom: -15px;
   }

   #header .header-top .menu ul {
      display: flex;
   }

   .top-menu #category-37 .sub-menu>ul>li {
      width: 50%;
      float: left;
   }

   #header .header-top .menu ul #category-37 .sub-menu ul li ul {
      border-top: 1px solid var(--color-1);
   }

   .top-menu #category-37 .sub-menu ul li li {
      width: 50%;
      padding: 0px;
   }

   #header .header-top .menu ul #category-37 .sub-menu ul li li a {
      padding-left: 0px;
   }

   #header .header-top .menu ul #category-37 .sub-menu ul li li a::before {
      font-family: "Font Awesome 5 Light";
      font-weight: 900;
      content: "\f054";
      font-size: 8px;
      display: inline-block;
      margin-top: -1px;
      line-height: 8px;
   }

   .top-menu .sub-menu {
      z-index: 18;
      width: 100%;
      margin-left: 0;
      visibility: hidden;
      border: none;
      opacity: 0;
      transition: opacity 0.5s ease, visibility 0.5s ease;
      background: var(--white);
      padding: 15px;
      top: 100%;
   }

   .top-menu .sub-menu.collapse {
      -webkit-transform-origin: 0 0;
      -moz-transform-origin: 0 0;
      -ms-transform-origin: 0 0;
      transform-origin: 0 0;
      -webkit-transition: all 0.4s ease-in-out 0s;
      -o-transition: all 0.4s ease-in-out 0s;
      transition: all 0.4s ease-in-out 0s;
      -webkit-transform: rotateX(-90deg);
      -ms-transform: rotateX(-90deg);
      -o-transform: rotateX(-90deg);
      transform: rotateX(-90deg);
   }

   .em2MainMenu .top-menu li:hover .sub-menu {
      filter: alpha(opacity=100);
      -webkit-transform: rotateX(0deg);
      -ms-transform: rotateX(0deg);
      -o-transform: rotateX(0deg);
      transform: rotateX(0deg);
      visibility: visible;
      opacity: 1;
   }

   .top-menu .sub-menu ul li a {
      color: var(--color-1);
   }
}

@media (max-width: 767px) {

   #header .header-nav .container>.row,
   #header .top-logo a,
   .footerTop .container .row,
   .top-menu .sub-menu ul,
   #_mobile_nav2.right-nav ul,
   .product-miniature .thumbnail-container .product-thumbnail span,
   .em2MainMenu.collapsing,
   #header .header-top .em2MainMenu ul,
   #js-product-list-header .em2Banner,
   .em2IconInfoHomeItem p,
   .footerTop .conditions,
   .product-flags li.product-flag,
   a.label,
   .cart-container .price,
   .cart-container .product-price,
   #products .products-section-title,
   .featured-products .products-section-title,
   .product-accessories .products-section-title,
   .footerTop .title,
   .footerTop .conditions,
   .product-quantity input[type="number"]::-webkit-inner-spin-button,
   .cart-container .blockreassurance_product>div .block-title,
   .menuOpenMobile #js-product-list-header,
   .menuOpenMobile #wrapper,
   #header .top-logo {
      justify-content: center;
      margin-bottom: 15px;
   }

   #header .header-nav {
      padding: 10px 0px 0px 0px;
      position: relative;
   }

   section.productRight .product-add-to-cart {
      display: block;
   }

   #_mobile_nav2 {
      border-bottom: 1px solid var(--white);
      padding-bottom: 10px;
      position: static;
   }

   .top-menu .sub-menu ul li a span.float-xs-right.hidden-md-up {
      display: none !important;
   }

   ul.em2IconInfoNav {
      background: transparent;
      padding: 0;
   }

   ul.em2IconInfoNav li img {
      max-width: 15px;
      margin-right: 5px;
   }

   ul.em2IconInfoNav li a {
      font-size: 12px;
      line-height: normal;
      font-weight: 500;
   }

   /*
.em2MainMenu {
   margin: 0 -15px;
   background: white;
   transition: 0.5s ease-out;
   visibility: hidden;
   overflow: auto;
   position: absolute;
   left: 15px;
   width: 100%;
}

.em2MainMenu.in {
   visibility: visible;
}
*/

   #header .header-top .em2MainMenu .menu {
      margin-top: 0px;
      display: block;
      padding: 0px 15px;
   }

   #header .header-top .em2MainMenu ul li {
      display: block;
      position: relative;
      overflow: hidden;
   }

   #header .header-top .em2MainMenu ul li .btnSubMenu {
      position: absolute;
      right: 0px;
      top: 11px;
      color: var(--white);
      z-index: 9;
      display: none;
      -webkit-transition: all 0.4s ease-in-out 0s;
      -o-transition: all 0.4s ease-in-out 0s;
      transition: all 0.4s ease-in-out 0s;
   }

   #header .header-top .em2MainMenu ul[data-depth="0"]>li {
      border-bottom: 1px solid var(--white);
   }

   #header .header-top .em2MainMenu ul[data-depth="0"]>li:last-child {
      border: none;
   }

   #header .header-top .em2MainMenu ul[data-depth="0"]>li>.btnSubMenu {
      display: block;
   }

   #header .header-top .em2MainMenu ul[data-depth="0"]>li>.btnSubMenu::after {
      font-family: "Font Awesome 5 Regular";
      font-weight: 400;
      content: "\f078";
   }

   #header .header-top .em2MainMenu ul[data-depth="0"]>li>.btnSubMenu.active {
      transform: rotate(180deg);
   }

   #header .header-top .em2MainMenu ul li a {
      color: var(--white);
      position: relative;
      z-index: 8;
   }

   #header .header-top .em2MainMenu .top-menu .sub-menu ul {
      margin: 0px;
   }

   .top-menu .sub-menu {
      padding: 0px;
      width: 100%;
      box-shadow: none;
      background: transparent;
      margin: 0px;
      visibility: hidden;
      opacity: 0;
      top: 100%;
      transition: unset;
      display: none;
   }

   .top-menu .sub-menu.collapsing {
      transition-timing-function: unset;
      transition-duration: 0;
   }

   .top-menu .sub-menu.collapse.in {
      display: block;
      visibility: visible;
      opacity: 1;
      animation: effectMenu 0.2s;
      position: static;
      transform: translateY(0);
      -webkit-transition: all 0.2s ease-in-out 0s;
      -o-transition: all 0.2s ease-in-out 0s;
      transition: all 0.2s ease-in-out 0s;
   }

   .top-menu .sub-menu ul li {
      width: 100%;
      display: block;
      padding: 0px;
      text-align: left;
   }

   #header .header-top .em2MainMenu .top-menu .sub-menu li>a {
      padding: 5px 30px;
      border: none;
      margin-bottom: 0px;
   }

   .blockMobileMenu {
      display: flex;
      align-items: center;
   }

   .blockMobileMenu button.navbar-toggler {
      color: var(--color-1);
      padding: 0px;
      font-size: 20px;
      width: auto;
      height: auto;
      margin-right: 10px;
   }

   .em2Banner .em2Banneritem {
      height: auto;
      padding: 20% 0px;
   }

   .em2Banner h1 {
      font-size: 22px;
      line-height: 26px;
   }

   #js-product-list-header .em2Banner h1 {
      line-height: normal;
   }

   .em2Banner .description {
      font-size: 18px;
      line-height: 22px;
   }

   .em2IconInfoHome {
      padding-bottom: 5px;
   }

   .em2IconInfoHome .row [class*="col-xs"] {
      margin-bottom: 15px;
   }

   .em2IconInfoHomeItem {
      padding: 5px 10px;
      flex-flow: column;
   }

   #header .header-top .menu>ul>li>a {
      font-size: 100%;
      line-height: normal;
   }

   .em2IconInfoHomeItem p {
      margin-top: 10px;
   }

   .product-miniature .thumbnail-container .product-thumbnail>img {
      opacity: 1;
      /* Assurer l'affichage de l'image principale */
   }

   .footerTop .title {
      font-size: 28px;
      line-height: normal;
   }

   .footerBottom .copyright {
      text-align: center;
   }

   .footerTop form .form-group {
      margin-top: 15px;
   }

   .footerTop form .form-group input {
      width: auto;
      border: none;
   }

   .footerBottom .row {
      flex-flow: column-reverse;
      justify-content: center;
   }

   .footerBottom ul {
      justify-content: center;
   }

   .footer-container {
      padding-top: 15px;
   }

   .footer-container .links .title {
      padding: 5px 0px;
      cursor: pointer;
   }

   .product-miniature .product-title a {
      text-overflow: inherit;
      white-space: inherit;
   }

   .product-flags {
      top: 10px;
      left: 10px;
      width: calc(100% - 10px);
   }

   .block-categories {
      margin-bottom: 30px;
   }

   .em2Title {
      text-align: center;
   }

   section.productRight .product-information {
      position: static;
   }

   .product-quantity {
      margin-bottom: 1rem;
      display: flex;
      align-items: center;
      gap: 1rem;
   }

   .product-quantity .control-label {
      font-weight: 800;
      color: var(--color-2);
      margin: 0;
      font-size: 1rem;
      text-transform: uppercase;
      letter-spacing: 0.5px;
   }

   .product-quantity .qty {
      position: relative;
      width: 120px;
   }

   .product-quantity .bootstrap-touchspin {
      display: flex;
      align-items: center;
      border: 1px solid var(--border-colo);
      border-radius: 4px;
      overflow: hidden;
      background: var(--white);
   }

   .product-quantity #quantity_wanted {
      width: 100%;
      height: 40px;
      padding: 0 40px;
      text-align: center;
      border: none;
      font-size: 16px;
      font-weight: 500;
      color: var(--black);
      background: transparent;
   }

   .product-quantity .input-group-btn-vertical {
      position: absolute;
      right: 0;
      top: 0;
      height: 100%;
      display: flex;
      flex-direction: column;
      z-index: 1;
   }

   .product-quantity .btn-touchspin {
      width: 40px;
      height: 50%;
      padding: 0;
      display: flex;
      align-items: center;
      justify-content: center;
      background: var(--background-1);
      border: none;
      border-left: 1px solid var(--border-colo);
      cursor: pointer;
      transition: background-color 0.2s ease;
   }

   .product-quantity .btn-touchspin:hover {
      background: #e0e0e0;
   }

   .product-quantity .btn-touchspin i {
      font-size: 18px;
      color: var(--color-3);
      display: block;
      position: static;
      transform: none;
   }

   .product-quantity .bootstrap-touchspin-up i::before {
      content: "+";
      font-family: Arial, sans-serif;
      font-weight: bold;
   }

   .product-quantity .bootstrap-touchspin-down i::before {
      content: "-";
      font-family: Arial, sans-serif;
      font-weight: bold;
   }

   .product-quantity input[type="number"]::-webkit-outer-spin-button {
      -webkit-appearance: none;
      margin: 0;
   }

   .product-quantity input[type="number"] {
      -moz-appearance: textfield;
      appearance: textfield;
   }

   #checkout .js-cart ul li .product-quantity {
      margin-bottom: 0px;
   }

   .em2ProductTitle {
      font-size: 20px;
      line-height: normal;
      margin-top: 30px;
   }

   #main .images-container .js-qv-mask.scroll {
      width: calc(100% - 60px);
   }

   .em2Arrow.scroll-box-arrows i {
      left: 0px;
   }

   .em2Arrow.scroll-box-arrows i.fa-chevron-right {
      right: 0px;
   }

   .product-cover .layer {
      display: flex !important;
      opacity: 1;
      width: auto;
      height: auto;
      background: transparent;
      right: 0;
      justify-content: flex-end;
   }

   .product-cover .layer .zoom-in {
      color: var(--color-1);
      font-size: 40px;
   }

   .cart-container .blockreassurance_product {
      justify-content: center;
   }

   .cart-container .blockreassurance_product>div {
      margin: 0px;
      width: 33.3333%;
      justify-content: center;
   }

   .cart-container .blockreassurance_product>div p {
      text-align: center;
   }

   .ui-menu li.ui-menu-item {
      border-bottom: 1px solid var(--border-color) !important;
   }

   .ui-menu li.ui-menu-item:last-child {
      border: none;
   }

   .ui-menu .ui-menu-item a {
      font-size: 12px;
   }

   .menuOpenMobile footer {
      display: none;
   }
}

.em3-header-top-row {
   display: flex;
   align-items: center;
   justify-content: space-between;
   min-height: 90px;
   color: #0074e5;
   flex-wrap: wrap;
}

.header-links {
   display: flex !important;
   align-items: center;
   flex-direction: row !important;
   color: #0074e5;
   gap: 2rem !important;
   justify-content: flex-end;
   width: 100%;
}

.header-links .navbar-toggler {
   display: inline-flex !important;
   align-items: center;
   vertical-align: middle;
   font-weight: bold;
   font-size: 18px;
   text-transform: uppercase;
   padding: 0 0.5em;
   transition: color 0.2s;
}

.header-links .em3-contact-link span {
   font-weight: bold;
   font-size: 18px;
   letter-spacing: 0.01em;
}

.header-links .header-link:active {
   color: #0074e5;
}

.header-links .em3-contact-link:active {
   color: #f49a21;
}

.header-links .header-link i {
   color: #0074e5;
   font-size: 1.2em;
}

.header-links .header-link+.header-link {
   margin-left: 0.5rem;
}

.header-links .navbar-toggler {
   font-size: 1.5em;
   padding: 0 0.5em;
}

@media (max-width: 991.98px) {

   .header-links .header-link,
   .header-links .em3-contact-link,
   .em3-header-top-row {
      flex-direction: column;
      align-items: stretch;
      justify-content: center;
      min-height: unset;
      gap: 0;
   }

   #_desktop_logo {
      justify-content: center !important;
      max-width: 100vw;
      margin-bottom: 10px;
      display: flex !important;
   }

   .header-links {
      justify-content: center !important;
      margin-top: 10px;
      width: 100%;
      gap: 1.5rem !important;
      padding-bottom: 0.5em;
   }

   .header-links .navbar-toggler {
      font-size: 18px !important;
      font-weight: bold !important;
      min-width: 0;
      justify-content: center;
      text-align: center;
      padding: 0 0.5em;
   }

   .em3-header-top-row>div {
      width: 100% !important;
      max-width: 100vw !important;
      flex: 1 1 100%;
      margin: 0 !important;
      padding: 0 8px;
      display: flex !important;
      justify-content: center !important;
      align-items: center !important;
      text-align: center;
   }
}

@media (min-width: 992px) {
   .em3-header-top-row {
      flex-direction: row;
      align-items: center;
      justify-content: space-between;
      min-height: 90px;
      gap: 0;
   }

   .em3-header-top-row>#_desktop_logo {
      max-width: 280px;
      flex: 0 0 280px;
      width: 280px;
      justify-content: flex-start !important;
      margin-bottom: 0 !important;
   }

   .em3-header-top-row>.header-links {
      flex: 0 0 auto;
      width: auto;
      justify-content: flex-end !important;
      padding-bottom: 0;
   }

   .em3-header-top-row>div:not(#_desktop_logo):not(.header-links) {
      flex: 1 1 0%;
      max-width: 100%;
      justify-content: center !important;
      align-items: center !important;
      text-align: center;
      margin: 0 !important;
      padding: 0 8px;
      display: flex !important;
   }

   .top-menu>li:focus-within>.sub-menu {
      display: block !important;
      visibility: visible !important;
      opacity: 1 !important;
      position: absolute !important;
      left: 0;
      top: 100%;
      z-index: 100;
      background: #fff;
      box-shadow: 0 8px 32px rgba(0, 0, 0, 0.12);
      min-width: 220px;
   }

   .top-menu>li>.sub-menu {
      display: none;
      visibility: hidden;
      opacity: 0;
      transition: opacity 0.2s;
   }

   .top-menu>li:focus-within>.sub-menu {
      z-index: 1001 !important;
   }

   .bb-banner-oc-container {
      z-index: 1;
   }

   .top-menu>li>.sub-menu {
      display: none;
      position: absolute;
      left: 0;
      top: 100%;
      min-width: 220px;
      max-width: 350px;
      background: #fff;
      box-shadow: 0 8px 32px rgba(0, 0, 0, 0.12);
      z-index: 1001;
      padding: 16px 32px;
      overflow: visible;
      opacity: 0;
      visibility: hidden;
      text-transform: uppercase;
      transition: opacity 0.2s;
   }

   .top-menu>li:focus-within>.sub-menu {
      display: block !important;
      opacity: 1 !important;
      visibility: visible !important;
   }

   .top-menu .sub-menu .sub-menu {
      left: 100%;
      top: 0;
      min-width: 200px;
      max-width: 300px;
      border-radius: 0 8px 8px 0;
      box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
      background: #fff;
      position: absolute;
      z-index: 1002;
      padding: 8px 0;
      display: none;
      opacity: 0;
      visibility: hidden;
      transition: opacity 0.2s;
   }

   .top-menu .sub-menu li:focus-within>.sub-menu {
      display: block !important;
      opacity: 1 !important;
      visibility: visible !important;
   }

   .top-menu .sub-menu .sub-menu {
      max-height: 70vh;
      overflow-y: auto;
   }

   .em2MainMenu.menu-open {
      max-height: none !important;
      height: auto !important;
      overflow: visible !important;
   }

   .top-menu>li>.sub-menu {
      left: 0;
      right: 0;
      width: 100vw;
      overflow-x: hidden;
      min-width: unset;
      max-width: unset;
   }

   .top-menu .sub-menu .sub-menu {
      display: none !important;
      opacity: 0;
      visibility: hidden;
   }

   .top-menu .sub-menu li:focus-within>.sub-menu {
      display: block !important;
      opacity: 1 !important;
      visibility: visible !important;
   }

   .top-menu .collapse {
      display: none;
   }

   .top-menu .collapse.show {
      display: block;
   }
}

@media (max-width: 991.98px) {

   .em2Banner,
   .em2Banner h1,
   .em2Banner .btn,
   #js-product-list_header .em2Banner {
      min-height: 320px;
      padding: 18vw 0 8vw 0;
      display: flex;
      flex-direction: column;
      justify-content: center;
      align-items: center;
   }

   #js-product_list_header .em2Banner h1 {
      font-size: 7vw;
      line-height: 1.15;
      margin-bottom: 2vw;
      text-align: center;
   }

   .em2Banner .description {
      font-size: 4.5vw;
      line-height: 1.3;
      margin-bottom: 4vw;
      text-align: center;
      max-width: 90vw;
   }

   #js-product_list_header .em2Banner .btn {
      font-size: 5vw;
      padding: 2vw 7vw;
      min-width: 0;
      border-radius: 8px;
      margin: 0 2vw;
   }
}

@media (max-width: 575.98px) {

   .em2Banner,
   .em2Banner h1,
   .em2Banner .btn,
   #js_product_list_header .em2Banner {
      min-height: 220px;
      padding: 22vw 0 10vw 0;
   }

   #js_product_list_header .em2Banner h1 {
      font-size: 8vw;
   }

   .em2Banner .description {
      font-size: 5vw;
   }

   #js_product_list_header .em2Banner .btn {
      font-size: 6vw;
      padding: 3vw 10vw;
   }

   .em3-social-topbar span {
      display: none;
   }
}

.product-left-column .product-cover {
   border-radius: 20px;
   width: 100%;
   /* L'image prend toute la largeur disponible */
   height: auto;
   /* Maintient les proportions */
   display: block;
   /* Assure que l'image prend la place */
   margin: 0 auto;
   /* Centre l'image si elle est plus petite */
}

.product-left-column .product-cover img {
   width: 100%;
   height: auto;
   object-fit: cover;
   /* Assure que l'image couvre le conteneur */
   border-radius: 20px;
   /* Applique le border-radius à l'image */
}



.product-reference-small {
   font-size: 0.9rem;
   display: block;
   /* font-weight: 400; */
   /*
color: var(--color-2);
margin-left: 10px;
display: inline-block;
vertical-align: middle;*/
   color: var(--black);
   display: block;
   margin: 0.5rem 0;
   font-weight: 500;
}

/*
.product-pricing {
display: flex;
flex-direction: column;
align-items: center;
gap: 0.5rem;
}

.product-pricing .price-label {
font-size: 26px;
color: var(--color-2);
margin-top: 40px;
margin-bottom: 0;
line-height: 1;
}

.product-pricing .current-price {
font-size: 42px;
color: var(--color-2);
}
*/
.product-description-section {
   margin-top: 30px;
   display: flex;
   flex-wrap: wrap;
   align-items: flex-start;
}

.product-description-left {
   flex: 0 0 50%;
   max-width: 50%;
   background-color: var(--color-secondary);
   padding: 3rem;
   border-radius: 25px;
   color: white !important;
   /* Styles pour la colonne gauche de la description longue */
}

.product-long-description h2 {
   font-size: 24px;
   font-weight: 700;
   margin-bottom: 1rem;
}

.product-long-description p {
   font-size: 18px;
}

.product-long-description table {
   font-weight: 600;
   font-size: 14px;
}

.product-long-description table thead {
   background-color: var(--color-secondary) !important;
   color: white !important;
}

.product-long-description table td {
   font-size: 14px;
}

.product-description-right {
   flex: 0 0 50%;
   max-width: 50%;
   /* Styles pour la colonne droite de l'image */
   text-align: center;
}

.product-description-image {
   width: 100%;
   /* L'image prend toute la largeur de sa colonne */
   height: auto;
   /* Maintient les proportions */
   border-radius: 10px;
   /* Ajout d'un border-radius pour l'image */
}

.product-description {
   color: var(--black) !important;
}

#blockcart-wrapper {
   display: flex;
   align-items: center;
   height: 100%;
}

#blockcart-wrapper .blockcart .header {
   display: flex;
   align-items: center;
}

#blockcart-wrapper .blockcart .header a {
   display: flex;
   align-items: center;
   gap: 0.2rem;
   font-size: 18px;
   color: var(--color-2);
   position: relative;
}

span.em3-cart-count{
   position: absolute;
   top: 0;
   right: 0;
   display: inline-block;
   &::before{
      content: '(';
   }
   &::after{
      content: ')';
   }
}

.product-short-description-container {
   display: flex;
   align-items: flex-start;
   gap: 0.5rem;
}

.product-short-description-container i {
   font-size: 24px;
   font-weight: 600;
   color: var(--color-2);
}

.product-short-description {
   font-size: 18px;
   color: var(--color-2);
}

.product-short-description .service-client__intro span {
   color: var(--color-2) !important;
}

.wishlist-button-add {
   display: flex !important;
   align-items: center !important;
   justify-content: center !important;
   width: 40px !important;
   height: 40px !important;
   border-radius: 50% !important;
   color: white !important;
   box-shadow: none !important;
   font-size: 20px !important;
   cursor: pointer !important;
   transition: background-color 0.3s ease !important;
   margin-left: 0 !important;
}

.wishlist-button-add:hover {
   background-color: var(--color-2) !important;
}

.wishlist-button-add i {
   font-size: 36px !important;
   color: var(--color-secondary) !important;
}

.product-mail-contact-container {
   margin-bottom: 1rem;
}

.product-mail-contact-container .btn-contact-mail {
   background-color: var(--color-tertiary) !important;
   color: var(--color-2) !important;
   text-transform: uppercase !important;
   font-weight: 600 !important;
   padding: 0.5rem 1rem !important;
   font-size: 16px !important;
}

.product-mail-contact-container .btn-contact-mail:hover {
   color: var(--white) !important;
}

.product-phone-contact-container {
   margin-bottom: 1rem;
}

.product-phone-contact-container .btn-contact-phone {
   background-color: var(--color-secondary) !important;
   color: var(--white) !important;
   text-transform: uppercase !important;
   font-weight: 600 !important;
   padding: 0.5rem 1rem !important;
   font-size: 16px !important;
}

.product-phone-contact-container .btn-contact-phone:hover {
   color: var(--white) !important;
   background-color: var(--color-2) !important;
}

.product-phone-contact-container .btn-contact-phone:after {
   background: var(--color-2) !important;
}

.product-quantity {
   display: flex;
   align-items: center;
   gap: 1rem;
}

.product-quantity .control-label {
   font-weight: 800;
   color: var(--color-2);
   /* Utiliser la couleur du thème */
   margin: 0;
   font-size: 1rem;
   text-transform: uppercase;
   letter-spacing: 0.5px;
}

.product-miniature .thumbnail-container .product-thumbnail>img {
   opacity: 1;
   /* Assurer l'affichage de l'image principale */
}

.product-add-to-cart {
   display: flex;
   align-items: center;
}

.product-phone-contact-container .btn-contact-phone:after {
   content: "";
}

.phone-modal {
   display: none;
   position: fixed;
   top: 0;
   left: 0;
   width: 100%;
   height: 100%;
   background-color: rgba(0, 0, 0, 0.5);
   z-index: 9999;
   justify-content: center;
   align-items: center;
}

.phone-modal-content {
   background-color: var(--white);
   border-radius: 8px;
   padding: 20px;
   width: 90%;
   max-width: 500px;
   position: relative;
   box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}

.phone-modal-header {
   display: flex;
   justify-content: space-between;
   align-items: center;
   margin-bottom: 20px;
   padding-bottom: 10px;
   border-bottom: 1px solid var(--color-3);
}

.phone-modal-header h3 {
   margin: 0;
   font-size: 1.5rem;
   color: var(--color-1);
}

.phone-modal-close {
   background: none;
   border: none;
   font-size: 2em;
   position: absolute;
   top: 10px;
   right: 20px;
   color: #333;
   cursor: pointer;
   z-index: 10002;
}

.phone-modal-close:hover {
   color: var(--color-1);
}

.phone-modal-body {
   text-align: center;
}

.phone-modal-body p {
   margin-bottom: 15px;
   color: var(--color-3);
}

.phone-number {
   margin: 20px 0;
}

.phone-link {
   display: inline-flex;
   align-items: center;
   font-size: 1.5rem;
   color: var(--color-1);
   text-decoration: none;
   padding: 10px 20px;
   border: 2px solid var(--color-1);
   border-radius: 4px;
   transition: all 0.3s ease;
}

.phone-link:hover {
   background-color: var(--color-1);
   color: var(--white);
}

.phone-link i {
   margin-right: 10px;
}

.phone-hours {
   font-size: 0.9rem;
   color: var(--color-3);
   font-style: italic;
}

@media (max-width: 575.98px) {
   .phone-modal-content {
      width: 95%;
      padding: 15px;
   }

   .phone-modal-header h3 {
      font-size: 1.2rem;
   }

   .phone-link {
      font-size: 1.2rem;
      padding: 8px 15px;
   }
}

.product-description-title {
   font-size: 48px;
   font-weight: 800;
   color: var(--background-1);
   margin-bottom: 1rem;
}

.points-forts-content {
   color: #fff !important;
   border-radius: 18px !important;
   font-size: 1rem !important;
}

.points-forts-content ul {
   list-style: none !important;
   padding-left: 0 !important;
   margin-top: 0.25rem !important;
   /* Reduced from 0.5rem */
   margin-bottom: 0.25rem !important;
   /* Reduced from 0.5rem */
}

.points-forts-content ul ul {
   padding-left: 1.25rem !important;
   /* Reduced from 1.5rem */
   margin-top: 0.15rem !important;
   /* Reduced from 0.3rem */
   margin-bottom: 0.15rem !important;
   /* Reduced from 0.3rem */
}

.points-forts-content li {
   position: relative !important;
   padding-left: 1.5em !important;
   /* Reduced from 2em */
   line-height: 1.3 !important;
   /* Reduced from 1.4 */
   font-size: 1.05em !important;
   /* Slightly reduced from 1.08em */
   font-family: inherit !important;
   font-weight: 400 !important;
   margin-bottom: 0.2rem !important;
   /* Reduced from 0.4rem */
}

.points-forts-content li:last-child {
   margin-bottom: 0 !important;
}

.points-forts-content li::before {
   content: "\2022" !important;
   color: var(--background-1) !important;
   font-size: 1.8em !important;
   position: absolute !important;
   left: 0 !important;
   top: -0.1em !important;
   line-height: 1 !important;
   font-weight: bold !important;
}

.points-forts-content ul ul li::before {
   content: "\25E6" !important;
   color: var(--background-1) !important;
   font-size: 1.1em !important;
   left: 0.2em !important;
   top: 0 !important;
}

.points-forts-content strong {
   font-weight: 800 !important;
   font-size: 1.05em !important;
   color: #fff !important;
   letter-spacing: 0.01em !important;
}

.product-points-forts {
   line-height: 1 !important;
}

.points-forts-content p {
   margin: 0 0 0.1em 0 !important;
   /* Reduced from 0.2em */
   color: #fff !important;
   font-size: 1.05em !important;
}

.points-forts-content ul ul {
   border-left: 2px solid var(--color-tertiary, #f49a21) !important;
   margin-left: 0.2em !important;
   /* Reduced from 0.3em */
   padding-left: 0.75em !important;
   /* Reduced from 1em */
}

@media (max-width: 767px) {

   .product-add-to-cart,
   .product-add-to-cart button.add-to-cart,
   .product-buy-actions form#add-to-cart-or-refresh {
      width: 100% !important;
      max-width: 100vw !important;
      box-sizing: border-box !important;
      margin: 0 auto !important;
      /*padding-left: 0 !important;
   padding-right: 0 !important;*/
      overflow-x: hidden !important;
      display: block !important;
   }

   .product-add-to-cart button.add-to-cart {
      min-width: 0 !important;
      width: 100% !important;
      max-width: 100vw !important;
      font-size: 1.1em !important;
      padding-left: 0 !important;
      padding-right: 0 !important;
      border-radius: 8px !important;
      white-space: normal !important;
      word-break: break-word !important;
   }

   .product-buy-actions {
      overflow-x: hidden !important;
   }
}

@media (max-width: 767.98px) {

   body,
   #main {
      overflow-x: hidden !important;
   }
}

@media (max-width: 991.98px) {

   .product-description-section.em2Block,
   .product-description-left,
   .product-description-right,
   .product-caracteristiques-image-col,
   .product-description-right,
   .product-description-section img,
   .product-caracteristiques-image,
   .product-description-left h2,
   .caracteristiques-content h2,
   .row.product-caracteristiques.em2Block {
      flex-direction: column !important;
      display: flex !important;
      align-items: stretch !important;
      gap: 0 !important;
      width: 100% !important;
      min-width: 0 !important;
      box-sizing: border-box !important;
      overflow-x: hidden !important;
      margin: 0 !important;
      padding: 0 !important;
   }

   .product-caracteristiques-right-bg {
      width: 100% !important;
      max-width: 100vw !important;
      min-width: 0 !important;
      display: block !important;
      margin: 0 0 12px 0 !important;
      padding: 0 8px !important;
      box-sizing: border-box !important;
      float: none !important;
   }

   .product-caracteristiques-right-bg {
      justify-content: flex-start !important;
      align-items: flex-start !important;
   }

   .product-points-forts-image {
      max-width: 98vw !important;
      height: auto !important;
      margin: 0 auto 10px auto !important;
      display: block !important;
      border-radius: 10px !important;
      box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05) !important;
      float: none !important;
   }

   .product-description-content h2 {
      font-size: 24px !important;
      margin-bottom: 1rem !important;
      text-align: center !important;
   }
}

@media (max-width: 767.98px) {

   .caracteristiques-content.points-forts-content,
   .points-forts-content,
   .product-caracteristiques-right-bg,
   .product-description-left,
   .product-description-right,
   .product-description-content {
      width: 100% !important;
      max-width: 100% !important;
      min-width: 0 !important;
      box-sizing: border-box !important;
      padding: 10px !important;
      overflow-x: visible !important;
      margin-left: 0 !important;
      margin-right: 0 !important;
   }
}

@media (max-width: 767.98px) {
   /* Le bouton de sous-menu doit être visible en mobile */

   /* Fermé par défaut (sans !important pour laisser .show agir) */
   .sub-menu,

   /* Ouvert quand Bootstrap ajoute .show */
   .sub-menu.show,

   /* Les liens principaux restent cliquables */
   .top-menu li a {
      pointer-events: auto;
   }

   .btnSubMenu {
      display: inline-block !important;
   }

   .collapse[id^="top_sub_menu_"] {
      display: none;
      visibility: hidden;
      opacity: 0;
   }

   .collapse[id^="top_sub_menu_"].show {
      display: block;
      visibility: visible;
      opacity: 1;
   }
}

@media (min-width: 768px) {

   .sub-menu,
   .btnSubMenu {
      display: block;
   }

   .collapse[id^="top_sub_menu_"] {
      display: block;
      visibility: visible;
      opacity: 1;
   }
}

.em3-social-links a {
   color: var(--color-secondary);
}

.bb-customer-payment-info {
   margin-top: 30px;
   padding: 20px;
   background: rgba(255, 255, 255, 0.95);
   border-radius: 15px;
   border: 1px solid #e0e0e0;
   box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
}

.bb-customer-row {
   display: flex;
   align-items: center;
   gap: 8px;
   margin-bottom: 20px;
   flex-wrap: wrap;
}

.bb-customer-icon {
   display: inline-flex;
   align-items: center;
   justify-content: center;
   width: 32px;
   height: 32px;
   background: rgba(45, 62, 175, 0.1);
   border-radius: 50%;
   flex-shrink: 0;
}

.bb-customer-label {
   font-weight: 600;
   color: var(--color-2);
   font-size: 14px;
}

.bb-customer-phone {
   font-weight: 500;
   color: var(--black);
   font-size: 14px;
}

.bb-customer-sep {
   color: var(--color-3);
   margin: 0 5px;
}

.bb-customer-mail a {
   color: var(--color-2);
   text-decoration: none;
   font-weight: 500;
   font-size: 14px;
}

.bb-customer-mail a:hover {
   text-decoration: underline;
}

.bb-payment-row {
   display: grid;
   grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
   gap: 15px;
   margin-bottom: 20px;
}

.bb-payment-method {
   display: flex;
   flex-direction: column;
   align-items: center;
   text-align: center;
   padding: 15px 10px;
   background: rgba(248, 249, 250, 0.8);
   border-radius: 10px;
   border: 1px solid #e9ecef;
   transition: all 0.3s ease;
}

.bb-payment-method:hover {
   background: rgba(45, 62, 175, 0.05);
   border-color: var(--color-2);
   transform: translateY(-2px);
}

.bb-payment-icon {
   display: inline-flex;
   align-items: center;
   justify-content: center;
   margin-bottom: 8px;
}

.bb-payment-label {
   font-size: 12px;
   font-weight: 500;
   color: var(--color-6);
   line-height: 1.2;
}

.bb-payment-logos {
   grid-column: 1 / -1;
   border-top: 1px solid rgb(225, 233, 242);
   padding-top: 18px;
   display: flex;
   align-items: center;
   justify-content: center;
   gap: 22px;
   flex-wrap: wrap;
   margin-top: 30px;
   & span{
      font-size: 13.5px;
      font-weight: 700;
      color: #1c4b68;
   }
}

.bb-payment-logos .bb-logo {
   height: 30px;
   width: auto;
   object-fit: contain;
   opacity: 0.8;
   transition: opacity 0.3s ease;
}

.bb-payment-logos .bb-logo:hover {
   opacity: 1;
}

@media (max-width: 767px) {
   .bb-customer-payment-info {
      margin-top: 20px;
      padding: 15px;
   }

   .bb-customer-row {
      flex-direction: column;
      align-items: flex-start;
      gap: 10px;
      margin-bottom: 15px;
   }

   .bb-customer-row>span {
      display: flex;
      align-items: center;
      gap: 8px;
   }

   .bb-payment-row {
      grid-template-columns: repeat(2, 1f);
      gap: 10px;
      margin-bottom: 15px;
   }

   .bb-payment-method {
      padding: 12px 8px;
   }

   .bb-payment-label {
      font-size: 11px;
   }

   .bb-payment-logos {
      gap: 10px;
   }

   .bb-payment-logos .bb-logo {
      height: 25px;
   }
}

@media (max-width: 480px) {
   .bb-payment-row {
      grid-template-columns: 1fr;
      gap: 8px;
   }

   .bb-payment-method {
      flex-direction: row;
      justify-content: flex-start;
      text-align: left;
      padding: 10px 15px;
   }

   .bb-payment-icon {
      margin-bottom: 0;
      margin-right: 10px;
   }
}

.product-card {
   transition: box-shadow 0.2s, transform 0.2s;
   background-color: #fff;
   position: relative;
   overflow: hidden;
   margin-bottom: 36px;
   padding: 0;
   display: flex;
   flex-direction: column;
}

.product-card:hover {
   box-shadow: 0 6px 20px rgba(0, 0, 0, 0.09);
   transform: translateY(-6px) scale(1.03);
   z-index: 2;
}

.product-card-inner {
   display: flex;
   flex-direction: column;
   height: 100%;
}

.product-card-image-zone {
   position: relative;
   padding: 18px 18px 0 18px;
   display: flex;
   flex-direction: column;
   align-items: center;
   justify-content: flex-start;
}

.product-card-image-link {
   display: block;
   width: 100%;
   max-width: 300px;
   min-height: 200px;
   margin: 0 auto;
   border-radius: 14px;
   overflow: hidden;
   background: #f8f8f8;
}

.product-card-image {
   width: 100%;
   display: block;
   transition: transform 0.2s;
   object-fit: cover;
}

.product-card:hover .product-card-image {
   transform: scale(1.04);
}

.product-card-flags {
   position: absolute;
   top: 18px;
   left: 18px;
   display: flex;
   gap: 7px;
   z-index: 2;
   flex-wrap: wrap;
}

.product-card-flag {
   background: var(--color-2, #2d3eaf);
   color: #fff;
   font-size: 0.9em;
   font-weight: 600;
   border-radius: 8px;
   padding: 3px 12px;
   box-shadow: 0 1px 6px rgba(0, 0, 0, 0.09);
   letter-spacing: 0.5px;
}

.product-card-flag.discount {
   background: var(--color-secondary, #f49a21);
}

.product-card-actions {
   display: none;
}

.product-card:hover .product-card-actions {
   display: none;
}

.product-card-actions .btn-action {
   background: var(--color-1, #2d3eaf);
   color: #fff;
   border-radius: 50%;
   width: 44px;
   height: 44px;
   display: flex;
   align-items: center;
   justify-content: center;
   box-shadow: 0 2px 10px rgba(0, 0, 0, 0.12);
   font-size: 1.4em;
   transition: background 0.2s, transform 0.2s;
   border: none;
   outline: none;
}

.product-card-actions .btn-action:hover {
   background: #222;
   color: #fff;
   transform: scale(1.1);
}

.product-card-content {
   padding: 18px 18px 22px 18px;
   display: flex;
   flex-direction: column;
   align-items: center;
   justify-content: flex-start;
   flex: 1;
}

.product-card-title {
   font-size: 1.15em;
   font-weight: 700;
   color: #222;
   margin: 0 0 8px 0;
   text-align: center;
   line-height: 1.3;
}

.product-card-title-link {
   color: #222;
   text-decoration: none;
   transition: color 0.2s;
}

.product-card-title-link:hover {
   color: var(--color-1, #2d3eaf);
}

.product-card-desc {
   font-size: 0.98em;
   color: #666;
   margin-bottom: 10px;
   text-align: center;
   min-height: 22px;
}

.product-card-price-zone {
   width: 100%;
   display: flex;
   justify-content: center;
   align-items: center;
   margin-top: 8px;
}

.product-card-price {
   font-size: 1.18em;
   font-weight: 700;
   color: var(--color-1, #2d3eaf);
   display: flex;
   align-items: center;
   gap: 8px;
}

.product-card-regular-price {
   color: #888;
   font-size: 0.98em;
   text-decoration: line-through;
   margin-right: 6px;
}

.product-card-current-price {
   color: var(--color-1, #2d3eaf);
   font-weight: 700;
   font-size: 1.18em;
}

.product-card-discount {
   background: var(--color-secondary, #f49a21);
   color: #fff;
   border-radius: 6px;
   padding: 2px 8px;
   font-size: 0.95em;
   margin-left: 6px;
   font-weight: 600;
}

@media (max-width: 767px) {
   .product-card {
      width: 90%;
      border-radius: 12px;
      box-shadow: 0 2px 16px rgba(0, 0, 0, 0.12);
      margin-bottom: 22px;
   }

   .product-card-inner {
      padding: 0;
   }

   .product-card-image-zone {
      padding: 12px 8px 0 8px;
   }

   .product-card-image-link {
      max-width: 100%;
      border-radius: 10px;
   }

   .product-card-image {
      border-radius: 10px;
   }

   .product-card-content {
      padding: 12px 8px 16px 8px;
   }
}

.product-variants {
   margin-bottom: 2rem;
}

.product-variants-item {
   margin-bottom: 1.5rem;
   padding: 0;
   background: transparent;
   border: none;
   box-shadow: none;
}

.product-variants-item .control-label {
   display: block;
   font-weight: 600;
   color: #333;
   margin-bottom: 1rem;
   font-size: 1rem;
   text-transform: uppercase;
   letter-spacing: 0.5px;
}

.product-variants-item select.form-control-select {
   width: 100%;
   border: 1px solid #ddd;
   border-radius: 8px;
   padding: 0.75rem 1rem;
   font-size: 1rem;
   background: #fff;
   color: #333;
   font-weight: 500;
   transition: all 0.3s ease;
   box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
   line-height: 1.5;
   height: auto;
   min-height: 44px;
}

.product-variants-item select.form-control-select:focus {
   border-color: var(--color-2, #2d3eaf);
   outline: none;
   box-shadow: 0 0 0 3px rgba(45, 62, 175, 0.1);
}

.product-variants-item select.form-control-select:hover {
   border-color: #bbb;
}

.product-variants-item ul {
   display: flex;
   flex-wrap: wrap;
   gap: 0.5rem;
   margin: 0;
   padding: 0;
   list-style: none;
}

.product-variants-item .input-container {
   margin: 0;
   padding: 0;
}

.product-variants-item .input-color {
   display: none;
}

.product-variants-item .color {
   display: inline-block;
   width: 40px;
   height: 40px;
   border-radius: 8px;
   border: 2px solid #fff;
   box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15), inset 0 0 0 1px rgba(0, 0, 0, 0.1);
   cursor: pointer;
   transition: all 0.3s ease;
   position: relative;
   overflow: hidden;
}

.product-variants-item .color:hover {
   transform: translateY(-2px);
   box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2), inset 0 0 0 1px rgba(0, 0, 0, 0.1);
}

.product-variants-item .input-color:checked+.color {
   border: 3px solid var(--color-2, #2d3eaf);
   box-shadow: 0 4px 12px rgba(45, 62, 175, 0.3),
      inset 0 0 0 1px rgba(0, 0, 0, 0.1);
   transform: translateY(-2px);
}

.product-variants-item .input-color:checked+.color::after {
   content: "✓";
   position: absolute;
   top: 50%;
   left: 50%;
   transform: translate(-50%, -50%);
   color: #fff;
   font-weight: bold;
   font-size: 14px;
   text-shadow: 0 1px 2px rgba(0, 0, 0, 0.5);
}

.product-variants-item .color.texture {
   background-size: cover;
   background-position: center;
}

.product-variants-item .attribute-name.sr-only {
   position: absolute;
   left: -9999px;
}

.product-variants-item .input-radio {
   display: none;
}

.product-variants-item .radio-label {
   display: inline-block;
   padding: 0.6rem 1.25rem;
   border-radius: 8px;
   border: 1px solid #ddd;
   background: #fff;
   color: #333;
   font-weight: 500;
   font-size: 0.95rem;
   cursor: pointer;
   transition: all 0.3s ease;
   box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
   min-width: 60px;
   text-align: center;
}

.product-variants-item .radio-label:hover {
   border-color: #bbb;
   transform: translateY(-1px);
   box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}

.product-variants-item .input-radio:checked+.radio-label {
   border: 2px solid var(--color-2, #2d3eaf);
   background: var(--color-2, #2d3eaf);
   color: #fff;
   transform: translateY(-1px);
   box-shadow: 0 4px 8px rgba(45, 62, 175, 0.3);
}

@media (max-width: 767px) {
   .product-variants-item {
      margin-bottom: 1.2rem;
   }

   .product-variants-item ul {
      gap: 0.4rem;
   }

   .product-variants-item .color {
      width: 35px;
      height: 35px;
   }

   .product-variants-item .radio-label {
      padding: 0.5rem 1rem;
      font-size: 0.9rem;
      min-width: 50px;
   }

   .product-variants-item select.form-control-select {
      padding: 0.6rem 0.8rem;
      min-height: 40px;
   }
}

@media (max-width: 991.98px) {
   #mainMenu .sub-menu.show {
      display: block;
      visibility: visible;
      opacity: 1;
   }
}

@media (max-width: 991.98px) {

   html,
   body {
      overflow-x: hidden;
   }

   #mainMenu,
   .em2MainMenu {
      max-width: 100vw;
      overflow-x: hidden;
   }

   #mainMenu .top-menu>li {
      position: static;
   }

   #mainMenu .sub-menu {
      position: static;
      width: 100%;
      max-width: 100%;
      left: auto;
      right: auto;
      top: auto;
      transform: none;
      box-shadow: none;
      margin: 0;
      border: 0;
   }

   #mainMenu .sub-menu .sub-menu {
      position: static;
      width: 100%;
   }

   .em2MainMenu {
      overflow-y: auto;
      -webkit-overflow-scrolling: touch;
   }
}

@media (max-width: 992px) {
   nav#mainMenu.custom-dropdown-menu {
      top: 0 !important;
   }
}

@media (max-width: 991.98px) {
   body.menuOpenMobile {
      overflow: hidden !important;
   }
}

/* Harmonise the quantity touchspin next to the add-to-cart button */
.product-add-to-cart-form .product-quantity {
   gap: 18px;
}

.product-add-to-cart-form .product-quantity .qty {
   display: flex;
   align-items: stretch;
}

.product-add-to-cart-form .product-quantity .bootstrap-touchspin {
   display: flex !important;
   align-items: stretch !important;
   height: 56px;
   border: 1px solid var(--color-2) !important;
   border-radius: 999px !important;
   overflow: hidden !important;
   background: #fff !important;
   box-shadow: 0 12px 26px rgba(16,45,64, 0.12);
}

.product-add-to-cart-form .product-quantity #quantity_wanted {
   order: 1;
   width: 82px;
   padding: 0 20px;
   height: 100%;
   border: none !important;
   border-radius: 999px 0 0 999px;
   background: transparent;
   font-size: 18px;
   font-weight: 600;
   line-height: 1;
   color: var(--color-2);
   box-shadow: none;
}

.product-add-to-cart-form .product-quantity #quantity_wanted:focus {
   outline: none;
   box-shadow: inset 0 0 0 2px var(--color-secondary);
}

.product-add-to-cart-form .product-quantity .input-group-btn-vertical {
   order: 2;
   display: flex !important;
   flex-direction: column;
   margin-left: -1px;
   height: 100%;
}

.product-add-to-cart-form .product-quantity .input-group-btn-vertical .btn-touchspin {
   flex: 1 1 50%;
   width: 50px;
   padding: 0;
   display: flex;
   align-items: center;
   justify-content: center;
   background: var(--color-2) !important;
   border: none !important;
   color: #fff !important;
   transition: background 0.2s ease;
   border-radius: 0;
}

.product-add-to-cart-form .product-quantity .input-group-btn-vertical .btn-touchspin:first-child {
   border-bottom: 1px solid rgba(255, 255, 255, 0.25);
   border-top-right-radius: 999px;
}

.product-add-to-cart-form .product-quantity .input-group-btn-vertical .btn-touchspin:last-child {
   border-top: 1px solid rgba(255, 255, 255, 0.25);
   border-bottom-right-radius: 999px;
}

.product-add-to-cart-form .product-quantity .input-group-btn-vertical .btn-touchspin:hover,
.product-add-to-cart-form .product-quantity .input-group-btn-vertical .btn-touchspin:focus-visible {
   background: var(--color-secondary) !important;
}

.product-add-to-cart-form .product-quantity .input-group-btn-vertical .btn-touchspin i {
   font-size: 15px;
   color: currentColor;
}

.product-add-to-cart-form .product-add-to-cart .product-purchase-row{
   display: flex;
   align-items: center;
   gap: 12px;
   margin: 0;
   width: 100%;
   & > .control-label{
      display: none;
   }
   & > div{
       display: flex;
       align-items: center;
       border: 1px solid rgb(201, 214, 229);
       border-radius: 8px;
       overflow: hidden;
       & .btnNumber{
         width: 44px;
         height: 56px;
         border-width: medium;
         border-style: none;
         border-color: currentcolor;
         border-image: none;
         background: rgb(255, 255, 255);
         color: #1c4b68;
         font-size: 18px;
         cursor: pointer;
         display: flex;
         align-items: center;
         justify-content: center;
         &:focus{
            outline: none;
         }
         &:hover{
            background: rgb(240, 245, 250) !important;
         }
       }
       & .input-group{
          width: 44px;
          border: none;
          pointer-events: none;
          text-align: center;
          font-weight: 700;
          font-size: 16px;
          color: #102d40;
       }
   }
}

.product-add-to-cart-form .product-quantity .control-label {
   display: flex;
   align-items: center;
   height: 60px;
   line-height: 1;
   margin: 0;
}

.product-add-to-cart-form .product-quantity {
   margin: 0;
}

/* Small-screen product card sizing: make cards smaller and centered in sliders/grids */
@media (max-width: 575.98px) {

   /* Slider-specific */
   #bb-specials .owl-item .product-miniature,
   #bb-specials .product-miniature {
      max-width: 320px;
      width: 88%;
      margin: 0 auto;
   }

   /* Featured-grid specific */
   .bb-featured-products__card {
      max-width: 320px;
      width: 100%;
      margin: 0 auto;
   }

   /* Reduce thumbnail height so the card is shorter and more compact */
   #bb-specials .product-miniature .thumbnail-container,
   .bb-featured-products__card .thumbnail-container {
      height: 220px;
   }

   /* Reduce paddings and font sizes for compact appearance */
   .product-miniature .product-description {
      padding: 10px 12px 14px 12px;
   }

   .product-miniature .product-title {
      font-size: 1rem;
      font-weight: 600;
      margin-bottom: 0.25rem;
   }

   .product-miniature .product-price-and-shipping {
      font-size: 18px;
   }

   .product-miniature .btn,
   .bb-featured-products__card .btn {
      height: 42px;
      font-size: 15px;
      padding: 0 16px;
      border-radius: 10px;
   }
}

/* Even more compact rules for the Promotions slider (#bb-specials) only */
@media (max-width: 575.98px) {

   #bb-specials .owl-item .product-miniature,
   #bb-specials .product-miniature {
      max-width: 280px;
      width: 80%;
      margin: 0 auto;
   }

   #bb-specials .product-miniature .thumbnail-container {
      height: 200px;
   }

   #bb-specials .product-miniature .product-title {
      font-size: 0.95rem;
   }

   #bb-specials .product-miniature .product-price-and-shipping {
      font-size: 16px;
   }

   #bb-specials .product-miniature .btn {
      height: 38px;
      font-size: 14px;
      padding: 0 12px;
   }
}

/* Mirror the compact rules for the Nouveautés slider (#bb-newproducts) */
@media (max-width: 575.98px) {

   #bb-newproducts .owl-item .product-miniature,
   #bb-newproducts .product-miniature {
      max-width: 280px;
      width: 80%;
      margin: 0 auto;
   }

   #bb-newproducts .product-miniature .thumbnail-container {
      height: 200px;
   }

   #bb-newproducts .product-miniature .product-title {
      font-size: 0.95rem;
   }

   #bb-newproducts .product-miniature .product-price-and-shipping {
      font-size: 16px;
   }

   #bb-newproducts .product-miniature .btn {
      height: 38px;
      font-size: 14px;
      padding: 0 12px;
   }
}

/* (reverted: related-products mobile adjacent-slide hiding removed) */

/* FIX MOBILE MENU */
@media (max-width: 991.98px) {
   #mainMenu .dropdown-menu-inner {
      display: block !important;
      width: 100% !important;
      height: auto !important;
      padding-bottom: 100px;
      /* Space for scrolling */
   }

   #mainMenu .top-menu {
      display: flex !important;
      flex-direction: column !important;
      width: 100% !important;
      height: auto !important;
      margin: 0 !important;
      padding: 0 !important;
      background: #fff !important;
      gap: 0 !important;
   }

   #mainMenu .top-menu>li {
      width: 100% !important;
      margin: 0 !important;
      padding: 0 !important;
      display: block !important;
      border-bottom: 1px solid #f0f0f0;
      list-style: none !important;
      opacity: 1 !important;
      visibility: visible !important;
   }

   #mainMenu .top-menu>li>a,
   #mainMenu .top-menu>li>.menu-toggle {
      color: #333 !important;
      display: flex !important;
      align-items: center;
      justify-content: space-between;
      padding: 15px 20px !important;
      font-size: 16px !important;
      font-weight: 600 !important;
      text-transform: uppercase;
      text-decoration: none !important;
      width: 100% !important;
      white-space: normal !important;
   }

   /* Fix submenus */
   #mainMenu .em3-subcategory-menu,
   #mainMenu .em3-subsubcategory-menu {
      position: static !important;
      box-shadow: none !important;
      display: none;
      /* Controlled by JS */
      width: 100% !important;
      min-width: 100% !important;
      padding: 0 !important;
      background: #f9f9f9 !important;
      opacity: 1 !important;
      visibility: visible !important;
      transform: none !important;
   }

   #mainMenu .em3-subcategory-menu.show,
   #mainMenu .em3-subsubcategory-menu.show {
      display: block !important;
   }

   #mainMenu .em3-subcategory-menu>li>a {
      padding: 12px 30px !important;
      font-size: 15px !important;
      color: #555 !important;
      display: block !important;
   }

   /* Hide desktop elements that might have leaked */
   #mainMenu .menuThumb {
      display: none !important;
   }
}

/* NEW MOBILE MENU STYLES - REBUILD STRATEGY */
@media (max-width: 991.98px) {

   /* Hide desktop menu */
   .em3-desktop-only {
      display: none !important;
   }

   /* Show mobile menu wrapper */
   .em3-mobile-only {
      display: block !important;
   }

   /* Force full screen and white background for the drawer (only style the menu and its inner content).
   IMPORTANT: avoid forcing position/top/left/right/bottom or applying !important on layout properties
   for wrapper elements that are controlled by the theme JS (#mainMenuInner, #mobile_menu_wrapper). */
   #mainMenu,
   #mainMenu .dropdown-menu-inner {
      background-color: #ffffff;
      width: 100%;
      /* keep height auto but allow min-height for full-screen feel */
      min-height: 100vh;
      margin: 0;
      padding: 0;
      max-width: 100vw;
      border: none;
      box-shadow: none;
   }

   /* Ensure the parent dropdown doesn't have padding/margins */
   .dropdown-menu-inner {
      padding: 0 !important;
      margin: 0 !important;
   }

   /* Menu List Styling */
   .mobile-menu-ul {
      list-style: none !important;
      padding: 0 !important;
      margin: 0 !important;
      display: flex !important;
      flex-direction: column !important;
      width: 100% !important;
   }

   .mobile-menu-li {
      border-bottom: 1px solid #f0f0f0;
      width: 100% !important;
      margin: 0 !important;
   }

   .mobile-menu-item-wrapper {
      display: flex !important;
      justify-content: space-between !important;
      align-items: center !important;
      padding: 15px 20px !important;
      width: 100% !important;
   }

   .mobile-menu-link {
      font-size: 16px !important;
      font-weight: 600 !important;
      color: #333333 !important;
      text-decoration: none !important;
      text-transform: uppercase !important;
      flex-grow: 1 !important;
      white-space: normal !important;
   }

   .mobile-menu-toggle {
      width: 40px;
      height: 40px;
      display: flex;
      align-items: center;
      justify-content: center;
      cursor: pointer;
      color: #333;
      font-size: 14px;
      border-left: 1px solid #f5f5f5;
   }

   /* Submenu Styling */
   .mobile-submenu-container {
      background-color: #f9f9f9 !important;
      padding-left: 0 !important;
   }

   .mobile-submenu-container .mobile-menu-link {
      font-size: 14px !important;
      font-weight: 500 !important;
      text-transform: none !important;
      color: #555 !important;
   }

   .mobile-submenu-container .mobile-menu-item-wrapper {
      padding: 12px 20px 12px 35px !important;
   }
}

.bb-banner-oc-svg-wrapper {
   pointer-events: none;
}

.product-purchase-row .bootstrap-touchspin .btn-touchspin,
.product-purchase-row .bootstrap-touchspin .input-group-btn button,
.product-purchase-row .bootstrap-touchspin .input-group-btn-vertical button {
   width: 34px !important;
   height: 20px !important;
}

.product-purchase-row .control-label {
   display: block;
   font-weight: 600;
   color: #333;
   margin-bottom: 0;
   font-size: 1rem;
   text-transform: uppercase;
   letter-spacing: 0.5px;
   width: 100%;
   text-align: left;
}

/* TEMP DEBUG: ensure burger is in front and clickable on mobile while we diagnose touch issues */
.navbar-toggler {
   position: relative !important;
   z-index: 99999 !important;
   pointer-events: auto !important;
}

/* If this helps, we can scope the rule more narrowly later. */

/* Ensure the mobile menu close button is visible and clickable when the menu is open */
body.menuOpenMobile .menu-mobile-close {
   display: block !important;
   z-index: 10002 !important;
   pointer-events: auto !important;
}

.new-contact-ui {
   background: #fff;
   padding: 32px;
   border-radius: 16px;
   max-width: 750px;
   margin: 40px auto;
   box-shadow: 0px 10px 34px rgba(0, 0, 0, 0.07);
}

.new-contact-ui .contact-header h2 {
   font-size: 28px;
   font-weight: 700;
   color: var(--color-2);
   margin-bottom: 6px;
}

.new-contact-ui .contact-header p {
   color: #6c788a;
   margin-bottom: 25px;
   font-size: 15px;
}

.contact-alert {
   padding: 15px 18px;
   border-radius: 10px;
   margin-bottom: 22px;
}

.alert-error {
   background: #ffe1e1;
   color: #c20000;
}

.alert-success {
   background: #e3f7e8;
   color: #227d3d;
}

/* GRILLE MODERNE */
.contact-grid {
   display: grid;
   grid-template-columns: 1fr 1fr;
   gap: 18px 22px;
}

.contact-grid .full {
   grid-column: 1 / 3;
}

/* INPUTS */
.contact-input {
   width: 100%;
   border: 1px solid #dce3ee;
   border-radius: 10px;
   padding: 12px 14px;
   font-size: 15px;
   background: #f9fbff;
   transition: 0.23s ease;
}

.contact-input:focus {
   border-color: var(--color-2);
   background: #fff;
   box-shadow: 0 0 0 3px rgba(40, 116, 229, 0.12);
   outline: none;
}

.field label {
   font-weight: 600;
   color: var(--color-2);
   font-size: 14px;
   margin-bottom: 6px;
   display: block;
}

.textarea {
   resize: vertical;
}

/* FOOTER */
.contact-footer {
   margin-top: 25px;
   text-align: right;
}

.contact-submit-btn {
   background: var(--color-2);
   color: #fff;
   border: none;
   padding: 14px 26px;
   font-size: 15px;
   font-weight: 700;
   border-radius: 12px;
   cursor: pointer;
   transition: 0.25s ease;
}

.contact-submit-btn:hover {
   background: #1c4b68;
   transform: translateY(-2px);
}

.contact-rich-card {
   background: #fff;
   border-radius: 16px;
   padding: 28px;
   box-shadow: 0px 10px 30px rgba(0, 0, 0, 0.06);
   margin-bottom: 30px;
}

.contact-rich-title {
   font-size: 22px;
   font-weight: 700;
   color: var(--color-2);
   margin-bottom: 18px;
   text-transform: uppercase;
   letter-spacing: 0.03em;
}

.contact-rich-item {
   display: flex;
   align-items: flex-start;
   gap: 14px;
}

.contact-rich-item .icon i {
   font-size: 26px;
   color: var(--color-2);
   background: rgba(40, 116, 229, 0.12);
   width: 50px;
   height: 50px;
   display: flex;
   align-items: center;
   justify-content: center;
   border-radius: 50%;
}

.contact-rich-item .data {
   font-size: 15px;
   color: #4a4f58;
}

.contact-rich-item .label {
   color: var(--color-2);
   font-weight: 600;
}

.contact-link {
   color: var(--color-2);
   font-weight: 600;
   transition: 0.2s ease;
}

.contact-link:hover {
   color: #1c4b68;
   text-decoration: underline;
}

/* New products page hero */
.new-products-hero {
   background: linear-gradient(90deg,
         rgba(37, 99, 235, 0.06),
         rgba(16, 185, 129, 0.03));
   padding: 40px 0;
   margin-bottom: 20px;
   border-radius: 6px;
}

.new-products-hero .page-title {
   font-size: 2.25rem;
   font-weight: 600;
   color: var(--color-1, #243a8f);
   margin-bottom: 0.25rem;
}

.new-products-hero .lead {
   color: #6b7280;
   margin-bottom: 0;
}

@media (max-width: 767px) {
   .new-products-hero {
      padding: 24px 12px;
   }

   .new-products-hero .page-title {
      font-size: 1.5rem;
   }
}

/* Ensure product cards on the New Products page are uniform height */
/* Ensure product cards on the New Products page are uniform height */
#new-products .products,
#prices-drop .products,
#best-sales .products,
#category .products {
   display: flex;
   flex-wrap: wrap;
}

#new-products .products>[class*="col-"],
#prices-drop .products>[class*="col-"],
#best-sales .products>[class*="col-"],
#category .products>[class*="col-"] {
   display: flex;
   align-items: stretch;
}

#new-products .products>[class*="col-"]>.js-product,
#prices-drop .products>[class*="col-"]>.js-product,
#best-sales .products>[class*="col-"]>.js-product,
#category .products>[class*="col-"]>.js-product {
   display: flex;
   flex-direction: column;
   flex: 1 1 auto;
}

#new-products .product-card,
#prices-drop .product-card,
#best-sales .product-card,
#category .product-card {
   display: flex;
   flex-direction: column;
   height: 100%;
   background: #fff;
}

#new-products .product-card-inner,
#prices-drop .product-card-inner,
#best-sales .product-card-inner,
#category .product-card-inner {
   flex: 1 1 auto;
   display: flex;
   flex-direction: column;
}

/* Optional: subtle card styling for visual consistency */
#new-products .product-card {
   box-shadow: 0 10px 24px rgba(16, 24, 40, 0.06);
   border-radius: 12px;
}

/* Force identical width & height per card with responsive breakpoints */
/* Desktop: 3 columns */
/* Desktop: 3 columns */
@media (min-width: 1200px) {

   #new-products .products,
   #prices-drop .products,
   #best-sales .products,
   #category .products {
      gap: 20px 80px;
      /* much larger horizontal spacing between cards */
      justify-content: flex-start;
      padding: 0 24px;
      /* bigger horizontal padding so cards aren't flush to edges */
   }

   #new-products .products>[class*="col-"],
   #prices-drop .products>[class*="col-"],
   #best-sales .products>[class*="col-"],
   #category .products>[class*="col-"] {
      display: flex;
      /* make cards narrower so gaps are very visible */
      flex: 0 0 calc((100% - 160px) / 3);
      max-width: calc((100% - 160px) / 3);
   }

   #new-products .product-card,
   #prices-drop .product-card,
   #best-sales .product-card,
   #category .product-card {
      height: 100%;
      /* more compact fixed height */
      width: 100%;
      padding: 12px !important;
   }
}

/* Tablet: 2 columns */
/* Tablet: 2 columns */
@media (min-width: 768px) and (max-width: 1199.98px) {

   #new-products .products,
   #prices-drop .products,
   #best-sales .products,
   #category .products {
      gap: 48px;
      /* larger gap on tablet */
      padding: 0 20px;
   }

   #new-products .products>[class*="col-"],
   #prices-drop .products>[class*="col-"],
   #best-sales .products>[class*="col-"],
   #category .products>[class*="col-"] {
      display: flex;
      flex: 0 0 calc((100% - 48px) / 2);
      max-width: calc((100% - 48px) / 2);
   }

   #new-products .product-card,
   #prices-drop .product-card,
   #best-sales .product-card,
   #category .product-card {
      height: 100%;
      width: 100%;
   }
}

/* Mobile: full width, slightly shorter cards */
/* Mobile: full width, slightly shorter cards */
@media (max-width: 767.98px) {

   #new-products .products>[class*="col-"],
   #prices-drop .products>[class*="col-"],
   #best-sales .products>[class*="col-"],
   #category .products>[class*="col-"] {
      flex: 0 0 100%;
      max-width: 100%;
   }

   #new-products .product-card,
   #prices-drop .product-card,
   #best-sales .product-card,
   #category .product-card {
      height: auto;
      /* shorter cards on mobile for better fit */
   }

   /* Reduce image area on small devices */
   #new-products .product-card-image-zone,
   #prices-drop .product-card-image-zone,
   #best-sales .product-card-image-zone,
   #category .product-card-image-zone {
      height: 160px;
   }
}

/* Ensure purchase row (qty + add) stays pinned to bottom */
#new-products .product-card-content,
#prices-drop .product-card-content,
#best-sales .product-card-content,
#category .product-card-content {
   display: flex;
   flex-direction: column;
}

#new-products .product-card-purchase-row,
#prices-drop .product-card-purchase-row,
#best-sales .product-card-purchase-row,
#category .product-card-purchase-row {
   margin-top: auto;
   padding-top: 12px;
}

/* Strong overrides: force identical card box-size and prevent other rules from breaking it */
#new-products .products>[class*="col-"]>.js-product,
#new-products .products>[class*="col-"]>.js-product>.product-card,
#prices-drop .products>[class*="col-"]>.js-product,
#prices-drop .products>[class*="col-"]>.js-product>.product-card,
#best-sales .products>[class*="col-"]>.js-product,
#best-sales .products>[class*="col-"]>.js-product>.product-card,
#category .products>[class*="col-"]>.js-product,
#category .products>[class*="col-"]>.js-product>.product-card {
   width: 100% !important;
   box-sizing: border-box !important;
}

/* Enforce fixed height and min-height so all cards match exactly */
#new-products .product-card,
#new-products .products>[class*="col-"]>.js-product>.product-card,
#prices-drop .product-card,
#prices-drop .products>[class*="col-"]>.js-product>.product-card,
#best-sales .product-card,
#best-sales .products>[class*="col-"]>.js-product>.product-card,
#category .product-card,
#category .products>[class*="col-"]>.js-product>.product-card {
   height: 100% !important;
   min-height: 520px !important;
   max-height: none !important;
   overflow: visible !important;
}

/* Keep inner content scrollable if it overflows (optional) */
#new-products .product-card-inner,
#prices-drop .product-card-inner,
#best-sales .product-card-inner,
#category .product-card-inner {
   height: auto !important;
   overflow: visible !important;
}

/* Make image zone fit nicely inside fixed card without stretching layout */
#new-products .product-card-image-zone,
#prices-drop .product-card-image-zone,
#best-sales .product-card-image-zone,
#category .product-card-image-zone {
   flex: 0 0 auto !important;
   height: 260px !important;
   max-height: 260px !important;
}

/* Ensure purchase row stays visible at bottom */
#new-products .product-card-purchase-row,
#prices-drop .product-card-purchase-row,
#best-sales .product-card-purchase-row,
#category .product-card-purchase-row {
   position: relative;
   z-index: 2;
}

.divider {
   width: 100%;
   height: 1px;
   background: #e7edf7;
   margin: 16px 0;
}

/* === Correction définitive overflow body bloqué === */
body {
   overflow: visible !important;
   position: relative !important;
   height: auto !important;
}

html {
   overflow: visible !important;
}

/* === Rétablissement des sous-menus mobiles === */
#mobile_menu_wrapper .mobile-submenu-container {
   display: none;
   visibility: hidden;
   height: 0;
   overflow: hidden;
   opacity: 0;
   transition: all 0.25s ease;
}

#mobile_menu_wrapper .mobile-submenu-container.open {
   display: block !important;
   visibility: visible !important;
   height: auto !important;
   overflow: visible !important;
   opacity: 1 !important;
   position: relative !important;
   z-index: 99 !important;
}

/* Par sécurité : évite que les parents coupent le contenu */
#mobile_menu_wrapper .mobile-menu-li,
#mobile_menu_wrapper .mobile-menu-item-wrapper {
   overflow: visible !important;
   position: relative !important;
}

/* === Fix hauteur des sous-menus mobiles === */
#mobile_menu_wrapper .mobile-menu-li {
   display: block !important;
   overflow: visible !important;
}

#mobile_menu_wrapper .mobile-menu-item-wrapper {
   display: flex !important;
}

#mobile_menu_wrapper .mobile-submenu-container {
   display: none;
   height: auto !important;
   max-height: none !important;
   overflow: visible !important;
   position: relative !important;
   visibility: visible !important;
   opacity: 1 !important;
}

#mobile_menu_wrapper .mobile-submenu-container.open {
   display: block !important;
}

/* Forcer l'affichage des sous-menus quand la classe .open est posée */
@media (max-width: 991.98px) {
   #mobile_menu_wrapper .mobile-submenu-container.open {
      display: block !important;
   }
}

/* Affiche les sous-menus mobiles ouverts */
#mobile_menu_wrapper .mobile-submenu-container.open {
   display: block !important;
}

/* Left category menu tweaks specifically for new-products page */
body#new-products .category-siblings {
   background: #fff;
   padding: 18px !important;
   border-radius: 12px;
   box-shadow: 0 8px 24px rgba(16, 24, 40, 0.04);
}

body#new-products .category-siblings .cs-parent {
   font-size: 18px !important;
   font-weight: 800 !important;
   color: var(--color-2) !important;
   margin-bottom: 12px !important;
}

body#new-products .category-siblings .cs-list {
   padding: 6px 0 !important;
}

body#new-products .category-siblings .cs-item {
   margin-bottom: 10px !important;
}

body#new-products .category-siblings .cs-link {
   display: flex !important;
   align-items: center !important;
   justify-content: space-between !important;
   padding: 10px 12px !important;
   border-radius: 8px !important;
   color: #1f2937 !important;
   font-weight: 700 !important;
}

body#new-products .category-siblings .cs-item.is-active>.cs-link {
   background: linear-gradient(90deg,
         rgba(36, 185, 215, 0.06),
         rgba(37, 99, 235, 0.04)) !important;
   color: var(--color-2) !important;
}

/* Add a subtle divider between items */
body#new-products .category-siblings .cs-item+.cs-item {
   border-top: 1px solid #f1f6fb;
   padding-top: 8px;
}

/* Chevron on right */
body#new-products .category-siblings .cs-link::after {
   content: "\203A";
   /* › */
   color: #9fb7d8;
   margin-left: 8px;
   font-weight: 700;
}

/* Make the left menu sticky on tall pages */
@media (min-width: 992px) {
   body#new-products #left-column {
      position: sticky;
      top: 0;
   }
}

/* Toast Notification for Add to Cart */
.em3-toast-notification {
   position: fixed;
   top: 20px;
   right: 20px;
   background-color: #2874e5;
   color: var(--white, #fff);
   padding: 15px 25px;
   border-radius: 4px;
   box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
   z-index: 9999;
   opacity: 0;
   visibility: hidden;
   transform: translateY(-20px);
   transition: all 0.3s ease;
   font-weight: 600;
   font-size: 14px;
   display: flex;
   align-items: center;
   gap: 10px;
}

.em3-toast-notification.show {
   opacity: 1;
   visibility: visible;
   transform: translateY(0);
}

.em3-toast-notification i {
   font-size: 18px;
}

/* Sort Order Dropdown Visibility */
.products-sort-order .dropdown-menu.show {
   display: block;
   opacity: 1;
   visibility: visible;
   top: 100%;
   left: 0;
   z-index: 1000;
   background: #fff;
   box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
   border: 1px solid #eee;
   padding: 10px 0;
   min-width: 200px;
   position: absolute;
}

/* Safety rule: ensure col-xs-6 creates a 2-column layout on mobile if Bootstrap classes are missing or incompatible */
@media (max-width: 767.98px) {
   .products .col-xs-6 {
      width: 50%;
      flex: 0 0 50%;
      max-width: 50%;
      padding-left: 5px;
      padding-right: 5px;
   }

   .products .row {
      margin-left: -5px;
      margin-right: -5px;
   }
}

/* Fix for cart dropdown z-index to ensure it appears above header elements */
#blockcart-wrapper {
   position: relative;
   z-index: 10001;
}

/* Desktop menu alignment fix: center all 3 levels and tighten subcategory spacing */
@media (min-width: 992px) {
   nav#mainMenu .top-menu[data-depth="0"] {
      justify-content: center !important;
      padding-left: 0 !important;
      gap: 2rem !important;
   }

   nav#mainMenu .top-menu-panels .root-panel>ul,
   nav#mainMenu .top-menu-panels .root-panel .sub-sub-panel>ul {
      display: flex !important;
      flex-wrap: wrap !important;
      justify-content: center !important;
      align-items: flex-start !important;
      gap: 0.9rem 1.4rem !important;
      padding-left: 0 !important;
      padding-right: 0 !important;
   }

   nav#mainMenu .top-menu-panels .root-panel li,
   nav#mainMenu .top-menu-panels .root-panel .sub-sub-panel li {
      flex: 0 1 210px !important;
      width: auto !important;
      max-width: 210px !important;
      min-height: 0 !important;
      margin: 0 !important;
      padding-left: 0 !important;
      padding-right: 0 !important;
   }

   nav#mainMenu .top-menu-panels .root-panel a,
   nav#mainMenu .top-menu-panels .root-panel .sub-sub-panel a {
      text-align: center !important;
   }
}

#blockcart-wrapper .blockcart .body {
   z-index: 10002 !important;
   background: #fff;
   border-top-left-radius: 16px;
   border-bottom-right-radius: 16px;
   box-shadow: var(--box-shadow);
   border: 2px solid var(--border-color);
}

/* Ensure header containers do not clip the dropdown */
#header .header-top,
#header .header-top .container,
#header .header-top .row,
#header .header-top .header-links {
   overflow: visible !important;
}

/** Adaptation megamenu **/

@media (max-width: 1600px) {
   .ets_mm_megamenu.layout_layout1 {
      z-index: 9999 !important;
   }

   body .layout_layout1.ets_mm_megamenu::before {
      position: fixed;
      top: 0;
   }

   .ets_mm_megamenu .mm_menus_ul .close_menu {
      /* background: #2874E5 !important;*/
      background: var(--color-2) !important;
   }
}

@media (min-width: 1601px) {
   .layout_layout1 .mm_menus_li:not(:nth-child(2)) {
      position: relative;
      max-width: 180px;
   }

   .bb_main_tab i {
      color: #ffffff;
   }

   body .layout_layout1.ets_mm_megamenu::before {
      position: absolute;
   }

   /* Mega Menu*/
   .ets_mm_megamenu.layout_layout4 .ets_mm_megamenu_content {
      background: rgb(255, 255, 255);
      border-top: 1px solid #e1e9f2;
      border-bottom: 2px solid var(--color-2);
      padding-top: 6px;
      padding-bottom: 6px;

      & .mm_menus_ul {
         display: flex;
         justify-content: space-between;
      }

      & .mm_menus_li {
         padding: 0 4px;
         position: relative;
         /* .btn-promotions : fond doré retiré (v5) */

         &>a {
            border-radius: 8px;

            &::before,
            &::after {
               display: none !important;
            }

            & .mm_menu_content_title {
               padding: 10px 6px;
               flex: 1 1 0px;
               display: flex;
               gap: 8px;
               justify-content: center;
               text-align: center;
            }
         }
      }
   }
}

.ybc-menu-toggle.ybc-menu-btn {
   font-size: 1.4rem;
   display: inline-flex;
   align-items: center;
   justify-content: center;
   width: 2.6rem;
   height: 2.6rem;
   border-radius: 50%;
   border: none;
   background: rgba(16,45,64, 0.08);
   transition: all 0.2s ease;
   padding: 0;
   display: none !important;
}

.ets_mm_megamenu .ybc-menu-button-toggle_icon {
   margin: 0;
   /* color: var(--color-1);*/
   color: var(--color-2);
   font-size: 1.4rem;
   display: inline-flex;
   align-items: center;
   justify-content: center;
   width: 2.6rem;
   height: 2.6rem;
   border-radius: 50%;
   border: none;
   background: rgba(16,45,64, 0.08);
   transition: all 0.2s ease;
}

.ets_mm_megamenu .ybc-menu-button-toggle_icon:hover {
   background: var(--color-1);
   color: #fff;
}

.ets_mm_megamenu .ybc-menu-button-toggle_icon .far {
   color: var(--color-2);
}

.ets_mm_megamenu .ybc-menu-button-toggle_icon:hover .far {
   color: #fff;
}

.em3-social-links a {
   color: var(--white);
   padding-top: 4px;
}

#wrapper {
   margin-top: 0px;
   padding-top: 0px;
}

@media (min-width: 1600px) {
   .hidden-xxl-up {
      display: none !important;
   }
}

@media (max-width: 1600px) {
   body.noscroll .em3-desktop-only .header-links {
      display: none !important;
   }
}

#product-more {
   background: var(--color-secondary);
   color: var(--white);
   border: none;
   border-radius: 34px;
   padding: 0.5rem 1rem;
   font-size: 16px;
   font-weight: 700;
   text-transform: uppercase;
   letter-spacing: 0.05em;
   transition: background 0.2s ease, transform 0.2s ease;
   position: absolute;
   bottom: -1.2rem;
   right: -0.7rem;
}

#product-more:hover {
   background: var(--color-2);
}

#product-more i.fas {
   font-size: 1rem;
   line-height: 1rem;
}

/* ==========================================================================
   Baleine Bleue — retouches menu / survols (E-M2, oct. 2026) — v2
   Icônes menu retirées, survol doré + soulignement, sous-menu pleine largeur 4 colonnes
   avec groupes (sous-sous-catégories affichées en liste indentée),
   survol vignettes produit (photo zoom + bloc doré)
   ========================================================================== */
:root{--bb-navy:#102d40;--bb-ink:#2f3a45;--bb-gold:#c5a366;--bb-gold-dark:#987019;--bb-line:#e3e8ec}

/* 1. Retrait des icônes du menu et des sous-menus */
.ets_mm_megamenu .mm_menu_content_title i.fa,
.ets_mm_megamenu .mm_menu_content_title img,
.ets_mm_megamenu .mm_menu_content_title .mm_arrow,
.ets_mm_megamenu .ets_mm_categories img,
.ets_mm_megamenu .ets_mm_categories i.fa,
.ets_mm_megamenu .mm_tab_li_content i,
.ets_mm_megamenu .mm_tab_li_content img,
.ets_mm_megamenu ul.ets_mm_categories li.has-sub > a::after,
.ets_mm_megamenu ul.ets_mm_categories li.has-sub > .arrow{display:none!important}
.ets_mm_megamenu .mm_menu_content_title{padding-left:0!important}

/* 2. Menu principal : survol doré + soulignement animé */
.ets_mm_megamenu .mm_menus_li:not(.btn-promotions)>a{background:transparent!important}
.ets_mm_megamenu .mm_menus_li>a .mm_menu_content_title{position:relative;transition:color .2s}
.ets_mm_megamenu .mm_menus_li>a .mm_menu_content_title::after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:2px;background:var(--bb-gold);transform:scaleX(0);transform-origin:left;transition:transform .25s ease}
.ets_mm_megamenu .mm_menus_li:not(.btn-promotions):hover>a .mm_menu_content_title,
.ets_mm_megamenu .mm_menus_li.active>a .mm_menu_content_title{color:var(--bb-gold-dark)!important}
.ets_mm_megamenu .mm_menus_li:not(.btn-promotions):hover>a .mm_menu_content_title::after{transform:scaleX(1)}

/* 3. Sous-menu : panneau pleine largeur ancré sur la barre, 4 colonnes, filet doré */
@media (min-width:992px){.ets_mm_megamenu .mm_menus_ul{position:relative!important}.ets_mm_megamenu .mm_menus_li{position:static!important}}
.ets_mm_megamenu .mm_menus_li .mm_columns_ul{left:0!important;right:0!important;width:100%!important;min-width:0!important;max-width:none!important;margin-left:0!important;transform:none!important;height:auto!important;min-height:0!important;max-height:calc(100vh - 240px);overflow-y:auto;border-top:3px solid var(--bb-gold)!important;border-radius:0 0 8px 8px;box-shadow:0 18px 40px rgba(16,45,64,.14)!important;padding:26px 36px 30px!important;background:#fff!important}
.ets_mm_megamenu .mm_columns_li,.ets_mm_megamenu .mm_blocks_li,.ets_mm_megamenu .ets_mm_block,.ets_mm_megamenu .ets_mm_block_content{width:100%!important;padding:0!important;margin:0!important;float:none!important}
.ets_mm_megamenu .ets_mm_block_content>.ets_mm_categories{width:100%!important;column-count:4;column-gap:56px;column-rule:1px solid var(--bb-line)}
.ets_mm_megamenu .ets_mm_categories li{position:static!important;margin:0!important;padding:0!important;width:100%!important}
.ets_mm_megamenu .ets_mm_block_content>.ets_mm_categories>li{break-inside:avoid;page-break-inside:avoid;-webkit-column-break-inside:avoid;padding:0 0 2px!important}

/* liens (soulignement en text-decoration : propre même sur 2 lignes) */
.ets_mm_megamenu .ets_mm_categories a.ets_mm_url{display:block;width:auto!important;font-size:14px!important;line-height:1.4!important;padding:7px 0!important;margin:0!important;color:var(--bb-ink)!important;background:transparent!important;text-decoration:underline;text-decoration-color:transparent;text-decoration-thickness:1px;text-underline-offset:4px;transition:color .18s,text-decoration-color .18s}
.ets_mm_megamenu .ets_mm_categories a.ets_mm_url:hover{color:var(--bb-gold-dark)!important;text-decoration-color:var(--bb-gold)}

/* catégories avec enfants : libellé de groupe + liste indentée (plus de volet flottant) */
.ets_mm_megamenu ul.ets_mm_categories li.has-sub>a.ets_mm_url{font-weight:700;color:var(--bb-navy)!important;padding-right:0!important}
.ets_mm_megamenu .ets_mm_block_content ul li ul.ets_mm_categories{position:static!important;left:auto!important;top:auto!important;opacity:1!important;visibility:visible!important;pointer-events:auto!important;white-space:normal!important;width:auto!important;min-width:0!important;margin:2px 0 10px!important;padding:0 0 0 14px!important;border-left:2px solid var(--bb-line);box-shadow:none!important;background:transparent!important;transition:none!important}
.ets_mm_megamenu .ets_mm_block_content ul li ul.ets_mm_categories a.ets_mm_url{font-size:13.5px!important;padding:5px 0!important;color:#4a5560!important;font-weight:400}
/* niveau 3 masqué (trop profond pour un menu), le parent reste cliquable */
.ets_mm_megamenu .ets_mm_block_content ul li ul.ets_mm_categories ul.ets_mm_categories{display:none!important}
.ets_mm_megamenu ul.ets_mm_categories ul.ets_mm_categories li.has-sub>a.ets_mm_url{font-weight:400;color:#4a5560!important}

@media (max-width:991px){
  .ets_mm_megamenu .mm_menus_li{position:relative!important}
  .ets_mm_megamenu .mm_menus_li .mm_columns_ul{position:static!important;max-height:none;overflow:visible;padding:10px 16px!important;box-shadow:none!important;border-top:0!important;border-radius:0}
  .ets_mm_megamenu .ets_mm_block_content>.ets_mm_categories{column-count:1;column-rule:none}
}

/* 4. Vignettes produit : survol photo + bloc doré */
.product-miniature{border:1px solid var(--bb-line);border-radius:8px;background:#fff;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}
.product-miniature .product-image-container{overflow:hidden;border-radius:8px 8px 0 0}
.product-miniature .product-thumbnail img{transition:transform .3s ease}
.product-miniature:hover{transform:translateY(-4px);border-color:var(--bb-gold);box-shadow:0 14px 30px rgba(21,57,68,.10)}
.product-miniature:hover .product-thumbnail img{transform:scale(1.035)}
.product-miniature .product-title a{transition:color .18s}
.product-miniature:hover .product-title a{color:var(--bb-gold-dark)}
.product-miniature:hover .add-to-cart-btn{background:var(--bb-gold)!important;border-color:var(--bb-gold)!important;color:#fff!important}

/* ==========================================================================
   Baleine Bleue — v3 : galerie fiche produit + pages devis (E-M2, oct. 2026)
   ========================================================================== */

/* 5. Galerie fiche produit : cadre doré, zoom, reflet, badge Agrandir, lightbox au clic */
.product-cover{position:relative;overflow:hidden;border:1px solid var(--bb-line)!important;border-radius:12px!important;background:#fff!important;box-shadow:0 10px 30px rgba(16,45,64,.08);cursor:zoom-in;transition:border-color .25s,box-shadow .25s,transform .25s}
.product-cover img{display:block;transition:transform .5s cubic-bezier(.2,.7,.2,1)}
.product-cover::before{content:"";position:absolute;top:-10%;left:-80%;width:45%;height:120%;background:linear-gradient(115deg,rgba(255,255,255,0) 0%,rgba(255,255,255,.55) 50%,rgba(255,255,255,0) 100%);transform:skewX(-20deg);pointer-events:none;z-index:2;opacity:0}
.product-cover::after{content:"Agrandir";position:absolute;right:14px;bottom:14px;z-index:3;padding:9px 16px 9px 38px;background:rgba(16,45,64,.92);color:#fff;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;border-radius:999px;opacity:0;transform:translateY(8px);transition:opacity .25s,transform .25s;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23c5a366' stroke-width='2.4' stroke-linecap='round'><circle cx='11' cy='11' r='7'/><path d='M21 21l-4.3-4.3M11 8v6M8 11h6'/></svg>");background-repeat:no-repeat;background-position:13px center;background-size:16px}
.product-cover:hover{border-color:var(--bb-gold)!important;transform:translateY(-2px);box-shadow:0 22px 44px rgba(16,45,64,.16),0 0 0 4px rgba(197,163,102,.22)}
.product-cover:hover img{transform:scale(1.06)}
.product-cover:hover::before{animation:bbShine 1s ease forwards}
.product-cover:hover::after{opacity:1;transform:none}
.product-cover.is-switching img{animation:bbSwap .5s ease}
@keyframes bbShine{0%{left:-80%;opacity:1}100%{left:130%;opacity:0}}
@keyframes bbSwap{0%{opacity:.2;transform:scale(.96)}100%{opacity:1;transform:none}}
.product-images .thumb-container{padding:4px}
.product-images .thumb{border:2px solid var(--bb-line)!important;border-radius:10px!important;cursor:pointer;background:#fff;transition:transform .2s,border-color .2s,box-shadow .2s}
.product-images .thumb:hover{transform:translateY(-3px);border-color:var(--bb-gold)!important;box-shadow:0 10px 20px rgba(16,45,64,.14)}
.product-images .thumb.selected{border-color:var(--bb-gold)!important;box-shadow:0 0 0 3px rgba(197,163,102,.28)}
.fancybox-skin{border-radius:12px!important;box-shadow:0 30px 80px rgba(0,0,0,.45)!important}
.fancybox-title-inside-wrap{color:var(--bb-navy);font-weight:600;padding:12px 6px 4px}
.fancybox-nav span{opacity:.9}
.fancybox-close{top:-16px;right:-16px}

/* 6. Pages devis Op'Art (création / confirmation / identification) */
.bb-q{max-width:1180px;margin:0 auto;padding:0 0 40px}
.bb-q-intro{font-size:17px;color:#56616a;max-width:760px;margin:0 0 26px}
.bb-q-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(320px,.95fr);gap:28px;align-items:start}
.bb-q-card{background:#fff;border:1px solid var(--bb-line);border-radius:12px;padding:26px 28px;box-shadow:0 10px 30px rgba(16,45,64,.06)}
.bb-q-card + .bb-q-card{margin-top:22px}
.bb-q-card-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding-bottom:14px;margin-bottom:18px;border-bottom:2px solid var(--bb-gold)}
.bb-q-card-head h2{font-size:19px;margin:0;color:var(--bb-navy);text-transform:none;letter-spacing:0}
.bb-q-count,.bb-q-opt{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:#7a8690;font-weight:700}
.bb-q-lines{list-style:none;margin:0;padding:0}
.bb-q-line{display:grid;grid-template-columns:72px minmax(0,1fr) auto auto;gap:16px;align-items:center;padding:14px 0;border-bottom:1px solid var(--bb-line)}
.bb-q-line:last-child{border-bottom:0}
.bb-q-thumb{display:block;width:72px;height:72px;border:1px solid var(--bb-line);border-radius:8px;overflow:hidden;background:#fff}
.bb-q-thumb img{width:100%;height:100%;object-fit:contain}
.bb-q-line-name{font-weight:700;color:var(--bb-navy);text-decoration:none;font-size:15px;line-height:1.3}
.bb-q-line-name:hover{color:var(--bb-gold-dark)}
.bb-q-line-attr,.bb-q-line-ref{font-size:12.5px;color:#7a8690;margin-top:2px}
.bb-q-line-promo{font-size:12.5px;margin-top:4px}
.bb-q-line-promo s{color:#9aa4ad;margin-right:8px}
.bb-q-line-promo span{display:inline-block;padding:2px 8px;border-radius:999px;background:rgba(197,163,102,.16);color:var(--bb-gold-dark);font-weight:700}
.bb-q-line-qty{font-weight:700;color:#3a4650;white-space:nowrap}
.bb-q-line-price{text-align:right;white-space:nowrap}
.bb-q-line-price strong{display:block;color:var(--bb-navy);font-size:16px}
.bb-q-line-price small{color:#7a8690;font-size:12px}
.bb-q-line-discount .bb-q-line-main{grid-column:1 / 3}
.bb-q-totals{margin:18px 0 0;padding:16px 0 0;border-top:2px solid var(--bb-line)}
.bb-q-totals > div{display:flex;justify-content:space-between;gap:16px;padding:5px 0;color:#56616a}
.bb-q-totals dt{font-weight:400;margin:0}
.bb-q-totals dd{margin:0;font-weight:600;color:#2f3a45}
.bb-q-totals .bb-q-total{margin-top:8px;padding-top:12px;border-top:1px solid var(--bb-line);font-size:18px}
.bb-q-totals .bb-q-total dt,.bb-q-totals .bb-q-total dd{font-weight:700;color:var(--bb-navy)}
.bb-q-note{font-size:12.5px;color:#7a8690;margin:14px 0 0}
.bb-q-edit,.bb-q-link{display:inline-block;margin-top:12px;font-size:13px;font-weight:700;color:var(--bb-gold-dark);text-decoration:underline;text-underline-offset:4px;text-decoration-color:var(--bb-gold)}
.bb-q-edit:hover,.bb-q-link:hover{color:var(--bb-navy)}
.bb-q-steps{display:flex;align-items:center;gap:10px;margin:0 0 20px;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:#8a949d;font-weight:700}
.bb-q-steps-center{justify-content:center;margin-bottom:28px}
.bb-q-steps span b{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;background:#e3e8ec;color:#8a949d;font-size:12px;margin-right:8px}
.bb-q-steps .is-active{color:var(--bb-navy)}
.bb-q-steps .is-active b{background:var(--bb-navy);color:#fff}
.bb-q-steps .is-done{color:var(--bb-gold-dark)}
.bb-q-steps .is-done b{background:var(--bb-gold);color:#fff}
.bb-q-steps .sep{flex:0 0 32px;height:1px;background:var(--bb-line)}
.bb-q-field{margin-bottom:16px}
.bb-q-field label{display:block;font-size:13px;font-weight:700;color:#3a4650;margin-bottom:6px}
.bb-q-field .form-control{width:100%;border:1px solid #cfd7dd;border-radius:8px;padding:11px 14px;font-size:14px;background:#fff;color:#2f3a45;transition:border-color .2s,box-shadow .2s}
.bb-q-field .form-control:focus{outline:0;border-color:var(--bb-gold);box-shadow:0 0 0 3px rgba(197,163,102,.22)}
.bb-q-field textarea.form-control{resize:vertical;min-height:72px}
.bb-q-submit{margin-top:22px;text-align:center}
.bb-q-btn.btn{display:inline-block;width:100%;background:var(--bb-gold)!important;border:1px solid var(--bb-gold)!important;color:#fff!important;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:16px 24px;border-radius:8px;box-shadow:0 10px 24px rgba(197,163,102,.35);transition:transform .2s,box-shadow .2s,background .2s}
.bb-q-btn.btn:hover{background:var(--bb-gold-dark)!important;border-color:var(--bb-gold-dark)!important;transform:translateY(-2px);box-shadow:0 14px 30px rgba(152,112,25,.35)}
.bb-q-reassure{font-size:12.5px;color:#7a8690;margin:12px 0 0}
.bb-q-empty{text-align:center;padding:40px}
.bb-q-empty h2{color:var(--bb-navy)}
.bb-q-confirm{max-width:760px}
.bb-q-success{text-align:center;padding:40px 34px}
.bb-q-success-icon{width:64px;height:64px;margin:0 auto 18px;border-radius:50%;background:var(--bb-gold);color:#fff;font-size:30px;font-weight:700;display:flex;align-items:center;justify-content:center;box-shadow:0 12px 28px rgba(197,163,102,.4)}
.bb-q-success h2{font-size:24px;color:var(--bb-navy);margin:0 0 12px;text-transform:none;letter-spacing:0}
.bb-q-success > p{color:#56616a;font-size:15.5px;max-width:600px;margin:0 auto 24px}
.bb-q-actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-bottom:26px}
.bb-q-actions .bb-q-btn.btn{width:auto;min-width:260px}
.bb-q-actions .btn-secondary{background:#fff;border:1px solid var(--bb-navy);color:var(--bb-navy);border-radius:8px;padding:16px 24px;font-weight:700;text-transform:uppercase;letter-spacing:.06em}
.bb-q-actions .btn-secondary:hover{background:var(--bb-navy);color:#fff}
.bb-q-next{list-style:none;margin:0;padding:18px 0 0;border-top:1px solid var(--bb-line);text-align:left;color:#56616a;font-size:14px}
.bb-q-next li{padding:6px 0 6px 22px;position:relative}
.bb-q-next li::before{content:"";position:absolute;left:4px;top:13px;width:7px;height:7px;border-radius:50%;background:var(--bb-gold)}
.bb-q-next b{color:var(--bb-navy)}
.bb-q-continue{text-align:center;margin-top:22px}
.bb-q-continue a{color:var(--bb-gold-dark);font-weight:700;text-decoration:none}
@media (max-width:991px){
  .bb-q-grid{grid-template-columns:1fr}
  .bb-q-line{grid-template-columns:60px minmax(0,1fr) auto;grid-template-areas:"thumb main price" "thumb qty price"}
  .bb-q-thumb{grid-area:thumb;width:60px;height:60px}
  .bb-q-line-main{grid-area:main}
  .bb-q-line-qty{grid-area:qty;font-size:13px}
  .bb-q-line-price{grid-area:price}
  .bb-q-card{padding:20px 18px}
}
/* 6b. Liste des devis */
.bb-q-field,.bb-q-field label{text-align:left}
.bb-q-list .bb-q-intro{margin-bottom:20px}
.bb-q-quotes{list-style:none;margin:0;padding:0}
.bb-q-quote{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;align-items:center;margin-bottom:16px}
.bb-q-quote-head{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:6px}
.bb-q-quote-num{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:#7a8690;font-weight:700}
.bb-q-badge{display:inline-block;padding:3px 10px;border-radius:999px;font-size:11.5px;font-weight:700;letter-spacing:.04em;background:rgba(197,163,102,.16);color:var(--bb-gold-dark)}
.bb-q-badge.is-ok{background:rgba(46,125,50,.12);color:#2e7d32}
.bb-q-badge.is-off{background:#eef1f3;color:#8a949d}
.bb-q-quote-name{font-size:19px;color:var(--bb-navy);margin:0;text-transform:none;letter-spacing:0;display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.bb-q-rename{background:none;border:0;padding:0;font-size:12px;font-weight:700;color:var(--bb-gold-dark);text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.bb-q-rename-form{display:flex;gap:10px;margin:10px 0 4px;max-width:420px}
.bb-q-rename-form.collapse:not(.show){display:none}
.bb-q-rename-form .form-control{flex:1;border:1px solid #cfd7dd;border-radius:8px;padding:9px 12px}
.bb-q-rename-form .btn-secondary,.bb-q-quote-actions .btn-secondary{background:#fff;border:1px solid var(--bb-navy);color:var(--bb-navy);border-radius:8px;padding:12px 18px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;font-size:12.5px;white-space:nowrap}
.bb-q-rename-form .btn-secondary:hover,.bb-q-quote-actions .btn-secondary:hover{background:var(--bb-navy);color:#fff}
.bb-q-quote-meta{margin:8px 0 0;font-size:13px;color:#7a8690}
.bb-q-quote-actions{display:flex;flex-direction:column;align-items:stretch;gap:10px;min-width:260px;text-align:center}
.bb-q-quote-actions .bb-q-btn.btn{padding:13px 20px;font-size:12.5px}
.bb-q-quote-actions .bb-q-link{margin:0}
.bb-q-link-danger{color:#9aa4ad;text-decoration-color:#cfd7dd}
.bb-q-link-danger:hover{color:#c0392b}
@media (max-width:767px){.bb-q-quote{grid-template-columns:1fr}.bb-q-quote-actions{min-width:0}}
/* 6c. Correctifs formulaires devis : hauteur des selects/inputs/boutons imposée par theme.css + em2 .btn */
.bb-q-field select.form-control{height:46px!important;line-height:44px!important;padding:0 42px 0 14px!important;-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230f2a5c' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'><path d='M6 9l6 6 6-6'/></svg>")!important;background-repeat:no-repeat!important;background-position:right 14px center!important;background-size:16px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bb-q-field input.form-control{height:46px!important;line-height:normal}
.bb-q .btn,.bb-q-btn.btn{height:auto!important;min-height:48px;line-height:1.3!important;overflow:visible!important;display:inline-flex!important;align-items:center;justify-content:center;white-space:normal;font-size:13.5px!important;padding:14px 22px!important}
.bb-q-btn.btn{width:100%}
.bb-q-actions .bb-q-btn.btn,.bb-q-empty .bb-q-btn.btn{width:auto}
.bb-q-quote-actions .btn-secondary,.bb-q-rename-form .btn-secondary{min-height:44px;padding:10px 18px!important;font-size:12.5px!important}
/* 6d. Pages devis : pas de colonne gauche (menu vertical + boutons du module), contenu pleine largeur */
body#module-opartdevis-listquotation #left-column,body#module-opartdevis-createquotation #left-column,body#module-opartdevis-simplequotation #left-column{display:none!important}
body#module-opartdevis-listquotation #content-wrapper,body#module-opartdevis-createquotation #content-wrapper,body#module-opartdevis-simplequotation #content-wrapper{flex:0 0 100%!important;max-width:100%!important;width:100%!important}
/* 6e. Demande express */
.bb-q-grid-simple{grid-template-columns:minmax(0,1fr) minmax(320px,.9fr)}
.bb-q-row{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}
.bb-q-file{display:block;width:100%;padding:10px;border:1px dashed #cfd7dd;border-radius:8px;font-size:13px;color:#56616a;background:#fafbfc}
.bb-q-field label .bb-q-opt{display:block;font-weight:400;text-transform:none;letter-spacing:0;font-size:12px;margin-top:2px}
@media (max-width:767px){.bb-q-row{grid-template-columns:1fr}}
/* 6f. Pages devis sur mobile */
@media (max-width:991px){.bb-q-grid{grid-template-columns:minmax(0,1fr)!important}.bb-q-card,.bb-q-side,.bb-q-lines,.bb-q-line{min-width:0}.bb-q-line-price,.bb-q-line-price small,.bb-q-line-qty{white-space:normal}}
@media (max-width:767px){.bb-q-line{grid-template-columns:56px auto minmax(0,1fr)!important;grid-template-areas:"thumb main main" "thumb qty price"!important;gap:10px 12px!important}.bb-q-thumb{width:56px!important;height:56px!important}.bb-q-line-price strong{font-size:15px}.bb-q-line-name{font-size:14px}.bb-q-card-head{flex-wrap:wrap}.bb-q-count{white-space:nowrap}.bb-q-card{padding:18px 16px!important}}

/* ==========================================================================
   Baleine Bleue — v4 : retours client du 08/10 (E-M2)
   ========================================================================== */

/* 7. Plus d'orange : la couleur secondaire du thème devient l'or de la charte */
:root{--color-secondary:#c5a366!important}
.product-badge.promo,.product-flag.discount,.product-flag.on-sale{background:var(--bb-gold)!important;border-color:var(--bb-gold)!important;color:#fff!important}
.bb-banner-oc-highlight{color:var(--bb-gold)!important;border-color:var(--bb-gold)!important}

/* 8. Onglet Promotions : neutre, comme les autres rubriques */
.ets_mm_megamenu .mm_menus_li.btn-promotions>a{background:transparent!important}
.ets_mm_megamenu .mm_menus_li.btn-promotions>a:hover{background:transparent!important}
.ets_mm_megamenu .mm_menus_li.btn-promotions>a .mm_menu_content_title{color:var(--bb-navy)}
.ets_mm_megamenu .mm_menus_li.btn-promotions:hover>a .mm_menu_content_title{color:var(--bb-gold-dark)!important}
.ets_mm_megamenu .mm_menus_li.btn-promotions:hover>a .mm_menu_content_title::after{transform:scaleX(1)}

/* 9. Vignettes : « Ajouter » doré par défaut (accueil et listes) */
.product-miniature .add-to-cart-btn{background:var(--bb-gold)!important;border-color:var(--bb-gold)!important;color:#fff!important;transition:background .2s,transform .2s}
.product-miniature:hover .add-to-cart-btn,.product-miniature .add-to-cart-btn:hover{background:var(--bb-gold-dark)!important;border-color:var(--bb-gold-dark)!important}

/* 10. Footer clair, dans l'esprit d'airedejeuxcollectivite.fr */
footer#footer{background:#f7f9fa!important;color:#102d40!important;border-top:3px solid var(--bb-gold);padding:52px 0 0!important}
footer#footer .logo{background:transparent!important;padding:0!important;border-radius:0!important;max-width:240px!important;margin-bottom:14px!important}
footer#footer .site-footer__description{color:#4d5f6c;font-size:14px;line-height:1.55;max-width:300px}
footer#footer .site-footer__title{color:var(--bb-navy)!important;font-size:15px!important;font-weight:700!important;letter-spacing:.02em;margin-bottom:14px!important;padding-bottom:8px;border-bottom:1px solid #dce4e8}
footer#footer .site-footer__list a,footer#footer .site-footer__contact a,footer#footer .site-footer__contact span{color:#102d40!important;font-size:14px!important;text-decoration:none;transition:color .18s}
footer#footer .site-footer__list a:hover,footer#footer .site-footer__contact a:hover{color:var(--bb-gold-dark)!important}
footer#footer .site-footer__contact img{filter:none}
footer#footer .site-footer__copyright{margin-top:36px!important;padding:16px 0 22px!important;border-top:1px solid #dce4e8!important;color:#6b7a86!important;font-size:12.5px!important}
/* 11. Fiche produit : moyens de paiement complets */
.bb-payment-logos{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px 14px}
.bb-payment-logos .bb-pay-sep{width:1px;height:22px;background:#dce4e8;margin:0 4px}
.bb-payment-logos .bb-pay-item{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:600;color:#102d40}
.bb-payment-logos .bb-pay-item img{height:20px;width:auto}
/* ====================================================================
   v5 — Menu, mega menu et footer d'après la maquette client (08/10/2026)
   Remplace les blocs 2/3 (menu v2) et le footer clair (v4).
   ==================================================================== */

/* ---------- 1. Barre de menu (crème, filets dorés, items sobres) ---------- */
@media (min-width:992px){
html body .ets_mm_megamenu.layout_layout4 .ets_mm_megamenu_content{position:relative;background:rgba(255,253,248,.98)!important;border-top:1px solid rgba(205,166,86,.28)!important;border-bottom:1px solid rgba(205,166,86,.22)!important;box-shadow:0 14px 36px rgba(11,37,58,.045)!important;padding-top:0!important;padding-bottom:0!important}
html body .ets_mm_megamenu.layout_layout4 .ets_mm_megamenu_content::before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:linear-gradient(90deg,transparent,rgba(205,166,86,.8),transparent);pointer-events:none;z-index:1}
html body .ets_mm_megamenu .mm_menus_ul{display:flex!important;justify-content:space-between!important;align-items:center!important;min-height:62px;gap:20px}
html body .ets_mm_megamenu .mm_menus_li{padding:0!important}
html body .ets_mm_megamenu .mm_menus_li>a,
html body .ets_mm_megamenu .mm_menus_li.btn-promotions>a,
html body .ets_mm_megamenu .mm_menus_li.btn-promotions>a:hover,
html body .ets_mm_megamenu .mm_menus_li.btn-promotions:hover>a{background:transparent!important;background-color:transparent!important;border-radius:0!important;box-shadow:none!important}
html body .ets_mm_megamenu .mm_menus_li>a .mm_menu_content_title,
html body .ets_mm_megamenu .mm_menus_ul .mm_menus_li.btn-promotions:not(.bb-none)>a .mm_menu_content_title{position:relative;display:block!important;padding:22px 0!important;color:#102d40!important;font-size:12px!important;font-weight:500!important;line-height:1.5!important;letter-spacing:0!important;text-transform:none!important;text-align:left!important;transition:none}
html body .ets_mm_megamenu .mm_menus_li>a .mm_menu_content_title::after{content:"";position:absolute;left:0;right:0;bottom:15px;height:1px;background:linear-gradient(90deg,transparent,#cda656,transparent);transform:scaleX(0);transform-origin:center;transition:transform .18s ease;display:block!important}
html body .ets_mm_megamenu .mm_menus_ul .mm_menus_li:not(.bb-none):hover>a .mm_menu_content_title,
html body .ets_mm_megamenu .mm_menus_ul .mm_menus_li:not(.bb-none).active>a .mm_menu_content_title,
html body .ets_mm_megamenu .mm_menus_ul .mm_menus_li.btn-promotions:not(.bb-none):hover>a .mm_menu_content_title{color:#102d40!important}
html body .ets_mm_megamenu .mm_menus_ul .mm_menus_li:not(.bb-none):hover>a .mm_menu_content_title::after,
html body .ets_mm_megamenu .mm_menus_ul .mm_menus_li:not(.bb-none).active>a .mm_menu_content_title::after{transform:scaleX(1)!important}

/* ---------- 2. Panneau : crème, colonne d'intro serif, 3 colonnes de liens ---------- */
html body .ets_mm_megamenu .mm_menus_li .mm_columns_ul{background:#fffdf9!important;border-top:1px solid #b99a59!important;border-bottom:1px solid rgba(205,166,86,.3)!important;border-radius:0!important;box-shadow:0 32px 78px rgba(11,37,58,.13)!important;padding:36px 36px 38px!important}
html body .ets_mm_megamenu .mm_menus_li .mm_columns_ul[data-bb-title]::before{content:attr(data-bb-title)!important;position:static!important;top:auto!important;left:auto!important;right:auto!important;bottom:auto!important;height:auto!important;border:0!important;transform:none!important;margin:0!important;float:left;width:20%;box-sizing:border-box;padding:4px 28px 18px 0;font-family:Georgia,"Times New Roman",serif;font-size:28px;font-weight:400;line-height:1.3;letter-spacing:0;color:#102d40;background:linear-gradient(#b99a59,#b99a59) 0 100%/48px 1px no-repeat}
html body .ets_mm_megamenu .mm_menus_li .mm_columns_ul[data-bb-title]>li.mm_columns_li{float:right!important;width:80%!important;box-sizing:border-box;border-left:1px solid rgba(205,166,86,.32);padding-left:36px!important;margin:0!important}
html body .ets_mm_megamenu .mm_menus_li .mm_columns_ul::after{content:"";display:table;clear:both}
html body .ets_mm_megamenu .ets_mm_block_content>.ets_mm_categories{column-count:3;column-gap:36px;column-rule:0}
html body .ets_mm_megamenu .ets_mm_block_content>.ets_mm_categories>li{break-inside:avoid;padding:0!important}
html body .ets_mm_megamenu .ets_mm_block_content>.ets_mm_categories>li.has-sub:first-child>a.ets_mm_url{margin-top:0!important}
html body .ets_mm_megamenu .ets_mm_categories a.ets_mm_url{position:relative;display:block;width:auto!important;margin:0!important;padding:9px 0!important;color:#102d40!important;font-size:14px!important;font-weight:400!important;line-height:1.55!important;letter-spacing:0;text-decoration:none!important;text-transform:none!important;transition:color .2s ease}
html body .ets_mm_megamenu .ets_mm_categories a.ets_mm_url::after{content:"";position:absolute;left:0;bottom:4px;width:32px;height:1px;background:#b99a59;opacity:0;transform:scaleX(0);transform-origin:left;transition:opacity .2s ease,transform .2s ease;display:block}
html body .ets_mm_megamenu .ets_mm_categories a.ets_mm_url:hover{color:#896a2c!important;text-decoration:none!important}
html body .ets_mm_megamenu .ets_mm_categories a.ets_mm_url:hover::after{opacity:.8;transform:scaleX(1)}
/* groupe (catégorie avec enfants) : titre serif + liste simple en dessous */
html body .ets_mm_megamenu ul.ets_mm_categories li.has-sub>a.ets_mm_url{font-family:Georgia,"Times New Roman",serif;font-size:20px!important;font-weight:400!important;line-height:1.25!important;color:#102d40!important;padding:6px 0 14px!important;margin:14px 0 6px!important;border-bottom:1px solid rgba(185,154,89,.45)}
html body .ets_mm_megamenu ul.ets_mm_categories li.has-sub>a.ets_mm_url:hover{color:#896a2c!important}
html body .ets_mm_megamenu .ets_mm_block_content ul li ul.ets_mm_categories{border-left:0!important;padding:0!important;margin:0 0 14px!important}
html body .ets_mm_megamenu .ets_mm_block_content ul li ul.ets_mm_categories a.ets_mm_url{font-size:14px!important;color:#102d40!important;padding:9px 0!important}
}
@media (min-width:992px) and (max-width:1200px){
html body .ets_mm_megamenu .mm_menus_li>a .mm_menu_content_title{font-size:11px!important}
html body .ets_mm_megamenu .mm_menus_li .mm_columns_ul[data-bb-title]::before{width:24%;font-size:22px}
html body .ets_mm_megamenu .mm_menus_li .mm_columns_ul[data-bb-title]>li.mm_columns_li{width:76%!important;padding-left:24px!important}
html body .ets_mm_megamenu .ets_mm_block_content>.ets_mm_categories{column-count:2}
}

/* ---------- 3. Footer : dégradé marine, filet doré, bandeau engagements ---------- */
html body footer#footer{position:relative;margin-top:70px;padding:44px 0 28px!important;background:linear-gradient(115deg,#102d40,#0b2334)!important;color:#dae1e5!important;border-top:0!important}
html body footer#footer::before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:linear-gradient(90deg,#92713a,#e4cf9b,#92713a)}
html body footer#footer>.container{padding-top:0!important}
.bb-engagements{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;transform:translateY(-38px);margin-bottom:-14px;padding:22px 10px;background:#fbfaf7;border:1px solid #dfd1b5;border-radius:3px;box-shadow:0 12px 32px rgba(16,45,64,.06);list-style:none}
.bb-engagements li{display:flex;align-items:center;gap:12px;min-height:60px;padding:8px 17px;border-right:1px solid #e8dfcf;margin:0}
.bb-engagements li:last-child{border-right:0}
.bb-engagements em{flex:0 0 34px;display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;border:1px solid #d7bc81;background:linear-gradient(135deg,#fff9ec,#ecddba);color:#9e793d;font-style:normal;font-size:12px;font-weight:600}
.bb-engagements strong{font-size:13px;font-weight:500;line-height:1.6;color:#18364a}
html body footer#footer a.logo{display:block;width:225px!important;max-width:100%!important;box-sizing:border-box;padding:14px 18px!important;margin-bottom:24px!important;background:#fff!important;border:1px solid #d6b16b!important;border-radius:3px!important}
html body footer#footer a.logo img{display:block;width:100%;height:auto;max-height:none!important}
html body footer#footer .site-footer__description{font-size:13px!important;line-height:1.9!important;color:rgba(255,255,255,.75)!important;padding-right:20px}
html body footer#footer .site-footer__title{position:relative;margin:0 0 16px!important;padding:0 0 18px!important;font-family:Georgia,"Times New Roman",serif!important;font-size:19px!important;font-weight:400!important;line-height:1.2!important;letter-spacing:.02em!important;text-transform:none!important;color:#e5d0a5!important;border-bottom:1px solid rgba(214,177,107,.19)!important}
html body footer#footer .site-footer__title::after{content:"";position:absolute;left:0;bottom:-1px;width:26px;height:1px;background:#d6b16b}
html body footer#footer .site-footer__list{list-style:none;margin:0;padding:0}
html body footer#footer .site-footer__list li{margin:0;padding:0}
html body footer#footer .site-footer__list a,
html body footer#footer .site-footer__contact a,
html body footer#footer .site-footer__contact span{display:block;padding:6px 0!important;margin:0!important;color:#dae1e5!important;font-size:12px!important;line-height:1.65!important;overflow-wrap:anywhere;text-decoration:none!important;transition:color .25s ease,transform .25s ease}
html body footer#footer .site-footer__contact span{display:flex;align-items:center;gap:8px}
html body footer#footer .site-footer__contact span img{height:18px!important;width:auto!important;background:#fbfaf7;border-radius:2px;padding:1px 3px;box-sizing:content-box}
html body footer#footer .site-footer__list a:hover,
html body footer#footer .site-footer__contact a:hover{color:#e5d0a5!important;transform:translateX(3px)}
html body footer#footer .site-footer__copyright{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-top:38px!important;padding:23px 0 0!important;border-top:1px solid rgba(214,177,107,.25)!important;color:#aebcc5!important;font-size:11px!important;letter-spacing:.03em!important;text-transform:uppercase!important;text-align:left!important;background:transparent!important}
html body footer#footer .site-footer__copyright span{color:#aebcc5}
@media (max-width:1000px){
.bb-engagements{grid-template-columns:repeat(2,minmax(0,1fr))}
.bb-engagements li{border-right:0}
.bb-engagements li:last-child{grid-column:1/-1}
}
@media (max-width:767px){
html body footer#footer{margin-top:70px}
.bb-engagements{grid-template-columns:1fr;transform:translateY(-28px);padding:10px}
.bb-engagements li{border-bottom:1px solid #e8dfcf;min-height:0}
.bb-engagements li:last-child{border-bottom:0}
html body footer#footer a.logo{width:190px}
html body footer#footer .site-footer__title{margin-top:22px!important}
html body footer#footer .site-footer__copyright{flex-direction:column;gap:6px}
}
/* ====================================================================
   v6 — retours client du 12/10/2026
   ==================================================================== */

/* ---------- 1. Une seule police sur tout le site : Montserrat ---------- */
html body,
html body *:not(i):not(.fa):not(.fas):not(.far):not(.fab):not(.fal):not([class^="fa-"]):not([class*=" fa-"]):not(.material-icons):not([class*="icon-"]):not(svg):not(path){font-family:"Montserrat",sans-serif!important}

/* ---------- 2. Menu principal : majuscules, un peu plus gros ---------- */
@media (min-width:992px){
html body .ets_mm_megamenu .mm_menus_li>a .mm_menu_content_title,
html body .ets_mm_megamenu .mm_menus_ul .mm_menus_li.btn-promotions:not(.bb-none)>a .mm_menu_content_title{font-size:13px!important;font-weight:600!important;text-transform:uppercase!important;letter-spacing:.05em!important}
/* titres du sous-menu : même police, plus de serif */
html body .ets_mm_megamenu .mm_menus_li .mm_columns_ul[data-bb-title]::before{font-family:"Montserrat",sans-serif;font-size:22px;font-weight:600;letter-spacing:.01em}
html body .ets_mm_megamenu ul.ets_mm_categories li.has-sub>a.ets_mm_url{font-family:"Montserrat",sans-serif;font-size:15px!important;font-weight:600!important;text-transform:uppercase;letter-spacing:.04em}
html body .ets_mm_megamenu .ets_mm_block_content>.ets_mm_categories{-webkit-column-count:3}
}
@media (min-width:992px) and (max-width:1300px){
html body .ets_mm_megamenu .mm_menus_li>a .mm_menu_content_title{font-size:11.5px!important;letter-spacing:.03em!important}
html body .ets_mm_megamenu .mm_menus_ul{gap:12px}
}
/* mobile / Safari iOS : menu off-canvas défilable, pas de dépassement horizontal */
@media (max-width:991px){
html body .ets_mm_megamenu .mm_menus_ul{max-height:100vh;max-height:100dvh;overflow-y:auto!important;overflow-x:hidden!important;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;-webkit-transform:translateZ(0)}
html body .ets_mm_megamenu .mm_menus_li .mm_columns_ul{position:static!important;width:100%!important;max-height:none!important;box-shadow:none!important;border:0!important;padding:0 0 0 12px!important;background:transparent!important}
html body .ets_mm_megamenu .mm_menus_li .mm_columns_ul::before{display:none!important}
html body .ets_mm_megamenu .mm_menus_li .mm_columns_ul>li.mm_columns_li{float:none!important;width:100%!important;border:0!important;padding:0!important}
html body .ets_mm_megamenu .ets_mm_block_content>.ets_mm_categories{column-count:1!important;-webkit-column-count:1!important}
html body .ets_mm_megamenu .mm_menus_li>a .mm_menu_content_title{text-transform:uppercase;font-weight:600}
html,body{overflow-x:hidden}
/* le menu ouvert passait sous l'en-tête fixe (.em3-mobile-header z-index 9999 > .ets_mm_megamenu z-index 2) */
html body .ets_mm_megamenu{z-index:10001!important}
}

/* ---------- 3. Footer : titres dans la même police ---------- */
html body footer#footer .site-footer__title{font-family:"Montserrat",sans-serif!important;font-size:15px!important;font-weight:600!important;text-transform:uppercase!important;letter-spacing:.06em!important}

/* ---------- 4. Barre de recherche : plus large, loupe à droite ---------- */
html body .oc-search-form{max-width:880px!important;width:100%}
html body .oc-search-form .oc-search-input{height:48px!important;padding:0 56px 0 22px!important;border-radius:26px!important;font-size:14px!important;border:1.5px solid #d5dde3!important;box-shadow:0 2px 10px rgba(16,45,64,.05)}
html body .oc-search-form .oc-search-input:focus{border-color:var(--bb-gold,#c5a366)!important;box-shadow:0 0 0 3px rgba(197,163,102,.18)!important;outline:0}
html body .oc-search-form .oc-search-icon{left:auto!important;right:6px!important;top:50%!important;transform:translateY(-50%)!important;width:36px;height:36px;display:flex!important;align-items:center;justify-content:center;border-radius:50%;background:var(--bb-gold,#c5a366);color:#fff;pointer-events:none}
html body .oc-search-form .oc-search-icon svg{width:16px;height:16px;stroke:#fff}
html body .oc-search-form button[type="submit"]{right:6px!important;left:auto!important}

/* ---------- 5. Cartes produit : fond blanc, une seule bordure, pas de voile bleu au survol ---------- */
html body .product-card,
html body .js-product.product-card{position:relative;background:#fff!important;background-image:none!important;border:1px solid #e3e8ec!important;border-radius:14px!important;box-shadow:0 4px 14px rgba(16,45,64,.05)!important;overflow:hidden;transition:box-shadow .25s ease,border-color .25s ease,transform .25s ease}
html body .product-card::before,
html body .product-card::after,
html body .product-card:hover::before,
html body .product-card:hover::after{display:none!important;content:none!important;background:none!important;opacity:0!important}
html body .product-card article.product-miniature,
html body .product-card .product-miniature,
html body .product-card:hover article.product-miniature{background:transparent!important;background-image:none!important;border:0!important;border-radius:0!important;box-shadow:none!important;transform:none!important}
html body .product-card .product-image-container,
html body .product-card .thumbnail-container,
html body .product-card .product-description,
html body .product-card:hover .product-image-container,
html body .product-card:hover .product-description{background:#fff!important;background-image:none!important}
html body .product-card:hover{border-color:var(--bb-gold,#c5a366)!important;box-shadow:0 14px 30px rgba(16,45,64,.12)!important;transform:translateY(-3px)}
/* listes de catégories : l'article est parfois l'élément racine de la carte */
html body :not(.product-card)>article.product-miniature{background:#fff!important;border:1px solid #e3e8ec!important;border-radius:14px!important;box-shadow:0 4px 14px rgba(16,45,64,.05)!important}
html body :not(.product-card)>article.product-miniature:hover{border-color:var(--bb-gold,#c5a366)!important;box-shadow:0 14px 30px rgba(16,45,64,.12)!important}
html body article.product-miniature::before,
html body article.product-miniature::after{display:none!important;content:none!important}

/* ---------- 6. Accueil : les 4 blocs sous l'image principale ---------- */
html body .em2IconInfoHome{background:#102d40!important;padding:34px 0 30px!important}
html body .em2IconInfoHome .row{display:flex;flex-wrap:wrap;margin:0 -8px}
html body .em2IconInfoHome [class*="col-"]{padding:8px!important}
html body .em2IconInfoHomeItem{position:relative;display:flex!important;flex-direction:row!important;justify-content:flex-start!important;align-items:center!important;gap:16px;height:100%;min-height:96px;margin:0!important;padding:18px 20px 18px 22px!important;background:#fff!important;background-image:none!important;border:1px solid rgba(197,163,102,.35)!important;border-radius:4px!important;box-shadow:0 14px 34px rgba(0,0,0,.14)!important;text-align:left!important;overflow:hidden}
html body .em2IconInfoHomeItem::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:linear-gradient(180deg,#e4cf9b,#c5a366 55%,#987019)}
html body .em2IconInfoHomeItem .bb-ri-icon{flex:0 0 58px;width:58px;height:58px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:linear-gradient(135deg,#fff9ec,#f1e4c6);border:1px solid #e0cc9c}
html body .em2IconInfoHomeItem .bb-ri-icon img{max-width:34px;max-height:34px;width:auto!important;height:auto!important;margin:0!important;display:block}
html body .em2IconInfoHomeItem .bb-ri-text{flex:1 1 auto;min-width:0;text-align:left!important}
html body .em2IconInfoHomeItem .bb-ri-title{display:block;margin:0 0 3px;font-size:14px;font-weight:700;line-height:1.3;color:#102d40;text-transform:uppercase;letter-spacing:.04em}
html body .em2IconInfoHomeItem .bb-ri-sub{display:block;margin:0;font-size:12.5px;line-height:1.5;color:#5c6b78}
html body .em2IconInfoHomeItem .bb-ri-logos{display:flex;align-items:center;gap:8px;margin-top:6px}
html body .em2IconInfoHomeItem .bb-ri-logos img{height:20px!important;width:auto!important;margin:0!important;background:#fff;border-radius:2px}
/* repli si l'ancien HTML est encore affiché (cache) */
html body .em2IconInfoHomeItem>img{max-height:40px;width:auto!important}
html body .em2IconInfoHomeItem>p{margin:0;font-weight:600;color:#102d40}
@media (max-width:767px){
html body .em2IconInfoHome{padding:18px 0!important}
html body .em2IconInfoHome [class*="col-"]{flex:0 0 100%;max-width:100%}
html body .em2IconInfoHomeItem{min-height:0;padding:14px 16px 14px 18px!important}
html body .em2IconInfoHomeItem .bb-ri-icon{flex-basis:48px;width:48px;height:48px}
}

/* ---------- 7. Panier : quantité avec − / + ---------- */
html body .bb-qty{display:inline-flex;align-items:stretch;border:1px solid #d5dde3;border-radius:6px;overflow:hidden;background:#fff}
html body .bb-qty .js-cart-line-product-quantity{width:56px!important;height:40px!important;border:0!important;border-left:1px solid #e3e8ec!important;border-right:1px solid #e3e8ec!important;border-radius:0!important;text-align:center;font-weight:600;color:#102d40;-moz-appearance:textfield;appearance:textfield;box-shadow:none!important}
html body .bb-qty .js-cart-line-product-quantity::-webkit-inner-spin-button,
html body .bb-qty .js-cart-line-product-quantity::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
html body .bb-qty .js-cart-line-product-quantity.is-updating{opacity:.5}
html body .bb-qty-btn{width:36px;height:40px;border:0;background:#f7f9fa;color:#102d40;font-size:18px;line-height:1;cursor:pointer;padding:0;transition:background .2s,color .2s}
html body .bb-qty-btn:hover{background:var(--bb-gold,#c5a366);color:#fff}
/* ====================================================================
   v7 — 14/10/2026 : bloc newsletter du footer
   ==================================================================== */
html body footer#footer .block_newsletter{margin:0 0 42px!important;padding:0!important;background:transparent!important;border:0!important;width:100%!important;max-width:none!important;float:none!important;left:auto!important;right:auto!important;top:auto!important;transform:none!important}
html body footer#footer .block_newsletter .newslettercontainer{display:block;margin:0;padding:26px 32px;background:rgba(255,255,255,.05);border:1px solid rgba(197,163,102,.38);border-radius:8px;position:relative;overflow:hidden;max-width:none!important;width:100%!important}
html body footer#footer .block_newsletter .newslettercontainer::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:linear-gradient(180deg,#e4cf9b,#c5a366 55%,#987019)}
html body footer#footer .block_newsletter .newsletter-row{display:flex!important;flex-wrap:wrap;justify-content:center!important;align-items:flex-start;gap:18px 32px;margin:0!important;padding:0!important}
html body footer#footer .block_newsletter .newsletter-left{flex:0 1 340px;min-width:260px;margin:0!important;padding:0!important}
html body footer#footer .block_newsletter .newsletter-left h4{margin:0 0 6px!important;font:600 15px/1.3 "Montserrat",sans-serif!important;text-transform:uppercase;letter-spacing:.06em;color:#e5d0a5!important}
html body footer#footer .block_newsletter .newsletter-desc{margin:0!important;font-size:12px!important;line-height:1.55!important;color:#b9c4cc!important}
html body footer#footer .block_newsletter .newsletter-center{display:block!important;flex:1 1 320px;min-width:260px;max-width:620px;margin:0!important;padding:0!important}
html body footer#footer .block_newsletter .newsletter-input{display:block;width:100%!important;max-width:none!important;height:46px!important;margin:0!important;padding:0 20px!important;border:1.5px solid rgba(255,255,255,.25)!important;border-radius:23px!important;background:rgba(255,255,255,.08)!important;color:#fff!important;font-size:13.5px!important;box-shadow:none!important;outline:0}
html body footer#footer .block_newsletter .newsletter-input::placeholder{color:#9fb0bb}
html body footer#footer .block_newsletter .newsletter-input:focus{border-color:#c5a366!important;background:rgba(255,255,255,.12)!important;box-shadow:0 0 0 3px rgba(197,163,102,.18)!important}
html body footer#footer .block_newsletter .gdpr_consent{margin:10px 0 0 4px!important}
html body footer#footer .block_newsletter .gdpr_consent label{display:flex!important;align-items:flex-start;gap:8px;margin:0!important;cursor:pointer}
html body footer#footer .block_newsletter .gdpr_consent label>span:last-child{font-size:11.5px!important;line-height:1.5!important;color:#b9c4cc!important}
html body footer#footer .block_newsletter .custom-checkbox input+span{flex:0 0 16px;width:16px!important;height:16px!important;margin-top:1px;border:1px solid #c5a366!important;border-radius:3px;background:transparent!important}
html body footer#footer .block_newsletter .custom-checkbox input:checked+span{background:#c5a366!important}
html body footer#footer .block_newsletter .custom-checkbox input+span .checkbox-checked{color:#102d40!important;font-size:14px!important;margin:0!important}
html body footer#footer .block_newsletter .newsletter-right{flex:0 0 auto;margin:0!important;padding:0!important}
html body footer#footer .block_newsletter .newsletter-btn{height:46px!important;margin:0!important;padding:0 28px!important;border:0!important;border-radius:23px!important;background:linear-gradient(135deg,#d2b074,#c5a366 60%,#b08f4f)!important;color:#102d40!important;font:600 12.5px/46px "Montserrat",sans-serif!important;text-transform:uppercase;letter-spacing:.08em;box-shadow:0 6px 16px rgba(0,0,0,.2)!important;cursor:pointer;transition:transform .2s,box-shadow .2s,opacity .2s}
html body footer#footer .block_newsletter .newsletter-btn:hover{transform:translateY(-1px);box-shadow:0 10px 22px rgba(0,0,0,.28)!important}
html body footer#footer .block_newsletter .newsletter-btn[disabled]{opacity:.55;cursor:not-allowed;transform:none}
html body footer#footer .block_newsletter .alert{margin:12px 0 0!important;font-size:12.5px}
@media (max-width:767px){
html body footer#footer .block_newsletter .newslettercontainer{padding:20px 18px 20px 22px}
html body footer#footer .block_newsletter .newsletter-left,html body footer#footer .block_newsletter .newsletter-center,html body footer#footer .block_newsletter .newsletter-right{flex:0 0 100%;min-width:0;max-width:none}
html body footer#footer .block_newsletter .newsletter-btn{width:100%}
}