/* ==========================================================
   LUDORUM — FICHE PRODUIT DA v1.1.2
   Objectif : fiche plus propre + Produits similaires calqués
   sur les cartes catalogue Ludorum.
   Scope strict : pages produit WooCommerce uniquement.
   ========================================================== */

body.single-product.ludorum-product-da,
body.single-product.ludorum-product-da-v112 {
  --lud-blue: #0755bd;
  --lud-blue-dark: #06295f;
  --lud-blue-deep: #071f49;
  --lud-blue-soft: #f2f7ff;
  --lud-yellow: #ffbf1f;
  --lud-yellow-soft: #fff8df;
  --lud-red: #e8272d;
  --lud-red-soft: #fff2f3;
  --lud-green: #159447;
  --lud-green-soft: #effaf3;
  --lud-ink: #0a1f3d;
  --lud-text: #4e5e73;
  --lud-muted: #7d899a;
  --lud-line: #dfe7f0;
  --lud-card-line: #dbe3ed;
  --lud-white: #ffffff;
  --lud-shadow: 0 8px 24px rgba(10, 34, 72, .07);
  --lud-card-shadow: 0 4px 13px rgba(8, 40, 82, .055);
}

/* ----------------------------------------------------------
   Fil d'Ariane
   ---------------------------------------------------------- */
body.single-product.ludorum-product-da .woocommerce-breadcrumb,
body.single-product.ludorum-product-da-v112 .woocommerce-breadcrumb {
  margin: 0 0 18px !important;
  color: #8994a5 !important;
  font-size: 15px !important;
  line-height: 1.55 !important;
}

body.single-product.ludorum-product-da .woocommerce-breadcrumb a,
body.single-product.ludorum-product-da-v112 .woocommerce-breadcrumb a {
  color: #65758b !important;
  font-weight: 700 !important;
  text-decoration: none !important;
}

body.single-product.ludorum-product-da .woocommerce-breadcrumb a:hover,
body.single-product.ludorum-product-da-v112 .woocommerce-breadcrumb a:hover {
  color: var(--lud-blue) !important;
}

/* ==========================================================
   PARTIE HAUTE DE LA FICHE
   ========================================================== */
body.single-product.ludorum-product-da div.product.type-product .woocommerce-product-gallery,
body.single-product.ludorum-product-da div.product.type-product .summary.entry-summary,
body.single-product.ludorum-product-da-v112 div.product.type-product .woocommerce-product-gallery,
body.single-product.ludorum-product-da-v112 div.product.type-product .summary.entry-summary {
  box-sizing: border-box !important;
  background: #fff !important;
  border: 1px solid var(--lud-line) !important;
  border-radius: 18px !important;
  box-shadow: var(--lud-shadow) !important;
}

/* Image produit : sobre, blanche, propre. */
body.single-product.ludorum-product-da div.product.type-product .woocommerce-product-gallery,
body.single-product.ludorum-product-da-v112 div.product.type-product .woocommerce-product-gallery {
  padding: 17px !important;
  overflow: hidden !important;
}

body.single-product.ludorum-product-da div.product.type-product .woocommerce-product-gallery__wrapper,
body.single-product.ludorum-product-da div.product.type-product .woocommerce-product-gallery__image,
body.single-product.ludorum-product-da div.product.type-product .woocommerce-product-gallery__image > a,
body.single-product.ludorum-product-da-v112 div.product.type-product .woocommerce-product-gallery__wrapper,
body.single-product.ludorum-product-da-v112 div.product.type-product .woocommerce-product-gallery__image,
body.single-product.ludorum-product-da-v112 div.product.type-product .woocommerce-product-gallery__image > a {
  overflow: hidden !important;
  border-radius: 14px !important;
}

body.single-product.ludorum-product-da div.product.type-product .woocommerce-product-gallery img,
body.single-product.ludorum-product-da-v112 div.product.type-product .woocommerce-product-gallery img {
  display: block !important;
  max-width: 100% !important;
  height: auto !important;
  margin: 0 auto !important;
  border-radius: 12px !important;
}

