/* CSS spécifique page product */
@media (min-width: 768px) {
  #jpresta_block_product_images {
    padding-right: 20px;
  }
}

/* ---------- Images / miniatures produit ---------- */
/* Mobile : cover au-dessus, vignettes en dessous (horizontales défilantes) */
#jpresta_block_product_images #product-images {
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
}
#jpresta_block_product_images #product-cover {
  order: 1 !important;
}
#jpresta_block_product_images #swiper-product-thumbnail {
  order: 2 !important;
}

#jpresta_block_product_images #swiper-product-thumbnail .swiper-wrapper {
  display: flex !important;
  flex-direction: row !important;
  gap: 10px !important;
  overflow: auto !important;
}
#jpresta_block_product_images #swiper-product-thumbnail .swiper-slide {
  width: auto !important;
  margin: 0 !important;
}

@media (max-width: 767.9px) {
  #jpresta_block_product_header {
	margin-top: 2rem;
}
}

/* ≥768px : vignettes à gauche en colonne + split 60/40 */
@media (min-width: 768px) {
  #jpresta_block_product_images #product-images {
    flex-direction: row-reverse !important;
    position: sticky;
    top: 10px;
  }
  /* Quand le swiper large est affiché (display: block), on désactive le sticky */
  #jpresta_block_product_images
    #product-images:has(#swiper-product-large[style*="display: block"]) {
    position: static;
    top: auto;
  }

  #jpresta_block_product_images #swiper-product-thumbnail {
    min-width: 100px !important;
    order: 1 !important;
  }
  #jpresta_block_product_images #swiper-product-thumbnail .swiper-wrapper {
    flex-direction: column !important;
    overflow: visible !important;
  }
  #jpresta_block_product_images #swiper-product-thumbnail .swiper-slide {
    margin: 5px 0 !important;
  }
  #jpresta_block_product_images {
    flex: 0 0 60% !important;
    max-width: 60% !important;
  }
  #jpresta_block_product_header {
    flex: 0 0 40% !important;
    max-width: 40% !important;
  }
}

/* flags */

.product-flag.discount-amount {
  display: none !important;
}

.product .product-flags .product-flag {
  background: rgb(212, 6, 5);
}

.product .product-flags .product-flag {
  font-weight: initial;
}

/* price */

.badge.discount-amount,
.badge.discount-percentage {
  background-color: rgb(212, 6, 5);
  color: white;
}

.product-prices .current-price .badge.discount-amount {
  border-radius: 50px;
  padding: 4px 15px !important;
}

/* ===== Product details – modern card layout (générique & mobile-first) ===== */
.tab-pane-content {
  background: #fff;
  border: 1px solid #e9eaee;
  border-radius: 16px;
  padding: 16px;
  line-height: 1.6;
  color: #111;
}

/* Tous les enfants directs reçoivent un style carte par défaut */
.tab-pane-content > * {
  margin: 8px 0;
  display: flex;
  align-items: center;
  gap: 12px;
  background: #fafbfc;
  border: 1px solid #eef0f3;
  border-radius: 12px;
  padding: 12px 14px;
  min-height: 44px; /* clique confortable */
}

/* Masquer automatiquement les blocs vides (sans texte/éléments) */
.tab-pane-content > *:empty {
  display: none !important;
  padding: 0;
  margin: 0;
  border: 0;
}

/* Étiquettes génériques (Brand, Reference, In stock, etc.) */
.tab-pane-content .label {
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: #6b7280;
  white-space: nowrap;
  margin: unset;
}

/* ===== Spécifiques utiles quand présents, sinon ignorés ===== */

/* Manufacturer */
.tab-pane-content .logo-manufacturer img {
  width: 42px;
  height: 42px;
  border-radius: 8px;
  object-fit: cover;
  display: block;
}
.tab-pane-content .product-manufacturer {
  flex-wrap: wrap;
}
.tab-pane-content .product-manufacturer .jlobf:not(.logo-manufacturer) {
  font-weight: 600;
  color: #0f172a;
}

/* Reference pill si un <span> simple suit la label */
.tab-pane-content .product-reference span {
  font-weight: 600;
  padding: 4px 10px;
  border-radius: 999px;
  color: #0f172a;
}

