/* ======================================================
   ALIGNER LE HEADER (Logo, Menu, Recherche)
   ====================================================== */

/* Forcer le header à s'afficher en flex */
.header-top {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 10px 15px !important;
}

/* Logo */
#_desktop_logo {
    flex: 0 0 auto !important;
    margin-right: 20px !important;
}

/* Barre de navigation (menu) */
#_desktop_top_menu {
    flex: 1 1 auto !important;
    margin: 0 20px !important;
}

/* Barre de recherche */
#search_widget {
    flex: 0 0 auto !important;
    min-width: 200px !important;
}

/* Cacher les éléments qui gênent */
#_desktop_user_info,
#_desktop_cart {
    flex: 0 0 auto !important;
    margin-left: 10px !important;
}
/* ==========================================
   1. CORRECTION SECTION BLOGS (DESCRIPTION ENTIÈRE & ALIGNÉE)
   ========================================== */

#index .ybc_block_latest {
  width: 100vw !important;
  max-width: 100vw !important;
  position: relative !important;
  left: 50% !important;
  right: 50% !important;
  margin-left: -50vw !important;
  margin-right: -50vw !important;
  padding: 50px 20px 70px 20px !important;
  box-sizing: border-box !important;
  background-color: #ffffff !important;
  clear: both !important;
  float: none !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
}

#index .ybc_block_latest > h2.title_blog,
#index .ybc_block_latest > a.view-all-blog-link {
  max-width: 1850px !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

#index .ybc_block_latest h2.title_blog {
  font-size: 34px !important;
  font-weight: 800 !important;
  color: #4a2574 !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  margin: 0 auto 35px auto !important;
  max-width: 1850px !important;
  text-align: left !important;
  border-bottom: 3px solid #3b82f6 !important;
  padding-bottom: 12px !important;
  display: flex !important;
  justify-content: space-between !important;
  align-items: flex-end !important;
}

#index .ybc_block_latest a.view-all-blog-link {
  position: absolute !important;
  top: 50px !important;
  right: max(20px, calc((100vw - 1850px) / 2 + 20px)) !important;
  font-size: 18px !important;
  font-weight: 800 !important;
  color: #2563eb !important;
  text-decoration: none !important;
  text-transform: uppercase !important;
  margin: 0 !important;
  padding-bottom: 12px !important;
  width: auto !important;
  max-width: none !important;
  background: #ffffff !important;
  z-index: 5 !important;
}

#index .ybc_block_latest .block_content,
#index .ybc_block_latest .owl-carousel {
  max-width: 1850px !important;
  width: 100% !important;
  margin: 0 auto !important;
  box-sizing: border-box !important;
}

#index .ybc_block_latest .owl-stage-outer {
  overflow: visible !important;
}

#index .ybc_block_latest .owl-carousel .owl-item {
  width: 380px !important;
  margin-right: 25px !important;
  float: left !important;
  box-sizing: border-box !important;
  display: flex !important;
}

/* --- CARTE INDIVIDUELLE --- */
#index .ybc_block_latest .owl-item li {
  width: 100% !important;
  background: #ffffff !important;
  border: 1px solid #e5e7eb !important;
  border-radius: 10px !important;
  padding: 25px !important;
  box-shadow: 0 6px 12px -2px rgba(79, 70, 229, 0.1) !important;
  box-sizing: border-box !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
  height: 100% !important;
  min-height: 610px !important; 
}

#index .ybc_block_latest .ybc_item_img img {
  border-radius: 6px !important;
  width: 100% !important;
  height: 200px !important;
  object-fit: cover !important;
  margin-bottom: 15px !important;
  flex-shrink: 0 !important;
}

/* Titre minimisé */
#index .ybc_block_latest a.ybc_title_block {
  font-size: 16px !important;
  font-weight: 700 !important;
  color: #2563eb !important;
  text-decoration: none !important;
  line-height: 1.35 !important;
  margin-bottom: 10px !important;
  display: block !important;
  height: 65px !important; 
  overflow: hidden !important;
  flex-shrink: 0 !important;
}

#index .ybc_block_latest .ybc-blog-sidear-post-meta {
  font-size: 13px !important;
  color: #4b5563 !important;
  margin-bottom: 8px !important;
  flex-shrink: 0 !important;
}

#index .ybc_block_latest .ybc-blog-sidear-post-meta a {
  color: #7c3aed !important;
  font-weight: 600 !important;
}

#index .ybc_block_latest .ybc-blog-latest-toolbar {
  font-size: 12px !important;
  color: #6b7280 !important;
  margin-bottom: 10px !important;
  display: flex !important;
  gap: 12px !important;
  flex-shrink: 0 !important;
}

/* --- DESCRIPTION ENTIÈRE SANS TRONCATURE --- */
#index .ybc_block_latest .blog_description,
#index .ybc_block_latest .blog_description * {
  display: block !important;
  max-height: none !important;
  height: auto !important;
  overflow: visible !important;
  text-overflow: clip !important;
  white-space: normal !important;
}

#index .ybc_block_latest .blog_description {
  flex-grow: 1 !important;
  margin-bottom: 15px !important;
}

#index .ybc_block_latest .blog_description p {
  font-size: 14px !important;
  color: #4b5563 !important;
  line-height: 1.5 !important;
  margin: 0 !important;
}

/* Bouton Read More */
#index .ybc_block_latest a.read_more {
  display: inline-block !important;
  background: #7c3aed !important;
  color: #ffffff !important;
  padding: 10px 20px !important;
  font-size: 14px !important;
  font-weight: bold !important;
  text-decoration: none !important;
  border-radius: 5px !important;
  text-transform: uppercase !important;
  margin-top: auto !important;
  text-align: center !important;
  transition: background-color 0.3s ease;
  flex-shrink: 0 !important;
}

#index .ybc_block_latest a.read_more:hover {
  background: #6d28d9 !important;
}

/* ==========================================
   1. CORRECTION SECTION BLOGS (DESCRIPTION ENTIÈRE & ALIGNÉE)
   ========================================== */

#index .ybc_block_latest {
  width: 100vw !important;
  max-width: 100vw !important;
  position: relative !important;
  left: 50% !important;
  right: 50% !important;
  margin-left: -50vw !important;
  margin-right: -50vw !important;
  padding: 50px 20px 70px 20px !important;
  box-sizing: border-box !important;
  background-color: #ffffff !important;
  clear: both !important;
  float: none !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
}

#index .ybc_block_latest > h2.title_blog,
#index .ybc_block_latest > a.view-all-blog-link {
  max-width: 1850px !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

#index .ybc_block_latest h2.title_blog {
  font-size: 34px !important;
  font-weight: 800 !important;
  color: #4a2574 !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  margin: 0 auto 35px auto !important;
  max-width: 1850px !important;
  text-align: left !important;
  border-bottom: 3px solid #3b82f6 !important;
  padding-bottom: 12px !important;
  display: flex !important;
  justify-content: space-between !important;
  align-items: flex-end !important;
}

#index .ybc_block_latest a.view-all-blog-link {
  position: absolute !important;
  top: 50px !important;
  right: max(20px, calc((100vw - 1850px) / 2 + 20px)) !important;
  font-size: 18px !important;
  font-weight: 800 !important;
  color: #2563eb !important;
  text-decoration: none !important;
  text-transform: uppercase !important;
  margin: 0 !important;
  padding-bottom: 12px !important;
  width: auto !important;
  max-width: none !important;
  background: #ffffff !important;
  z-index: 5 !important;
}

#index .ybc_block_latest .block_content,
#index .ybc_block_latest .owl-carousel {
  max-width: 1850px !important;
  width: 100% !important;
  margin: 0 auto !important;
  box-sizing: border-box !important;
}

#index .ybc_block_latest .owl-stage-outer {
  overflow: visible !important;
}

#index .ybc_block_latest .owl-carousel .owl-item {
  width: 380px !important;
  margin-right: 25px !important;
  float: left !important;
  box-sizing: border-box !important;
  display: flex !important;
}

/* --- CARTE INDIVIDUELLE --- */
#index .ybc_block_latest .owl-item li {
  width: 100% !important;
  background: #ffffff !important;
  border: 1px solid #e5e7eb !important;
  border-radius: 10px !important;
  padding: 25px !important;
  box-shadow: 0 6px 12px -2px rgba(79, 70, 229, 0.1) !important;
  box-sizing: border-box !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
  height: 100% !important;
  min-height: 610px !important; 
}