/* Résumé : liseré tricolore léger, pas d'aplat agressif. */
body.single-product.ludorum-product-da div.product.type-product .summary.entry-summary,
body.single-product.ludorum-product-da-v112 div.product.type-product .summary.entry-summary {
  position: relative !important;
  padding: clamp(19px, 2.2vw, 28px) !important;
  overflow: hidden !important;
}

body.single-product.ludorum-product-da div.product.type-product .summary.entry-summary::before,
body.single-product.ludorum-product-da-v112 div.product.type-product .summary.entry-summary::before {
  content: "" !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  height: 4px !important;
  background: linear-gradient(90deg,
    var(--lud-blue) 0 33.333%,
    var(--lud-yellow) 33.333% 66.666%,
    var(--lud-red) 66.666% 100%) !important;
}

body.single-product.ludorum-product-da div.product.type-product .product_title,
body.single-product.ludorum-product-da-v112 div.product.type-product .product_title {
  margin: 0 0 9px !important;
  color: #111827 !important;
  font-size: clamp(29px, 2.8vw, 39px) !important;
  font-weight: 900 !important;
  line-height: 1.13 !important;
  letter-spacing: -.025em !important;
}

body.single-product.ludorum-product-da div.product.type-product .summary .price,
body.single-product.ludorum-product-da-v112 div.product.type-product .summary .price {
  display: flex !important;
  align-items: baseline !important;
  flex-wrap: wrap !important;
  gap: 6px !important;
  margin: 7px 0 12px !important;
  color: var(--lud-blue) !important;
  font-size: 24px !important;
  font-weight: 900 !important;
}

body.single-product.ludorum-product-da div.product.type-product .summary .price del,
body.single-product.ludorum-product-da-v112 div.product.type-product .summary .price del {
  color: #8c96a5 !important;
  font-size: 17px !important;
  font-weight: 750 !important;
  opacity: 1 !important;
}

body.single-product.ludorum-product-da div.product.type-product .summary .price ins,
body.single-product.ludorum-product-da-v112 div.product.type-product .summary .price ins {
  color: var(--lud-red) !important;
  font-weight: 900 !important;
  text-decoration: none !important;
}

body.single-product.ludorum-product-da div.product.type-product .woocommerce-product-details__short-description,
body.single-product.ludorum-product-da-v112 div.product.type-product .woocommerce-product-details__short-description {
  margin: 0 0 12px !important;
  color: var(--lud-text) !important;
  font-size: 17px !important;
  line-height: 1.65 !important;
}

body.single-product.ludorum-product-da div.product.type-product p.stock,
body.single-product.ludorum-product-da-v112 div.product.type-product p.stock {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  margin: 3px 0 12px !important;
  padding: 6px 9px !important;
  color: var(--lud-green) !important;
  background: var(--lud-green-soft) !important;
  border: 1px solid rgba(21, 148, 71, .16) !important;
  border-radius: 999px !important;
  font-size: 15px !important;
  font-weight: 850 !important;
}

body.single-product.ludorum-product-da div.product.type-product p.stock.out-of-stock,
body.single-product.ludorum-product-da-v112 div.product.type-product p.stock.out-of-stock {
  color: var(--lud-red) !important;
  background: var(--lud-red-soft) !important;
  border-color: rgba(232, 39, 45, .16) !important;
}

/* Bloc achat doux */
body.single-product.ludorum-product-da div.product.type-product form.cart,
body.single-product.ludorum-product-da-v112 div.product.type-product form.cart {
  display: flex !important;
  align-items: stretch !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  margin: 8px 0 13px !important;
  padding: 10px !important;
  background: #f7faff !important;
  border: 1px solid #dce8f8 !important;
  border-radius: 13px !important;
}

body.single-product.ludorum-product-da div.product.type-product form.cart .quantity,
body.single-product.ludorum-product-da-v112 div.product.type-product form.cart .quantity {
  float: none !important;
  margin: 0 !important;
}