.availability_unavailable {
  display: none;
}

.product .availability_last_remaining_items {
  background-color: #fff7ed;
  color: #9a3412;
  padding: 4px 15px;
  border-radius: 50px;
  width: fit-content;
}

.tab-pane-content .country-of-origin span,
.tab-pane-content .intrastat span {
  font-weight: 600;
  padding: 4px 10px;
  border-radius: 999px;
  color: #0f172a;
}

/* Défault = vert (≥21) */
.tab-pane-content span[data-stock],
.product-quantities span[data-stock],
.info-item.supplier-stock .info-value[data-stock],
.info-item.handling-stock .info-value[data-stock] {
  font-weight: 600;
  padding: 4px 10px;
  border-radius: 999px;
  background: #ecfdf3; /* vert (OK) */
  color: #065f46;
}

/* 0 = rouge */
.tab-pane-content span[data-stock="0"],
.product-quantities span[data-stock="0"],
.info-item.supplier-stock .info-value[data-stock="0"],
.info-item.handling-stock .info-value[data-stock="0"] {
  background: #fef2f2; /* rupture */
  color: #991b1b;
}

.tab-pane-content span[data-stock^="-"],
.product-quantities span[data-stock^="-"],
.info-item.supplier-stock .info-value[data-stock^="-"],
.info-item.handling-stock .info-value[data-stock^="-"] {
  display: none;
}
.product-quantities:has(> span[data-stock^="-"]),
.product-quantities:has(> p span[data-stock^="-"]) {
  display: none;
}
.info-item.supplier-stock:has(> .info-value[data-stock^="-"]) {
  display: none;
}
.info-item.handling-stock:has(> .info-value[data-stock^="-"]) {
  display: none;
}

/* 1 → 20 = orange */
:is(
    .tab-pane-content span,
    .product-quantities span,
    .info-item.supplier-stock .info-value,
    .info-item.handling-stock .info-value
  )[data-stock="1"],
:is(
    .tab-pane-content span,
    .product-quantities span,
    .info-item.supplier-stock .info-value,
    .info-item.handling-stock .info-value
  )[data-stock="2"],
:is(
    .tab-pane-content span,
    .product-quantities span,
    .info-item.supplier-stock .info-value,
    .info-item.handling-stock .info-value
  )[data-stock="3"],
:is(
    .tab-pane-content span,
    .product-quantities span,
    .info-item.supplier-stock .info-value,
    .info-item.handling-stock .info-value
  )[data-stock="4"],
:is(
    .tab-pane-content span,
    .product-quantities span,
    .info-item.supplier-stock .info-value,
    .info-item.handling-stock .info-value
  )[data-stock="5"],
:is(
    .tab-pane-content span,
    .product-quantities span,
    .info-item.supplier-stock .info-value,
    .info-item.handling-stock .info-value
  )[data-stock="6"],
:is(
    .tab-pane-content span,
    .product-quantities span,
    .info-item.supplier-stock .info-value,
    .info-item.handling-stock .info-value
  )[data-stock="7"],
:is(
    .tab-pane-content span,
    .product-quantities span,
    .info-item.supplier-stock .info-value,
    .info-item.handling-stock .info-value
  )[data-stock="8"],
:is(
    .tab-pane-content span,
    .product-quantities span,
    .info-item.supplier-stock .info-value,
    .info-item.handling-stock .info-value
  )[data-stock="9"],
:is(
    .tab-pane-content span,
    .product-quantities span,
    .info-item.supplier-stock .info-value,
    .info-item.handling-stock .info-value
  )[data-stock="10"],
:is(
    .tab-pane-content span,
    .product-quantities span,
    .info-item.supplier-stock .info-value,
    .info-item.handling-stock .info-value
  )[data-stock="11"],
:is(
    .tab-pane-content span,
    .product-quantities span,
    .info-item.supplier-stock .info-value,
    .info-item.handling-stock .info-value
  )[data-stock="12"],
:is(
    .tab-pane-content span,
    .product-quantities span,
    .info-item.supplier-stock .info-value,
    .info-item.handling-stock .info-value
  )[data-stock="13"],