#index .ybc_block_latest .ybc_item_img img {
  border-radius: 6px !important;
  width: 100% !important;
  height: 200px !important;
  object-fit: cover !important;
  margin-bottom: 15px !important;
  flex-shrink: 0 !important;
}

/* Titre minimisé */
#index .ybc_block_latest a.ybc_title_block {
  font-size: 16px !important;
  font-weight: 700 !important;
  color: #2563eb !important;
  text-decoration: none !important;
  line-height: 1.35 !important;
  margin-bottom: 10px !important;
  display: block !important;
  height: 65px !important; 
  overflow: hidden !important;
  flex-shrink: 0 !important;
}

#index .ybc_block_latest .ybc-blog-sidear-post-meta {
  font-size: 13px !important;
  color: #4b5563 !important;
  margin-bottom: 8px !important;
  flex-shrink: 0 !important;
}

#index .ybc_block_latest .ybc-blog-sidear-post-meta a {
  color: #7c3aed !important;
  font-weight: 600 !important;
}

#index .ybc_block_latest .ybc-blog-latest-toolbar {
  font-size: 12px !important;
  color: #6b7280 !important;
  margin-bottom: 10px !important;
  display: flex !important;
  gap: 12px !important;
  flex-shrink: 0 !important;
}

/* --- DESCRIPTION ENTIÈRE SANS TRONCATURE --- */
#index .ybc_block_latest .blog_description,
#index .ybc_block_latest .blog_description * {
  display: block !important;
  max-height: none !important;
  height: auto !important;
  overflow: visible !important;
  text-overflow: clip !important;
  white-space: normal !important;
}

#index .ybc_block_latest .blog_description {
  flex-grow: 1 !important;
  margin-bottom: 15px !important;
}

#index .ybc_block_latest .blog_description p {
  font-size: 14px !important;
  color: #4b5563 !important;
  line-height: 1.5 !important;
  margin: 0 !important;
}

/* Bouton Read More */
#index .ybc_block_latest a.read_more {
  display: inline-block !important;
  background: #7c3aed !important;
  color: #ffffff !important;
  padding: 10px 20px !important;
  font-size: 14px !important;
  font-weight: bold !important;
  text-decoration: none !important;
  border-radius: 5px !important;
  text-transform: uppercase !important;
  margin-top: auto !important;
  text-align: center !important;
  transition: background-color 0.3s ease;
  flex-shrink: 0 !important;
}

#index .ybc_block_latest a.read_more:hover {
  background: #6d28d9 !important;
}
/* ==========================================
   1. CORRECTION SECTION BLOGS (DESCRIPTION ENTIÈRE & ALIGNÉE)
   ========================================== */

#index .ybc_block_latest {
  width: 100vw !important;
  max-width: 100vw !important;
  position: relative !important;
  left: 50% !important;
  right: 50% !important;
  margin-left: -50vw !important;
  margin-right: -50vw !important;
  padding: 50px 20px 70px 20px !important;
  box-sizing: border-box !important;
  background-color: #ffffff !important;
  clear: both !important;
  float: none !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
}

#index .ybc_block_latest > h2.title_blog,
#index .ybc_block_latest > a.view-all-blog-link {
  max-width: 1850px !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

#index .ybc_block_latest h2.title_blog {
  font-size: 34px !important;
  font-weight: 800 !important;
  color: #4a2574 !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  margin: 0 auto 35px auto !important;
  max-width: 1850px !important;
  text-align: left !important;
  border-bottom: 3px solid #3b82f6 !important;
  padding-bottom: 12px !important;
  display: flex !important;
  justify-content: space-between !important;
  align-items: flex-end !important;
}

#index .ybc_block_latest a.view-all-blog-link {
  position: absolute !important;
  top: 50px !important;
  right: max(20px, calc((100vw - 1850px) / 2 + 20px)) !important;
  font-size: 18px !important;
  font-weight: 800 !important;
  color: #2563eb !important;
  text-decoration: none !important;
  text-transform: uppercase !important;
  margin: 0 !important;
  padding-bottom: 12px !important;
  width: auto !important;
  max-width: none !important;
  background: #ffffff !important;
  z-index: 5 !important;
}

#index .ybc_block_latest .block_content,
#index .ybc_block_latest .owl-carousel {
  max-width: 1850px !important;
  width: 100% !important;
  margin: 0 auto !important;
  box-sizing: border-box !important;
}

#index .ybc_block_latest .owl-stage-outer {
  overflow: visible !important;
}

#index .ybc_block_latest .owl-carousel .owl-item {
  width: 380px !important;
  margin-right: 25px !important;
  float: left !important;
  box-sizing: border-box !important;
  display: flex !important;
}

/* --- CARTE INDIVIDUELLE --- */
#index .ybc_block_latest .owl-item li {
  width: 100% !important;
  background: #ffffff !important;
  border: 1px solid #e5e7eb !important;
  border-radius: 10px !important;
  padding: 25px !important;
  box-shadow: 0 6px 12px -2px rgba(79, 70, 229, 0.1) !important;
  box-sizing: border-box !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
  height: 100% !important;
  min-height: 610px !important; 
}

#index .ybc_block_latest .ybc_item_img img {
  border-radius: 6px !important;
  width: 100% !important;
  height: 200px !important;
  object-fit: cover !important;
  margin-bottom: 15px !important;
  flex-shrink: 0 !important;
}

/* Titre minimisé */
#index .ybc_block_latest a.ybc_title_block {
  font-size: 16px !important;
  font-weight: 700 !important;
  color: #2563eb !important;
  text-decoration: none !important;
  line-height: 1.35 !important;
  margin-bottom: 10px !important;
  display: block !important;
  height: 65px !important; 
  overflow: hidden !important;
  flex-shrink: 0 !important;
}

#index .ybc_block_latest .ybc-blog-sidear-post-meta {
  font-size: 13px !important;
  color: #4b5563 !important;
  margin-bottom: 8px !important;
  flex-shrink: 0 !important;
}

#index .ybc_block_latest .ybc-blog-sidear-post-meta a {
  color: #7c3aed !important;
  font-weight: 600 !important;
}

#index .ybc_block_latest .ybc-blog-latest-toolbar {
  font-size: 12px !important;
  color: #6b7280 !important;
  margin-bottom: 10px !important;
  display: flex !important;
  gap: 12px !important;
  flex-shrink: 0 !important;
}

/* --- DESCRIPTION ENTIÈRE SANS TRONCATURE --- */
#index .ybc_block_latest .blog_description,
#index .ybc_block_latest .blog_description * {
  display: block !important;
  max-height: none !important;
  height: auto !important;
  overflow: visible !important;
  text-overflow: clip !important;
  white-space: normal !important;
}

#index .ybc_block_latest .blog_description {
  flex-grow: 1 !important;
  margin-bottom: 15px !important;
}

#index .ybc_block_latest .blog_description p {
  font-size: 14px !important;
  color: #4b5563 !important;
  line-height: 1.5 !important;
  margin: 0 !important;
}

/* Bouton Read More */
#index .ybc_block_latest a.read_more {
  display: inline-block !important;
  background: #7c3aed !important;
  color: #ffffff !important;
  padding: 10px 20px !important;
  font-size: 14px !important;
  font-weight: bold !important;
  text-decoration: none !important;
  border-radius: 5px !important;
  text-transform: uppercase !important;
  margin-top: auto !important;
  text-align: center !important;
  transition: background-color 0.3s ease;
  flex-shrink: 0 !important;
}

#index .ybc_block_latest a.read_more:hover {
  background: #6d28d9 !important;
}


/* ==========================================
   1. CORRECTION SECTION BLOGS (DESCRIPTION ENTIÈRE & ALIGNÉE)
   ========================================== */

#index .ybc_block_latest {
  width: 100vw !important;
  max-width: 100vw !important;
  position: relative !important;
  left: 50% !important;
  right: 50% !important;
  margin-left: -50vw !important;
  margin-right: -50vw !important;
  padding: 50px 20px 70px 20px !important;
  box-sizing: border-box !important;
  background-color: #ffffff !important;
  clear: both !important;
  float: none !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
}

