/* Queen Victoria — fiche produit stable Divi + WooCommerce V26.2 */
body.single-product.qv-premium-product-page{
  --qv-green:#1f5b43;
  --qv-green-dark:#143e30;
  --qv-red:#c85f4d;
  --qv-text:#24211f;
  --qv-muted:#77716b;
  --qv-line:#e8e1d8;
}

body.single-product.qv-premium-product-page .woocommerce-breadcrumb{
  width:min(1280px,calc(100% - 40px))!important;
  max-width:1280px!important;
  margin:18px auto 22px!important;
  padding:0!important;
  color:#888079!important;
  font-size:13px!important;
}

/* Vraie ligne du Theme Builder contenant le module image + les infos. */
body.single-product.qv-premium-product-page .et_pb_row_1_tb_body{
  width:min(1280px,calc(100% - 40px))!important;
  max-width:1280px!important;
  margin:0 auto 58px!important;
  padding:0!important;
  display:grid!important;
  grid-template-columns:minmax(0,610px) minmax(360px,1fr)!important;
  gap:50px!important;
  align-items:start!important;
}
body.single-product.qv-premium-product-page .et_pb_row_1_tb_body>.et_pb_column{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  float:none!important;
}

/* Galerie : on neutralise les transforms FlexSlider qui causaient la zone blanche. */
body.single-product.qv-premium-product-page .et_pb_wc_images,
body.single-product.qv-premium-product-page .et_pb_wc_images .et_pb_module_inner,
body.single-product.qv-premium-product-page .et_pb_wc_images .woocommerce-product-gallery{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  float:none!important;
  opacity:1!important;
  visibility:visible!important;
  position:relative!important;
}
body.single-product.qv-premium-product-page .et_pb_wc_images .flex-viewport{
  width:100%!important;
  height:auto!important;
  overflow:visible!important;
  display:block!important;
}
body.single-product.qv-premium-product-page .et_pb_wc_images .woocommerce-product-gallery__wrapper{
  width:100%!important;
  height:auto!important;
  margin:0!important;
  padding:0!important;
  transform:none!important;
  -webkit-transform:none!important;
  display:block!important;
  background:#fff!important;
}
body.single-product.qv-premium-product-page .et_pb_wc_images .woocommerce-product-gallery__image{
  display:none!important;
  width:100%!important;
  max-width:100%!important;
  float:none!important;
  margin:0!important;
  padding:0!important;
  opacity:1!important;
  visibility:visible!important;
}
body.single-product.qv-premium-product-page .et_pb_wc_images .woocommerce-product-gallery__image.qv-active-slide{
  display:block!important;
}
body.single-product.qv-premium-product-page .et_pb_wc_images .woocommerce-product-gallery__image a{
  display:block!important;
  width:100%!important;
}
body.single-product.qv-premium-product-page .et_pb_wc_images .woocommerce-product-gallery__image img{
  display:block!important;
  width:100%!important;
  height:610px!important;
  min-height:0!important;
  max-height:610px!important;
  object-fit:contain!important;
  object-position:center!important;
  margin:0 auto!important;
  background:#fff!important;
  opacity:1!important;
  visibility:visible!important;
}

/* Miniatures sous la grande image. */
body.single-product.qv-premium-product-page .et_pb_wc_images .flex-control-thumbs{
  display:flex!important;
  flex-direction:row!important;
  flex-wrap:nowrap!important;
  gap:10px!important;
  width:100%!important;
  margin:12px 0 0!important;
  padding:0!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  list-style:none!important;
  clear:both!important;
}
body.single-product.qv-premium-product-page .et_pb_wc_images .flex-control-thumbs li{
  flex:0 0 88px!important;
  width:88px!important;
  max-width:88px!important;
  margin:0!important;
  padding:0!important;
  float:none!important;
}
body.single-product.qv-premium-product-page .et_pb_wc_images .flex-control-thumbs img{
  display:block!important;
  width:88px!important;
  height:88px!important;
  object-fit:cover!important;
  margin:0!important;
  border:1px solid var(--qv-line)!important;
  opacity:.62!important;
  cursor:pointer!important;
}
body.single-product.qv-premium-product-page .et_pb_wc_images .flex-control-thumbs img.qv-active-thumb,
body.single-product.qv-premium-product-page .et_pb_wc_images .flex-control-thumbs img:hover{
  opacity:1!important;
  border-color:var(--qv-green)!important;
  box-shadow:0 0 0 1px var(--qv-green)!important;
}