:is(
    .tab-pane-content span,
    .product-quantities span,
    .info-item.supplier-stock .info-value,
    .info-item.handling-stock .info-value
  )[data-stock="14"],
:is(
    .tab-pane-content span,
    .product-quantities span,
    .info-item.supplier-stock .info-value,
    .info-item.handling-stock .info-value
  )[data-stock="15"],
:is(
    .tab-pane-content span,
    .product-quantities span,
    .info-item.supplier-stock .info-value,
    .info-item.handling-stock .info-value
  )[data-stock="16"],
:is(
    .tab-pane-content span,
    .product-quantities span,
    .info-item.supplier-stock .info-value,
    .info-item.handling-stock .info-value
  )[data-stock="17"],
:is(
    .tab-pane-content span,
    .product-quantities span,
    .info-item.supplier-stock .info-value,
    .info-item.handling-stock .info-value
  )[data-stock="18"],
:is(
    .tab-pane-content span,
    .product-quantities span,
    .info-item.supplier-stock .info-value,
    .info-item.handling-stock .info-value
  )[data-stock="19"],
:is(
    .tab-pane-content span,
    .product-quantities span,
    .info-item.supplier-stock .info-value,
    .info-item.handling-stock .info-value
  )[data-stock="20"] {
  background: #fff7ed; /* orange */
  color: #9a3412;
}

/* Vente hors stock autorisée — orange (prend le dessus) */
.tab-pane-content span[data-allow-oosp="1"],
.product-quantities span[data-allow-oosp="1"],
.info-item.supplier-stock .info-value[data-allow-oosp="1"],
.info-item.handling-stock .info-value[data-allow-oosp="1"] {
  background: #fff7ed; /* OOSP */
  color: #9a3412;
}

/* 1 → 20 = orange */
:is(
    .tab-pane-content span,
    .product-quantities span,
    .info-item.supplier-stock .info-value,
    .info-item.handling-stock .info-value
  )[data-stock="1"],
:is(
    .tab-pane-content span,
    .product-quantities span,
    .info-item.supplier-stock .info-value,
    .info-item.handling-stock .info-value
  )[data-stock="2"],
:is(
    .tab-pane-content span,
    .product-quantities span,
    .info-item.supplier-stock .info-value,
    .info-item.handling-stock .info-value
  )[data-stock="3"],
:is(
    .tab-pane-content span,
    .product-quantities span,
    .info-item.supplier-stock .info-value,
    .info-item.handling-stock .info-value
  )[data-stock="4"],
:is(
    .tab-pane-content span,
    .product-quantities span,
    .info-item.supplier-stock .info-value,
    .info-item.handling-stock .info-value
  )[data-stock="5"],
:is(
    .tab-pane-content span,
    .product-quantities span,
    .info-item.supplier-stock .info-value,
    .info-item.handling-stock .info-value
  )[data-stock="6"],
:is(
    .tab-pane-content span,
    .product-quantities span,
    .info-item.supplier-stock .info-value,
    .info-item.handling-stock .info-value
  )[data-stock="7"],
:is(
    .tab-pane-content span,
    .product-quantities span,
    .info-item.supplier-stock .info-value,
    .info-item.handling-stock .info-value
  )[data-stock="8"],
:is(
    .tab-pane-content span,
    .product-quantities span,
    .info-item.supplier-stock .info-value,
    .info-item.handling-stock .info-value
  )[data-stock="9"],
:is(
    .tab-pane-content span,
    .product-quantities span,
    .info-item.supplier-stock .info-value,
    .info-item.handling-stock .info-value
  )[data-stock="10"],
:is(
    .tab-pane-content span,
    .product-quantities span,
    .info-item.supplier-stock .info-value,
    .info-item.handling-stock .info-value
  )[data-stock="11"],
:is(
    .tab-pane-content span,
    .product-quantities span,
    .info-item.supplier-stock .info-value,
    .info-item.handling-stock .info-value
  )[data-stock="12"],
:is(
    .tab-pane-content span,
    .product-quantities span,
    .info-item.supplier-stock .info-value,
    .info-item.handling-stock .info-value
  )[data-stock="13"],