#index .ybc_block_latest > h2.title_blog,
#index .ybc_block_latest > a.view-all-blog-link {
  max-width: 1850px !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

#index .ybc_block_latest h2.title_blog {
  font-size: 34px !important;
  font-weight: 800 !important;
  color: #4a2574 !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  margin: 0 auto 35px auto !important;
  max-width: 1850px !important;
  text-align: left !important;
  border-bottom: 3px solid #3b82f6 !important;
  padding-bottom: 12px !important;
  display: flex !important;
  justify-content: space-between !important;
  align-items: flex-end !important;
}

#index .ybc_block_latest a.view-all-blog-link {
  position: absolute !important;
  top: 50px !important;
  right: max(20px, calc((100vw - 1850px) / 2 + 20px)) !important;
  font-size: 18px !important;
  font-weight: 800 !important;
  color: #2563eb !important;
  text-decoration: none !important;
  text-transform: uppercase !important;
  margin: 0 !important;
  padding-bottom: 12px !important;
  width: auto !important;
  max-width: none !important;
  background: #ffffff !important;
  z-index: 5 !important;
}

#index .ybc_block_latest .block_content,
#index .ybc_block_latest .owl-carousel {
  max-width: 1850px !important;
  width: 100% !important;
  margin: 0 auto !important;
  box-sizing: border-box !important;
}

#index .ybc_block_latest .owl-stage-outer {
  overflow: visible !important;
}

#index .ybc_block_latest .owl-carousel .owl-item {
  width: 380px !important;
  margin-right: 25px !important;
  float: left !important;
  box-sizing: border-box !important;
  display: flex !important;
}

/* --- CARTE INDIVIDUELLE --- */
#index .ybc_block_latest .owl-item li {
  width: 100% !important;
  background: #ffffff !important;
  border: 1px solid #e5e7eb !important;
  border-radius: 10px !important;
  padding: 25px !important;
  box-shadow: 0 6px 12px -2px rgba(79, 70, 229, 0.1) !important;
  box-sizing: border-box !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
  height: 100% !important;
  min-height: 610px !important; 
}

#index .ybc_block_latest .ybc_item_img img {
  border-radius: 6px !important;
  width: 100% !important;
  height: 200px !important;
  object-fit: cover !important;
  margin-bottom: 15px !important;
  flex-shrink: 0 !important;
}

/* Titre minimisé */
#index .ybc_block_latest a.ybc_title_block {
  font-size: 16px !important;
  font-weight: 700 !important;
  color: #2563eb !important;
  text-decoration: none !important;
  line-height: 1.35 !important;
  margin-bottom: 10px !important;
  display: block !important;
  height: 65px !important; 
  overflow: hidden !important;
  flex-shrink: 0 !important;
}

#index .ybc_block_latest .ybc-blog-sidear-post-meta {
  font-size: 13px !important;
  color: #4b5563 !important;
  margin-bottom: 8px !important;
  flex-shrink: 0 !important;
}

#index .ybc_block_latest .ybc-blog-sidear-post-meta a {
  color: #7c3aed !important;
  font-weight: 600 !important;
}

#index .ybc_block_latest .ybc-blog-latest-toolbar {
  font-size: 12px !important;
  color: #6b7280 !important;
  margin-bottom: 10px !important;
  display: flex !important;
  gap: 12px !important;
  flex-shrink: 0 !important;
}

/* --- DESCRIPTION ENTIÈRE SANS TRONCATURE --- */
#index .ybc_block_latest .blog_description,
#index .ybc_block_latest .blog_description * {
  display: block !important;
  max-height: none !important;
  height: auto !important;
  overflow: visible !important;
  text-overflow: clip !important;
  white-space: normal !important;
}

#index .ybc_block_latest .blog_description {
  flex-grow: 1 !important;
  margin-bottom: 15px !important;
}

#index .ybc_block_latest .blog_description p {
  font-size: 14px !important;
  color: #4b5563 !important;
  line-height: 1.5 !important;
  margin: 0 !important;
}

/* Bouton Read More */
#index .ybc_block_latest a.read_more {
  display: inline-block !important;
  background: #7c3aed !important;
  color: #ffffff !important;
  padding: 10px 20px !important;
  font-size: 14px !important;
  font-weight: bold !important;
  text-decoration: none !important;
  border-radius: 5px !important;
  text-transform: uppercase !important;
  margin-top: auto !important;
  text-align: center !important;
  transition: background-color 0.3s ease;
  flex-shrink: 0 !important;
}

#index .ybc_block_latest a.read_more:hover {
  background: #6d28d9 !important;
}

/* ==========================================
   2. MENU NAVIGATION (DESKTOP & MOBILE)
   ========================================== */

/* Menu Desktop : Horizontal */
@media (min-width: 993px) {
  .top-menu {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 5px 25px !important;
    align-items: center !important;
    justify-content: flex-start !important;
  }

  .top-menu li {
    display: inline-block !important;
    position: relative !important;
  }
}

/* Styles communs des liens du menu */
.top-menu a {
  font-family: 'Inter', 'Segoe UI', 'Arial', sans-serif !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  color: #000000 !important;
  text-transform: none !important;
  letter-spacing: -0.3px !important;
  padding: 5px 0 !important;
  text-decoration: none !important;
}

.top-menu a:hover {
  color: #6A2C8A !important;
}

.top-menu ul {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* ==========================================
   MENU DÉROULANT DESKTOP UNIFIÉ ET PROPRE
   ========================================== */
@media (min-width: 993px) {
  /* Conteneur global du menu déroulant */
  .top-menu li > ul,
  .top-menu li .popover,
  .top-menu li .menu-dropdown {
    display: none !important;
    position: absolute !important;
    top: 100% !important;
    left: 0 !important;
    background: #ffffff !important;
    min-width: 240px !important;
    box-shadow: 0px 10px 25px rgba(0, 0, 0, 0.12) !important;
    padding: 10px 0 !important;
    z-index: 99999 !important;
    border-radius: 4px !important;
    border: 1px solid #eaeaea !important;
  }

  /* Afficher au survol du parent (Categories) */
  .top-menu li:hover > ul,
  .top-menu li:hover > .popover,
  .top-menu li:hover > .menu-dropdown {
    display: block !important;
  }

  /* Tous les éléments de la liste du menu déroulant */
  .top-menu li li {
    display: block !important;
    width: 100% !important;
    float: none !important;
  }

  /* Style des liens de premier niveau du dropdown (ex: Antibodies) */
  .top-menu li li > a {
    display: block !important;
    padding: 10px 20px !important;
    font-size: 14px !important;
    font-weight: 600 !important; /* Mis en valeur pour indiquer le rôle de parent */
    color: #222222 !important;
    border-bottom: 1px solid #f2f2f2 !important;
  }

  /* Différencier visuellement les sous-catégories (ex: Inhibitor, Primary...) s'ils sont listés à la suite */
  .top-menu li li li > a,
  .top-menu li li ul a {
    padding-left: 30px !important; /* Petit décalage vers la droite pour les sous-éléments */
    font-weight: 400 !important;
    font-size: 13px !important;
    color: #555555 !important;
    border-bottom: none !important;
  }

  .top-menu li li a:hover {
    background-color: #f8f9fa !important;
    color: #6A2C8A !important;
  }
}

/* Responsive Menu Mobile & Stabilisation de l'affichage */
@media (max-width: 992px) {
  .header-top {
    flex-direction: column !important;
    align-items: stretch !important;
    position: relative !important;
  }
  
  header.header {
    position: relative !important;
  }
  
  #search_widget {
    width: 100% !important;
  }

  #_desktop_top_menu {
    display: none !important;
  }

  /* Surimpression propre du menu mobile */
  #_mobile_top_menu {
    position: absolute !important;
    top: 100% !important;
    left: 0 !important;
    width: 100% !important;
    background-color: #ffffff !important;
    z-index: 99999 !important;
    box-shadow: 0 15px 25px -5px rgba(0, 0, 0, 0.15) !important;
    box-sizing: border-box !important;
    padding: 10px 20px 20px 20px !important;
  }

  #_mobile_top_menu .top-menu {
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
  }

  #_mobile_top_menu .top-menu li {
    display: block !important;
    width: 100% !important;
  }

  #_mobile_top_menu .top-menu a {
    display: block !important;
    padding: 10px 0 !important;
    border-bottom: 1px solid #f0f0f0 !important;
  }
}