body.single-product.qv-premium-product-page .et_pb_wc_images span.onsale,
body.single-product.qv-premium-product-page .et_pb_wc_images .qv-sale-badge{
  position:absolute!important;
  top:14px!important;
  left:14px!important;
  right:auto!important;
  z-index:25!important;
  min-width:auto!important;
  min-height:auto!important;
  padding:9px 14px!important;
  border-radius:999px!important;
  background:var(--qv-red)!important;
  color:#fff!important;
  font-size:12px!important;
  font-weight:800!important;
  line-height:1!important;
}

/* Colonne informations. */
body.single-product.qv-premium-product-page .et_pb_row_1_tb_body>.et_pb_column:nth-child(2){padding-top:8px!important}
body.single-product.qv-premium-product-page .et_pb_wc_title h1,
body.single-product.qv-premium-product-page .product_title{
  font-family:Georgia,"Times New Roman",serif!important;
  font-size:39px!important;
  line-height:1.08!important;
  font-weight:400!important;
  color:var(--qv-text)!important;
  margin:0 0 16px!important;
}
body.single-product.qv-premium-product-page .et_pb_wc_price .price,
body.single-product.qv-premium-product-page .summary .price{
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:baseline!important;
  gap:9px!important;
  color:var(--qv-green)!important;
  font-size:29px!important;
  font-weight:800!important;
  margin:0 0 25px!important;
}
body.single-product.qv-premium-product-page .price ins{color:var(--qv-green)!important;text-decoration:none!important}
body.single-product.qv-premium-product-page .price del{color:#999!important;font-size:17px!important;font-weight:400!important}

body.single-product.qv-premium-product-page table.variations{width:100%!important;margin:0!important;border:0!important}
body.single-product.qv-premium-product-page table.variations tr{display:block!important;margin:0 0 22px!important}
body.single-product.qv-premium-product-page table.variations th,
body.single-product.qv-premium-product-page table.variations td{display:block!important;width:100%!important;padding:0!important;border:0!important}
body.single-product.qv-premium-product-page table.variations th.label{margin-bottom:9px!important}
body.single-product.qv-premium-product-page table.variations th.label label{font-size:14px!important;font-weight:800!important;color:#444!important}
body.single-product.qv-premium-product-page .variable-items-wrapper{display:flex!important;flex-wrap:wrap!important;gap:10px!important;margin:0!important}
body.single-product.qv-premium-product-page .variable-item{
  min-width:60px!important;min-height:46px!important;padding:0 14px!important;margin:0!important;
  display:flex!important;align-items:center!important;justify-content:center!important;
  border:1px solid #ded7cf!important;border-radius:2px!important;background:#fff!important;box-shadow:none!important;
}
body.single-product.qv-premium-product-page .variable-item.selected,
body.single-product.qv-premium-product-page .variable-item:hover{border-color:var(--qv-green)!important;box-shadow:0 0 0 1px var(--qv-green)!important}
body.single-product.qv-premium-product-page .variable-item.disabled{opacity:.3!important;filter:grayscale(.6)!important;pointer-events:none!important}
body.single-product.qv-premium-product-page .variable-item.disabled:before,
body.single-product.qv-premium-product-page .variable-item.disabled:after,
body.single-product.qv-premium-product-page .variable-item.disabled *:before,
body.single-product.qv-premium-product-page .variable-item.disabled *:after{display:none!important;content:none!important}

body.single-product.qv-premium-product-page form.cart{display:flex!important;flex-wrap:wrap!important;align-items:center!important;gap:14px!important;margin:16px 0 22px!important}
body.single-product.qv-premium-product-page .quantity{margin:0!important}
body.single-product.qv-premium-product-page .quantity .qty{width:72px!important;height:54px!important;border:1px solid #ddd6ce!important;background:#fff!important;text-align:center!important}
body.single-product.qv-premium-product-page .single_add_to_cart_button{
  flex:1 1 260px!important;min-height:54px!important;padding:0 28px!important;border:0!important;border-radius:3px!important;
  background:var(--qv-green)!important;color:#fff!important;font-size:17px!important;font-weight:800!important;
}
body.single-product.qv-premium-product-page .single_add_to_cart_button:hover{background:var(--qv-green-dark)!important}

/* Onglets et produits similaires restent dans le contenu, sans toucher au footer. */
body.single-product.qv-premium-product-page .woocommerce-tabs,
body.single-product.qv-premium-product-page section.related.products{
  width:min(1280px,calc(100% - 40px))!important;
  max-width:1280px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  clear:both!important;
}
body.single-product.qv-premium-product-page section.related.products{margin-top:62px!important}
body.single-product.qv-premium-product-page section.related.products>h2{font-family:Georgia,"Times New Roman",serif!important;font-size:30px!important;font-weight:400!important;margin:0 0 24px!important}
body.single-product.qv-premium-product-page section.related.products ul.products{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:18px!important;width:100%!important;margin:0!important;padding:0!important}
body.single-product.qv-premium-product-page section.related.products li.product{width:100%!important;float:none!important;margin:0!important;border:1px solid #eee8e1!important;background:#fff!important}
body.single-product.qv-premium-product-page section.related.products li.product img{width:100%!important;height:auto!important;aspect-ratio:1/1!important;object-fit:cover!important;margin:0 0 12px!important}
body.single-product.qv-premium-product-page section.related.products .woocommerce-loop-product__title{padding:0 12px!important;font-size:16px!important;line-height:1.2!important}
body.single-product.qv-premium-product-page section.related.products .price{padding:0 12px 14px!important;color:var(--qv-green)!important;font-weight:800!important;font-size:15px!important}
body.single-product.qv-premium-product-page section.related.products li.product .button{display:none!important}

@media(max-width:980px){
  body.single-product.qv-premium-product-page .et_pb_row_1_tb_body{display:block!important;width:calc(100% - 28px)!important;margin:15px auto 42px!important}
  body.single-product.qv-premium-product-page .et_pb_row_1_tb_body>.et_pb_column{margin-bottom:26px!important}
  body.single-product.qv-premium-product-page .et_pb_wc_images .woocommerce-product-gallery__image img{height:auto!important;max-height:none!important}
  body.single-product.qv-premium-product-page section.related.products ul.products{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:600px){
  body.single-product.qv-premium-product-page .woocommerce-breadcrumb,
  body.single-product.qv-premium-product-page .et_pb_row_1_tb_body,
  body.single-product.qv-premium-product-page .woocommerce-tabs,
  body.single-product.qv-premium-product-page section.related.products{width:calc(100% - 20px)!important}
  body.single-product.qv-premium-product-page .et_pb_wc_title h1,
  body.single-product.qv-premium-product-page .product_title{font-size:29px!important}
  body.single-product.qv-premium-product-page .et_pb_wc_images .flex-control-thumbs li{flex-basis:68px!important;width:68px!important;max-width:68px!important}
  body.single-product.qv-premium-product-page .et_pb_wc_images .flex-control-thumbs img{width:68px!important;height:68px!important}
  body.single-product.qv-premium-product-page section.related.products ul.products{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important}
}

/* =========================================================
   V26.3 — SAFE UI PATCH
   IMPORTANT: ne modifie PAS la galerie principale.
   Corrige uniquement le badge PROMO et les produits similaires.
   ========================================================= */

/* Badge PROMO : texte toujours centré dans la pastille */
body.single-product.qv-premium-product-page .et_pb_wc_images span.onsale,
body.single-product.qv-premium-product-page .et_pb_wc_images .qv-sale-badge{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  box-sizing:border-box!important;
  width:auto!important;
  min-width:78px!important;
  height:34px!important;
  min-height:34px!important;
  max-height:34px!important;
  padding:0 15px!important;
  margin:0!important;
  line-height:1!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-align:center!important;
  vertical-align:middle!important;
}
body.single-product.qv-premium-product-page .et_pb_wc_images span.onsale:before,
body.single-product.qv-premium-product-page .et_pb_wc_images span.onsale:after,
body.single-product.qv-premium-product-page .et_pb_wc_images .qv-sale-badge:before,
body.single-product.qv-premium-product-page .et_pb_wc_images .qv-sale-badge:after{
  display:none!important;
  content:none!important;
}

/* Produits similaires : 4 cartes sur une seule ligne en desktop */
body.single-product.qv-premium-product-page section.related.products{
  display:block!important;
  width:min(1280px,calc(100% - 40px))!important;
  max-width:1280px!important;
  margin:62px auto 0!important;
  padding:0!important;
  float:none!important;
  clear:both!important;
}
body.single-product.qv-premium-product-page section.related.products ul.products{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  grid-auto-flow:row!important;
  gap:18px!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  float:none!important;
  clear:both!important;
  list-style:none!important;
}
body.single-product.qv-premium-product-page section.related.products ul.products:before,
body.single-product.qv-premium-product-page section.related.products ul.products:after{
  display:none!important;
  content:none!important;
}
body.single-product.qv-premium-product-page section.related.products ul.products li.product{
  display:block!important;
  position:relative!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  float:none!important;
  clear:none!important;
  margin:0!important;
  padding:0 0 14px!important;
  box-sizing:border-box!important;
  border:1px solid #eee8e1!important;
  background:#fff!important;
  overflow:hidden!important;
}
body.single-product.qv-premium-product-page section.related.products ul.products li.product img{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  height:auto!important;
  min-height:0!important;
  aspect-ratio:1/1!important;
  object-fit:cover!important;
  object-position:center!important;
  margin:0 0 12px!important;
}
body.single-product.qv-premium-product-page section.related.products .woocommerce-loop-product__title{
  padding:0 12px!important;
  margin:0 0 7px!important;
  min-height:40px!important;
  font-size:16px!important;
  line-height:1.2!important;
}
body.single-product.qv-premium-product-page section.related.products .price{
  display:flex!important;
  align-items:baseline!important;
  flex-wrap:wrap!important;
  gap:5px!important;
  padding:0 12px 14px!important;
  margin:0!important;
  color:#1f5b43!important;
  font-size:15px!important;
  font-weight:800!important;
}
body.single-product.qv-premium-product-page section.related.products li.product .button,
body.single-product.qv-premium-product-page section.related.products li.product .added_to_cart{
  display:none!important;
}

@media(max-width:980px){
  body.single-product.qv-premium-product-page section.related.products{
    width:calc(100% - 28px)!important;
  }
  body.single-product.qv-premium-product-page section.related.products ul.products{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}

@media(max-width:600px){
  body.single-product.qv-premium-product-page section.related.products{
    width:calc(100% - 20px)!important;
  }
  body.single-product.qv-premium-product-page section.related.products ul.products{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:12px!important;
  }
  body.single-product.qv-premium-product-page section.related.products .woocommerce-loop-product__title{
    padding:0 10px!important;
    font-size:14px!important;
    min-height:36px!important;
  }
  body.single-product.qv-premium-product-page section.related.products .price{
    padding:0 10px 12px!important;
    font-size:14px!important;
  }
}