:is(
    .tab-pane-content span,
    .product-quantities span,
    .info-item.supplier-stock .info-value,
    .info-item.handling-stock .info-value
  )[data-stock="14"],
:is(
    .tab-pane-content span,
    .product-quantities span,
    .info-item.supplier-stock .info-value,
    .info-item.handling-stock .info-value
  )[data-stock="15"],
:is(
    .tab-pane-content span,
    .product-quantities span,
    .info-item.supplier-stock .info-value,
    .info-item.handling-stock .info-value
  )[data-stock="16"],
:is(
    .tab-pane-content span,
    .product-quantities span,
    .info-item.supplier-stock .info-value,
    .info-item.handling-stock .info-value
  )[data-stock="17"],
:is(
    .tab-pane-content span,
    .product-quantities span,
    .info-item.supplier-stock .info-value,
    .info-item.handling-stock .info-value
  )[data-stock="18"],
:is(
    .tab-pane-content span,
    .product-quantities span,
    .info-item.supplier-stock .info-value,
    .info-item.handling-stock .info-value
  )[data-stock="19"],
:is(
    .tab-pane-content span,
    .product-quantities span,
    .info-item.supplier-stock .info-value,
    .info-item.handling-stock .info-value
  )[data-stock="20"] {
  background: #fff7ed; /* orange */
  color: #9a3412;
}

/* Vente hors stock autorisée — orange (prend le dessus) */
.tab-pane-content span[data-allow-oosp="1"],
.product-quantities span[data-allow-oosp="1"],
.info-item.supplier-stock .info-value[data-allow-oosp="1"],
.info-item.handling-stock .info-value[data-allow-oosp="1"] {
  background: #fff7ed; /* OOSP */
  color: #9a3412;
}

/* Cacher tout bloc out-of-stock vide */
.tab-pane-content .product-out-of-stock:empty {
  display: none;
}

/* ===== Data sheet / bloc riche (mise en page différente et lisible) ===== */
.tab-pane-content .product-features {
  display: block; /* override du display:flex générique */
  background: #fff;
  border: 1px solid #eef0f3;
  border-radius: 16px;
  padding: 16px;
}
.tab-pane-content .product-features .h6 {
  margin: 0 0 10px 2px;
  font-size: 18px;
  font-weight: 700;
  color: #0f172a;
}

/* Grille DL (dt = nom | dd = valeur) — générique si présent */
.tab-pane-content dl.data-sheet {
  display: grid;
  grid-template-columns: 1fr;
  column-gap: 12px;
  row-gap: 8px;
  margin: 0;
}
.tab-pane-content dl.data-sheet dt,
.tab-pane-content dl.data-sheet dd {
  padding: 10px 12px;
  border: 1px solid #f1f5f9;
  border-radius: 10px;
}
.tab-pane-content dl.data-sheet dt.name {
  background: #f8fafc;
  color: #374151;
  font-weight: 500;
}
.tab-pane-content dl.data-sheet dd.value {
  background: #ffffff;
  color: #0f172a;
  font-weight: 600;
}

.tab-pane-content dl.data-sheet dd.value {
	margin-left: 0rem;
}


/* ===== Responsive ===== */

/* >= 600px : data-sheet en deux colonnes si présent */
@media (min-width: 600px) {
  .tab-pane-content dl.data-sheet {
    grid-template-columns: 1fr 1.2fr;
  }
}

/* >= 768px : un peu plus d’air */
@media (min-width: 768px) {
  .tab-pane-content {
    padding: 20px;
  }
  .tab-pane-content > * {
    padding: 14px 16px;
  }
}

/* >= 1024px : grille auto pour TOUS les enfants, et features en pleine largeur */
@media (min-width: 1024px) {
  .tab-pane-content {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
  }
  /* Quand en grille, c’est la grille qui gère les espacements */
  .tab-pane-content > * {
    margin: 0;
  }

  /* La fiche technique occupe toute la largeur si présente */
  .tab-pane-content .product-features {
    grid-column: 1 / -1;
  }


.tab-pane-content dl.data-sheet dd.value {
	margin-left: 1rem;
}
}

/* Cache par défaut tout bloc potentiellement vide */
.tab-pane-content .product-out-of-stock {
  display: none;
  padding: 0;
  margin: 0;
  border: 0;
  min-height: 0;
}