/* Empêcher tout masquage accidentel du contenu global de la page */
body #wrapper,
body #content,
body main,
body .page-home,
body [id*="content"] {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
}
/* Masquer les sous-catégories uniquement sur la page racine des catégories (ex: ID 2 ou identifiant racine) */
body.category-id-3 #subcategories {
    display: none !important;
}
/* ======================================================
   FOOTER - 3 COLONNES SUR LA MEME LIGNE (largeur confortable)
   ====================================================== */

.footer-container .container {
    width: 100% !important;
    max-width: 1200px !important;
}

/* On ne cible QUE la 1ere ligne du footer (Products/Our company/Store info),
   pas les autres ".row" (bloc social, copyright...) */
.footer-container .container > .row:first-child {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: flex-start !important;
    align-items: flex-start !important;
    width: 100% !important;
    column-gap: 60px !important;
    row-gap: 20px !important;
}

/* On "efface" le 1er bloc (celui qui enveloppe Products + Our company),
   pour que ses 2 enfants deviennent des colonnes independantes.
   Base sur la POSITION (1er enfant), pas sur un nom de classe. */
.footer-container .container > .row:first-child > *:first-child {
    display: contents !important;
}

/* Les 3 vraies colonnes : Products, Our company, Store information
   largeur automatique selon le contenu, jamais en dessous de 260px */
.footer-container .container > .row:first-child > *:first-child > *,
.footer-container .container > .row:first-child > *:last-child {
    flex: 0 1 auto !important;
    max-width: none !important;
    min-width: 260px !important;
    box-sizing: border-box !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* Forcer un espacement uniforme meme si une couche cachee du theme
   applique deja un flex/gap different a l'interieur */
.footer-container .container > .row:first-child * {
    column-gap: 60px !important;
}

/* Titres des colonnes : jamais coupes */
.footer-container h3,
.footer-container .h3 {
    font-size: 14px !important;
    font-weight: 700 !important;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 15px !important;
    color: #222;
    white-space: nowrap;
}

/* Liens du footer : jamais coupes non plus */
.footer-container a {
    display: block;
    font-size: 14px;
    color: #555;
    line-height: 2;
    text-decoration: none;
    white-space: nowrap;
}

.footer-container a:hover {
    color: #603B93;
}

/* Le bloc "Store information" (telephone, email) doit rester
   sur la meme ligne que son label, pas de display:block ici */
.footer-container .container > .row:first-child > *:last-child a,
#contact-infos a {
    display: inline !important;
    line-height: inherit !important;
}

#contact-infos {
    line-height: 1.8;
}

/* ======================================================
   BLOC SOCIAL + LOGO + DESCRIPTION (ligne violette)
   ====================================================== */

.footer-container .row[style*="F3EEFF"] {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    justify-content: space-between !important;
}

/* Empecher "Tetragenetics - Life science research solutions for your lab."
   de se couper sur plusieurs lignes */
.footer-container .row[style*="F3EEFF"] p {
    white-space: nowrap !important;
}
/* Réduire légèrement la taille du texte de l'e-mail dans le bloc contact pour qu'il tienne sur une ligne */
/* Cibler spécifiquement l'adresse email du module contact */
#left-column .data.email,
.store-information .data.email {
    white-space: nowrap !important;
    font-size: 12px !important; /* Taille propre et proche des autres */
}
/* ======================================================
   RESPONSIVE FOOTER
   ====================================================== */

@media (max-width: 900px) {
    .footer-container .row {
        flex-direction: column !important;
        column-gap: 0 !important;
    }
    .footer-container .row > *:has([class*="linklist"]) > *,
    .footer-container .row > *:not(:has([class*="linklist"])) {
        min-width: 100% !important;
        margin-bottom: 25px;
    }
    .footer-container a {
        white-space: normal;
    }
    .footer-container .row[style*="F3EEFF"] p {
        white-space: normal !important;
    }
}
/* --- BARRE DE RECHERCHE ALIGNÉE EN LIGNE --- */

/* 1. Ajuster la largeur et forcer l'alignement à côté du menu */
#search_widget {
    min-width: 270px !important;
    max-width: 380px !important; 
    width: 100% !important;
    display: inline-block !important;
    vertical-align: middle !important;
    margin-top: 0 !important;
}

/* 2. Style du champ de texte */
#search_widget form input[type="text"] {
    height: 38px !important;     
    font-size: 13px !important;
    border: 2px solid #7a07ee !important;
    border-radius: 20px !important;
    padding-left: 36px !important;
    padding-right: 15px !important;
    background-color: #ffffff !important;
    width: 100% !important;
}

/* 3. Icône de la loupe */
#search_widget form button[type="submit"] {
    position: absolute !important;
    left: 12px !important;
    right: auto !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    z-index: 10 !important;
}

#search_widget form i.search,
#search_widget form button[type="submit"] i {
    font-size: 15px !important;
    color: #5d2e8c !important;
}
/* 4. AJUSTER LES DIMENSIONS ET LE RECADRAGE DE LA BANNIÈRE */
#index .banner {
  display: block;
  width: 100vw !important;
  max-width: 100vw !important;
  position: relative;
  left: 50%;
  right: 50%;
  margin-left: -50vw !important;
  margin-right: -50vw !important;
  overflow: hidden !important;
}

#index .banner img {
  width: 100% !important;
  height: auto !important;
  max-height: 800px !important; /* Augmenté pour laisser toute la place à la dernière phrase */
  min-height: 250px !important;
  object-fit: cover !important;
  /* On ajuste légèrement le positionnement vertical pour centrer un peu plus l'ensemble */
  object-position: center 20% !important; 
  display: block !important;
}

/* --- Adaptation Mobile --- */
@media (max-width: 768px) {
  #index .banner img {
    max-height: 250px !important;
    object-position: center 25% !important;
  }
}
/* ==========================================
   1. SECTION PERSONNALISÉE (CUSTOM TEXT)
   ========================================== */

/* Le fond prend toute la largeur de l'écran */
#index #custom-text {
  width: 100vw !important;
  max-width: 100vw !important;
  position: relative;
  left: 50%;
  right: 50%;
  margin-left: -50vw !important;
  margin-right: -50vw !important;
  padding: 50px 15px !important;
  box-sizing: border-box !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
}

/* Zone de contenu interne alignée à 1850px avec des marges de sécurité */
#index #custom-text .container {
  max-width: 1850px !important;
  width: 100% !important;
  margin: 0 auto !important;
  padding-left: 20px !important;
  padding-right: 20px !important;
  box-sizing: border-box !important;
}

/* Titres à l'intérieur de custom-text harmonisés à 34px (Times New Roman et couleur violette) */
#index #custom-text h3 {
  font-size: 34px !important;
  font-weight: 800 !important;
  color: #a77ada !important;
  font-family: 'Times New Roman', Times, serif !important;
  text-transform: none !important;
  letter-spacing: 0.5px !important;
  margin-bottom: 20px !important;
}

#index #custom-text h2.h1,
#index #custom-text .products-section-title,
#index #custom-text h2 {
  font-size: 34px !important;
  font-weight: 800 !important;
  color: #780bf5 !important;
  font-family: 'Times New Roman', Times, serif !important;
  text-transform: none !important;
  letter-spacing: 0.5px !important;
  margin-bottom: 20px !important;
}

/* Paragraphes harmonisés en Times New Roman */
#index #custom-text p {
  font-size: 18px !important;
  line-height: 1.6 !important;
  font-family: 'Times New Roman', Times, serif !important;
  color: #4b5563 !important;
}

/* ==========================================
   RESPONSIVE DESIGN POUR #custom-text (Mobile & Tablettes)
   ========================================== */