body.single-product.ludorum-product-da div.product.type-product form.cart .qty,
body.single-product.ludorum-product-da-v112 div.product.type-product form.cart .qty {
  width: 62px !important;
  min-width: 62px !important;
  height: 42px !important;
  padding: 0 8px !important;
  color: var(--lud-ink) !important;
  background: #fff !important;
  border: 1px solid #cad5e3 !important;
  border-radius: 9px !important;
  font-weight: 850 !important;
  box-shadow: none !important;
}

body.single-product.ludorum-product-da div.product.type-product form.cart .single_add_to_cart_button,
body.single-product.ludorum-product-da-v112 div.product.type-product form.cart .single_add_to_cart_button {
  min-height: 42px !important;
  padding: 9px 17px !important;
  color: #fff !important;
  background: linear-gradient(110deg, var(--lud-blue-deep), var(--lud-blue)) !important;
  border: 0 !important;
  border-radius: 9px !important;
  font-size: 16px !important;
  font-weight: 900 !important;
  box-shadow: 0 6px 14px rgba(7, 85, 189, .16) !important;
}

body.single-product.ludorum-product-da div.product.type-product form.cart .single_add_to_cart_button:hover,
body.single-product.ludorum-product-da-v112 div.product.type-product form.cart .single_add_to_cart_button:hover {
  color: #fff !important;
  background: linear-gradient(110deg, #061b3e, #06499f) !important;
}

/* Métadonnées */
body.single-product.ludorum-product-da div.product.type-product .product_meta,
body.single-product.ludorum-product-da-v112 div.product.type-product .product_meta {
  margin-top: 13px !important;
  padding-top: 11px !important;
  color: #69778b !important;
  border-top: 1px solid var(--lud-line) !important;
  font-size: 14.5px !important;
  line-height: 1.75 !important;
}

body.single-product.ludorum-product-da div.product.type-product .product_meta a,
body.single-product.ludorum-product-da-v112 div.product.type-product .product_meta a {
  color: var(--lud-blue) !important;
  font-weight: 750 !important;
  text-decoration: none !important;
}

/* ==========================================================
   ONGLETS DESCRIPTION / INFORMATIONS / AVIS
   ========================================================== */
body.single-product.ludorum-product-da div.product.type-product .woocommerce-tabs,
body.single-product.ludorum-product-da-v112 div.product.type-product .woocommerce-tabs {
  clear: both !important;
  margin-top: 28px !important;
  padding: 17px 18px !important;
  background: #fff !important;
  border: 1px solid var(--lud-line) !important;
  border-radius: 17px !important;
  box-shadow: var(--lud-shadow) !important;
}

body.single-product.ludorum-product-da div.product.type-product .woocommerce-tabs ul.tabs,
body.single-product.ludorum-product-da-v112 div.product.type-product .woocommerce-tabs ul.tabs {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 7px !important;
  margin: 0 0 17px !important;
  padding: 0 !important;
  border: 0 !important;
}

body.single-product.ludorum-product-da div.product.type-product .woocommerce-tabs ul.tabs::before,
body.single-product.ludorum-product-da div.product.type-product .woocommerce-tabs ul.tabs li::before,
body.single-product.ludorum-product-da div.product.type-product .woocommerce-tabs ul.tabs li::after,
body.single-product.ludorum-product-da-v112 div.product.type-product .woocommerce-tabs ul.tabs::before,
body.single-product.ludorum-product-da-v112 div.product.type-product .woocommerce-tabs ul.tabs li::before,
body.single-product.ludorum-product-da-v112 div.product.type-product .woocommerce-tabs ul.tabs li::after {
  display: none !important;
}

body.single-product.ludorum-product-da div.product.type-product .woocommerce-tabs ul.tabs li,
body.single-product.ludorum-product-da-v112 div.product.type-product .woocommerce-tabs ul.tabs li {
  margin: 0 !important;
  padding: 0 !important;
  background: #f7f9fc !important;
  border: 1px solid var(--lud-line) !important;
  border-radius: 9px !important;
}

body.single-product.ludorum-product-da div.product.type-product .woocommerce-tabs ul.tabs li a,
body.single-product.ludorum-product-da-v112 div.product.type-product .woocommerce-tabs ul.tabs li a {
  padding: 8px 12px !important;
  color: #445269 !important;
  font-size: 15px !important;
  font-weight: 850 !important;
}

body.single-product.ludorum-product-da div.product.type-product .woocommerce-tabs ul.tabs li.active,
body.single-product.ludorum-product-da-v112 div.product.type-product .woocommerce-tabs ul.tabs li.active {
  background: #edf5ff !important;
  border-color: #b8d1f4 !important;
}

body.single-product.ludorum-product-da div.product.type-product .woocommerce-tabs ul.tabs li.active a,
body.single-product.ludorum-product-da-v112 div.product.type-product .woocommerce-tabs ul.tabs li.active a {
  color: var(--lud-blue) !important;
}

body.single-product.ludorum-product-da div.product.type-product .woocommerce-Tabs-panel,
body.single-product.ludorum-product-da-v112 div.product.type-product .woocommerce-Tabs-panel {
  color: #4e5d70 !important;
  font-size: 17px !important;
  line-height: 1.7 !important;
}

body.single-product.ludorum-product-da div.product.type-product .woocommerce-Tabs-panel > h2:first-child,
body.single-product.ludorum-product-da-v112 div.product.type-product .woocommerce-Tabs-panel > h2:first-child {
  margin-top: 0 !important;
  color: var(--lud-ink) !important;
  font-size: 24px !important;
}

/* ==========================================================
   PRODUITS SIMILAIRES / ACHETÉS ENSEMBLE / UPSELLS
   Doivent visuellement reprendre la grille catalogue Ludorum.
   Desktop + tablette : 4 colonnes. Mobile : 2 colonnes.
   ========================================================== */
body.single-product.ludorum-product-da section.related.products,
body.single-product.ludorum-product-da section.upsells.products,
body.single-product.ludorum-product-da .related.products,
body.single-product.ludorum-product-da .upsells.products,
body.single-product.ludorum-product-da-v112 section.related.products,
body.single-product.ludorum-product-da-v112 section.upsells.products,
body.single-product.ludorum-product-da-v112 .related.products,
body.single-product.ludorum-product-da-v112 .upsells.products {
  clear: both !important;
  position: relative !important;
  margin-top: 28px !important;
  padding: 17px !important;
  background: #fff !important;
  border: 1px solid var(--lud-line) !important;
  border-radius: 17px !important;
  box-shadow: var(--lud-shadow) !important;
  overflow: visible !important;
}

body.single-product.ludorum-product-da .related.products > h2,
body.single-product.ludorum-product-da .upsells.products > h2,
body.single-product.ludorum-product-da-v112 .related.products > h2,
body.single-product.ludorum-product-da-v112 .upsells.products > h2 {
  position: relative !important;
  display: inline-block !important;
  margin: 0 0 17px !important;
  padding: 0 0 9px !important;
  color: #111827 !important;
  font-size: clamp(23px, 2.1vw, 29px) !important;
  font-weight: 900 !important;
  line-height: 1.2 !important;
  letter-spacing: -.02em !important;
}

body.single-product.ludorum-product-da .related.products > h2::after,
body.single-product.ludorum-product-da .upsells.products > h2::after,
body.single-product.ludorum-product-da-v112 .related.products > h2::after,
body.single-product.ludorum-product-da-v112 .upsells.products > h2::after {
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  bottom: 0 !important;
  width: 82px !important;
  height: 3px !important;
  border-radius: 999px !important;
  background: linear-gradient(90deg,
    var(--lud-blue) 0 33.333%,
    var(--lud-yellow) 33.333% 66.666%,
    var(--lud-red) 66.666% 100%) !important;
}

/* Supprime le flottement WooCommerce et impose 4/4/2. */
body.single-product.ludorum-product-da .related.products ul.products,
body.single-product.ludorum-product-da .upsells.products ul.products,
body.single-product.ludorum-product-da-v112 .related.products ul.products,
body.single-product.ludorum-product-da-v112 .upsells.products ul.products {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  align-items: stretch !important;
  gap: 13px !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

body.single-product.ludorum-product-da .related.products ul.products::before,
body.single-product.ludorum-product-da .related.products ul.products::after,
body.single-product.ludorum-product-da .upsells.products ul.products::before,
body.single-product.ludorum-product-da .upsells.products ul.products::after,
body.single-product.ludorum-product-da-v112 .related.products ul.products::before,
body.single-product.ludorum-product-da-v112 .related.products ul.products::after,
body.single-product.ludorum-product-da-v112 .upsells.products ul.products::before,
body.single-product.ludorum-product-da-v112 .upsells.products ul.products::after {
  display: none !important;
  content: none !important;
}

body.single-product.ludorum-product-da .related.products ul.products li.product,
body.single-product.ludorum-product-da .upsells.products ul.products li.product,
body.single-product.ludorum-product-da-v112 .related.products ul.products li.product,
body.single-product.ludorum-product-da-v112 .upsells.products ul.products li.product {
  float: none !important;
  clear: none !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 8px !important;
  display: flex !important;
  flex-direction: column !important;
  position: relative !important;
  box-sizing: border-box !important;
  background: #fff !important;
  border: 1px solid var(--lud-card-line) !important;
  border-radius: 13px !important;
  box-shadow: var(--lud-card-shadow) !important;
  overflow: hidden !important;
  text-align: left !important;
  transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease !important;
}

body.single-product.ludorum-product-da .related.products ul.products li.product:hover,
body.single-product.ludorum-product-da .upsells.products ul.products li.product:hover,
body.single-product.ludorum-product-da-v112 .related.products ul.products li.product:hover,
body.single-product.ludorum-product-da-v112 .upsells.products ul.products li.product:hover {
  transform: translateY(-2px) !important;
  border-color: #c6d5e8 !important;
  box-shadow: 0 7px 17px rgba(8, 40, 82, .09) !important;
}

/* Le lien produit devient un bloc, sans style parasite du thème. */
body.single-product.ludorum-product-da .related.products ul.products li.product a.woocommerce-LoopProduct-link,
body.single-product.ludorum-product-da .upsells.products ul.products li.product a.woocommerce-LoopProduct-link,
body.single-product.ludorum-product-da-v112 .related.products ul.products li.product a.woocommerce-LoopProduct-link,
body.single-product.ludorum-product-da-v112 .upsells.products ul.products li.product a.woocommerce-LoopProduct-link {
  display: block !important;
  color: inherit !important;
  text-decoration: none !important;
}

/* Image : mêmes proportions calmes que les pages catalogue. */
body.single-product.ludorum-product-da .related.products ul.products li.product img,
body.single-product.ludorum-product-da .upsells.products ul.products li.product img,
body.single-product.ludorum-product-da-v112 .related.products ul.products li.product img,
body.single-product.ludorum-product-da-v112 .upsells.products ul.products li.product img {
  display: block !important;
  width: 100% !important;
  aspect-ratio: 1 / 1 !important;
  object-fit: contain !important;
  margin: 0 0 7px !important;
  padding: 4px !important;
  box-sizing: border-box !important;
  background: #fbfcfe !important;
  border: 1px solid #edf1f5 !important;
  border-radius: 9px !important;
}

/* Titre noir comme dans les grilles catalogue. */
body.single-product.ludorum-product-da .related.products ul.products li.product .woocommerce-loop-product__title,
body.single-product.ludorum-product-da .upsells.products ul.products li.product .woocommerce-loop-product__title,
body.single-product.ludorum-product-da-v112 .related.products ul.products li.product .woocommerce-loop-product__title,
body.single-product.ludorum-product-da-v112 .upsells.products ul.products li.product .woocommerce-loop-product__title {
  min-height: 2.45em !important;
  margin: 0 !important;
  padding: 0 !important;
  color: #0c1729 !important;
  font-size: 15.5px !important;
  font-weight: 850 !important;
  line-height: 1.25 !important;
  text-align: left !important;
}

/* Prix normaux bleus / promotions rouges. */
body.single-product.ludorum-product-da .related.products ul.products li.product .price,
body.single-product.ludorum-product-da .upsells.products ul.products li.product .price,
body.single-product.ludorum-product-da-v112 .related.products ul.products li.product .price,
body.single-product.ludorum-product-da-v112 .upsells.products ul.products li.product .price {
  display: flex !important;
  align-items: baseline !important;
  flex-wrap: wrap !important;
  gap: 4px !important;
  min-height: 18px !important;
  margin: 6px 0 3px !important;
  color: var(--lud-blue) !important;
  font-size: 15.5px !important;
  font-weight: 900 !important;
  line-height: 1.25 !important;
}

body.single-product.ludorum-product-da .related.products ul.products li.product .price del,
body.single-product.ludorum-product-da .upsells.products ul.products li.product .price del,
body.single-product.ludorum-product-da-v112 .related.products ul.products li.product .price del,
body.single-product.ludorum-product-da-v112 .upsells.products ul.products li.product .price del {
  color: #8994a4 !important;
  font-size: 13.5px !important;
  font-weight: 750 !important;
  opacity: 1 !important;
}

body.single-product.ludorum-product-da .related.products ul.products li.product .price ins,
body.single-product.ludorum-product-da .upsells.products ul.products li.product .price ins,
body.single-product.ludorum-product-da-v112 .related.products ul.products li.product .price ins,
body.single-product.ludorum-product-da-v112 .upsells.products ul.products li.product .price ins {
  color: var(--lud-red) !important;
  font-weight: 900 !important;
  text-decoration: none !important;
}

/* Disponible / Indisponible */
body.single-product.ludorum-product-da .ludorum-related-stock,
body.single-product.ludorum-product-da-v112 .ludorum-related-stock {
  display: flex !important;
  align-items: center !important;
  gap: 5px !important;
  min-height: 17px !important;
  margin: 1px 0 4px !important;
  font-size: 13.5px !important;
  font-weight: 850 !important;
  line-height: 1.2 !important;
}

body.single-product.ludorum-product-da .ludorum-related-stock__dot,
body.single-product.ludorum-product-da-v112 .ludorum-related-stock__dot {
  display: inline-block !important;
  width: 5px !important;
  height: 5px !important;
  flex: 0 0 5px !important;
  border-radius: 50% !important;
}

body.single-product.ludorum-product-da .ludorum-related-stock.is-available,
body.single-product.ludorum-product-da-v112 .ludorum-related-stock.is-available {
  color: var(--lud-green) !important;
}
body.single-product.ludorum-product-da .ludorum-related-stock.is-available .ludorum-related-stock__dot,
body.single-product.ludorum-product-da-v112 .ludorum-related-stock.is-available .ludorum-related-stock__dot {
  background: var(--lud-green) !important;
}
body.single-product.ludorum-product-da .ludorum-related-stock.is-unavailable,
body.single-product.ludorum-product-da-v112 .ludorum-related-stock.is-unavailable {
  color: var(--lud-red) !important;
}
body.single-product.ludorum-product-da .ludorum-related-stock.is-unavailable .ludorum-related-stock__dot,
body.single-product.ludorum-product-da-v112 .ludorum-related-stock.is-unavailable .ludorum-related-stock__dot {
  background: var(--lud-red) !important;
}

/* Favoris : cœur rond seul, placé avant le bouton panier par JS. */
body.single-product.ludorum-product-da .related.products .lud-related-wishlist,
body.single-product.ludorum-product-da .upsells.products .lud-related-wishlist,
body.single-product.ludorum-product-da-v112 .related.products .lud-related-wishlist,
body.single-product.ludorum-product-da-v112 .upsells.products .lud-related-wishlist {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  align-self: flex-start !important;
  width: 27px !important;
  min-width: 27px !important;
  height: 27px !important;
  min-height: 27px !important;
  margin: 1px 0 5px !important;
  padding: 0 !important;
  color: var(--lud-red) !important;
  background: #fff7f7 !important;
  border: 1px solid #ffc8cb !important;
  border-radius: 50% !important;
  box-shadow: none !important;
  text-decoration: none !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  overflow: hidden !important;
}

body.single-product.ludorum-product-da .related.products .lud-related-wishlist:hover,
body.single-product.ludorum-product-da .upsells.products .lud-related-wishlist:hover,
body.single-product.ludorum-product-da-v112 .related.products .lud-related-wishlist:hover,
body.single-product.ludorum-product-da-v112 .upsells.products .lud-related-wishlist:hover {
  background: #ffeef0 !important;
  border-color: #ffadb2 !important;
  color: #c91d25 !important;
}

/* Bouton bleu pleine largeur comme le catalogue. */
body.single-product.ludorum-product-da .related.products ul.products li.product > a.button,
body.single-product.ludorum-product-da .related.products ul.products li.product > .button,
body.single-product.ludorum-product-da .upsells.products ul.products li.product > a.button,
body.single-product.ludorum-product-da .upsells.products ul.products li.product > .button,
body.single-product.ludorum-product-da-v112 .related.products ul.products li.product > a.button,
body.single-product.ludorum-product-da-v112 .related.products ul.products li.product > .button,
body.single-product.ludorum-product-da-v112 .upsells.products ul.products li.product > a.button,
body.single-product.ludorum-product-da-v112 .upsells.products ul.products li.product > .button {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-height: 34px !important;
  margin: auto 0 0 !important;
  padding: 7px 8px !important;
  box-sizing: border-box !important;
  color: #fff !important;
  background: linear-gradient(105deg, #082652 0%, var(--lud-blue) 100%) !important;
  border: 0 !important;
  border-radius: 7px !important;
  box-shadow: none !important;
  font-size: 13.5px !important;
  font-weight: 900 !important;
  line-height: 1.2 !important;
  text-align: center !important;
  text-decoration: none !important;
  text-transform: none !important;
}

body.single-product.ludorum-product-da .related.products ul.products li.product > a.button:hover,
body.single-product.ludorum-product-da .upsells.products ul.products li.product > a.button:hover,
body.single-product.ludorum-product-da-v112 .related.products ul.products li.product > a.button:hover,
body.single-product.ludorum-product-da-v112 .upsells.products ul.products li.product > a.button:hover {
  color: #fff !important;
  background: linear-gradient(105deg, #061b3e 0%, #064ca8 100%) !important;
}

/* Badge Promo rouge comme les autres pages. */
body.single-product.ludorum-product-da .related.products ul.products li.product span.onsale,
body.single-product.ludorum-product-da .upsells.products ul.products li.product span.onsale,
body.single-product.ludorum-product-da-v112 .related.products ul.products li.product span.onsale,
body.single-product.ludorum-product-da-v112 .upsells.products ul.products li.product span.onsale {
  position: absolute !important;
  top: 4px !important;
  left: 4px !important;
  right: auto !important;
  z-index: 4 !important;
  display: inline-flex !important;
  align-items: center !important;
  min-width: 0 !important;
  min-height: 0 !important;
  width: auto !important;
  height: auto !important;
  margin: 0 !important;
  padding: 4px 7px !important;
  color: #fff !important;
  background: var(--lud-red) !important;
  border: 0 !important;
  border-radius: 999px !important;
  box-shadow: 0 3px 8px rgba(232, 39, 45, .18) !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  text-transform: none !important;
}

/* Badge promo sur la fiche principale. */
body.single-product.ludorum-product-da div.product.type-product > span.onsale,
body.single-product.ludorum-product-da-v112 div.product.type-product > span.onsale {
  color: #fff !important;
  background: var(--lud-red) !important;
  border: 2px solid var(--lud-yellow) !important;
  border-radius: 999px !important;
  font-size: 14px !important;
  font-weight: 900 !important;
}

/* Etoiles si présentes. */
body.single-product.ludorum-product-da .star-rating,
body.single-product.ludorum-product-da-v112 .star-rating {
  color: var(--lud-yellow) !important;
}

/* ----------------------------------------------------------
   Nettoyage de certains styles WooCommerce/thème qui cassent
   la carte Ludorum.
   ---------------------------------------------------------- */
body.single-product.ludorum-product-da .related.products li.product a,
body.single-product.ludorum-product-da .upsells.products li.product a,
body.single-product.ludorum-product-da-v112 .related.products li.product a,
body.single-product.ludorum-product-da-v112 .upsells.products li.product a {
  text-decoration: none !important;
}

body.single-product.ludorum-product-da .related.products li.product .added_to_cart,
body.single-product.ludorum-product-da .upsells.products li.product .added_to_cart,
body.single-product.ludorum-product-da-v112 .related.products li.product .added_to_cart,
body.single-product.ludorum-product-da-v112 .upsells.products li.product .added_to_cart {
  margin-top: 5px !important;
  color: var(--lud-blue) !important;
  font-size: 13px !important;
  font-weight: 800 !important;
}

/* ==========================================================
   RESPONSIVE
   Règle Ludorum : 4 cartes desktop / 4 tablette / 2 téléphone.
   Le header/mobile menu n'est jamais ciblé par cette extension.
   ========================================================== */
@media (max-width: 767px) {
  body.single-product.ludorum-product-da div.product.type-product .woocommerce-product-gallery,
  body.single-product.ludorum-product-da div.product.type-product .summary.entry-summary,
  body.single-product.ludorum-product-da div.product.type-product .woocommerce-tabs,
  body.single-product.ludorum-product-da .related.products,
  body.single-product.ludorum-product-da .upsells.products,
  body.single-product.ludorum-product-da-v112 div.product.type-product .woocommerce-product-gallery,
  body.single-product.ludorum-product-da-v112 div.product.type-product .summary.entry-summary,
  body.single-product.ludorum-product-da-v112 div.product.type-product .woocommerce-tabs,
  body.single-product.ludorum-product-da-v112 .related.products,
  body.single-product.ludorum-product-da-v112 .upsells.products {
    border-radius: 14px !important;
  }

  body.single-product.ludorum-product-da div.product.type-product .summary.entry-summary,
  body.single-product.ludorum-product-da-v112 div.product.type-product .summary.entry-summary {
    padding: 17px !important;
  }

  body.single-product.ludorum-product-da div.product.type-product .product_title,
  body.single-product.ludorum-product-da-v112 div.product.type-product .product_title {
    font-size: 30px !important;
  }

  body.single-product.ludorum-product-da div.product.type-product form.cart,
  body.single-product.ludorum-product-da-v112 div.product.type-product form.cart {
    display: grid !important;
    grid-template-columns: 66px minmax(0, 1fr) !important;
  }

  body.single-product.ludorum-product-da .related.products,
  body.single-product.ludorum-product-da .upsells.products,
  body.single-product.ludorum-product-da-v112 .related.products,
  body.single-product.ludorum-product-da-v112 .upsells.products {
    padding: 12px !important;
  }

  body.single-product.ludorum-product-da .related.products ul.products,
  body.single-product.ludorum-product-da .upsells.products ul.products,
  body.single-product.ludorum-product-da-v112 .related.products ul.products,
  body.single-product.ludorum-product-da-v112 .upsells.products ul.products {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
  }

  body.single-product.ludorum-product-da .related.products ul.products li.product,
  body.single-product.ludorum-product-da .upsells.products ul.products li.product,
  body.single-product.ludorum-product-da-v112 .related.products ul.products li.product,
  body.single-product.ludorum-product-da-v112 .upsells.products ul.products li.product {
    padding: 7px !important;
    border-radius: 11px !important;
  }
}