/* Le montre uniquement s'il possède AU MOINS un enfant élément */
.tab-pane-content .product-out-of-stock:has(*) {
  display: flex; /* ou block, selon ton layout */
  align-items: center;
  gap: 12px;
  background: #fafbfc;
  border: 1px solid #eef0f3;
  border-radius: 12px;
  padding: 12px 14px;
  margin: 8px 0;
}

/* ===============================
   Variantes produit – style moderne
   (aucune modif HTML requise)
   =============================== */

/* Mise en page des lignes : cartes propres, empilées en mobile */
.product-variants {
  width: 100%;
  border-collapse: collapse;
}
.product-variants tr {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 14px;
  margin-bottom: 12px;
  border: 1px solid #e5e7eb; /* gris clair */
  border-radius: 14px;
  background: #ffffff;
  box-shadow: 0 2px 8px rgba(17, 24, 39, 0.04); /* légère ombre */
}
.product-variants td {
  border: 0;
  padding: 0;
}

/* Libellé (claire, discret) */
.product-variants .label {
  font-size: 0.95rem;
  font-weight: 600;
  color: #374151; /* gris-700 */
  letter-spacing: 0.2px;
}

/* Desktop : label à gauche, options à droite */
@media (min-width: 768px) {
  .product-variants tr {
    flex-direction: row;
    align-items: center;
  }
  .product-variants .label {
    margin-right: 16px;
  }
}

/* ===== Select "Taille" – look propre, accessible ===== */
.product-variants select {
  width: 100%;
  max-width: 420px;
  height: 44px;
  padding: 0 40px 0 14px;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  background-color: #fff;
  font-size: 15px;
  line-height: 44px;
  appearance: none;
  -webkit-appearance: none;
  transition: border-color 0.2s, box-shadow 0.2s;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'><path d='M5 7l5 5 5-5' stroke='%239CA3AF' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/></svg>");
  background-repeat: no-repeat;
  background-position: right 12px center;
  background-size: 16px 16px;
}
.product-variants select:hover {
  border-color: #d1d5db; /* gris-300 */
}
.product-variants select:focus {
  outline: none;
  border-color: #3b82f6; /* bleu-500 */
  box-shadow: 0 0 0 4px rgba(59, 130, 246, 0.15);
}

/* ===== Pastilles de couleurs – grosses cibles tactiles ===== */
.product-variants .label-color {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  margin-right: 10px;
  border-radius: 9999px;
  position: relative;
  cursor: pointer;
  transition: transform 0.12s ease, box-shadow 0.12s ease;
}
.product-variants .label-color:hover {
  transform: translateY(-1px);
}
.product-variants .label-color .color {
  display: block;
  width: 32px;
  height: 32px;
  border-radius: inherit;
  box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.15); /* pour voir le blanc */
}

/* L’input est masqué par PrestaShop (.d-none) : on se base sur :checked */
.product-variants .label-color .input-color:checked + .color {
  box-shadow: 0 0 0 2px #111827 inset,
    /* anneau foncé interne */ 0 0 0 3px rgba(17, 24, 39, 0.1); /* halo externe léger */
}

/* Alignement du groupe couleur */
.product-variants td > .label-color:last-child {
  margin-right: 0;
}

/* Petits écrans : air et lisibilité */
@media (max-width: 480px) {
  .product-variants .label {
    font-size: 0.92rem;
  }
  .product-variants .label-color {
    width: 40px;
    height: 40px;
    margin-right: 8px;
  }
  .product-variants .label-color .color {
    width: 28px;
    height: 28px;
  }
}

/* === Anti-overflow pour variations (tel horizontal & petits écrans larges) === */
.product-variants {
  width: 100%;
  max-width: 100%;
}

.product-variants tr {
  /* Autorise le retour à la ligne des cellules quand l'espace manque */
  flex-wrap: wrap;
}

.product-variants td {
  /* Permet au contenu de rétrécir et de couper correctement */
  min-width: 0;
}