@media (max-width: 992px) {
  #index #custom-text {
    padding: 30px 10px !important;
  }

  #index #custom-text .container {
    padding-left: 10px !important;
    padding-right: 10px !important;
  }

  #index #custom-text h2.h1,
  #index #custom-text .products-section-title,
  #index #custom-text h2, 
  #index #custom-text h3 {
    font-size: 24px !important; /* Réduit la taille du titre sur mobile */
    margin-bottom: 15px !important;
  }

  #index #custom-text p {
    font-size: 16px !important; /* Réduit légèrement le texte pour plus de fluidité sur petit écran */
    line-height: 1.5 !important;
  }
}
/* ==========================================
   2. SECTION FEATURED PRODUCTS
   ========================================== */

#index .featured-products {
  width: 100vw !important;
  max-width: 100vw !important;
  position: relative;
  left: 50%;
  right: 50%;
  margin-left: -50vw !important;
  margin-right: -50vw !important;
  padding: 40px 15px 50px 15px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  box-sizing: border-box !important;
}

/* Titre de la section "Featured Products" harmonisé à 34px */
#index .featured-products h2.h1,
#index .featured-products .products-section-title,
#index .featured-products h2 {
  font-size: 34px !important;
  font-weight: 800 !important;
  color:#780bf5 !important;
  font-family: 'Times New Roman', Times, serif !important;
  text-transform: none !important; /* Désactive les majuscules forcées */
  letter-spacing: 0.5px !important;
  margin-bottom: 30px !important;
  text-align: center !important;
}

/* Grille des produits élargie à 1850px avec des marges intérieures */
#index .featured-products .products {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  gap: 25px !important;
  max-width: 1850px !important;
  width: 100% !important;
  margin: 0 auto !important;
  padding: 0 20px !important;
  box-sizing: border-box !important;
  overflow-x: hidden !important;
}

/* Taille de chaque carte de produit */
#index .featured-products .products .js-product {
  flex: 0 0 290px !important;
  width: 290px !important;
  margin-bottom: 15px !important;
}

/* Uniformisation des cartes */
#index .featured-products .products .product-miniature {
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
  height: 100% !important;
}

#index .featured-products .products .product-description {
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
  flex-grow: 1 !important;
  padding: 15px !important;
}

/* Agrandissement du texte des titres de produits */
#index .featured-products .products .product-title,
#index .featured-products .products .product-title a {
  font-size: 17px !important;
  font-weight: 700 !important;
  min-height: 50px !important;
  display: flex !important;
  align-items: center !important;
}

/* Agrandissement des prix des produits */
#index .featured-products .products .price,
#index .featured-products .products span.price {
  font-size: 18px !important;
  font-weight: 700 !important;
}

/* ==========================================
   BOUTON "ALL PRODUCTS" (Aligné à droite sur 1850px)
   ========================================== */
#index .featured-products .all-products-link,
#index .featured-products .products ~ div,
#index .featured-products .text-xs-right {
  display: flex !important;
  max-width: 1850px !important;
  width: 100% !important;
  justify-content: flex-end !important; /* Pousse le bouton à droite de la zone 1850px */
  margin-top: 30px !important;
  padding-right: 20px !important;
  box-sizing: border-box !important;
}

#index .featured-products a.all-product-link,
#index .featured-products .all-products-link a {
  display: inline-block !important;
  width: auto !important;
  background-color: #7c3aed !important; /* Harmonisé avec votre couleur violette principale */
  color: #ffffff !important;
  padding: 12px 25px !important;
  font-size: 15px !important;
  border-radius: 5px !important;
  text-decoration: none !important;
  font-weight: bold !important;
  text-transform: uppercase !important;
  transition: background-color 0.3s ease;
}

#index .featured-products a.all-product-link:hover,
#index .featured-products .all-products-link a:hover {
  background-color: #6d28d9 !important;
}

#index .featured-products a.all-product-link i,
#index .featured-products .all-products-link a i {
  vertical-align: middle;
  margin-left: 8px;
}

/* ==========================================
   RESPONSIVE DESIGN POUR .featured-products (Mobile & Tablettes)
   ========================================== */
@media (max-width: 992px) {
  #index .featured-products {
    padding: 30px 10px !important;
  }

  #index .featured-products h2.h1,
  #index .featured-products .products-section-title,
  #index .featured-products h2 {
    font-size: 24px !important; /* Réduit la taille du titre sur mobile */
    margin-bottom: 20px !important;
  }

  #index .featured-products .products {
    padding: 0 10px !important;
    gap: 15px !important;
  }

  /* Sur mobile, on permet aux cartes de s'adapter ou de prendre 100% de la largeur disponible si besoin */
  #index .featured-products .products .js-product {
    flex: 0 0 100% !important;
    max-width: 320px !important;
    width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  /* Centre le bouton "All Products" sur les petits écrans pour un meilleur rendu */
  #index .featured-products .all-products-link,
  #index .featured-products .products ~ div,
  #index .featured-products .text-xs-right {
    justify-content: center !important;
    padding-right: 0 !important;
  }
}
/* ==========================================
   BANDE PROMOTIONNELLE (HARMONISÉE AVEC #custom-text)
   ========================================== */

.home-promo-banner {
  width: 100vw !important;
  max-width: 100vw !important;
  position: relative !important;
  left: 50% !important;
  right: 50% !important;
  margin-left: -50vw !important;
  margin-right: -50vw !important;
  background: #f8f5fc !important;
  border-top: 2px solid #e5e7eb !important;
  border-bottom: 2px solid #e5e7eb !important;
  padding: 50px 15px !important;
  box-sizing: border-box !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  margin-top: 40px !important;
  margin-bottom: 40px !important;
}

.home-promo-banner .promo-content {
  max-width: 1850px !important;
  width: 100% !important;
  margin: 0 auto !important;
  padding-left: 20px !important;
  padding-right: 20px !important;
  box-sizing: border-box !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  text-align: center !important;
}

.home-promo-banner .promo-text {
  max-width: 1200px !important;
}

.home-promo-banner .promo-text h3 {
  font-size: 34px !important;
  font-weight: 800 !important;
  color: #a77ada !important;
  font-family: 'Times New Roman', Times, serif !important;
  text-transform: none !important;
  letter-spacing: 0.5px !important;
  margin-bottom: 20px !important;
}

.home-promo-banner .promo-text p {
  font-size: 18px !important;
  line-height: 1.6 !important;
  font-family: 'Times New Roman', Times, serif !important;
  color: #4b5563 !important;
  margin: 0 !important;
}

/* ==========================================
   RESPONSIVE DESIGN POUR LA BANDE (Mobile & Tablettes)
   ========================================== */
@media (max-width: 992px) {
  .home-promo-banner {
    padding: 30px 10px !important;
  }

  .home-promo-banner .promo-content {
    padding-left: 10px !important;
    padding-right: 10px !important;
  }

  .home-promo-banner .promo-text h3 {
    font-size: 24px !important;
    margin-bottom: 15px !important;
  }

  .home-promo-banner .promo-text p {
    font-size: 16px !important;
    line-height: 1.5 !important;
  }
}
/* ==========================================
   1. CONTENEUR GLOBAL PLEINE LARGEUR
   ========================================== */
#index .ybc-widget-display-home {
  width: 100vw !important;
  position: relative !important;
  left: 50% !important;
  right: 50% !important;
  margin-left: -50vw !important;
  margin-right: -50vw !important;
  box-sizing: border-box !important;
  padding: 0 20px !important;
}

#index .ybc-widget-display-home .tetragen-wrapper {
  max-width: 1520px !important;
  width: 100% !important;
  margin: 30px auto !important;
  padding: 0 15px !important;
  box-sizing: border-box !important;
  font-family: 'Times New Roman', Times, serif !important;
}

#index .ybc-widget-display-home .tetragen-spaced {
  margin-top: 40px !important;
  margin-bottom: 40px !important;
}

/* ==========================================
   2. EN-TÊTE DE SECTION ET TITRES (Harmonisés)
   ========================================== */

#index .ybc-widget-display-home .tetragen-header {
  display: flex !important;
  justify-content: space-between !important;
  align-items: flex-end !important;
  margin-bottom: 20px !important;
  border-bottom: 3px solid #3b82f6 !important;
  padding-bottom: 10px !important;
  flex-wrap: wrap !important;
  gap: 15px !important;
}