/* Zone de droite (options) flexible + wrapping propre */
@media (min-width: 768px) {
  .product-variants tr {
    align-items: center;
  }

  /* Libellé à gauche : largeur fixe mais raisonnable */
  .product-variants tr > .label {
    flex: 0 0 25%;
  }

  /* Cellule options : occupe le reste, wrap le contenu (pastilles, etc.) */
  .product-variants tr > td:not(.label) {
    display: flex;
    flex: 1 1 0%;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px; /* espace entre pastilles / select */
  }
}

/* Réduit un peu la largeur du libellé sur les paysages étroits */
@media (min-width: 768px) and (max-width: 920px) {
  .product-variants tr > .label {
    flex-basis: 120px;
  }
}

/* Le select ne dépasse jamais la cellule */
.product-variants select {
  width: 100%;
  max-width: 100%;
}

/* Pastilles couleur : pas d'empilement forcé par des marges excessives */
.product-variants .label-color {
  margin: 0;
}

/* Carte d'attachement — sans changer le HTML */
.attachment {
  display: flex;
  gap: 12px;
  align-items: center;
  padding: 14px;
  border: 2px solid #e5e7eb;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
  transition: box-shadow 0.2s ease;
  max-width: 560px;
  margin-bottom: 1rem;
}
.attachment:hover {
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.08);
}

/* Icône */
.attachment::before {
  content: "";
  flex: 0 0 40px;
  width: 40px;
  height: 40px;
  border-radius: 10px;
  background: #f3f4f6;
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path fill="%239ca3af" d="M14 2H6a2 2 0 0 0-2 2v16c0 1.1.9 2 2 2h12a2 2 0 0 0 2-2V8z"/><path fill="%23fff" d="M14 2v6h6"/></svg>');
  background-repeat: no-repeat;
  background-position: center;
}

/* The copper ring */
.attachment:hover {
  /* COPPER SPECTRUM — centered on #DFA786 → #90603A with broad highlights */
  background: linear-gradient(#ffffff, #ffffff) padding-box,
    /* couche 1 : dégradé cuivre appliqué AU NIVEAU border-box */
      conic-gradient(
        from 8deg,
        #90603a 0deg,
        #b97a53 12deg,
        #d69b78 24deg,
        #e9b996 36deg,
        #ffd9bd 46deg,
        /* bande de lumière */ #dfa786 58deg,
        #b87450 90deg,
        #9a603f 120deg,
        #d49a78 156deg,
        #f1c8a9 170deg,
        /* 2e highlight */ #b77551 200deg,
        #955e3c 232deg,
        #c68866 266deg,
        #f0c6a6 286deg,
        /* micro éclat */ #a36844 316deg,
        #90603a 360deg
      )
      border-box;

  border: 3px solid transparent;
}

/* Contenu */
.attachment a {
  text-decoration: none !important;
  font-size: 1rem;
  line-height: 1.2;
}
.attachment a:hover {
  text-decoration: underline;
}

.attachment .small {
  font-size: 1rem;
  color: #6b7280;
  margin-right: auto;
}

/* Ajuste l’affichage du texte “Download (xxKB)” */
.attachment {
  position: relative;
}
.attachment :is(p, span) {
  margin: 0;
}

/* call to action product */

.bootstrap-touchspin .bootstrap-touchspin-vertical-button-wrapper {
  display: none;
}

.input-group-lg > .form-control {
  padding: 0.5rem 0.3rem;
}

#swiper-product-large.swiper .swiper-slide {
  background-color: #0000008a;
}

.product #jpresta_block_product_images #swiper-product-large img {
  background-color: white;
}

.jpresta_module.col.su_onorder.jpresta_su_onorder_displayproductadditionalinfo {
  display: flex;
  justify-content: center;
}
.sustock-container {
  display: flex;
  justify-content: center;
}

/* prices */

.product .price {
  font-size: 1.7rem;
  font-weight: 500;
}

/* 1) Le conteneur devient un flex, avec les <hr> qui gardent toute la largeur */
.product-prices {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 0.5rem;
}

/* Les lignes hr occupent toute la rangée et conservent leur place (haut/bas) */
.product-prices > hr {
  flex-basis: 100%;
  margin: 0.5rem 0;
}
.product-prices > hr:first-of-type {
  order: 0;
}
.product-prices > hr:last-of-type {
  order: 99;
}

/* 2) On “aplatit” la hiérarchie pour que les enfants internes participent au flex parent */
.product-prices .product-price,
.product-prices .current-price {
  display: contents; /* clé du CSS-only */
}

/* 3) Ordre voulu : prix (1) → mention taxe (2) → prix barré (3) → badge (4) */
.product-prices .current-price .price {
  order: 1;
  font-size: 1.5rem;
  font-weight: 600;
}
.product-prices .tax-shipping-delivery-label {
  order: 4;
  margin-left: 0.25rem; /* petit espace après le prix */
  white-space: nowrap;
  font-size: 0.875rem;
  opacity: 0.9;
  line-height: 1;
}
.product-prices .current-price .product-discount {
  order: 2;
}
.product-prices .current-price .badge.discount-amount {
  order: 3;
  font-size: 0.75rem;
  padding: 0.125rem 0.375rem;
}

/* 4) Ajuste le wrap sur petits écrans si besoin */
@media (max-width: 420px) {
  .product-prices {
    gap: 0.35rem;
  }
}

/* --- Tooltip pour pastilles de couleur --- */
.label-color .color {
  position: relative; /* nécessaire pour positionner la bulle */
  display: inline-block;
  outline: none;
}

.label-color .color .swatch-tip {
  position: absolute;
  left: 50%;
  bottom: 100%; /* au-dessus de la pastille */
  transform: translateX(-50%) translateY(-6px);
  background: #111;
  color: #fff;
  font-size: 12px;
  line-height: 1;
  padding: 6px 8px;
  border-radius: 8px;
  white-space: nowrap;
  opacity: 0;
  pointer-events: none;
  z-index: 20;
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.22);
  transition: opacity 0.15s ease, transform 0.15s ease;
}

/* Petite “queue” de bulle */
.label-color .color .swatch-tip::after {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  border: 6px solid transparent;
  border-top-color: #111;
}

/* Affichage au hover + clavier */
.label-color .color:hover .swatch-tip,
.label-color .color:focus-visible .swatch-tip,
.label-color input:focus-visible + .color .swatch-tip,
.label-color .color.show-tip .swatch-tip {
  /* pour mobile (tap) */
  opacity: 1;
  transform: translateX(-50%) translateY(-10px);
}

/* Option: si tu as un conteneur overflow hidden, force l'apparition au-dessus */
.product-variants,
.product-variants-item,
.product-variants .clearfix {
  overflow: visible !important;
}

/* module  custom field (cfg & wkcustomfields) */
.jpresta_module.col.wkproductcustomfield.jpresta_wkproductcustomfield_displayfooterproduct {
  display: none;
}

/* adidtional info product page */
/* ---------- Zone “infos additionnelles” ---------- */

body#product:has(.suonorder-container) .sustock-container .sustock-btn {
  display: none !important;
}

.infos-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px;
}
.info-item {
  font-size: 0.8rem;
  display: flex;
  flex-direction: column;
}

.info-label {
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: #6b7280;
  white-space: nowrap;
  margin: unset;
}

.info-value {
  font-weight: 600;
  color: #0f172a;
  margin-top: 0.4rem;
  width: fit-content;
}

@media (min-width: 640px) {
  .infos-grid {
    grid-template-columns: repeat(2, 1fr);
  } /* tablette: 2 */
}

@media (min-width: 1024px) {
  .infos-grid {
    grid-template-columns: repeat(3, 1fr);
  } /* desktop: 3 */
}

#jpresta_hook_displayProductAdditionalInfo {
  display: block;
}

.product .product-reference {
  line-height: unset;
}

.jpresta_module.col.ps_emailalerts.jpresta_ps_emailalerts_displayproductadditionalinfo {
  margin-top: 0.5rem;
}


.availability_discontinued {
	display: none;
}

.product-miniature .pm-flag.out_of_stock{
  display: none;
}


/* on order */

.product-id-category-39 .product-quantities, .product-id-category-42 .product-quantities , .product-id-category-42 .info-item.product-quantities, .product-id-category-42 .supplier-stock, .product-id-category-42 .handling-stock{
	display: none;
}