#index .ybc-widget-display-home .tetragen-header h2.tetragen-title {
  font-size: 34px !important;
  font-weight: 800 !important;
  color:#780bf5 !important;
  font-family: 'Times New Roman', Times, serif !important;
  text-transform: none !important;
  letter-spacing: 0.5px !important;
  margin: 0 !important;
}

#index .ybc-widget-display-home .tetragen-header a {
  font-size: 18px !important;
  font-weight: 700 !important;
  color: #2563eb !important;
  text-decoration: none !important;
  text-transform: none !important;
  font-family: 'Times New Roman', Times, serif !important;
}

/* ==========================================
   3. TABLEAUX ET GRILLES
   ========================================== */

#index .ybc-widget-display-home .tetragen-table {
  width: 100% !important;
  border-collapse: separate !important;
  border-spacing: 15px !important;
  margin: 0 !important;
  table-layout: fixed !important;
}

/* ==========================================
   4. CARTES DE CATÉGORIES DU HAUT
   ========================================== */

#index .ybc-widget-display-home .tetragen-card {
  width: 25% !important;
  background: #ffffff !important;
  border: 1px solid #e5e7eb !important;
  border-radius: 14px !important;
  vertical-align: top !important;
  padding: 40px 30px !important;
  min-height: 420px !important;
  box-shadow: 0 12px 24px -3px rgba(79, 70, 229, 0.15) !important;
  box-sizing: border-box !important;
}

#index .ybc-widget-display-home .tetragen-icon {
  width: 75px !important;
  height: 75px !important;
  background: #ede9fe !important;
  border-radius: 50% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin-bottom: 25px !important;
  color: #7e22ce !important;
}

#index .ybc-widget-display-home .tetragen-icon svg {
  width: 38px !important;
  height: 38px !important;
}

#index .ybc-widget-display-home .tetragen-card h3 {
  font-size: 24px !important;
  font-weight: 800 !important;
  margin: 0 0 15px 0 !important;
  font-family: 'Times New Roman', Times, serif !important;
}

#index .ybc-widget-display-home .tetragen-card h3 a {
  color: #2563eb !important;
  text-decoration: underline !important;
}

#index .ybc-widget-display-home .tetragen-card p {
  font-size: 17px !important;
  color: #6b7280 !important;
  line-height: 1.5 !important;
  margin: 0 !important;
  font-family: 'Times New Roman', Times, serif !important;
}

/* ==========================================
   5. SECTION 2 : EXCELLENCE IN RESEARCH
   ========================================== */

#index .ybc-widget-display-home .tetragen-section-title {
  text-align: center !important;
  margin-bottom: 35px !important;
}

#index .ybc-widget-display-home .tetragen-section-title h2 {
  font-size: 34px !important;
  font-weight: 800 !important;
  color: #4a2574 !important;
  font-family: 'Times New Roman', Times, serif !important;
  text-transform: none !important;
  letter-spacing: 0.5px !important;
  margin: 0 0 15px 0 !important;
}

#index .ybc-widget-display-home .tetragen-line {
  width: 140px !important;
  height: 5px !important;
  background-color: #7c3aed !important;
  margin: 0 auto 20px auto !important;
}

#index .ybc-widget-display-home .tetragen-section-title p {
  font-size: 17px !important;
  color: #4b5563 !important;
  max-width: 100% !important;
  margin: 0 auto !important;
  line-height: 1.6 !important;
  font-family: 'Times New Roman', Times, serif !important;
}

#index .ybc-widget-display-home .tetragen-bg-card {
  width: 50% !important;
  border-radius: 14px !important;
  vertical-align: bottom !important;
  padding: 40px !important;
  height: 580px !important;
  box-shadow: 0 18px 35px -5px rgba(0,0,0,0.25) !important;
  box-sizing: border-box !important;
}

#index .ybc-widget-display-home .tetragen-bg-1 {
  background: linear-gradient(rgba(0,0,0,0.3), rgba(0,0,0,0.6)), url('https://images.unsplash.com/photo-1532187863486-abf9dbad1b69?auto=format&fit=crop&w=1800&q=80') center/cover no-repeat !important;
}

#index .ybc-widget-display-home .tetragen-bg-2 {
  background: linear-gradient(rgba(0,0,0,0.3), rgba(0,0,0,0.6)), url('https://images.unsplash.com/photo-1579154204601-01588f351e67?auto=format&fit=crop&w=1800&q=80') center/cover no-repeat !important;
}

#index .ybc-widget-display-home .tetragen-inner-box {
  background: rgba(255, 255, 255, 0.96) !important;
  padding: 35px !important;
  border-radius: 10px !important;
  backdrop-filter: blur(5px) !important;
}

#index .ybc-widget-display-home .tetragen-bg-card h3 {
  font-size: 26px !important;
  font-weight: 800 !important;
  color: #4a2574 !important;
  font-family: 'Times New Roman', Times, serif !important;
  margin: 0 0 15px 0 !important;
}

#index .ybc-widget-display-home .tetragen-bg-card p {
  font-size: 17px !important;
  color: #4b5563 !important;
  line-height: 1.6 !important;
  margin: 0 0 25px 0 !important;
  font-family: 'Times New Roman', Times, serif !important;
}

#index .ybc-widget-display-home .tetragen-btn {
  display: inline-block !important;
  background: #7c3aed !important;
  color: #ffffff !important;
  padding: 12px 20px !important;
  font-size: 15px !important;
  font-weight: bold !important;
  text-decoration: none !important;
  border-radius: 6px !important;
  text-transform: none !important;
  font-family: 'Times New Roman', Times, serif !important;
  margin-right: 10px !important;
  margin-bottom: 8px !important;
}

/* ==========================================
   6. RESPONSIVE DESIGN (MOBILE & TABLETTES)
   ========================================== */
@media (max-width: 992px) {
  #index .ybc-widget-display-home {
    padding: 0 10px !important;
  }

  #index .ybc-widget-display-home .tetragen-table,
  #index .ybc-widget-display-home .tetragen-table tbody,
  #index .ybc-widget-display-home .tetragen-table tr,
  #index .ybc-widget-display-home .tetragen-table td {
    display: block !important;
    width: 100% !important;
    border-spacing: 0 !important;
    margin-left: 0 !important;
  }

  #index .ybc-widget-display-home .tetragen-card,
  #index .ybc-widget-display-home .tetragen-bg-card {
    width: 100% !important;
    margin-bottom: 20px !important;
    height: auto !important;
    min-height: auto !important;
    padding: 25px 20px !important;
  }

  #index .ybc-widget-display-home .tetragen-inner-box {
    padding: 20px !important;
  }

  #index .ybc-widget-display-home .tetragen-section-title h2,
  #index .ybc-widget-display-home .tetragen-header h2.tetragen-title {
    font-size: 24px !important;
  }

  #index .ybc-widget-display-home .tetragen-card h3 {
    font-size: 20px !important;
  }

  #index .ybc-widget-display-home .tetragen-bg-card h3 {
    font-size: 20px !important;
  }

  #index .ybc-widget-display-home .tetragen-card p,
  #index .ybc-widget-display-home .tetragen-bg-card p,
  #index .ybc-widget-display-home .tetragen-section-title p {
    font-size: 15px !important;
  }

  #index .ybc-widget-display-home .tetragen-header a {
    font-size: 15px !important;
  }
}
/* ==========================================
   3. SECTION NEW PRODUCTS
   ========================================== */

#index [data-type="newproducts"],
#index .featured-products[data-type="newproducts"] {
  width: 100vw !important;
  max-width: 100vw !important;
  position: relative;
  left: 50%;
  right: 50%;
  margin-left: -50vw !important;
  margin-right: -50vw !important;
  padding: 40px 15px 50px 15px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  box-sizing: border-box !important;
  font-family: 'Times New Roman', Times, serif !important;
}

/* Titre de la section "New products" harmonisé à 34px */
#index [data-type="newproducts"] h2.h2,
#index [data-type="newproducts"] .products-section-title,
#index [data-type="newproducts"] h2 {
  font-size: 34px !important;
  font-weight: 800 !important;
  color: #780bf5 !important;
  font-family: 'Times New Roman', Times, serif !important;
  text-transform: none !important; /* Désactive les majuscules forcées */
  letter-spacing: 0.5px !important;
  margin-bottom: 30px !important;
  text-align: center !important;
}

/* Grille des produits élargie à 1850px */
#index [data-type="newproducts"] .products {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  gap: 25px !important;
  max-width: 1850px !important;
  width: 100% !important;
  margin: 0 auto !important;
  padding: 0 20px !important;
  box-sizing: border-box !important;
  overflow-x: hidden !important;
}

/* Taille de chaque carte de produit */
#index [data-type="newproducts"] .products .js-product {
  flex: 0 0 290px !important;
  width: 290px !important;
  margin-bottom: 15px !important;
}

/* Uniformisation des cartes */
#index [data-type="newproducts"] .products .product-miniature {
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
  height: 100% !important;
}

#index [data-type="newproducts"] .products .product-description {
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
  flex-grow: 1 !important;
  padding: 15px !important;
}

/* Titres de produits en Times New Roman */
#index [data-type="newproducts"] .products .product-title,
#index [data-type="newproducts"] .products .product-title a {
  font-size: 17px !important;
  font-weight: 700 !important;
  font-family: 'Times New Roman', Times, serif !important;
  min-height: 50px !important;
  display: flex !important;
  align-items: center !important;
}

/* Prix des produits en Times New Roman */
#index [data-type="newproducts"] .products .price,
#index [data-type="newproducts"] .products span.price {
  font-size: 18px !important;
  font-weight: 700 !important;
  font-family: 'Times New Roman', Times, serif !important;
}

/* ==========================================
   BOUTON "ALL NEW PRODUCTS" (Aligné à droite)
   ========================================== */
#index [data-type="newproducts"] .all-product-link,
#index [data-type="newproducts"] .products ~ div,
#index [data-type="newproducts"] .text-xs-right {
  display: flex !important;
  max-width: 1850px !important;
  width: 100% !important;
  justify-content: flex-end !important;
  margin-top: 30px !important;
  padding-right: 20px !important;
  box-sizing: border-box !important;
}

#index [data-type="newproducts"] a.all-product-link {
  display: inline-block !important;
  width: auto !important;
  background-color: #7c3aed !important;
  color: #ffffff !important;
  padding: 12px 25px !important;
  font-size: 15px !important;
  border-radius: 5px !important;
  text-decoration: none !important;
  font-weight: bold !important;
  font-family: 'Times New Roman', Times, serif !important;
  text-transform: uppercase !important;
  transition: background-color 0.3s ease;
}

#index [data-type="newproducts"] a.all-product-link:hover {
  background-color: #6d28d9 !important;
}

#index [data-type="newproducts"] a.all-product-link i {
  vertical-align: middle;
  margin-left: 8px;
}

/* ==========================================
   RESPONSIVE DESIGN POUR [data-type="newproducts"] (Mobile & Tablettes)
   ========================================== */
@media (max-width: 992px) {
  #index [data-type="newproducts"],
  #index .featured-products[data-type="newproducts"] {
    padding: 30px 10px !important;
  }

  #index [data-type="newproducts"] h2.h2,
  #index [data-type="newproducts"] .products-section-title,
  #index [data-type="newproducts"] h2 {
    font-size: 24px !important;
    margin-bottom: 20px !important;
  }

  #index [data-type="newproducts"] .products {
    padding: 0 10px !important;
    gap: 15px !important;
  }

  #index [data-type="newproducts"] .products .js-product {
    flex: 0 0 100% !important;
    max-width: 320px !important;
    width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  #index [data-type="newproducts"] .all-product-link,
  #index [data-type="newproducts"] .products ~ div,
  #index [data-type="newproducts"] .text-xs-right {
    justify-content: center !important;
    padding-right: 0 !important;
  }
}
/* ==========================================
   CORRECTION FORCÉE : DESCRIPTION ENTIÈRE & BOUTONS ALIGNÉS
   ========================================== */

#index .ybc_block_latest {
  width: 100vw !important;
  max-width: 100vw !important;
  position: relative !important;
  left: 50% !important;
  right: 50% !important;
  margin-left: -50vw !important;
  margin-right: -50vw !important;
  padding: 50px 20px 70px 20px !important;
  box-sizing: border-box !important;
  background-color: #ffffff !important;
  clear: both !important;
  float: none !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
}

#index .ybc_block_latest > h2.title_blog,
#index .ybc_block_latest > a.view-all-blog-link {
  max-width: 1850px !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

#index .ybc_block_latest h2.title_blog {
  font-size: 34px !important;
  font-weight: 800 !important;
  color: #780bf5 !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  margin: 0 auto 35px auto !important;
  max-width: 1850px !important;
  text-align: left !important;
  border-bottom: 3px solid #3b82f6 !important;
  padding-bottom: 12px !important;
  display: flex !important;
  justify-content: space-between !important;
  align-items: flex-end !important;
}

#index .ybc_block_latest a.view-all-blog-link {
  position: absolute !important;
  top: 50px !important;
  right: max(20px, calc((100vw - 1850px) / 2 + 20px)) !important;
  font-size: 18px !important;
  font-weight: 800 !important;
  color: #2563eb !important;
  text-decoration: none !important;
  text-transform: uppercase !important;
  margin: 0 !important;
  padding-bottom: 12px !important;
  width: auto !important;
  max-width: none !important;
  background: #ffffff !important;
  z-index: 5 !important;
}

#index .ybc_block_latest .block_content,
#index .ybc_block_latest .owl-carousel {
  max-width: 1850px !important;
  width: 100% !important;
  margin: 0 auto !important;
  box-sizing: border-box !important;
}

#index .ybc_block_latest .owl-stage-outer {
  overflow: visible !important;
}

#index .ybc_block_latest .owl-carousel .owl-item {
  width: 380px !important;
  margin-right: 25px !important;
  float: left !important;
  box-sizing: border-box !important;
  display: flex !important;
}

/* --- CARTE INDIVIDUELLE --- */
#index .ybc_block_latest .owl-item li {
  width: 100% !important;
  background: #ffffff !important;
  border: 1px solid #e5e7eb !important;
  border-radius: 10px !important;
  padding: 25px !important;
  box-shadow: 0 6px 12px -2px rgba(79, 70, 229, 0.1) !important;
  box-sizing: border-box !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
  height: 100% !important;
  min-height: 610px !important; 
}

#index .ybc_block_latest .ybc_item_img {
  aspect-ratio: 2.2 / 1 !important; /* Donne plus de hauteur au bloc */
  width: 100% !important;
  margin-bottom: 15px !important;
  flex-shrink: 0 !important;
  overflow: hidden !important;
  border-radius: 6px !important;
}

#index .ybc_block_latest .ybc_item_img img {
  border-radius: 6px !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important; /* Affiche l'image entière sans rien couper */
  background-color: #ffffff; /* Fond blanc propre si l'image ne prend pas toute la largeur */
}

/* Titre minimisé */
#index .ybc_block_latest a.ybc_title_block {
  font-size: 16px !important;
  font-weight: 700 !important;
  color: #2563eb !important;
  text-decoration: none !important;
  line-height: 1.35 !important;
  margin-bottom: 10px !important;
  display: block !important;
  height: 65px !important; 
  overflow: hidden !important;
  flex-shrink: 0 !important;
}

#index .ybc_block_latest .ybc-blog-sidear-post-meta {
  font-size: 13px !important;
  color: #4b5563 !important;
  margin-bottom: 8px !important;
  flex-shrink: 0 !important;
}

#index .ybc_block_latest .ybc-blog-sidear-post-meta a {
  color: #7c3aed !important;
  font-weight: 600 !important;
}

#index .ybc_block_latest .ybc-blog-latest-toolbar {
  font-size: 12px !important;
  color: #6b7280 !important;
  margin-bottom: 10px !important;
  display: flex !important;
  gap: 12px !important;
  flex-shrink: 0 !important;
}

/* --- FORCER L'AFFICHAGE COMPLET DE LA DESCRIPTION SANS TRONCATURE --- */
#index .ybc_block_latest .blog_description,
#index .ybc_block_latest .blog_description * {
  display: block !important;
  max-height: none !important;
  height: auto !important;
  overflow: visible !important;
  text-overflow: clip !important;
  white-space: normal !important;
}

#index .ybc_block_latest .blog_description {
  flex-grow: 1 !important;
  margin-bottom: 15px !important;
}

#index .ybc_block_latest .blog_description p {
  font-size: 14px !important;
  color: #4b5563 !important;
  line-height: 1.5 !important;
  margin: 0 !important;
}

/* Bouton Read More calé proprement en bas */
#index .ybc_block_latest a.read_more {
  display: inline-block !important;
  background: #7c3aed !important;
  color: #ffffff !important;
  padding: 10px 20px !important;
  font-size: 14px !important;
  font-weight: bold !important;
  text-decoration: none !important;
  border-radius: 5px !important;
  text-transform: uppercase !important;
  margin-top: auto !important;
  text-align: center !important;
  transition: background-color 0.3s ease;
  flex-shrink: 0 !important;
}

#index .ybc_block_latest a.read_more:hover {
  background: #6d28d9 !important;
}

/* ==========================================
   RESPONSIVE DESIGN (Mobile & Tablettes)
   ========================================== */
@media (max-width: 992px) {
  #index .ybc_block_latest {
    padding: 30px 10px 40px 10px !important;
  }

  #index .ybc_block_latest h2.title_blog {
    font-size: 22px !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 10px !important;
    padding-bottom: 10px !important;
    margin-bottom: 25px !important;
  }

  #index .ybc_block_latest a.view-all-blog-link {
    position: static !important;
    font-size: 15px !important;
    padding-bottom: 0 !important;
    margin-top: 5px !important;
  }

  #index .ybc_block_latest .owl-carousel .owl-item {
    width: 100% !important;
    margin-right: 0 !important;
  }

  #index .ybc_block_latest .owl-item li {
    min-height: auto !important;
    height: auto !important;
    padding: 20px !important;
  }

  #index .ybc_block_latest a.ybc_title_block {
    height: auto !important;
    min-height: auto !important;
    font-size: 16px !important;
  }

  #index .ybc_block_latest a.read_more {
    display: block !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }
}
/* --- Ligne 2 : Barre Logo & Réseaux Sociaux --- */
.footer-social-bar {
    display: flex !important;
    flex-wrap: nowrap !important; /* Empêche tout retour à la ligne forcé global */
    align-items: center !important;
    justify-content: space-between !important;
    background: #F3EEFF !important;
    padding: 20px 30px !important;
    border-radius: 10px !important;
    margin-top: 20px !important;
    border: 1px solid #eaeaea !important;
}

.footer-logo-area {
    display: flex !important;
    align-items: center !important;
    gap: 20px !important;
    flex: 0 1 auto !important; /* Ne prend que l'espace nécessaire sans pousser */
    white-space: nowrap !important; /* FORCE le texte et le logo à rester rigoureusement sur la même ligne sur desktop */
}

.footer-logo-area img {
    max-height: 50px !important;
    width: auto !important;
    flex-shrink: 0 !important; /* Empêche le logo de rétrécir */
}

.footer-logo-area p {
    margin: 0 !important;
    font-size: 0.95rem !important;
    color: #555 !important;
    line-height: 1.5 !important;
    white-space: nowrap !important; /* Empêche le texte de couper en plusieurs lignes */
}

.footer-social-links {
    display: flex !important;
    justify-content: flex-end !important;
    gap: 15px !important;
    flex-shrink: 0 !important;
}

.footer-social-links a {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: #603B93 !important;
    color: white !important;
    width: 40px !important;
    height: 40px !important;
    border-radius: 50% !important;
    text-decoration: none !important;
    transition: transform 0.3s ease, background-color 0.3s ease !important;
}

.footer-social-links a span {
    line-height: normal !important;
    font-weight: bold !important;
    font-family: Arial, sans-serif !important;
}

.footer-social-links a:hover {
    background-color: #4c2d73 !important;
    transform: translateY(-3px) !important;
}

/* --- Ligne 3 : Copyright --- */
.footer-copyright-row {
    display: flex !important;
    align-items: center !important;
    margin-top: 20px !important;
    border-top: 1px solid #ddd !important;
    padding-top: 15px !important;
}

.footer-copyright-row p {
    font-size: 12px !important;
    color: #888 !important;
    margin: 0 !important;
    text-align: center !important;
    padding-right: 30px !important;
    width: 100% !important;
}

/* --- Responsive Footer pour Mobiles (Reste inchangé pour ne pas casser le mobile) --- */
@media (max-width: 768px) {
    .footer-social-bar {
        flex-direction: column !important;
        text-align: center !important;
        gap: 20px !important;
    }
    .footer-logo-area {
        flex-direction: column !important;
        text-align: center !important;
        white-space: normal !important; /* Autorise le retour à la ligne sur mobile si l'écran est trop petit */
    }
    .footer-logo-area p {
        white-space: normal !important;
    }
    .footer-social-links {
        justify-content: center !important;
    }
}
/* Premier bloc : Advanced Reagents */
.banner-advanced {
    width: 100% !important;
    background: linear-gradient(135deg, #1e293b 0%, #0f172a 100%) !important;
    padding: 40px 20px !important;
    margin: 40px 0 20px 0 !important;
    text-align: center !important;
    box-sizing: border-box !important;
}

.banner-advanced .banner-container {
    max-width: 1200px !important;
    margin: 0 auto !important;
}

.banner-advanced h3 {
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif !important;
    font-size: 22px !important;
    font-weight: 700 !important;
    color: #ffffff !important;
    margin: 0 0 10px 0 !important;
}

.banner-advanced p {
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif !important;
    font-size: 15px !important;
    color: #94a3b8 !important;
    margin: 0 auto 20px auto !important;
    max-width: 800px !important;
}

/* Deuxième bloc : News */
.banner-news {
    width: 100% !important;
    background: linear-gradient(135deg, #7c3aed 0%, #4f46e5 100%) !important;
    padding: 25px 20px !important;
    margin: 40px 0 20px 0 !important;
    text-align: center !important;
    box-sizing: border-box !important;
}

.banner-news p {
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    color: #ffffff !important;
    margin: 0 !important;
    letter-spacing: 0.5px !important;
}
/* --- Style de la page CMS Delivery --- */
#content.page-content {
    background: #ffffff;
    padding: 30px;
    border-radius: 6px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
    margin-bottom: 30px;
}

#content.page-content h2:first-of-type {
    font-size: 1.8rem;
    color: #232b38;
    margin-bottom: 10px;
    border-bottom: 2px solid #7c3aed;
    padding-bottom: 10px;
}

#content.page-content p {
    color: #555555;
    line-height: 1.6;
    margin-bottom: 15px;
}

#content.page-content h3 {
    font-size: 1.2rem;
    color: #232b38;
    margin-top: 25px;
    margin-bottom: 10px;
    font-weight: 600;
}

#content.page-content ul {
    margin-bottom: 15px;
    padding-left: 20px;
}

#content.page-content li {
    margin-bottom: 8px;
    color: #555555;
    line-height: 1.5;
}

#content.page-content strong {
    color: #232b38;
}
/* Agrandir et forcer la taille de l'image de couverture dans la page catégorie */
#category #wrapper .category-cover img, 
#category #wrapper .category-cover {
    max-width: 450px !important; /* Vous pouvez augmenter cette valeur (ex: 500px) */
    width: 100% !important;
    height: auto !important;
    margin-bottom: 20px;
}
/* Style élégant avec Times New Roman pour la description de la catégorie et des articles */
.ybc-page-category .blog-category-desc p,
.ybc-blog-wrapper-blog-list .blog_description p {
    font-family: "Times New Roman", Times, serif !important;
    font-size: 1.15rem !important;
    line-height: 1.7 !important;
    color: #2c2c2c !important;
    letter-spacing: 0.2px;
}

/* Titre de la catégorie en violet, police Times New Roman, avec de l'espace en dessous */
.ybc-page-category h1.page-heading.product-listing {
    font-family: "Times New Roman", Times, serif !important;
    color: #512ba3 !important; /* Violet exact de votre logo */
    font-size: 2rem !important;
    font-weight: bold !important;
    margin-bottom: 15px !important;
}

/* Marge à gauche et en bas pour le bloc de description de la catégorie */
.ybc-page-category .blog-category-desc {
    margin-left: 20px !important;
    margin-bottom: 25px !important;
}
